[PATCH 2/2] Add feature release instructions to gitworkflows man page
- From
- rocketraman@fastmail.fm <rocketraman@fastmail.fm>
- Date
- Mar 30, 2009, 05:35 UTC
- Message-ID
- <1238391319-4953-2-git-send-email-rocketraman@fastmail.fm>
- In-Reply-To
- <1238391319-4953-1-git-send-email-rocketraman@fastmail.fm>
From: Raman Gupta <raman@rocketraman.com>
Based on a mailing list discussion, add a description of the workflow, and associated commands, for creating a feature release.
Signed-off-by: Raman Gupta <raman@rocketraman.com> --- Documentation/gitworkflows.txt | 73 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 73 insertions(+), 0 deletions(-)
diff --git a/Documentation/gitworkflows.txt b/Documentation/gitworkflows.txt index 2b021e3..6a31d7b 100644 --- a/Documentation/gitworkflows.txt +++ b/Documentation/gitworkflows.txt @@ -348,6 +348,79 @@ in patches to figure out the merge base. See linkgit:git-am[1] for other options. +RELEASE WORKFLOW +---------------- + +The maintainer may use the following release workflow: + +He first tags the tip of 'master' with a release tag, then he updates +the 'maint' branch to the current tip of 'master' for managing future +maintenance fixes on the current release, and lastly he optionally +rebuilds 'next' from the tip of 'master'. + + +Release Tagging +~~~~~~~~~~~~~~~ + +The new feature release is tagged on 'master' with a tag matching +vX.Y.Z, where X.Y.Z is the new feature release version. + +.Release tagging +[caption="Recipe: "] +========================================== +`git tag -s -m "GIT X.Y.Z" vX.Y.Z master` +========================================== + + +Maintenance branch update +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The current maintenance branch is optionally copied to another branch +named with the older release version number to allow for further +maintenance releases on the older codebase. If the current tip of +maint corresponds to an older release tag, then creating the maint +branch for the older codebase can also be done later if and when it +is required. + +.Copy maint +[caption="Recipe: "] +===================================== +`git branch maint-X.Y.(Z-1) maint` +===================================== + +'maint' is now updated to the new release code so that maintenance +fixes can be merged for the current version. + +.Update maint to new release +[caption="Recipe: "] +===================================== +* `git branch -f maint master` +===================================== + +This creates 'maint' from 'master', while preserving the 'maint' +reflog. + + +Update next branch +~~~~~~~~~~~~~~~~~~ + +The 'next' branch may be rewound and rebuilt from the tip of 'master' +using the surviving topics on 'next'. + +This step is optional. If it is done by the maintainer, then a public +announcement will be made indicating that 'next' was rewound and +rebuilt. + +.Update maint to new release +[caption="Recipe: "] +===================================== +* `git branch -f next master` +* `git merge ai/topic_in_next1` +* `git merge ai/topic_in_next2` +* ... +===================================== + + SEE ALSO -------- linkgit:gittutorial[7],
-- 1.6.2