atproto git client atgc.codes

fix(git): exit 6 or 7 for unreachable and moved pushes, and refuse a resubmit from the wrong branch #1441

Merged permadeath.com
targeting main from claude/push-and-lease
Merged opened by and assigned to permadeath.com
targeting main from claude/push-and-lease

Push failures now carry the statuses docs/output.md already defines. A knot that never answered exits 6 with a retry hint and no fork advice, and a ref that moved exits 7 with git fetch and git log --oneline HEAD..<remote>/<branch> advice. A lost lease in check_lease also exits 7 instead of 1.

pr resubmit refuses with exit 2 when the newest version came from another branch or source repo, rather than silently re-sourcing the pull to the current checkout. pr merge and pr resubmit refuse with exit 6 when the knot's patch listing was cut short, since a prefix in CID order can name an older version as the newest.

before and after

🤖 Generated with Claude Code

Commits 0