##// END OF EJS Templates
delta: exclude base candidate much smaller than the target...
delta: exclude base candidate much smaller than the target If a revision's full text is that much bigger than a base candidate full text, we no longer consider that candidate. This solves a pathological case we encountered on a very specify repository. It contains a long series of changesets with a very small manifest (one file) co-existing with others changesets using a very large manifest. Without this filtering, we ended up considering a large number of tiny full snapshots as a potential base. It resulted in very large delta (the size of the full text) and mercurial spending 99% of its time compressing these deltas. The timing of a commit moved from about 400s to about 10s (still slow, but not ridiculously slow).
Boris Feld -
r41014:42f59d3f default
Show More
Name Size Modified Last Commit Author
/ mercurial / revlogutils
__init__.py Loading ...
constants.py Loading ...
deltas.py Loading ...