changeset 29964:da75bc36202c

manifest: remove dependency on treeinmem from manifest.add Currently manifest.add uses the treeinmem option to know if it can call fastdelta on the given manifest instance. In a future patch we will be moving add() to be on the manifestrevlog, so it won't have access to the treeinmem option anymore. Instead, let's have it actually check if the given manifest instance supports the fastdelta operation. This also means that if treemanifest or any implementation eventually implements fastdelta(), it will automatically benefit from this code path.
author Durham Goode <durham@fb.com>
date Tue, 20 Sep 2016 12:24:01 -0700
parents 483003c27938
children 774a15b129e8
files mercurial/manifest.py
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/manifest.py	Tue Sep 20 12:24:01 2016 -0700
+++ b/mercurial/manifest.py	Tue Sep 20 12:24:01 2016 -0700
@@ -1234,7 +1234,7 @@
             return None, None
 
     def add(self, m, transaction, link, p1, p2, added, removed):
-        if (p1 in self.fulltextcache and not self._treeinmem
+        if (p1 in self.fulltextcache and util.safehasattr(m, 'fastdelta')
             and not self._usemanifestv2):
             # If our first parent is in the manifest cache, we can
             # compute a delta here using properties we know about the