Skip to content

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

Open
@MarshallOfSound

Description

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")

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