On Wed, Mar 7, 2012 at 1:12 AM, David Soria Parra <d...@php.net> wrote:

> On 2012-03-07, Kris Craig <kris.cr...@gmail.com> wrote:
> > --f46d044304ec4e135704baa12342
> > Content-Type: text/plain; charset=ISO-8859-1
> >
> > On Tue, Mar 6, 2012 at 10:09 PM, Kiall Mac Innes <ki...@managedit.ie>
> wrote:
> >
> >> On Wed, Mar 7, 2012 at 6:03 AM, Drak <d...@zikula.org> wrote:
> >>
> > I know I keep promising to draft an RFC for this lol, so I'll make it a
> > high priority to put together an RFC for a PHP Git branching model
> sometime
> > this week[end].
>
> There is no need for that. PHP will continue to use release branches
> with optional feature branches. We are doing one step at a time and
> have people adopt the changes slowly. We are after all a large project
> and a lot of contributors cannot spend hours of reading into a VCS
> and a new branching model. So we are slowly moving towards new models.
>
> After all I see no need to do it differently. You can use whatever
> branching model you want in your personal github repository and then
> send a final pull request that can be merged. Adding complexity
> to the main repository for no reason is not needed. Keep the
> complexity in your personal repositories. That is after all
> one of the main benefits of a decentralized version control system.
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
A few points....

   1. This really wouldn't be adding "complexity" to the repo.  We would
   merely be using a branching model that is more compatible with Git's
   feature set.  As I and others have said already, using a Subversion
   branching model on Git just doesn't make any sense.  We may as well just
   keep using SVN if we're not going to make use of Git's branching advantages.
   2. Using different branching structures between repo clones is not
   considered a good practice in Git.  On the contrary, it just makes the
   commit history that much more confusing to read.  If you use a standardized
   branching model, on the other hand, different features/contributions can be
   quickly and easily identified in the history (see "gitk --all").  In the
   event of a regression or other bad feature commit, reversing it is
*much*easier and cleaner if branches are clearly segregated.  It also
makes
   drafting the changelog a much less cumbersome task.
   3. I'm all for using a gradual approach so that people have time to get
   used to it.  However, that transition to a standards-compliant Git
   branching model is still something that does need to happen eventually.
   4. Git branching is not *nearly* as complicated or confusing as you guys
   are making it out to be.  You know how long it took me to train our IT guy
   at work on Git branching?  10 minutes.  He then made one mistake (forgot
   the --no-ff), which I corrected, and ever since he's been using it without
   any problems and raving about how much easier it is to keep track of our
   commit history now than when we were on Subversion.  Seriously, the
   learning curve is *very* minimal, even for those who are used to SVN
   branching.
   5. Enough people have expressed support for this idea to justify
   drafting an RFC and letting it be voted on IMHO.  However, I would like to
   address your concerns about confusion (though experience tells me that
   they're largely unfounded), so when I draft it I'll propose a gradual
   adoption scheme of some sort so that anyone who feels intimidated by
   adhering to mainstream accepted Git branching standards won't feel
   disenfranchised.
   6. There are also scripts that simplify this model (
   https://github.com/nvie/gitflow), though I've never used them myself.
   But I'll take a look and see if that might be something that could be
   recommended for anyone who doesn't want to spend the few minutes it would
   take to learn t his model.


--Kris

Reply via email to