Re: Mercurial v0.4d
On Thu, May 05, 2005 at 03:04:31PM -0400, Jeff Garzik wrote:
Show 6 quoted lines
> Matt Mackall wrote:
> >The web protocol is painfully slow, mostly because it makes an http
> >round trip per file revision to pull. I'm about to start working on a
> >replacement that minimizes round trips.
>
> Can you make it do HTTP 1.1 pipelining?
Yes, a zsync-like protocol ought to be doable. But you'll still potentially be doing 16k requests to pull something the size of the kernel, which isn't very friendly to a web server. So I'm working on a stand-alone or possibly CGI-based replacement.
My goal is to do something like this:
client server
I last saw change N from you
W, X, Y, and Z are newer here
Send me X, Y, and Z relative to N
Here you go, deltas from N to X to
Y to Z, sorted by fileSo not only can we be efficient in number of round trips and data transferred, we can reduce seeks by applying all per-file changes together. We can also usually avoid decompress/recompress and patch/diff because both ends will end up storing the same delta.
--
Mathematics is the supreme nostalgia of our time.