mercurial/verify.py
changeset 32288 a2ab9ebcd85b
parent 32250 8a137ef6e5da
child 33499 0407a51b9d8c
--- 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))