[PATCH] treemanifest: disable readdelta optimization

Martin von Zweigbergk martinvonz at google.com
Fri Apr 3 03:32:17 UTC 2015


# HG changeset patch
# User Martin von Zweigbergk <martinvonz at google.com>
# Date 1426006662 25200
#      Tue Mar 10 09:57:42 2015 -0700
# Node ID 2acc5d6ee6985694b33b632596601ead4364e412
# Parent  d7cf8102bf09a905662c1018e60a06e417a08af3
treemanifest: disable readdelta optimization

When tree manifests are stored with one revlog per directory and
loaded lazily, it's unclear how much readdelta will help. If only a
few files change, then only a small part of the full manifest will be
loaded, and the delta chains should also be shorter for tree
manifests. Therefore, let's disable readdelta for tree manifests for
now.

diff -r d7cf8102bf09 -r 2acc5d6ee698 mercurial/manifest.py
--- a/mercurial/manifest.py	Thu Apr 02 16:51:00 2015 -0500
+++ b/mercurial/manifest.py	Tue Mar 10 09:57:42 2015 -0700
@@ -687,7 +687,7 @@
         return md
 
     def readdelta(self, node):
-        if self._usemanifestv2:
+        if self._usemanifestv2 or self._usetreemanifest:
             return self._slowreaddelta(node)
         r = self.rev(node)
         d = mdiff.patchtext(self.revdiff(self.deltaparent(r), r))


More information about the Mercurial-devel mailing list