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

Re: Mercurial 0.4e vs git network pull

From
TWTristan Wibberley <maihem@maihem.org>
Date
May 16, 2005, 22:22 UTC
Message-ID
<1116282131.6141.8.camel__31554.9111379825$1116283578$gmane$org@localhost.localdomain>
In-Reply-To
<20050515124042.GE13024@pasky.ji.cz>
On Sun, 2005-05-15 at 14:40 +0200, Petr Baudis wrote:
Show 21 quoted lines
> 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...
> > 
> > 	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
> 	...

What about IMAP? You could ask for just the parents for several messages (via a message header), then start asking for message bodies (with the juicy stuff in). You could also ask for a list of the new commits then ask for each of the bodies (several at a time). Not as good as a "Just give me all new data", but an *awful* lot more efficient than HTTP. And very flexible. You just need to map changesets to IMAP messages (if such a mapping can actually make sense :)

Prolly a bit more work though.

-- Tristan Wibberley

The opinions expressed in this message are my own opinions and not those of my employer.

Previous: Petr BaudisNext: Matt Mackall
Message 3 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.