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

Benoit Boissinot bboissin at gmail.com
Fri May 6 07:11:17 CDT 2011


On May 6, 2011 2:04 PM, "Sune Foldager" <cryo at cyanite.org> wrote:
>
> On Fri, May 06, 2011 at 01:55:41 +0200, Sune Foldager 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.
>>
>>> This has been one of the big problem for parentdelta (which I hoped
>>> could solve by reordering the nodes when generating the bundle, but I
>>> need to test that more).
>>> I think there's more info on the parentdelta wiki page.
>>
>>
>> Yeah, reordering might help a lot. Either revlog.group or the bundler
>> could do some kinda deltaparent-aware toposort on the revs before the
>> actual bundling process. I think that could work.
>
>
> Do we already have some topo sort code we can use? Then we could
experiment
> with putting it into group/the bundler, and see how it fares on some
heavily
> generaldeltaed test repos. I guess the shrinker must use something?

I have some code on my laptop which depends on the dagutil module from
Peter.
>
> Sune
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20110506/9fddf88a/attachment.htm>


More information about the Mercurial-devel mailing list