mercurial/revlogutils/rewrite.py
branchstable
changeset 47817 855463b5fe49
parent 47816 32e21ac3adb1
child 47818 5b046c2e3000
--- a/mercurial/revlogutils/rewrite.py	Thu Aug 05 17:00:03 2021 +0200
+++ b/mercurial/revlogutils/rewrite.py	Fri Aug 06 12:10:36 2021 +0200
@@ -672,7 +672,9 @@
                 _reorder_filelog_parents(repo, fl, sorted(to_fix))
 
 
-def repair_issue6528(ui, repo, dry_run=False, to_report=None, from_report=None):
+def repair_issue6528(
+    ui, repo, dry_run=False, to_report=None, from_report=None, paranoid=False
+):
     from .. import store  # avoid cycle
 
     @contextlib.contextmanager
@@ -719,6 +721,12 @@
                 affected = _is_revision_affected_fast(
                     repo, fl, filerev, metadata_cache
                 )
+                if paranoid:
+                    slow = _is_revision_affected(fl, filerev)
+                    if slow != affected:
+                        msg = _(b"paranoid check failed for '%s' at node %s")
+                        node = binascii.hexlify(fl.node(filerev))
+                        raise error.Abort(msg % (filename, node))
                 if affected:
                     msg = b"found affected revision %d for filelog '%s'\n"
                     ui.warn(msg % (filerev, path))