Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:54567 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 51201 invoked from network); 13 Aug 2011 09:33:41 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 13 Aug 2011 09:33:41 -0000 Authentication-Results: pb1.pair.com header.from=lester@lsces.co.uk; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=lester@lsces.co.uk; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain lsces.co.uk from 213.123.20.127 cause and error) X-PHP-List-Original-Sender: lester@lsces.co.uk X-Host-Fingerprint: 213.123.20.127 c2bthomr09.btconnect.com Received: from [213.123.20.127] ([213.123.20.127:34314] helo=mail.btconnect.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 5C/95-33208-2F4464E4 for ; Sat, 13 Aug 2011 05:33:39 -0400 Received: from host81-138-11-136.in-addr.btopenworld.com (EHLO _10.0.0.4_) ([81.138.11.136]) by c2bthomr09.btconnect.com with ESMTP id EAK93454; Sat, 13 Aug 2011 10:33:35 +0100 (BST) Message-ID: <4E4644EE.9@lsces.co.uk> Date: Sat, 13 Aug 2011 10:33:34 +0100 User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.19) Gecko/20110420 SUSE/2.0.14-2.2 SeaMonkey/2.0.14 MIME-Version: 1.0 To: PHP internals References: <4E3F02E8.2050402@sugarcrm.com> <4E450EB1.6090502@lsces.co.uk> <4E456F2F.7030809@sugarcrm.com> <4E45755F.3020005@lsces.co.uk> <4E4578B6.6050708@sugarcrm.com> <4E45A2BD.7060506@lsces.co.uk> <4E45AFDF.9000001@sugarcrm.com> <4E45B6A9.9080607@lsces.co.uk> <4E462F94.6090104@lsces.co.uk> <4E46391E.8080609@s1998.tu-chemnitz.de> In-Reply-To: <4E46391E.8080609@s1998.tu-chemnitz.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Mirapoint-IP-Reputation: reputation=Fair-1, source=Queried, refid=tid=0001.0A0B0303.4E4644EF.0001, actions=tag X-Junkmail-Premium-Raw: score=7/50, refid=2.7.2:2011.8.13.83015:17:7.586, ip=81.138.11.136, rules=__MOZILLA_MSGID, __HAS_MSGID, __SANE_MSGID, __USER_AGENT, __MIME_VERSION, __TO_MALFORMED_2, __BOUNCE_CHALLENGE_SUBJ, __BOUNCE_NDR_SUBJ_EXEMPT, __CT, __CT_TEXT_PLAIN, __CTE, __ANY_URI, __URI_NO_MAILTO, __CP_URI_IN_BODY, BODY_SIZE_4000_4999, __MIME_TEXT_ONLY, RDNS_GENERIC_POOLED, BODY_SIZE_5000_LESS, RDNS_SUSP_GENERIC, RDNS_SUSP, BODY_SIZE_7000_LESS X-Junkmail-Status: score=10/50, host=c2bthomr09.btconnect.com X-Junkmail-Signature-Raw: score=unknown, refid=str=0001.0A0B020A.4E4644EF.0106:SCFSTAT14830815,ss=1,fgs=0, ip=0.0.0.0, so=2010-07-22 22:03:31, dmn=2009-09-10 00:05:08, mode=multiengine X-Junkmail-IWF: false Subject: Re: [PHP-DEV] [RFC] Choosing a distributed version control system for PHP (or not). Call for Participation. From: lester@lsces.co.uk (Lester Caine) Michael Grunert wrote: > On 08/13/2011 10:02 AM, Lester Caine wrote: >> Looking back, the point that I was not explaining very well was the fact >> that people seem to think that they need to create a fork into their >> on-line account before cloning to the local copy. On the whole these are >> not needed, and the 'sandbox' approach for sharing tangential work seems >> better? Similarly extensions like apt have their own subrepo which can >> be worked on independent to the bulk of the code base? > > Just to throw in some comment, you did a really good job to confuse > people in this thread. In the beginning i really got the impression you > were totally against dvcs and now you praise them and argue in their > favor against people who want them too .. maybe i just misread some of > the mails but thats my overall impression so far .. I don't have a problem with DVCS, just with projects ploughing into using git a year ago when it was ( and still is ) not ready for those type of projects :( It was a case of having to work with it at a time when cross platform tools were not available, and subrepo's did not exist. I have a nice working hg setup that works transparently from Linux and Windows and runs in parallel with my Eclipse development platform. But even that still has not restored some of the excellent tools that CVS and SVN provide in Eclipse. MANY of the complaints about CVS and SVN were never a problem when one used Eclipse. At some point I expect the same facilities to be restored to Eclipse, but currently TortoiseHg runs in parallel neatly. I don't have to switch between different tools on the different platforms. >>> About branching, tagging or developing using a DVCS, I can only >>> recommend to read the doc linked in this rfc: >>> >>> http://nvie.com/posts/a-successful-git-branching-model/ >>> >>> It explains one model which has been proven to work pretty well. >> This model is ideal for a main trunk. The major advantage to DVCS is >> being able to work on things like PECL modules and even core extensions >> in parallel to the main core. It is only recently that git and hg have >> finally supported 'subrepo' and I see this as the ideal model for my own >> work. I can create a superproject which just combines the extensions >> (php and third party!) that I am using and almost manage them nicely. >> There are still a few rough edges to this since neither git nor hg have >> been convinced that it is an important requirement ... they don't use it >> themselves which seems strange when their own code base has many third >> party elements? I don't see 'feature branches' as the correct way to >> handle what are essentially self contained elements? > > So did you read the workflow document? I do have some doubt there .. > A "feature branch" does not refer to some self contained element you > could or even should place into a subrepo like a pecl extension or > module. A "feature branch" is meant for a distinct unit of work, like a > new feature or a bug fix that has to be merged with the main branch > sometime in the future anyways. As soon as this feature or bug fix has > been completed the feature branch dies/dries up .. which is obviously > bad in something like svn as those branches would clutter up the > repository but can be handled really good in dvcs as the new branches > are only local or in some loosely coupled public forks/clones and can be > pulled/pushed into the "main repo" as needed. Again, I'm not explaining things very well ... What will not work moving forward is a simple dump of the entire SVN history into a single git repository. What is needed is a managed way to create a series of subrepos for each of the packages that make up PHP. PECL and PEAR packages then just become extra subrepos which are included or not in the superproject trunk. The 'single repo' camp point to "feature branch" as a way of handling that work in a single module without having to breaking up the repo, but to my mind that is simply wrong? Starting from a point of separate repo's simply allows a lot easier management of everything and we can work on areas that we want to without having to clone the whole code base? Moving things in and out of the core distribution is then just a matter of adding or removing the subrepo to the master project. > just my 2 cents before i get a headache from this I had that for 6 months until I realised that I could simply ignore git and run everything via hg - using hggit :) Moving to DVCS is not the problem. It's doing it in a way that works well for PHP! -- Lester Caine - G8HFL ----------------------------- Contact - http://lsces.co.uk/wiki/?page=contact L.S.Caine Electronic Services - http://lsces.co.uk EnquirySolve - http://enquirysolve.com/ Model Engineers Digital Workshop - http://medw.co.uk// Firebird - http://www.firebirdsql.org/index.php