Making a pull request for a release

You want to propose a change for a community release. This means applying a change to the release branch, called open-release/XXX.master. There are two possibilities:

  • The change has already been made on the master branch, and you need to copy it to the release branch.

  • The change shouldn’t be made on the master branch, it is special to the release branch

If a change should be on master, then it should be made (and deployed) there first, then applied to the release branch.

If the change is being copied from master

  1. Find the commit hash(es) of the fix you need. They might be the same as in the fix pull request you are copying from, or they may be different if the pull request was closed with a squash. The best thing to do is to update your master branch, and get the hashes shown in your local git log:
    $ git log

  2. Check out the release branch:
    $ git checkout open-release/XXX.master
    $ git pull

  3. Make a new branch from the release:
    $ git switch -c <YOURNAME>/<BRANCHNAME>

  4. Cherry-pick the commits onto your branch. Do this for all your commits:
    $ git cherry-pick -x <COMMITHASH> ...

  5. Push your branch:
    $ git push -u origin HEAD

  6. Make a pull request from your branch, using open-release/XXX.master as the base. In your pull request description, mention the original pull request on master that you are copying, if you can. Tag people for review. The pull request will be handled and merged like any other.

If the change is special to the release

If your change should only be made on the release branch, there is nothing special to do. You make a change and create a pull request. The only difference is that the base of the pull request should be open-release/XXX.master instead of master. Explain in your pull request description why this should be a release-only change and doesn’t apply to master.