# Mercurial v0.4c

4 messages from 2005-05-04 to 2005-05-05. Participants: Matt Mackall, Jeff Garzik.
Thread: https://gitlist.dev/t/470

## Matt Mackall, 2005-05-04 02:58

Subject: Mercurial v0.4c
Message-ID: <20050504025852.GK22038@waste.org>
URL: https://gitlist.dev/e/20050504025852.GK22038%40waste.org

```
A new version of Mercurial is available at:

 http://selenic.com/mercurial/

This version is officially self-hosting, now that I've added the final
planned changed to the metadata. To pull the repo, do:

 hg init
 hg merge http://selenic.com/hg

This version fixes numerous reported bugs, adds a "verify" command to
check the repository integrity, transaction handling, and some minor
speed improvements.

-- 
Mathematics is the supreme nostalgia of our time.

```

## Matt Mackall, 2005-05-04 18:18

Subject: Mercurial v0.4d
Message-ID: <20050504181802.GS22038@waste.org>
URL: https://gitlist.dev/e/20050504181802.GS22038%40waste.org
In-Reply-To: <20050504025852.GK22038@waste.org>

```
A new version of Mercurial is available at:
 
  http://selenic.com/mercurial/

This fixes a handful of bugs reported last night, most notably failing
to pull from the http repo. This turned out to be a failure to quote
'%' characters. Thanks to everyone for their feedback.
 
Once you've got the new version installed, to pull the repo:

  hg init
  hg merge http://selenic.com/hg
  hg checkout    # 'hg co' works too

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.

-- 
Mathematics is the supreme nostalgia of our time.

```

## Jeff Garzik, 2005-05-05 19:04

Subject: Re: Mercurial v0.4d
Message-ID: <427A6E3F.5090904@pobox.com>
URL: https://gitlist.dev/e/427A6E3F.5090904%40pobox.com
In-Reply-To: <20050504181802.GS22038@waste.org>

```
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?

	Jeff



```

## Matt Mackall, 2005-05-05 20:36

Subject: Re: Mercurial v0.4d
Message-ID: <20050505203658.GG22038@waste.org>
URL: https://gitlist.dev/e/20050505203658.GG22038%40waste.org
In-Reply-To: <427A6E3F.5090904@pobox.com>

```
On Thu, May 05, 2005 at 03:04:31PM -0400, Jeff Garzik wrote:
> 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 file

So 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.

```
