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

From: Jakub Narebski <[email-masked]>
Date: Sun, 26 Apr 2009 12:09:07 +0200

On Sun, 26 April 2009, Matthias Andree wrote:
> Am 26.04.2009, 10:16 Uhr, schrieb Jakub Narebski <[email-masked]>:
> 
> > I can't comment on MS Windows support, but AFAIK Mercurial has better
> > support here than Git.
> 
> I have some experience here, and with exception to the SVN 1.6 breaks  
> git-svn for https:// (probably due to misbehaviour of APR or SVN stuff on  
> Cygwin), it works flawless on Cygwin 1.5. (SVN 1.5 on Cygwin 1.5 or SVN  
> 1.6 on Cygwin 1.7 seem to work).
> 
> I wonder why people are always pissed at Cygwin - it's quite easy to setup  
> and works.

Well, but you have to install Cygwin (or use MsysGit, which isn't there
yet).  On the other hand you need to install Python for Mercurial...
but perhaps it is bundled in Windows install package for Mercurial.

Beside it isn't only about being easy to install and use (and have
decent enough performance) given SCM on MS Windows, but also about
tools such like TortoiseHg and VisualHg (as Windows users are usually
not used to using CLI alone).  Although also this improves for Git,
with TortoiseGit, Git Extensions and git-cheetah.  And I think it was
much worse (for Git vs Mercurial) at the time the analysis in question
was conducted.

[...]
> > 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_?
> 
> That would certainly be useful, but the "packs" approach is something that  
> may make this more difficult than for Mercurial. Git+SSH works rather well  
> though.

As you can find in mailing list archives the design part of "tunelling"
pack protocol over HTTP, using git-aware server (for example some CGI
script, or simple HTTP server like Mercurial's hg-serve), is done.  Even
taking into account the fact that HTTP protocol by itself is stateless.
Unfortunately development itself of "smart" HTTP server for Git got
stalled... if it was present, the conclusion of mentioned analysis might
have been different.  OTOH perhaps it would be not, as it is my impression
that Google Code stuff is either Python or Java...

P.S. I wonder what happened to GMane interface... seems stalled.

-- 
Jakub Narebski
Poland