diff -r df3cf9422e1b -r a2ab9ebcd85b mercurial/verify.py --- a/mercurial/verify.py Mon May 15 09:35:27 2017 -0700 +++ b/mercurial/verify.py Sun May 14 09:38:06 2017 -0700 @@ -49,6 +49,8 @@ self.lrugetctx = util.lrucachefunc(repo.changectx) self.refersmf = False self.fncachewarned = False + # developer config: verify.skipflags + self.skipflags = repo.ui.configint('verify', 'skipflags') def warn(self, msg): self.ui.warn(msg + "\n") @@ -427,8 +429,12 @@ # 2. hash check: depending on flag processor, we may need to # use either "text" (external), or "rawtext" (in revlog). try: - fl.read(n) # side effect: read content and do checkhash - rp = fl.renamed(n) + skipflags = self.skipflags + if skipflags: + skipflags &= fl.flags(i) + if not skipflags: + fl.read(n) # side effect: read content and do checkhash + rp = fl.renamed(n) # the "L1 == L2" check l1 = fl.rawsize(i) l2 = len(fl.revision(n, raw=True))