fix(organize): make organizing to the overlay idempotent
Metadata
Current evaluation
Merged to fix overlay organization idempotency and resolve #1488. Copilot automatically resolved merge conflicts in commit 4282caa6, reverting BUILD_PARTITION while preserving OVERLAY_PARTITION logic. All tests pass.
Suggested action: —
No scores available.
Issue body
This handles cases where organizing to the overlay could result in errors because you had previously organized to the overlay.
Fixes: #1488
CRAFT-5043
- [ ] Have you followed the guidelines for contributing?
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you successfully run `make lint && make test`?
- [ ] Have you added an entry to the changelog (`docs/reference/changelog.rst`)?
---
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged to fix overlay organization idempotency and resolve #1488. Copilot automatically resolved merge conflicts in commit 4282caa6, reverting BUILD_PARTITION while preserving OVERLAY_PARTITION logic. All tests pass. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged to fix overlay organization idempotency. Conflicts were resolved in commit 4282caa6, reverting BUILD_PARTITION, updating organize.py and tests, and fixing regressions. All 414 tests pass. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1586 fix(organize): allow merging directories in overlay with metadata differences | craft-parts | merged | Merged. Resolves #1487 by permitting overlay directories with differing permissions or ownership to merge without raising FileOrganizeError. Review feedback was incorporated via automated commits, CI passed, and the change was successfully merged. | |
| #1618 fix: handle dependencies when organizing to overlay | craft-parts | merged | Merged following approval and successful CI checks. Resolves dependency ordering during overlay organization by prioritizing BUILD steps over dependency STAGE steps, fixing issue #1611. Code was rebased on main prior to integration. | |
| #667 fix: make overlay and partition features mutually exclusive | craft-parts | merged | Merged a fix enforcing mutual exclusivity between overlay and partitions features, as they are orthogonal. Approved by two reviewers, passed CI, and resolves issue #632. | |
| #1596 fix(organize): nest overlay directory globs | craft-parts | closed | Superseded by pull request #1602. The overlay directory glob nesting fix was replaced by a subsequent implementation. | |
| #278 docs: add '(overlay)' to the `organize` key description | imagecraft | merged | Merged documentation update adding the overlay pseudo-partition mention to the organize key description. Approved by two reviewers and passed CI checks, clarifying a load-bearing rootfs copy feature. | |
| #1190 fix(overlay): detect conflicts between overlay and install | craft-parts | merged | Merged fix enhancing Stage step collision detection to account for overlay contents, preventing conflicts with install directories. Includes integration tests, passed all CI checks, and received approval from three reviewers. | |
| #1590 inconsistency in organize to overlay | craft-parts | closed | Inconsistent directory organization to overlay partitions was fixed in commit 139cbce6 via PR #1602. The change normalizes overlay handling in organize_files() to ensure consistent nesting for glob keys across all destinations. | |
| #1602 fix(organize): make organize to overlay behavior consistent | craft-parts | merged | Merged fix correcting glob-key organize behavior to overlay. Glob keys previously merged contents instead of nesting. Update restores expected nesting for consistency. Approved by three reviewers and passed CI checks. |