# ./hack/patch/cherrypick.sh

Handles cherry-picks of PR(s) from etcd main 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/etcd-io/etcd`,
and `FORK_REMOTE` should be set to the git remote name of the forked etcd
repo (`github.com/${github-username}/etcd`). Use `git remote -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=upstream
export FORK_REMOTE=origin
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:

```sh
./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
```


