The branch patch checkout creates can never stamp a Patch: trailer, so revisions merge unrecorded #108
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?
[claude 2026-08-15]
patch checkout <id>puts you oncollab/<id>. The commit-msg hook stamps only when an open patch's recordedbranchfield equals the current branch (src/hooks.rs:307-325), and that field holds the branch the patch was created from — nevercollab/<id>. So the hook is silent by construction on the branch the tool itself just told you to use.The merge is detected but not recorded, and the
--fixesissue stays open until someone runspatch mergeby hand. On the original branch the same sequence stamps andsyncrecords it automatically, so the automatic path works exactly until you usepatch checkoutto get the code back.src/hooks.rs:298-304 already documents the general weakness — an ephemeral or renamed branch does not match, and silence is the right answer over guessing. This is narrower than that:
collab/<id>is a name the tool generates itself, from the id it is trying to match. It is the one case where the branch name is not ambiguous provenance but a derivable fact, so silence is not forced here the way it is for a user's renamed branch.Cheapest fix is probably for
patch checkoutto record the branch it creates (or for the hook to recognise thecollab/<id>form and resolve the id directly), so that the revise → merge path records itself like the create → merge path does.Found while verifying the git-collab skill's documented workflow; the skill now warns about it as a trap.
Migrated from git-collab issue
b6839a7fbf56297c5cb71157671d63f5ae19d179.Original author: a73x dev@a73x.sh.