From simon.urbanek at r-project.org  Wed May 26 18:50:30 2010
From: simon.urbanek at r-project.org (Simon Urbanek)
Date: Wed, 26 May 2010 12:50:30 -0400
Subject: [Rd] SVN vs DVCS
In-Reply-To: <AANLkTiks2TYANCp53_VSPzsJGna8V_eu2_b6_zzTQOeS@mail.gmail.com>
References: <AANLkTikqeJ_LEosa4ett4bLPO9SD375Lz_lA88Z5sEAX@mail.gmail.com>
	<AANLkTimh6KCb-n5Onh1T5EHv60JG0zUoRSBI42uo7f29@mail.gmail.com>
	<19452.60812.190425.523797@lynne.math.ethz.ch>
	<AANLkTikCCxnNw5i-2sBYQ5gv80OBRhrucni3APUBhnDu@mail.gmail.com>
	<AANLkTimsIftahbfEcd8OVbzpprY6XXIGDUUoNddXxgfi@mail.gmail.com>
	<968319FE-3CD6-4520-95FE-198C31C643EF@r-project.org>
	<AANLkTiks2TYANCp53_VSPzsJGna8V_eu2_b6_zzTQOeS@mail.gmail.com>
Message-ID: <59A0875B-D883-4B4B-8B7C-996A2193D1FD@r-project.org>


On May 26, 2010, at 11:35 AM, Hadley Wickham wrote:

>>> Yes, that's a very good point (although in my experience it takes a
>>> very long time to do the initial download of the SVN repository). I'm
>>> not an expert on these systems, but I imagine the main downside (other
>>> than speed) of having SVN upstream is that you have to keep the
>>> history linear,
>> 
>> That (non-linear history) is IMHO the biggest drawback of DVCS because that means there is no way to link a particular build to the source status and you cannot use globally valid build numbers.
> 
> Git (and I'm sure the others) provides a globally unique id for each
> revision.  Isn't that sufficient?
> 

No in that you cannot follow revisions. What you get are those horrible UUIDs that you can't seriously use other that in some autogenerated form (that's one of the main reasons I abandoned GIt after giving it a try).


>> But feature branches are as easily (IMHO even more easily since you can closely monitor what others are contributing) worked on with SVN (routinely used with R) so I'm not sure what DVCS would buy you.
> 
> Feature branches are _much_ easier with git - to the point where some
> people suggest using a separate feature branch for every feature you
> develop.
> 

Ok, what's different? It's trivial to create branches in SVN and trivial to merge - how is it easier in git? That may be the part I don't understand..


>> AFAICS the only benefit of DVCS is that if you are on a remote island without any internet connection you can accumulate multiple commits before merging them back. I can't say that I desperately need that functionality ;).
> 
> You have never worked on an airplane or other location without internet access?  You must have lived a very privileged life ;)
> 

Oh, you don't have internet in your airplane? ;) But seriously, yes, I have hacked stuff on airplanes but in general I'm able to get an access soon enough to have reasonable commit granularity. But yes, I do agree that it can be useful at very limited number of times (maybe once or twice so far for me), but that doesn't convince me to give up revisions and central conflict resolution which I use daily. [Note: this is my personal preference]

Cheers,
Simon



[Rd] SVN vs DVCS
Simon Urbanek