From: Dave Rolsky Date: Wed, 24 Nov 2010 21:19:38 +0000 (-0600) Subject: Tweaks to clarify stable branch naming scheme. X-Git-Tag: 1.21~8 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=d8a9a495d79c3598ad33c2286536651e3cff7857;p=gitmo%2FMoose.git Tweaks to clarify stable branch naming scheme. Don't assume double rainbow version is always two. We may have three rainbows some day. (cherry picked from commit c5d6da2977650460fb8009eeeca99d779dfd9abe) Conflicts: lib/Moose/Manual/Contributing.pod --- diff --git a/lib/Moose/Manual/Contributing.pod b/lib/Moose/Manual/Contributing.pod index d0eb039..c8f2105 100644 --- a/lib/Moose/Manual/Contributing.pod +++ b/lib/Moose/Manual/Contributing.pod @@ -89,7 +89,16 @@ everyone involved. The branches below are ordered by level of stability. =over -=item Stable (refs/heads/stable) +=item stable/* + +The branch from which releases are cut. When making a new major release, the +release manager makes a new C branch at the current position of +C. The version used in the stable branch should not include the last +two digits of the version number. + +For minor releases, patches will be committed to C, and +backported (cherry-picked) to the appropriate stable branch as needed. A +stable branch is only updated by someone from the Cabal during a release. The branch from which releases are cut. When making a new release, the release manager merges from master to stable. The stable branch is only @@ -230,18 +239,39 @@ defend your change. =head1 RELEASE WORKFLOW git checkout master +<<<<<<< HEAD +======= + + # minor releases + git checkout stable/X.YY + +>>>>>>> c5d6da2... Tweaks to clarify stable branch naming scheme. # edit for final version bumping, changelogging, etc # prepare release (test suite etc) perl-reversion -bump make manifest git commit +<<<<<<< HEAD git checkout stable git merge master # must be a fast forward git push both +======= + git branch stable/X.YY # only for non-trial major releases +>>>>>>> c5d6da2... Tweaks to clarify stable branch naming scheme. shipit # does not ship the tarball, but does everything else cpan-upload ~/shipit-dist/Moose-X.YZ.tar.gz +<<<<<<< HEAD Development releases are made without merging into the stable branch. +======= + # non-trial releases + cpan-upload ~/shipit-dist/Moose-X.YYZZ.tar.gz + + # trial releases + cd ~/shipit-dist + mv Moose-X.YYZZ.tar.gz Moose-X.YYZZ-TRIAL.tar.gz + cpan-upload Moose-X.YYZZ-TRIAL.tar.gz +>>>>>>> c5d6da2... Tweaks to clarify stable branch naming scheme. =head2 Release How-To @@ -283,10 +313,21 @@ Anyone can create the necessary fix by branching off of the stable branch: # hack git commit +<<<<<<< HEAD Then a cabal member merges into stable: git checkout stable git merge topic/my-emergency-fix +======= +Then a cabal member merges into C, and backports the change into +C: + + git checkout master + git merge topic/my-emergency-fix + git push + git checkout stable/X.YY + git cherry-pick -x master +>>>>>>> c5d6da2... Tweaks to clarify stable branch naming scheme. git push # release git checkout master