Re: Branching PHP6

From: Date: Thu, 03 Apr 2014 11:32:53 +0000
Subject: Re: Branching PHP6
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-73566@lists.php.net to get a copy of this message
On Thu, Apr 3, 2014 at 4:19 AM, Johannes Schlüter <johannes@schlueters.de>wrote: > On Thu, 2014-04-03 at 04:06 -0700, Kris Craig wrote: > > I think we should use this opportunity to start following a more > Git-style > > branching model. Currently, every maintenance release increment exists > as > > its own separate branch; i.e. "PHP-5.5.10" is a branch and > > "PHP-5.5.11" > is > > a branch, and so on. This is redundant because we already have a tag for > > each release. Additionally, it also forces us to target features for one > > or more specific maintenance version increments. A more flexible > approach > > would be to have each increment reflect the totality of what's been > merged > > in as stable as of whenever the increment went to release. > > These release branches are owned by the RM. No other developers should > touch them. The only commits there should be related to release process > or critical cherry picked fixes. > The decision the developer has to make is whether a change should make > 5.4, 5.5, 5.6 or newer, not the actual release. New features should only > be merged in the top most branch. > By release branch, are you referring to minor releases or maintenance releases? If the latter, it'd be a moot point under this model because we'd be getting rid of separate branches for maintenance releases altogether. Instead, the RM would simply apply the tag to the commit where they want the maintenance release to occur. That would be a much cleaner approach than what we're doing now. If you want to continue having a gatekeeper approach with only one person having access to a minor increment branch, a simple alternative would be to have people push their feature branches if they believe the commits should go on one or more minor increments. Then, the release manager for each minor increment (i.e. there'd be an RM for 6.0 and 6.1 instead of for each individual maintenance increment) would decide whether or not to merge that feature branch in. The feature branch itself would be based on a minor release branch and subsequently deleted after it's either merged or rejected. --Kris

« previous php.internals (#73566) next »