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

Benoit Boissinot bboissin at gmail.com
Fri May 6 06:43:57 CDT 2011


On Thu, May 5, 2011 at 10:27 PM, Benoit Boissinot <bboissin at gmail.com> wrote:
> On Thu, May 5, 2011 at 8:42 PM, Antoine Pitrou <solipsis at pitrou.net> wrote:
>> On Thu, 5 May 2011 20:27:40 +0200
>> Benoit Boissinot <bboissin at gmail.com> wrote:
>>> >
>>> > Out of curiousity: why only the first parent and not both of them?
>>> > It seems to make storage efficiency depend on tiny details of people's
>>> > workflow ("which way" they do their merges), doesn't it?
>>>
>>> The storage supports it, but last time I checked it was quite
>>> expensive to try all combinations.
>>
>> Well, trying 3 revisions instead of 2 is only a 50% increase, isn't
>> it? :)
>
> Parentdelta and tipdelta did only one. So not it's not a 50% increase :)

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

cheers,

Benoit


More information about the Mercurial-devel mailing list