[PATCH 4 of 4] revlog: support writing generaldelta revlogs

Sune Foldager cryo at cyanite.org
Fri May 6 07:13:28 CDT 2011


On Fri, May 06, 2011 at 02:06:38 +0200, Benoit Boissinot wrote:
>On May 6, 2011 1:55 PM, "Sune Foldager" <cryo at cyanite.org> wrote:
>>
>> On Fri, May 06, 2011 at 01:43:57 +0200, Benoit Boissinot wrote:
>>
>>> Sune, this makes me think about something we might not have emphasized
>enough:
>>> having an unconsistent deltabase in a revlog (e.g. mixed parent and
>>> tip, or even random things when using generaldelta) makes it really
>>> hard to generate a bundle suitable for older clients.
>>
>>
>> Well not hard, just slow, right? You'll end up generating full revisions
>> a lot, and calculating their deltas. But that's of course not so good.
>>
>
>It is really bad, reusing the delta helps a lot. Computing a bit more delta
>means 10 min instead of 2min generation time on the server. We really don't
>want that.

Yeah ok, that's not so good. We'll need to experiment with reordering, then.
See how far that can take us. As long as we only use generaldelta for
parentdelta, I think it should be able to work pretty well.

Of course there are always pathological examples such as pulling 100 separate
branches, all parentdeltaed and all commited on once each in turn ;-).

Sune


More information about the Mercurial-devel mailing list