omni icon indicating copy to clipboard operation
omni copied to clipboard

Add `omni stack` command

Open xaf opened this issue 2 years ago • 0 comments

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

xaf avatar Dec 06 '23 17:12 xaf