Repository navigation
v0.26.0
Features
- pr-review, auto-pilot: clean up the local checkout after every merge. The new shared
gi-postmerge.pyremoves clean worktrees still on the merged branch, switches the checkout from that branch to the updated base (stash-first, fast-forward only), deletes the squash-merged local branch thatgit branch -dalways refuses, and prunes stale remote-tracking refs. It never forces anything on its own. A worktree with tracked changes, untracked or ignored files (found even understatus.showUntrackedFiles=no), a lock or an operation in progress, a checkout mid-merge, a diverged base, a branch with commits the PR never had, and a fork branch not at the PR head are kept and reported. Untracked or ignored files are deleted only after an interactive/issue-pr-reviewuser confirms the exact list shown (--remove-worktree PATH=DIGEST; a file added after the answer, or new history in a nested git repo, refuses the removal), never in auto mode; nested git repos are named in the prompt. Auto-pilot's parallel lanes keep a worktree holding untracked files, a lock or an operation in progress asblocked_dirty. A stash pop that conflicts names the unmerged paths and keeps the stash. A checkout on an unrelated branch stays put, and only the local base is fast-forwarded./issue-pr-reviewruns it after its auto-merge and on a PR it finds already merged./auto-pilotruns it after every merge (sequential, parallel lanes, partial and critical-issue merges) and on a merged PR found at resume. Both now re-read the PR state whengh pr mergeexits non-zero, because gh merges on the server before its local cleanup can fail, and then run the cleanup with--delete-remote. The contract and the manual procedure live in the new runtime docdocs/post-merge-cleanup.md, shipped only to the two merging skills. (#535)
Contributions by @luongnv89.
Full Changelog: v0.25.0...v0.26.0