./hack/patch/cherrypick.sh

Handles cherry-picks of PR(s) from etcd master to a stable etcd release branch automatically.

Setup

Set the UPSTREAM_REMOTE and FORK_REMOTE environment variables. UPSTREAM_REMOTE should be set to git remote name of github.com/coreos/etcd, and FORK_REMOTE should be set to the git remote name of the forked etcd repo (github.com/${github-username}/etcd). Use git remotes -v to look up the git remote names. If etcd has not been forked, create one on github.com and register it locally with git remote add ....

export UPSTREAM_REMOTE=origin
export FORK_REMOTE=${github-username}
export GITHUB_USER=${github-username}

Next, install hub from https://github.com/github/hub

Usage

To cherry pick PR 12345 onto release-3.2 and propose is as a PR, run:

./hack/patch/cherrypick.sh ${UPSTREAM_REMOTE}/release-3.2 12345

To cherry pick 12345 then 56789 and propose them togther as a single PR, run:

./hack/patch/cherrypick.sh ${UPSTREAM_REMOTE}/release-3.2 12345 56789