← Back to issue list

refactor: split _check_for_stage_collisions_per_partition

View original Github issue

Metadata

Project
craft-parts
Number
#1188
Type
pull request
State
merged
Author
tigarmo
Labels
PR: Squash
Created
Updated
Closed

Current evaluation

Squash-merged as ef08d620, splitting per-part file and permission collection from collision checks without behavior changes.

Resolution: closed resolved

Reason: PR canonical/craft-parts#1188 was approved and squash-merged as commit ef08d620, completing the planned refactor.

Evaluated by: mr-cal-bot

No scores available.

Issue body

The function did both a) gather the files and permissions per part and b) check the sets of files for each part for conflicts. Split the first bit into a separate function, with no behavior changes, so that we can next include the overlay in conflict resolution. - [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [ ] Have you added an entry to the changelog (`docs/reference/changelog.rst`)? -----

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Squash-merged as ef08d620, splitting per-part file and permission collection from collision checks without behavior changes.
stealth/space-bunny-alpha — closed resolved Squash-merged in canonical/craft-parts#1188 (ef08d620), splitting file collection from collision checks as a no-behavior-change refactor to prepare for overlay conflict handling.
qwen/qwen3.6-35b-a3b — — Squash merged after approvals and passing CI. Refactors _check_for_stage_collisions_per_partition by separating file gathering from conflict checking, enabling future overlay conflict resolution without altering current behavior.
qwen3.6-35b-a3b-mtp-q6 — — Merged via squash commit. Refactored _check_for_stage_collisions_per_partition by separating file gathering from conflict checking. No behavioral changes were introduced, preparing the codebase for future overlay conflict resolution.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/craft-parts#1190 (confidence 95%)

    Follow-up fix implemented overlay/install conflict detection enabled by this refactor.

Related issues

Issue Project State Summary Similarity
#1186 refactor: split _check_for_stage_collisions_per_partition craft-parts closed Closed unmerged; the refactor was superseded by canonical/craft-parts#1188, squash-merged as ef08d620.
90%
#662 feat(executor): check for stage file collisions in each partition craft-parts merged PR #662 by maintainer mr-cal merged as commit 4b28d649, adding check_for_stage_collisions() per-partition staged-file collision detection in craft_parts/executor/collisions.py; fixes #633 (CRAFT-2416). +526/-114 across 8 files.
73%
#633 Check for staged file collisions in each partition craft-parts closed Fixed by PR #662 (merged as commit 4b28d649, CRAFT-2416): check_for_stage_collisions() now iterates over every partition and delegates to _check_for_stage_collisions_per_partition().
73%