changeset 41876:5ad5a70df2f7

verify: document the `_verifymanifest` method
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 06 Mar 2019 12:39:44 +0100
parents 2f1f475e9646
children 9c5a6af74afa
files mercurial/verify.py
diffstat 1 files changed, 27 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/verify.py	Wed Mar 06 12:21:58 2019 +0100
+++ b/mercurial/verify.py	Wed Mar 06 12:39:44 2019 +0100
@@ -246,6 +246,33 @@
 
     def _verifymanifest(self, mflinkrevs, dir="", storefiles=None,
                         subdirprogress=None):
+        """verify the manifestlog content
+
+        Inputs:
+        - mflinkrevs:     a {manifest-node -> [changelog-revisions]} mapping
+        - dir:            a subdirectory to check (for tree manifest repo)
+        - storefiles:     set of currently "orphan" files.
+        - subdirprogress: a progress object
+
+        This function checks:
+        * all of `_checkrevlog` checks (for all manifest related revlogs)
+        * all of `_checkentry` checks (for all manifest related revisions)
+        * nodes for subdirectory exists in the sub-directory manifest
+        * each manifest entries have a file path
+        * each manifest node refered in mflinkrevs exist in the manifest log
+
+        If tree manifest is in use and a matchers is specified, only the
+        sub-directories matching it will be verified.
+
+        return a two level mapping:
+            {"path" -> { filenode -> changelog-revision}}
+
+        This mapping primarily contains entries for every files in the
+        repository. In addition, when tree-manifest is used, it also contains
+        sub-directory entries.
+
+        If a matcher is provided, only matching paths will be included.
+        """
         repo = self.repo
         ui = self.ui
         match = self.match