[FoRK] Anyone here use subversion?

Paul Jimenez pj at place.org
Wed Aug 31 11:34:50 PDT 2011


On 08/26/2011 09:05 PM, John D. Mitchell wrote:
> On Aug 26, 2011, at 16:52 , Aaron Burt wrote:
> [...]
>> Usually, a tool has to be>2x better* than its predecessor to justify
>> changing over.  In my experience, Svn took over from CVS around 2003.
>> How did Svn beat CVS?  Mere generational change?
> It was basically the "blessed" replacement of cvs.
>
> In terms of features, the big jump of svn over cvs was "atomic" commits.
>

Which is no small thing, but took *way* too long to exist, given 
perforce's example to follow.

>>> For teams moving to a DVCS from svn/cvs, Mercurial is a much better choice.
>> Can you comment on that?  Hg seems to have many fans, but I haven't found
>> what makes it more useful than Git.  It would be wonderful to know.
> Hg's terminology and command set are very much similar to the conventions of cvs/svn so it's easier for people to grok. It's also very consistent in it's command&  options (vs. git).
>
> Git (tries) to support way too many different things and in doing so has made a huge mess of the command line, the "recommended" workflows (which have changed repeatedly over it's lifecycle), etc.
>
> As always, there's the folks who'd rather have a tool where they can (eventually figured out) how to do nearly any insane thing vs. those folks who want something that's actually easy to use. :-)
>
> In terms of the actual power, they are basically the same. The main underlying difference is that Hg's bias is to immutable history while Git is really just a CAM "database".
>
> Hope this helps,
> John

Actually, my only real technical nit with Hg is the persistent branch 
naming thing: In git, branches are made locally and then when merged get 
pushed up to the main repo just as part of history - no name attached, 
just a non-linear history; names are essentially repo-scoped.  In Hg, 
branches are more global - there's no way to keep my local throwaway 
branch name from contaminating the global namespace (as defined by the 
main repo).

   --pj


FWIW, my day job involves working on a product that currently integrates 
with 18 different version control systems.  Before I started this job I 
didn't even know there *were* 18 version control systems.









More information about the FoRK mailing list