Re: Really going to 5.3.1RC1

From: Date: Mon, 31 Aug 2009 12:09:16 +0000
Subject: Re: Really going to 5.3.1RC1
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-45442@lists.php.net to get a copy of this message
Hi Johannes, 2009/8/29 Johannes Schlüter <johannes@php.net>: [snip] > I'm not toooo used to subversion therefore I'd like some comments about > this procedure: > > 1) Monday evening branch of a release branch owned by me >   $ svn cp branches/PHP_5_3 branches/php_5_3_1 >   Question A: using php as in our tags or PHP as in our branches? I would suggest keeping "PHP" for a branch because it will be used as is, it can be renamed with "php" while doing the svn copy|move to tags. More details after. >   Question B: can svn merge be used to get changes from PHP_5_3 or is a >               manual merge better? The merge tracking is an interesting option, I would greatly recommend using it. You can easily use the "-c" option to merge a specific revision number. > 2) Tuesday: Change the version >   $ vi branches/php_5_3_1/main/php_version.h etc. > 3) making the branch a tag >   $ svn mv branches/php_5_3_1 tags/php_5_3_1 I would suggest a copy rather than a move because you may have to create different tags (RC1, RC2,...) from this branch. $ svn copy branches/PHP_5_3_1 tags/php_5_3_1RC1 > 4) merge the tag into the PHP_5_3 branch >   $ cd branches/PHP_5_3 && svn merge ../tags/php_5_3_1 >   The idea would be that the release appears in the >   branch's history and nothing is being lost There is no such merge needed, svn keeps track of copies and merges. From svn clients, it is perfectly possible to generate a graph with copies (tags) made from that branch. >   Question: Does that make any sense? IMHO, No. > 5) Change the version to RC2-dev >   $ vi branches/PHP_5_3/main/php_version.h etc. This should be made in branches/PHP_5_3_1, before the tag is created. > Feedback on this procedure and svn usage welcome. If this doesn't work > out the procedure can be changed for the next release and I guess a RC > is a better test than a "proper" release. > > johannes To summarize, I would recommend the following steps: 0° Creating the 5.3.1 branch $ svn cp branches/PHP_5_3 branches/PHP_5_3_1 $ vi branches/PHP_5_3_1/main/php_version.h etc. // Filling next tag information, e.g. 5.3.1RC1 $ svn ci 1° Creating the 5.3.1RC(\d) tag $ svn copy branches/PHP_5_3_1 tags/php_5_3_1RC1 2° Lifetime of PHP_5_3_1: a) Patching PHP_5_3_1 $ svn merge -c xxxxx branches/PHP_5_3 branches/PHP_5_3_1 b) Fixing next version info $ vi branches/PHP_5_3_1/main/php_version.h etc. // Filling next tag information, e.g. 5.3.1RC2, 5.3.1... 3° Goto 1° unless tagging the final release 4° Tagging final release: $ svn copy branches/PHP_5_3_1 tags/php_5_3_1 (optionally, branches/PHP_5_3_1 could be removed, but shouldn't be "moved" as it would make a weird graph for merges/copies tracking) Notes: Developers commit should be made to branches/PHP_5_3 *only* Release manager(s) only commit "svn merge" operations to branches/PHP_5_3_1 Tags are strictly read-only copies created with "php" Branches are always created using "PHP" Does this sounds good for you? -- Patrick Allaert --- http://code.google.com/p/peclapm/ - Alternative PHP Monitor

« previous php.internals (#45442) next »