revlog: break hash checking into subfunction
authorMatt Mackall <mpm@selenic.com>
Thu, 06 Jan 2011 17:04:41 -0600
changeset 13239 12ed25f39d0b
parent 13238 1b591f9b7fd2
child 13240 e5060aa22043
revlog: break hash checking into subfunction
mercurial/revlog.py
--- a/mercurial/revlog.py	Thu Jan 06 17:04:33 2011 -0600
+++ b/mercurial/revlog.py	Thu Jan 06 17:04:41 2011 -0600
@@ -1088,13 +1088,18 @@
 
         bins = [self._chunk(r) for r in chain]
         text = mdiff.patches(text, bins)
+
+        text = self._checkhash(text, node)
+
+        self._cache = (node, rev, text)
+        return text
+
+    def _checkhash(self, text, node):
         p1, p2 = self.parents(node)
         if (node != hash(text, p1, p2) and
             not (self.flags(rev) & REVIDX_PUNCHED_FLAG)):
             raise RevlogError(_("integrity check failed on %s:%d")
                               % (self.indexfile, rev))
-
-        self._cache = (node, rev, text)
         return text
 
     def checkinlinesize(self, tr, fp=None):