* RafaĆ¢ StrzaliƤski [2008-03-04 13:46+0100] writes:
On Tue, Mar 4, 2008 at 1:21 PM, Helmut Eller heller@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.