[PATCH 0 of 3] generaldelta preparations

Sune Foldager cryo at cyanite.org
Wed May 4 16:42:06 CDT 2011


These three small patches might help pave the way for generaldeltas. Benoit, I am not trying
to steal your work, or anything, so let me know if you want to do things differently. However,
given the abstractions that are in place (base, deltaparent and revdiff), I think these few
changes are the right way to start.

The split in the first patch is mainly because I am not sure how weirdly manifest uses the old
deltaparent (which returns rev if rev is a base). If it's not a problem, _deltaparent can be
folded into deltaparent instead.

The second patch changes base to be iterative (max. 2 iterations without generaldelta), and
also separately optimizes the chunk-loop in revision (this is not strictly needed, but saves
a line and the loop accesses 'internal' stuff anyway, in its current form).

The third patch is essentially untested, but should allow us to read revlogs with the new
generaldelta-flag, and interpret the base-field as deltaparent instead.


More information about the Mercurial-devel mailing list