Mercurial > public > mercurial-scm > hg
comparison mercurial/manifest.py @ 29960: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 |
comparison
equal
deleted
inserted
replaced
29959:483003c27938 | 29960:da75bc36202c |
---|---|
1232 return m.find(f) | 1232 return m.find(f) |
1233 except KeyError: | 1233 except KeyError: |
1234 return None, None | 1234 return None, None |
1235 | 1235 |
1236 def add(self, m, transaction, link, p1, p2, added, removed): | 1236 def add(self, m, transaction, link, p1, p2, added, removed): |
1237 if (p1 in self.fulltextcache and not self._treeinmem | 1237 if (p1 in self.fulltextcache and util.safehasattr(m, 'fastdelta') |
1238 and not self._usemanifestv2): | 1238 and not self._usemanifestv2): |
1239 # If our first parent is in the manifest cache, we can | 1239 # If our first parent is in the manifest cache, we can |
1240 # compute a delta here using properties we know about the | 1240 # compute a delta here using properties we know about the |
1241 # manifest up-front, which may save time later for the | 1241 # manifest up-front, which may save time later for the |
1242 # revlog layer. | 1242 # revlog layer. |