# HG changeset patch # User Matt Mackall # Date 2011-03-21 00:43:28 # Node ID ed913fd7837b35a69db536edec1ae48ee728b9cb # Parent cb8d0bc8c0218855a53e33f0859d708fa4d33779 manifest: add readfast method diff --git a/mercurial/manifest.py b/mercurial/manifest.py --- a/mercurial/manifest.py +++ b/mercurial/manifest.py @@ -38,6 +38,13 @@ class manifest(revlog.revlog): r = self.rev(node) return self.parse(mdiff.patchtext(self.revdiff(self.deltaparent(r), r))) + def readfast(self, node): + '''use the faster of readdelta or read''' + r = self.rev(node) + if self.deltaparent(r) in self.parentrevs(r): + return self.readdelta(node) + return self.read(node) + def read(self, node): if node == revlog.nullid: return manifestdict() # don't upset local cache