Skip to content

e cherry-pick should support "stacking" the cherry-pick on top of another #442

Description

@MarshallOfSound

This is to reduce the amount of churn when backporting a long list of CLs.

Currently the process looks like this:

  1. Make 5 backports
  2. Wait for builds
  3. Merge 1
  4. 4 backports are auto-rebased
  5. Wait for builds
  6. Merge 1
  7. 3 backports are auto-rebased
  8. Merge 1
  9. 2 backports are auto-rebased
  10. Merge 1
  11. 1 backport is auto-rebased
  12. Merge 1

That means we run 5 + 4 + 3 + 2 + 1 CI runs for 5 commits and it gets non-linearly worse the more commits we backport at a time.

I'd like to propose one of the following two syntaxs that result in a single PR being generated at the end

# 12345 is the PR number to stack the change on top of
e cherry-pick {thing} 22-x-y --stack=12345

or

# Comma separated things to backport will result in a single PR with N commits
e cherry-pick {think1},{thing2},{thing3} 22-x-y

The first option is pretty cool but still results in N ci runs (as CI runs once per commit)
The second option is better in terms of CI churn as it runs once (only a single "push")

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions