[slime-devel] Re: Mercurial

Helmut Eller heller at common-lisp.net
Tue Mar 4 13:48:46 UTC 2008


* Rafaâ Strzaliäski [2008-03-04 13:46+0100] writes:

> On Tue, Mar 4, 2008 at 1:21 PM, Helmut Eller <heller at common-lisp.net> wrote:
>>
>>  What do people think of switching from CVS to Mercurial[*] ?
>
> Why not GIT? SBCL switched from CVS to git with a success. Nikodem S.
> wrote very good
> tutorial.

The big three VCSes currently seem to be Git, Mercurial and Bazaar.

Git is the most popular, most powerful, but also the most complicated.
(It could be argued, that Nikodemus' tuturial is an indicator that git
usuage isn't entirely obvious.)  Some people say that it doesn't run
so well on Windows, because it's written in C+sh+perl.  The other two
are written in Python and claim that the platform issues are handled
(mostly) by Python.  I think the "runs on Windows" thing was the main
reason why Mozilla uses Mercurial and not Git.

Bazaar (bzr) is arguably easier to use, primarily because it has
consistent options for the various commands and the commands have
usually similar counter parts in CVS and SVN.  My main complaint about
bzr is that the "bzr log -l 10" command takes 2 seconds on the SLIME
repo.  The other thing that I don't like much is the handling of
"short lived branches".  With bzr you must create at separate
directory for each branch, with the others you can switch the branch
in the same directory.

Mercurial (hg) is IMHO as easy to use as bzr---the commands are
similar to CVS---but is the more mature and scales better.  It doesn't
support branches as well as Git does, but I feel more confident using
Mercurial.  There are also some niceties bundled with the main distro,
like the local webserver and the glog command.  All this is also
available for Git and bzr but hg is a nice, relatively small, package.

Here are the sizes for the repos on my disk:
$ du -h -s  slime-bzr/.bzr/  slime-git/.git slime-hg/trunk/.hg/
8.1M    slime-bzr/.bzr/
7.1M    slime-git/.git
3.9M    slime-hg/trunk/.hg/

This doesn't necessarily mean that Mercurial is more space efficient
in the long run.  Those are just repos converted from CVS and I messed
a bit around with each of them.

I found this quote somewhere:

  On OpenSolaris plans for a new VCS 
  <ddaa> I think they realized there are two kinds of dscms...
  <ddaa> the obsolete ones and the experimental ones

That's also my impression.  All three are pretty close to each other,
but I think Mercurial is currently the best choice.

Helmut.




More information about the slime-devel mailing list