Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:73566 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 61200 invoked from network); 3 Apr 2014 11:32:56 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 3 Apr 2014 11:32:56 -0000 Authentication-Results: pb1.pair.com smtp.mail=kris.craig@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=kris.craig@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.219.54 as permitted sender) X-PHP-List-Original-Sender: kris.craig@gmail.com X-Host-Fingerprint: 209.85.219.54 mail-oa0-f54.google.com Received: from [209.85.219.54] ([209.85.219.54:50936] helo=mail-oa0-f54.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 46/68-15417-8E64D335 for ; Thu, 03 Apr 2014 06:32:56 -0500 Received: by mail-oa0-f54.google.com with SMTP id n16so1771770oag.41 for ; Thu, 03 Apr 2014 04:32:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=SmYg/rmugUGyL4uZ+EC8X+S1h9TVUsQSCYr1X+/H39U=; b=v1PH/DZv1AilyGowRZy9QznkEWx7+cLwaAMvPtnMBXxG5M5wpI9+yYUlHs+dvOJ34y mCiB65MFMiNG9dQPpTvLrZmOonOizTwjFCSLUgdYseFtYEH/9uZ6+R2ZxPXow3p6cYgP eTz0ixGUq+OhkD0tEo5+Dmdo30n6W5/t1OUu9bBfYYnuW2b3+khHuHUyzjaJVPLe3PJm iTckG0eC8M/3QePNhxii6glWiRf22xxWG5qLfnjsvF2SuL/gsZA4fVWUmnhfJeBp0/ui 51rf1solFuK9X10RBEDHcv6vLkzLHDwpLT2Cleh0S62ZIbuQVszwZkRnrdBcnqqJ0w3m OLmA== MIME-Version: 1.0 X-Received: by 10.60.150.166 with SMTP id uj6mr7658507oeb.10.1396524773720; Thu, 03 Apr 2014 04:32:53 -0700 (PDT) Received: by 10.182.231.230 with HTTP; Thu, 3 Apr 2014 04:32:53 -0700 (PDT) In-Reply-To: <1396523991.2982.340.camel@guybrush> References: <1396523991.2982.340.camel@guybrush> Date: Thu, 3 Apr 2014 04:32:53 -0700 Message-ID: To: =?ISO-8859-1?Q?Johannes_Schl=FCter?= Cc: Julien Pauli , PHP Internals Content-Type: multipart/alternative; boundary=047d7b5d48800ec7b804f621c3dd Subject: Re: [PHP-DEV] Branching PHP6 From: kris.craig@gmail.com (Kris Craig) --047d7b5d48800ec7b804f621c3dd Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Thu, Apr 3, 2014 at 4:19 AM, Johannes Schl=FCter 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 f= or > > each release. Additionally, it also forces us to target features for o= ne > > 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 --047d7b5d48800ec7b804f621c3dd--