From: Petr Baudis Date: Thu, 12 May 2005 20:14:06 GMT Subject: Re: Mercurial 0.4e vs git network pull Message-ID: <20050512201406.GJ324@pasky.ji.cz> In-Reply-To: <20050512201116.GC5914@waste.org> Dear diary, on Thu, May 12, 2005 at 10:11:16PM CEST, I got a letter where Matt Mackall told me that... > On Thu, May 12, 2005 at 08:23:41PM +0200, Petr Baudis wrote: > > Dear diary, on Thu, May 12, 2005 at 11:44:06AM CEST, I got a letter > > where Matt Mackall told me that... > > > Mercurial is more than 10 times as bandwidth efficient and > > > considerably more I/O efficient. On the server side, rsync uses about > > > twice as much CPU time as the Mercurial server and has about 10 times > > > the I/O and pagecache footprint as well. > > > > > > Mercurial is also much smarter than rsync at determining what > > > outstanding changesets exist. Here's an empty pull as a demonstration: > > > > > > $ time hg merge hg://selenic.com/linux-hg/ > > > retrieving changegroup > > > > > > real 0m0.363s > > > user 0m0.083s > > > sys 0m0.007s > > > > > > That's a single http request and a one line response. > > > > So, what about comparing it with something comparable, say git pull over > > HTTP? :-) > > ..because I get a headache every time I try to figure out how to use git? :-P > > Seriously, have a pointer to how this works? Either you use cogito and just pass cg-clone an HTTP URL (to the git repository as in the case of rsync - http://www.kernel.org/pub/scm/cogito/cogito.git should work), or you invoke git-http-pull directly (passing it desired commit ID of the remote HEAD you want to fetch, and the URL; see Documentation/git-http-pull.txt). -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor