Patchwork D10858: revlogv2: fix `hg verify` with revlog v2

login
register
mail settings
Submitter phabricator
Date June 9, 2021, 2:39 p.m.
Message ID <differential-rev-PHID-DREV-nlcjprsziekzmidso3yu-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/49178/
State Superseded
Headers show

Comments

phabricator - June 9, 2021, 2:39 p.m.
marmoute created this revision.
Herald added a reviewer: indygreg.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  We added a bunch of new files but we never teached some internal about it. This
  is now fixed.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D10858

AFFECTED FILES
  mercurial/revlog.py
  tests/test-revlog-v2.t

CHANGE DETAILS




To: marmoute, indygreg, #hg-reviewers
Cc: mercurial-patches, mercurial-devel

Patch

diff --git a/tests/test-revlog-v2.t b/tests/test-revlog-v2.t
--- a/tests/test-revlog-v2.t
+++ b/tests/test-revlog-v2.t
@@ -119,3 +119,21 @@ 
 The two repository should be identical, this diff MUST be empty
 
   $ cmp ../tip-new ../tip-cloned || diff -U8 ../tip-new ../tip-cloned
+
+
+hg verify should be happy
+-------------------------
+
+  $ hg verify
+  checking changesets
+  checking manifests
+  crosschecking files in changesets and manifests
+  checking files
+  checked 1 changesets with 1 changes to 1 files
+
+  $ hg verify -R ../cloned-repo
+  checking changesets
+  checking manifests
+  crosschecking files in changesets and manifests
+  checking files
+  checked 1 changesets with 1 changes to 1 files
diff --git a/mercurial/revlog.py b/mercurial/revlog.py
--- a/mercurial/revlog.py
+++ b/mercurial/revlog.py
@@ -2923,8 +2923,15 @@ 
 
     def files(self):
         res = [self._indexfile]
-        if not self._inline:
-            res.append(self._datafile)
+        if self._docket_file is None:
+            if not self._inline:
+                res.append(self._datafile)
+        else:
+            res.append(self._docket_file)
+            if self._docket.data_end:
+                res.append(self._datafile)
+            if self._docket.sidedata_end:
+                res.append(self._sidedatafile)
         return res
 
     def emitrevisions(