38 lines
1.0 KiB
Markdown
38 lines
1.0 KiB
Markdown
# ./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/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 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:
|
|
|
|
```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
|
|
```
|
|
|
|
|