Subject: Re: Google Code: Support for Mercurial and Analysis of Git and Mercurial

From: A Large Angry SCM <[email-masked]>
Date: Sun, 26 Apr 2009 10:54:48 -0400

Jakub Narebski wrote:
> Christian Couder <[email-masked]> writes:
> 
>> For information, now Google Code supports Mercurial for project hosting:
>>
>> http://google-code-updates.blogspot.com/2009/04/mercurial-support-for-project-hosting.html
>>
>> Mercurial was choosen over Git because of this (one year old) analysis:
>>
>> http://code.google.com/p/support/wiki/DVCSAnalysis
>>
>> There is this article on LWN about the analysis:
>>
>> http://lwn.net/Articles/330138/
> 
> It is a pity that the choice was based on year old analysis.  One year
> for actively developed and fast moving targets such like Git and
> Mercurial is ages in terms of development history.  But I guess this
> is unavoidable.
> 
> For example periodic "maintenance" (garbage collecting) is nowadays
> quite automatic in git, with fetching into pack, periodic repacking if
> number of loose objects is above tthreshold, and "git gc --auto".
> 
> Whether Mercurial or Git has better UI and better documentation is
> IMHO a matter of debate.  Git documentation is much better that it
> was, with "Git User's Manual" and "Git Community Book"; UI also is
> being improved.
> 
> I can't comment on MS Windows support, but AFAIK Mercurial has better
> support here than Git.
> 
> 
> The deciding feature (well, one of deciding features) was the fact
> that Mercurial has better HTTP support... I guess (it was not obvious
> from the analysis, but it was hinted at) that Mercurial uses its
> custom protocol over HTTP, as opposed to "dumb" HTTP protocol support
> in Git.
> 
> Perhaps it is time to restart work on _"smart" HTTP protocol_?
> 

Another important criteria was which, both or neither of Git and Hg 
would actually work and perform well on top of Google Code's underling 
storage system and except to mention they would be using Bigtable, the 
report did not discuss this. Git on top of Bigtable will not perform well.

Read the paper and do the math if you are interested.

	http://labs.google.com/papers/bigtable-osdi06.pdf