WARNING WARNING WARNING WARNING WARNING

PLEASE NOTE: This document applies to the HEAD of the source tree

If you are using a released version of Kubernetes, you should refer to the docs that go with that version. The latest release of this document can be found [here](http://releases.k8s.io/release-1.1/docs/devel/cherry-picks.md). Documentation for other releases can be found at [releases.k8s.io](http://releases.k8s.io). -- # Overview This document explains cherry picks are managed on release branches within the Kubernetes projects. ## Propose a Cherry Pick Any contributor can propose a cherry pick of any pull request, like so: ```sh hack/cherry_pick_pull.sh upstream/release-3.14 98765 ``` This will walk you through the steps to propose an automated cherry pick of pull #98765 for remote branch `upstream/release-3.14`. ### Cherrypicking a doc change If you are cherrypicking a change which adds a doc, then you also need to run `build/versionize-docs.sh` in the release branch to versionize that doc. Ideally, just running `hack/cherry_pick_pull.sh` should be enough, but we are not there yet: [#18861](https://github.com/kubernetes/kubernetes/issues/18861) To cherrypick PR 123456 to release-1.1, run the following commands after running `hack/cherry_pick_pull.sh` and before merging the PR: ``` $ git checkout -b automated-cherry-pick-of-#123456-upstream-release-1.1 origin/automated-cherry-pick-of-#123456-upstream-release-1.1 $ ./build/versionize-docs.sh release-1.1 $ git commit -a -m "Running versionize docs" $ git push origin automated-cherry-pick-of-#123456-upstream-release-1.1 ``` ## Cherry Pick Review Cherry pick pull requests are reviewed differently than normal pull requests. In particular, they may be self-merged by the release branch owner without fanfare, in the case the release branch owner knows the cherry pick was already requested - this should not be the norm, but it may happen. [Contributor License Agreements](http://releases.k8s.io/HEAD/CONTRIBUTING.md) is considered implicit for all code within cherry-pick pull requests, ***unless there is a large conflict***. ## Searching for Cherry Picks Now that we've structured cherry picks as PRs, searching for all cherry-picks against a release is a GitHub query: For example, [this query is all of the v0.21.x cherry-picks](https://github.com/kubernetes/kubernetes/pulls?utf8=%E2%9C%93&q=is%3Apr+%22automated+cherry+pick%22+base%3Arelease-0.21) [![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/devel/cherry-picks.md?pixel)]()