Messages in this thread | | | From | Tristan Wibberley <> | Subject | Re: Mercurial 0.4e vs git network pull | Date | Mon, 16 May 2005 23:22:11 +0100 |
| |
On Sun, 2005-05-15 at 14:40 +0200, Petr Baudis wrote: > 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.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |