Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add a new `git node staging` command that automates cherry-picking commits into staging branches. It works by cherry-picking all commits that have no conflicts and stopping when finding commits that have conflicts so that the releaser can either manually fix that conflict to continue or skip. Usage: Fetches a commit list using `branch-diff` and automatically cherry-picks / skips commits based on whether or not they land cleanly: git node staging By default the script will add `backport-request` labels to any skip commit, in order to run in a "dry-run" mode, avoiding the GH cli interactions, you can use the `skipGH` flag, e.g: git node staging --skipGH After fixing up manual conflicts using `git cherry-pick --continue` the releaser can resume the cherry-pick queue: git node staging --continue Similarly, after manually skipping a commit using `git cherry-pick --skip` the releaser can resume the cherry-pick queue using: git node staging --skip If you want to run the script and automatically skip any commit that is unable to land cleanly you can use the `--autoSkip` flag: git node staging --autoSkip Sets a custom reporter at the end of the automated operation: git node staging --reporter=json Limits to 10 the number of commits to be cherry-picked: git node staging --pagination=10 Automates the backport request message, this won't run any of the `branch-diff` or cherry-pick routines. Useful for when you removed a faulty commit from the branch and want to signal to PR author and collaborators that commit now needs backporting, just use its PR#: git node staging --backport=12345 More: The automate cherry-pick logic also includes local persistency of the ongoing commit list, in case a fatal error happens during the command execution, it's possible to resume after cleaning up the git repo state by running `git node staging` again.
- Loading branch information