Re: Mercurial 0.4e vs git network pull
- From
Petr Baudis <pasky@ucw.cz>
- Date
- May 15, 2005, 14:23 UTC
- Message-ID
- <20050515142307.GF13024@pasky.ji.cz>
- In-Reply-To
- <200505151152.j4FBqoW01239@adam.yggdrasil.com>
Dear diary, on Sun, May 15, 2005 at 01:52:50PM CEST, I got a letter where "Adam J. Richter" <adam@yggdrasil.com> told me that...
Show 28 quoted lines
> On Sun, 15 May 2005 14:40:42 +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 > > ... > > >(and same for the trees). > > Don't you usually have a list of many files for which you > want to retrieve this information? I'd imagine that would usually > suffice to fill the pipeline.
That might be true for the trees, but not for the commit lists. Most commits have a single parent, except merges, which are however extremely rare with more than two parents too.
-- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor