Backport a Change

Note

This is a section targeted towards Core Mergers only.

Before you start, wait until the review process has been successfully completed for the most recent affected branch.

Use Gerrit for the cherry-pick

First try to use the Gerrit cherry-pick feature for automatic backporting.

  1. Cherry pick into a branch

    ../_images/Backport1.png

    Cherry picking via Gerrit

  2. Choose branch and adjust commit message

    In the following modal, you can select the branch to backport. Existing branches are shown by autocomplete.

    Remove from the commit message everything below the Change-ID because the information about former reviewers is not needed for the cherry pick. Make sure that you don’t alter the Change-ID but remove every line (also empty ones) below it. After doing so hit the Cherry Pick button.

    ../_images/Backport2.png

    Adjust the commit message and click Cherry Pick

  3. Review backport patch

    This creates a new Change on Gerrit that needs to be reviewed and merged once more.

    ../_images/Backport3.png

    A new change based on another branch is created. It has the status “Active” once more.

  4. Merge the backport

    If the backport is a Low brainer you can vote +2 and continue to merge the backport. Otherwise it should be reviewed by at least one other Core Merger.

    ../_images/Backport4.png

    Merging the backport

Manual backport

If the automatic backport fails, you need to manually cherry-pick the patch to the target branch. (e.g. cherry-pick the master patch onto your local (up to date) 10.4 branch) You will most likely need to adjust the code for the older branch.

Edit the commit message to comply to the guidelines again. (e.g. remove the Reviewed-* and Tested-* lines added by Gerrit)

Important

The Change-Id must be left unchanged, otherwise Gerrit is not able to link the backport to its original change!

Push the review back to Gerrit.

On Gerrit the original patch will show the cherry-pick as a related patch.