From e9d2c49fd40e6e9274ec350537fd7dffa6c88a1f Mon Sep 17 00:00:00 2001 From: Eric Paris Date: Mon, 30 Mar 2015 14:28:31 -0400 Subject: [PATCH] Instructions to back-merge release branches into master This allows us to continue on branched like v0.14.1, v0.14.2, and tag on that branch. But it will merge those tags into master so git describe picks up the changes. --- build/mark-new-version.sh | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/build/mark-new-version.sh b/build/mark-new-version.sh index 68380dddcfd..6f0fac8f94a 100755 --- a/build/mark-new-version.sh +++ b/build/mark-new-version.sh @@ -122,11 +122,37 @@ echo " or find someone who can help solve the tag problem!" echo "" if [[ "${VERSION_PATCH}" == "0" ]]; then - echo "- Submit branch: ${current_branch} as a PR to master" + echo "- Send branch: ${current_branch} as a PR to master" echo "- Get someone to review and merge that PR" echo "- Push the new release branch" echo " git push git@github.com:GoogleCloudPlatform/kubernetes.git ${current_branch}:${release_branch}" else - echo "- Submit branch: ${current_branch} as a PR to ${release_branch}" + echo "- Send branch: ${current_branch} as a PR to ${release_branch}" echo "- Get someone to review and merge that PR" + echo "" + echo "Now you need to back merge the release branch into master. This should" + echo "only be done if you are committing to the latest release branch. If the" + echo "latest release branch is, for example, release-0.10 and you are adding" + echo "a commit to release-0.9, you may skip the remaining instructions" + echo "" + echo "We do this back merge so that master will always show the latest version." + echo "The version in master would, for exampe show v0.10.2+ instead of v0.10.0+" + echo "It is not enough to just edit the version file in pkg/version/base.go in a" + echo "seperate PR. Doing it this way means that git will see the tag you just" + echo "pushed as an ancestor of master, even though the tag is on on a release" + echo "branch. The tag will thus be found by tools like git describe" + echo "" + echo "- Update so you see that merge in origin" + echo " git remote update" + echo "- Create and check out a new branch based on master" + echo " git checkout -b merge-${release_branch}-to-master origin/master" + echo "- Merge the ${release_branch} into your merge-${release_branch}-to-master branch" + echo " git merge ${release_branch}" + echo " - It's possible you have merge conflicts." + echo " - You will almost always want to take what is in HEAD" + echo " - If you are not SURE how to solve these correctly, ask for help." + echo " - It is possible to break other people's work if you didn't understand why" + echo " the conflict happened and the correct way to solve it." + echo "- Send merge-${release_branch}-to-master as a PR to master" + echo "- Take the afternoon off" fi