Skip to content

docs(standardize-repo): warn that copier update skips renamed files#38

Merged
evanharmon1 merged 1 commit into
mainfrom
docs/standardize-repo-renamed-file-skip
Jun 28, 2026
Merged

docs(standardize-repo): warn that copier update skips renamed files#38
evanharmon1 merged 1 commit into
mainfrom
docs/standardize-repo-renamed-file-skip

Conversation

@evanharmon1

Copy link
Copy Markdown
Owner

Why

Driven by a real-world copier update of harmon-infra from harmon-init v3.5.0 → v3.6.0. That repo renamed every *.yml*.yaml (workflows, Taskfile, lefthook). copier update's three-way merge is keyed on file path, so it left all ~10 renamed files untouched — while still printing Updating to template version 3.6.0. The v3.6.0 improvements (the verify/ci restructure) silently never landed; only manual delta-porting got them in.

Changes to mode-update.md

  1. §2 — new callout: renamed templated files are skipped silently. Explains the path-keyed-merge trap, notes that diff-template.sh's .yml.yaml mapping means such a file shows as DRIFT whether the gap is a benign extension swap or a missed update, and gives the manual delta-port: git -C ~/git/harmon-init diff <old>..<new> -- template/<path>. harmon-infra called out as the standing example.
  2. §4 — cross-reference that step from the post-update re-diff check.
  3. §3 — review command fix. Use git add -A && git diff HEAD (not git add -A -N); copier resolves some conflicts with a delete-then-add (DA in status), which a bare git diff renders as a misleading whole-file rewrite.

Docs-only; markdownlint-cli2 passes on the file.

Follow-up

harmon-init carries a vendored copy of this skill — it'll pick this up on the next chore(skills): re-vendor standardize-repo sync.

🤖 Generated with Claude Code

Two fixes to mode-update.md driven by a real v3.5.0→v3.6.0 update of
harmon-infra (every *.yml renamed to *.yaml):

- copier update's merge is path-keyed, so it silently leaves renamed
  templated files untouched while still printing "Updating to version
  <X>" — the v→v improvements never land. Document the trap and the
  manual `git diff <old>..<new> -- template/<path>` delta-port, and
  cross-reference it from the §4 re-diff step.
- §3 review command: use `git add -A && git diff HEAD` (not `-A -N`);
  copier's delete-then-add conflict resolution makes a bare diff render
  a misleading whole-file rewrite.
@evanharmon1 evanharmon1 merged commit 4ab1890 into main Jun 28, 2026
3 of 8 checks passed
@evanharmon1 evanharmon1 deleted the docs/standardize-repo-renamed-file-skip branch June 28, 2026 02:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant