Mercurial > public > mercurial-scm > hg
comparison mercurial/verify.py @ 41870:00c9fde75c1a
verify: document the `checkentry` method
This method checks various core propertes of a revision. We document inputs, outputs
and the checks performed.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 06 Mar 2019 12:18:04 +0100 |
parents | 4da2261e949b |
children | 9e737ca539f6 |
comparison
equal
deleted
inserted
replaced
41869:4da2261e949b | 41870:00c9fde75c1a |
---|---|
92 self._warn(_("warning: `%s' uses revlog format 1") % name) | 92 self._warn(_("warning: `%s' uses revlog format 1") % name) |
93 elif self.revlogv1: | 93 elif self.revlogv1: |
94 self._warn(_("warning: `%s' uses revlog format 0") % name) | 94 self._warn(_("warning: `%s' uses revlog format 0") % name) |
95 | 95 |
96 def checkentry(self, obj, i, node, seen, linkrevs, f): | 96 def checkentry(self, obj, i, node, seen, linkrevs, f): |
97 """verify a single revlog entry | |
98 | |
99 arguments are: | |
100 - obj: the source revlog | |
101 - i: the revision number | |
102 - node: the revision node id | |
103 - seen: nodes previously seen for this revlog | |
104 - linkrevs: [changelog-revisions] introducing "node" | |
105 - f: string label ("changelog", "manifest", or filename) | |
106 | |
107 Performs the following checks: | |
108 - linkrev points to an existing changelog revision, | |
109 - linkrev points to a changelog revision that introduces this revision, | |
110 - linkrev points to the lowest of these changesets, | |
111 - both parents exist in the revlog, | |
112 - the revision is not duplicated. | |
113 | |
114 Return the linkrev of the revision (or None for changelog's revisions). | |
115 """ | |
97 lr = obj.linkrev(obj.rev(node)) | 116 lr = obj.linkrev(obj.rev(node)) |
98 if lr < 0 or (self.havecl and lr not in linkrevs): | 117 if lr < 0 or (self.havecl and lr not in linkrevs): |
99 if lr < 0 or lr >= len(self.repo.changelog): | 118 if lr < 0 or lr >= len(self.repo.changelog): |
100 msg = _("rev %d points to nonexistent changeset %d") | 119 msg = _("rev %d points to nonexistent changeset %d") |
101 else: | 120 else: |