Boost logo

Boost :

Subject: Re: [boost] [git] Mercurial?
From: Mark Borgerding (mark_at_[hidden])
Date: 2012-03-19 12:12:50


On 03/19/2012 10:48 AM, Sergiu Dotenco wrote:
> On 19.03.2012 15:02, Daryle Walker wrote:
>> Git has a competitor called Mercurial? If we're moving to a Distributed-VCS, should we go to Mercurial instead of Git?
> While we're at it, Google's analysis of Git and Mercurial shouldn't be neglected:
> http://code.google.com/p/support/wiki/DVCSAnalysis
>

FYI, here is a somewhat more entertaining, but still relevant,
comparison which frames git as MacGyver and mercurial as James Bond.
http://importantshock.wordpress.com/2008/08/07/git-vs-mercurial/

I'm sorry if I am fanning the flames of resurrecting an old discussion.
I did a little searching to see if this question had a distinct decision
on the forums. I saw discussions that were primarily focused on "why
DVCS?" not "which DVCS?"

It looks like the Boost wiki asks the question of "Why Git?" (
https://svn.boost.org/trac/boost/wiki/Git/WhyGit ) but does not answer
it. Perhaps the deciders can give more information on the wiki? Then
when this comes up again, simply provide the link.

My anecdote: Take it for what it's worth ( maybe two cents) ...

I first encountered DVCS by helping out under the Eigen c++ library
project. I quickly became a convert to the concept of dvcs and
secondarily to mercurial as an implementation.
I talked the rest of the developers at my company into migrating our
then-cvs repos forward to something more modern. I did not want to
taint the decision by simply grabbing for what I knew. So we weighed out
the pros and cons of using various distributed version control systems.
The fight quickly devolved to hg vs. git.

In the end we chose mercurial because
1. Hg did everything we could envision needing to do. Mostly through
simple prebuilt commands, infrequently by more advanced scripting see
"hg help templates" or "hg help revsets" to get a flavor of the power.
2. The commands and concepts of mercurial are closer to the cvs/svn
concepts we knew. Many of the commands are actually the same. This
minimized the cost of converting our coders, which far outweighs the
cost of converting our code.
3. Hg is simpler than git for doing common tasks ( or at least seemed so
to us -- see #2)

There were various other minor reasons that tipped us toward mercurial,
like cross-platform consistency and hg's habit of keeping the repo
compressed.

Let me end by applauding Boost for doing the right thing. Moving from
svn to any DVCS is a step in the right direction. The detail of which
one is a nuance.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk