A repository follows a renamed default branch also under path recovery, and its new tree is validated before it is written #178

Open
opened 2026-11-11 05:31:40 +00:00 by james.maes · 0 comments
Owner

From the full review of 2026-11-10. Moved out of 1.1.1 by the owner's decision; planned for 1.2.0.

What happens

  1. A repository whose paths were resolved by gclo (renamed or skipped paths) stops being updated when the origin renames its default branch: every sync reports it as up to date.
  2. When a clone's local branch is moved to a renamed default branch, the new tree is checked out before its paths are validated for Windows. A path Windows cannot create then fails with git's own message and no Resolve offer; two paths that differ only in case end with one of the two files on disk and a successful row.

Expected

  1. A repository under path recovery follows a renamed default branch like any other clone.
  2. The new local branch is created at the old tip, so the ordinary validate-then-fast-forward path does the move: invalid paths are offered for resolving, and a case collision is reported.

Notes

  • Both were reproduced by a reviewer against fixture repositories at the 1.1.0 code; re-verify against current main before working on them.
  • Every fix needs a regression test that fails without it.
From the full review of 2026-11-10. Moved out of 1.1.1 by the owner's decision; planned for 1.2.0. ## What happens 1. A repository whose paths were resolved by gclo (renamed or skipped paths) stops being updated when the origin renames its default branch: every sync reports it as up to date. 2. When a clone's local branch is moved to a renamed default branch, the new tree is checked out before its paths are validated for Windows. A path Windows cannot create then fails with git's own message and no Resolve offer; two paths that differ only in case end with one of the two files on disk and a successful row. ## Expected 1. A repository under path recovery follows a renamed default branch like any other clone. 2. The new local branch is created at the old tip, so the ordinary validate-then-fast-forward path does the move: invalid paths are offered for resolving, and a case collision is reported. ## Notes - Both were reproduced by a reviewer against fixture repositories at the 1.1.0 code; re-verify against current `main` before working on them. - Every fix needs a regression test that fails without it.
james.maes added the bugdeferred labels 2026-11-11 05:31:40 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KofTwentyTwo/gclo#178