Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:54434 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 18543 invoked from network); 7 Aug 2011 21:13:57 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 7 Aug 2011 21:13:57 -0000 Authentication-Results: pb1.pair.com smtp.mail=rquadling@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=rquadling@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.216.170 as permitted sender) X-PHP-List-Original-Sender: rquadling@gmail.com X-Host-Fingerprint: 209.85.216.170 mail-qy0-f170.google.com Received: from [209.85.216.170] ([209.85.216.170:60224] helo=mail-qy0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 1E/00-17758-3100F3E4 for ; Sun, 07 Aug 2011 17:13:56 -0400 Received: by qyl38 with SMTP id 38so1121672qyl.8 for ; Sun, 07 Aug 2011 14:13:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:from:date:message-id :subject:to:cc:content-type:content-transfer-encoding; bh=uQ0ziMMXwo1osZypoz61nYUGyioEq0h0SaWVBtDTcGc=; b=SbvubD8WmJ1EWUA890zhhgz7/1Bajj5jCF6JS+IPu8Tk+sJ8i47TMxUBvwDhkLHHIG X7W51OKM4pDxiPazgEWjDK7YYwT8v6YoAj/ojHex+xeRGDtHXQJBKKyiIMP7xlCFusL8 9qhMODs60rcmzj5mx9+vg9CLBIseQM70hsj5o= Received: by 10.229.44.41 with SMTP id y41mr1681403qce.217.1312751632489; Sun, 07 Aug 2011 14:13:52 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.81.14 with HTTP; Sun, 7 Aug 2011 14:13:32 -0700 (PDT) Reply-To: RQuadling@GMail.com In-Reply-To: References: Date: Sun, 7 Aug 2011 22:13:32 +0100 Message-ID: To: David Soria Parra Cc: internals@lists.php.net Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] [RFC] Choosing a distributed version control system for PHP (or not). Call for Participation. From: rquadling@gmail.com (Richard Quadling) On 7 August 2011 21:50, David Soria Parra wrote: > Hi Internals, > > Distributed Version Control Systems (DVCS) getting more and more > popular. In fact they have been discussed within the PHP community and > on Internals a few times. It came to my attention that more and more > people like to see PHP move to a DVCS to solve some of the current > issues (and get other ones). > > I was asked to put together a RFC, and so here we are. I've created > an initial draft. It is mostly based on the very good Python PEP-0374. > It compares Git and Mercurial. > > =C2=A0 =C2=A0https://wiki.php.net/rfc/dvcs > > There are reasons for choosing these systems: > =C2=A0 * Both are quite popular > =C2=A0 * I know them > =C2=A0 * Most PHP devs that I know, know at least on of them > =C2=A0 * Big projects have recently moved to them, they have > =C2=A0 =C2=A0 similar requirements like PHP > > The RFC is far from done, so please help me finishing it and get it out. > > This is a call for participation to help to get a (probably heated) > discussed started and work on the RFC to make it good enough to finally > choose a system or, and that is a valid option, stay with SVN. > > So if: > =C2=A0- you are interested in DVCS > =C2=A0- know a little bit about PHPs requirements for a DVCS > =C2=A0- are not a fanboy > > Feel free to discuss this and add your thoughts to the RFC. I would > love to not do this on my own. Feel free to catch me on IRC (dsp_ on > php.pecl) and discuss it. > > NOTE: this is not the place for any religiouise discussion about git vs > mercurial whatsover. if you have nothing else to add than "hg is $*** > anyway" or think hosting platform XY will solve all our problems > without reading the RFC carefully, please post to alt.relgion.* and not > here. > > > - David I feel I have a major objection to using a DVCS for PHP. Currently, a single source provides a sense of authority. If bad code is committed, it will be quickly dealt with. If good code is incomplete it may be withdrawn or fixed. In most cases the features that exist in a branch are well thought out and many clever brains have seen it and interacted with it to make it what it is. So, when someone like me comes along, someone capable of building the code and playing with it at a very minor level, I can be sure that if things don't work, it is probably me that's broke it and that I can rely on the branch to contain good working code. OK. I know ITRW, things do get left unfinished or plain broken. But it isn't as if the code belongs to a single person who may have not spent all their time with it. Whilst I am happy to use my own builds on my dev setups, I'm also happy to rely on the official releases from The PHP Group. Now let's envisage a DVCS. There will be (not might be, but will be), multiple, and potentially conflicting/incompatible, versions available. Which do I choose? If everyone is capable of forking PHP, which is the official one? In the event of a single official repo, then why bother with a DVCS? (I'll admit I'm naive on the true requirement of DVCS, as I think SVN works very well). The main thing I'm worried about is if feature X splits the core devs so much that there are 2 competing repos, both with a significant number of core devs supporting each repo, how do I choose which is which? If my abilities include being able to code at the core level, which should I support? Both? All 3, 4 or 10 different forks? Having a single repository for the code makes the code the official, authoritative version. A DVCS will have too many champions and I feel would drastically dilute that authority. Regards, Richard. --=20 Richard Quadling Twitter : EE : Zend : PHPDoc @RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY : bit.ly/lFnVea