omni
omni copied to clipboard
Add `omni stack` command
Among the helper git tooling that omni provides, we could add a builtin stack command to handle pull request stacking properly for github stuff.
Commands could be, as suggested by @swgillespie:
-
omni stack create->git branch <some branch>->git commit -
omni stack create -a->git branch <some branch>->git add -a->git commit -
omni stack submit-> creates or updates PRs for every branch in your stack -
omni stack amend->git commit --amend, but done in an interactive rebase to preserve the stack, automatically re-shuffles the branches for downstream commits in the stack -
omni stack land-> land a stack, each PR is landed one-by-one and we rely on github's auto branch retargeting to work correctly. does not play well with merge queues.
This can be inspired from:
- https://github.com/ezyang/ghstack
- https://sapling-scm.com/
- https://github.com/withgraphite/graphite-cli/tree/main/apps/cli/src/lib/git