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

Benoit Boissinot bboissin at gmail.com
Thu May 5 13:27:40 CDT 2011


On Thu, May 5, 2011 at 8:23 PM, Antoine Pitrou <solipsis at pitrou.net> wrote:
> On Thu, 05 May 2011 18:27:59 +0200
> Sune Foldager <cryo at cyanite.org> wrote:
>> # HG changeset patch
>> # User Sune Foldager <cryo at cyanite.org>
>> # Date 1304611540 -7200
>> # Node ID 51e850f8e2901a032e5a13f0ea1ea140570ae8b4
>> # Parent  ff44313cbdf6f92626f2bb8cc1e0b790be52975b
>> revlog: support writing generaldelta revlogs
>>
>> When adding revisions, and building a delta chain, deltas are computed against
>> the previous revision as well as the first parent. The smaller one is then
>> stored in the revlog. This is similar to the now removed parentdelta feature.
>
> 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.
We could also use heuristics (number of changesets to the common ancestor, etc.)

cheers,

Benoit


More information about the Mercurial-devel mailing list