--- a/mercurial/manifest.py Sun Dec 27 20:21:37 2015 +0900
+++ b/mercurial/manifest.py Fri Feb 12 23:09:09 2016 -0800
@@ -985,6 +985,15 @@
return self.readdelta(node)
return self.read(node)
+ def readshallowfast(self, node):
+ '''like readfast(), but calls readshallowdelta() instead of readdelta()
+ '''
+ r = self.rev(node)
+ deltaparent = self.deltaparent(r)
+ if deltaparent != revlog.nullrev and deltaparent in self.parentrevs(r):
+ return self.readshallowdelta(node)
+ return self.readshallow(node)
+
def read(self, node):
if node == revlog.nullid:
return self._newmanifest() # don't upset local cache
@@ -1006,6 +1015,13 @@
self._mancache[node] = (m, arraytext)
return m
+ def readshallow(self, node):
+ '''Reads the manifest in this directory. When using flat manifests,
+ this manifest will generally have files in subdirectories in it. Does
+ not cache the manifest as the callers generally do not read the same
+ version twice.'''
+ return manifestdict(self.revision(node))
+
def find(self, node, f):
'''look up entry for a single file efficiently.
return (node, flags) pair if found, (None, None) if not.'''