Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:54481 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 43223 invoked from network); 9 Aug 2011 01:48:52 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 9 Aug 2011 01:48:52 -0000 Authentication-Results: pb1.pair.com smtp.mail=larry@garfieldtech.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=larry@garfieldtech.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain garfieldtech.com from 66.111.4.27 cause and error) X-PHP-List-Original-Sender: larry@garfieldtech.com X-Host-Fingerprint: 66.111.4.27 out3.smtp.messagingengine.com Received: from [66.111.4.27] ([66.111.4.27:60435] helo=out3.smtp.messagingengine.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id CE/D0-35859-302904E4 for ; Mon, 08 Aug 2011 21:48:51 -0400 Received: from compute1.internal (compute1.nyi.mail.srv.osa [10.202.2.41]) by gateway1.messagingengine.com (Postfix) with ESMTP id F0C0920C03 for ; Mon, 8 Aug 2011 21:48:48 -0400 (EDT) Received: from frontend1.messagingengine.com ([10.202.2.160]) by compute1.internal (MEProxy); Mon, 08 Aug 2011 21:48:48 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:date:from:mime-version:to :subject:references:in-reply-to:content-type :content-transfer-encoding; s=smtpout; bh=igfs9XWEDiDbckUOTgCKwW Dw034=; b=rYDOO9L+1d8nTxm3xedGtCsnV+r8stNyMoFOW0izCTl1Ccgis8SGTl NJTq5j+Q0G3WLgADpbk411hOZzmASKzZ01U7qfH/PatWCOVD0Pg6cW7jyZOQPMti Bx9/CX5oAYLWvtVYaVkaXMlU7AnnTQIrEO4MhUjtIlzFbdG5LS07g= X-Sasl-enc: DqIqTJbyUuXrqKwwnn+NJx0oBhAhvBUN7ah5YyyObkGA 1312854528 Received: from linux-nkec.site (c-71-57-95-65.hsd1.il.comcast.net [71.57.95.65]) by mail.messagingengine.com (Postfix) with ESMTPSA id AE39741A347 for ; Mon, 8 Aug 2011 21:48:48 -0400 (EDT) Message-ID: <4E4092F3.2000406@garfieldtech.com> Date: Mon, 08 Aug 2011 20:52:51 -0500 User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110616 SUSE/3.1.11 Thunderbird/3.1.11 MIME-Version: 1.0 To: internals@lists.php.net References: <4E3F0279.3070701@sugarcrm.com> In-Reply-To: <4E3F0279.3070701@sugarcrm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] Choosing a distributed version control system for PHP (or not). Call for Participation. From: larry@garfieldtech.com (Larry Garfield) On 08/07/2011 04:24 PM, Stas Malyshev wrote: > Hi! > > As somebody that have seen reasonably big project switch from SVN to > git and worked quite actively with git since then, I think describing > my experience might be useful for those that never tried it. > > 1. git is much better than svn especially as applied to complex > projects with multiple participants which need to accept outside > patches, maintain multiple branches and port fixes between branches. > You never know how much you needed cheap branching/merging until you > worked with it some. > > 2. Switching from svn to git requires one to undergo some mental > shift, and for the first couple of weeks you may be confused and > somewhat frustrated by too many things that look like but not exactly > like the old system. It would appear too complex and unnecessarily > complicating workflows. However, as you develop new routines, you'll > find out how it makes sense and will become more effective than with > svn. Note that git IS much more complex conceptually than SVN and > allows to do much more crazy things - including rewriting history in > all kinds of weird ways - so while I don't think I had to ask SVN > question in forums for years - I still have to google "how to do this > in git" and ask around for some of the more complex things. I think > it's still worth it. Don't know if it makes me a fanboy :) > > 3. Having system like github around it adds a lot - maintaining > multiple repositories, forks and pull requests is a real boon. I'm not > sure if it would make sense for php, all things considered, but there > are very significant benefits of using such a system where many > workflows are already built-in. > > > Please note that it's not "hg vs git" argument as I know very little > about hg and have no experience working with it, but I've read what > people write about it and I'm sure many of git's strengths are present > in hg too. I hope somebody with experience in hg (or both, even > better) will voice in. Drupal completed a move from CVS to Git earlier this year, and our experience was similar. There is a mental shift from a centralized VCS to Git, and that is not a small one, but once it's made there is simply no going back. Pretty much everyone agrees that moving to Git was one of the best things we've done in a long time, and not just because we all hated CVS. :-) A previous poster claimed that a DVCS would lead to confusion as to what the canonical repository was. That is, in my experience, a common fear of someone who has not used a DVCS in production. I know, I used to have the same concern about Git before I actually got to use it. Once I got my hands dirty with it, however, I understood what everyone was so excited about. Git is such an amazingly more productive way to work, the documentation is superb, and the workflow so much saner. It's the first VCS I've used where I actually "get" what is going on internally. A DVCS, properly managed, does not encourage confusion over forks. If anything, if properly used it makes it easier for forks to come back into the fold later if all parties agree to do so. It's really all a win. Our Windows-based developers also have not really had an issue. :-) --Larry Garfield