allod change cleanup cannot reclaim a worktree whose commits landed via allod patch receive #132
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
allod/tools#132
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
After
allod patch receive --pushlands an agent branch on a repo's default branch, the source worktree can no longer be reclaimed byallod change cleanup, andallod change listcannot distinguish it from work that has not landed. No diagnosis attempted — symptom and evidence only.Symptom
The relay applies the transferred commits as new commits on the destination, so they carry new hashes. The source branch therefore diverges from the default branch by commit reachability while its tree is byte-identical.
cleanuprefuses on the reachability check andlistreports the sameunpushedstring it uses for genuinely un-landed work, so an operator holding two worktrees cannot tell which one still needs a handoff.Evidence
One worktree whose two commits had just been landed through the relay, and one whose single commit had not. Trees compared against the fetched default branch:
listgives both worktrees the same verdict:cleanupon the landed one:The branch cannot be pushed either — a framework repo's default branch is protected server-side, which is why the relay was used in the first place. So the documented exit does not apply and the only remaining route is raw
git worktree removeplusgit branch -D.Affected
allod change list,allod change cleanup,allod patch receive. Observed with a public framework repo whose default branch is protected, reached through the standard private-to-public relay path.Related
Adjacent but distinct from the cleanup guard's opposite failure mode in
allod/toolsissue #127, where the guard answers "nothing unpushed" and can destroy commits that exist nowhere else. This report is the inverse: content that provably exists upstream cannot be reclaimed.Closing as a duplicate of #134, which carries the same defect with
git cherryevidence and a scale measurement (nine of twelve worktrees already merged, six still readingunpushed). This report's one unique fact — the branch cannot simply be pushed because the default branch is protected server-side, so the documented exit does not apply — is folded into #134.Duplicate of #134.