refactor: split _check_for_stage_collisions_per_partition
Metadata
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. | |
| #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. | |
| #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(). |