fx gerrit-split-cl

Submits chains of CLs to Gerrit

#usage: fx split_cl [-h] [--dry_run] [--repo REPO] --cl CL --patch N

Split a single CL into multiple CLs and upload each of those CLs to Gerrit.
This command should be run from the directory containing your Git checkout.

For example, if you've created a single large CL with Gerrit CL number 1234
and the most recent patchset number is 4, you can split that into multiple
CLs with the following command:

  fx split_cl --cl=12345 --patch=4

This script will:

  1. Download the specified patchset to your local Git checkout.

  2. Determine the set of files changed by that patchset, then open your
     $EDITOR with a configuration file that allows you to specify how the
     patchset should be split into multiple CLs. Comments at the top of
     the configuration file explain how this is done. When you are satisfied,
     save the file and close your $EDITOR.

  3. Create a local Git branch for each CL specified in the prior step.

  4. Upload each Git branch to gerrit. The uploaded CLs will use the same
     commit message as the original CL, except the first line will be
     prefixed by one or more tags (such as "[fidl]") which are automatically
     determined based on the set of changed files. All CLs will be tagged
     with the same gerrit topic.

  5. Finally, after all CLs are uploaded, the script will checkout JIRI_HEAD.

optional arguments:
  -h, --help   show this help message and exit
  --dry_run    If true, print commands that would run but don't execute any of them.
  --repo REPO  Gerrit repo to connect to. Defaults to https://fuchsia-review.googlesource.com/fuchsia

gerrit-split-cl source code