git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Mercurial 0.4e vs git network pull

From
Petr Baudis <pasky@ucw.cz>
Date
May 15, 2005, 12:40 UTC
Message-ID
<20050515124042.GE13024@pasky.ji.cz>
In-Reply-To
<200505151122.j4FBMJa01073@adam.yggdrasil.com>

Dear diary, on Sun, May 15, 2005 at 01:22:19PM CEST, I got a letter where "Adam J. Richter" <adam@yggdrasil.com> told me that...

Show 19 quoted lines
> On Sun, 15 May 2005 10:54:05 +0200, Petr Baudis wrote:
> >Dear diary, on Thu, May 12, 2005 at 10:57:35PM CEST, I got a letter
> >where Matt Mackall <mpm@selenic.com> told me that...
> >> Does this need an HTTP request (and round trip) per object? It appears
> >> to. That's 2200 requests/round trips for my 800 patch benchmark.
> 
> >Yes it does. On the other side, it needs no server-side CGI. But I guess
> >it should be pretty easy to write some kind of server-side CGI streamer,
> >and it would then easily take just a single HTTP request (telling the
> >server the commit ID and receiving back all the objects).
> 
> 	I don't understand what was wrong with Jeff Garzik's previous
> suggestion of using http/1.1 pipelining to coalesce the round trips.
> If you're worried about queuing too many http/1.1 requests, the client
> could adopt a policy of not having more than a certain number of
> requests outstanding or perhaps even making a new http connection
> after a certain number of requests to avoid starving other clients
> when the number of clients doing one of these transfers exceeds the
> number of threads that the http server uses.
The problem is that to fetch a revision tree, you have to
	send request for commit A
	receive commit A
	look at commit A for list of its parents
	send request for the parents
	receive the parents
	look inside for list of its parents
	...
(and same for the trees).
> 	Being able to do without a server side CGI script might
> encourage deployment a bit more, both for security reasons and
> effort of deployment.

You could still use it without the server side CGI script as it is now, just without the speedups.

-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor
Previous: Adam J. RichterNext: Tristan Wibberley
Message 2 of 7 in “Re: Mercurial 0.4e vs git network pull”
  1. Adam J. RichterMay 15, 2005
  2. Petr BaudisMay 15, 2005
  3. Tristan WibberleyMay 16, 2005
  4. Matt MackallMay 15, 2005
  5. Jeff GarzikMay 15, 2005
  6. Matt MackallMay 16, 2005
  7. Matthias UrlichsMay 16, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.