# HG changeset patch # User Matt Mackall # Date 2011-01-06 23:04:41 # Node ID 12ed25f39d0b6e788e0d7dd72bf1f1b6e22f8bdc # Parent 1b591f9b7fd2c834079c98aa5788f5073fdf150b revlog: break hash checking into subfunction diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -1088,13 +1088,18 @@ class revlog(object): 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):