Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:73565 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 59465 invoked from network); 3 Apr 2014 11:20:26 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 3 Apr 2014 11:20:26 -0000 Authentication-Results: pb1.pair.com header.from=johannes@schlueters.de; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=johannes@schlueters.de; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain schlueters.de from 217.114.215.10 cause and error) X-PHP-List-Original-Sender: johannes@schlueters.de X-Host-Fingerprint: 217.114.215.10 mail.experimentalworks.net Received: from [217.114.215.10] ([217.114.215.10:36057] helo=mail.experimentalworks.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 1E/08-15417-9F34D335 for ; Thu, 03 Apr 2014 06:20:25 -0500 Received: from [192.168.2.31] (ppp-88-217-73-12.dynamic.mnet-online.de [88.217.73.12]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: johannes@schlueters.de) by mail.experimentalworks.net (Postfix) with ESMTPSA id 958E946545; Thu, 3 Apr 2014 13:21:11 +0200 (CEST) To: Kris Craig Cc: Julien Pauli , PHP Internals In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Date: Thu, 03 Apr 2014 13:19:51 +0200 Message-ID: <1396523991.2982.340.camel@guybrush> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Branching PHP6 From: johannes@schlueters.de (Johannes =?ISO-8859-1?Q?Schl=FCter?=) 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. On the dead release branches see my message from yesterday: http://news.php.net/php.internals/73514 > On a separate note, as alluded to in Step 2, I'd also recommend using > feature branches instead of committing directly into the "trunk" for a > given version. For example, I create a LOCAL branch called "Bug_53333" off > of "Release-PHP-6.0". I make several commits while working on fixing this > bug over the course of several days. When it's done, just like with the > Release branches, I merge the feature branch back into Release-PHP-6.0 > (using "--no-ff" to preserve the commit history and feature branch name at > the merge point) and delete the feature branch. This already happens for many larger changes. Most changes are small and a single commit or are rewritten into one, though. johannes