Return-Path: Delivered-To: apmail-incubator-general-archive@www.apache.org Received: (qmail 83936 invoked from network); 18 Feb 2008 02:24:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 18 Feb 2008 02:24:38 -0000 Received: (qmail 70187 invoked by uid 500); 18 Feb 2008 02:24:31 -0000 Delivered-To: apmail-incubator-general-archive@incubator.apache.org Received: (qmail 70033 invoked by uid 500); 18 Feb 2008 02:24:31 -0000 Mailing-List: contact general-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: general@incubator.apache.org Delivered-To: mailing list general@incubator.apache.org Received: (qmail 70022 invoked by uid 99); 18 Feb 2008 02:24:31 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 17 Feb 2008 18:24:31 -0800 X-ASF-Spam-Status: No, hits=2.7 required=10.0 tests=HTML_MESSAGE,SPF_SOFTFAIL X-Spam-Check-By: apache.org Received-SPF: softfail (athena.apache.org: transitioning domain of arkin@intalio.com does not designate 64.233.166.177 as permitted sender) Received: from [64.233.166.177] (HELO py-out-1112.google.com) (64.233.166.177) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 18 Feb 2008 02:23:59 +0000 Received: by py-out-1112.google.com with SMTP id a25so1969775pyi.13 for ; Sun, 17 Feb 2008 18:24:06 -0800 (PST) Received: by 10.65.250.11 with SMTP id c11mr9303721qbs.22.1203301446698; Sun, 17 Feb 2008 18:24:06 -0800 (PST) Received: by 10.64.193.5 with HTTP; Sun, 17 Feb 2008 18:24:06 -0800 (PST) Message-ID: <3de5d7d20802171824t44842d9an83f50862529473c0@mail.gmail.com> Date: Sun, 17 Feb 2008 18:24:06 -0800 From: "Assaf Arkin" To: general@incubator.apache.org Subject: Re: Subversion vs other source control systems In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_4119_18306054.1203301446692" References: <1202989059.22816.58.camel@marlow> X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_4119_18306054.1203301446692 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline On 2/17/08, Noel J. Bergman wrote: > > But visibility of the content and process very much IS part of "the Apache > Way." > > Most of the use cases mentioned so far for git, including some where > people are using it on top of SVN with ASF projects, run counter to ASF > principles. It is *NOT* in our best interests and practices for people to > work in private on bulk code, and periodically submit big changes. We want > those changes made in public view in Subversion branches where the Community > can see the work in progress, not when it is complete. We need to reeducate > people who believe otherwise. > > That said, I am not saying that people can't use whatever SVN client(s) > they want to use. I am saying that (a) the ASF has a uniform source control > infrastructure, which is currently based on SVN servers, and (b) our > practices mean that development is done in public, not done in private and > submitted en masse as a fait accompli. These statements are independent of > the SCM technology used by the ASF. With all the recent interest in distributed version control, I decided to do some research. I looked at git, hg and bzr and nothing that I read out there convinced me that any of them offers a significant advantage over SVN. So I decided to try one. The productivity gain was enough to win me over. My experience is that it works much better especially for projects that involve a distributed community of developers. DVC do not use the same terminology as SVN. With SVN you check out code into your local working copy, with DVC the working copy is a repository, so checking out is effectively creating a branch. Likewise, you do not commit from working copy to central repository, but merge from your local repository to a more authoritive one. So I can see how it sounds like developers on DVC are working in the dark on big changes outside of community visibility, but only because with SVN branches tend to encapsulate large changes. In DVC branching and merging are done instead of checkout and commit, there's nothing anti-social about this practice. It's also only when you consider that every svn update and svn commit is essentially a merge (in DVC terminology) that you realize how frequent merges are, any why any small improvment on merge is a significant benefit. My experience is mostly with small projects, and it does make a difference even when working in small teams, so definitely something we should consider for incubation projects. In fact, I think it will be easier and lower risk to start the journey to DVC there. Assaf ------=_Part_4119_18306054.1203301446692--