Show More
@@ -80,6 +80,23 b' class verifier(object):' | |||||
80 | inst = repr(inst) |
|
80 | inst = repr(inst) | |
81 | self.err(linkrev, "%s: %s" % (msg, inst), filename) |
|
81 | self.err(linkrev, "%s: %s" % (msg, inst), filename) | |
82 |
|
82 | |||
|
83 | def checklog(self, obj, name, linkrev): | |||
|
84 | if not len(obj) and (self.havecl or self.havemf): | |||
|
85 | self.err(linkrev, _("empty or missing %s") % name) | |||
|
86 | return | |||
|
87 | ||||
|
88 | d = obj.checksize() | |||
|
89 | if d[0]: | |||
|
90 | self.err(None, _("data length off by %d bytes") % d[0], name) | |||
|
91 | if d[1]: | |||
|
92 | self.err(None, _("index contains %d extra bytes") % d[1], name) | |||
|
93 | ||||
|
94 | if obj.version != revlog.REVLOGV0: | |||
|
95 | if not self.revlogv1: | |||
|
96 | self.warn(_("warning: `%s' uses revlog format 1") % name) | |||
|
97 | elif self.revlogv1: | |||
|
98 | self.warn(_("warning: `%s' uses revlog format 0") % name) | |||
|
99 | ||||
83 | def verify(self): |
|
100 | def verify(self): | |
84 | repo = self.repo |
|
101 | repo = self.repo | |
85 | mflinkrevs = {} |
|
102 | mflinkrevs = {} | |
@@ -95,23 +112,6 b' class verifier(object):' | |||||
95 | if not repo.url().startswith('file:'): |
|
112 | if not repo.url().startswith('file:'): | |
96 | raise error.Abort(_("cannot verify bundle or remote repos")) |
|
113 | raise error.Abort(_("cannot verify bundle or remote repos")) | |
97 |
|
114 | |||
98 | def checklog(obj, name, linkrev): |
|
|||
99 | if not len(obj) and (havecl or havemf): |
|
|||
100 | self.err(linkrev, _("empty or missing %s") % name) |
|
|||
101 | return |
|
|||
102 |
|
||||
103 | d = obj.checksize() |
|
|||
104 | if d[0]: |
|
|||
105 | self.err(None, _("data length off by %d bytes") % d[0], name) |
|
|||
106 | if d[1]: |
|
|||
107 | self.err(None, _("index contains %d extra bytes") % d[1], name) |
|
|||
108 |
|
||||
109 | if obj.version != revlog.REVLOGV0: |
|
|||
110 | if not revlogv1: |
|
|||
111 | self.warn(_("warning: `%s' uses revlog format 1") % name) |
|
|||
112 | elif revlogv1: |
|
|||
113 | self.warn(_("warning: `%s' uses revlog format 0") % name) |
|
|||
114 |
|
||||
115 | def checkentry(obj, i, node, seen, linkrevs, f): |
|
115 | def checkentry(obj, i, node, seen, linkrevs, f): | |
116 | lr = obj.linkrev(obj.rev(node)) |
|
116 | lr = obj.linkrev(obj.rev(node)) | |
117 | if lr < 0 or (havecl and lr not in linkrevs): |
|
117 | if lr < 0 or (havecl and lr not in linkrevs): | |
@@ -162,7 +162,7 b' class verifier(object):' | |||||
162 |
|
162 | |||
163 | ui.status(_("checking changesets\n")) |
|
163 | ui.status(_("checking changesets\n")) | |
164 | seen = {} |
|
164 | seen = {} | |
165 | checklog(cl, "changelog", 0) |
|
165 | self.checklog(cl, "changelog", 0) | |
166 | total = len(repo) |
|
166 | total = len(repo) | |
167 | for i in repo: |
|
167 | for i in repo: | |
168 | ui.progress(_('checking'), i, total=total, unit=_('changesets')) |
|
168 | ui.progress(_('checking'), i, total=total, unit=_('changesets')) | |
@@ -187,7 +187,7 b' class verifier(object):' | |||||
187 | if self.refersmf: |
|
187 | if self.refersmf: | |
188 | # Do not check manifest if there are only changelog entries with |
|
188 | # Do not check manifest if there are only changelog entries with | |
189 | # null manifests. |
|
189 | # null manifests. | |
190 | checklog(mf, "manifest", 0) |
|
190 | self.checklog(mf, "manifest", 0) | |
191 | total = len(mf) |
|
191 | total = len(mf) | |
192 | for i in mf: |
|
192 | for i in mf: | |
193 | ui.progress(_('checking'), i, total=total, unit=_('manifests')) |
|
193 | ui.progress(_('checking'), i, total=total, unit=_('manifests')) | |
@@ -283,7 +283,7 b' class verifier(object):' | |||||
283 | self.warn(_(" warning: revlog '%s' not in fncache!") % ff) |
|
283 | self.warn(_(" warning: revlog '%s' not in fncache!") % ff) | |
284 | self.fncachewarned = True |
|
284 | self.fncachewarned = True | |
285 |
|
285 | |||
286 | checklog(fl, f, lr) |
|
286 | self.checklog(fl, f, lr) | |
287 | seen = {} |
|
287 | seen = {} | |
288 | rp = None |
|
288 | rp = None | |
289 | for i in fl: |
|
289 | for i in fl: |
General Comments 0
You need to be logged in to leave comments.
Login now