Mercurial > public > mercurial-scm > hg
comparison mercurial/verify.py @ 7361:9fe97eea5510
linkrev: take a revision number rather than a hash
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Wed, 12 Nov 2008 15:19:14 -0600 |
parents | 8d1bdaf842de |
children | 4dd7b28003d2 011e69b96c69 |
comparison
equal
deleted
inserted
replaced
7360:42f1b8cb9a60 | 7361:9fe97eea5510 |
---|---|
68 warn(_("warning: `%s' uses revlog format 1") % name) | 68 warn(_("warning: `%s' uses revlog format 1") % name) |
69 elif revlogv1: | 69 elif revlogv1: |
70 warn(_("warning: `%s' uses revlog format 0") % name) | 70 warn(_("warning: `%s' uses revlog format 0") % name) |
71 | 71 |
72 def checkentry(obj, i, node, seen, linkrevs, f): | 72 def checkentry(obj, i, node, seen, linkrevs, f): |
73 lr = obj.linkrev(node) | 73 lr = obj.linkrev(obj.rev(node)) |
74 if lr < 0 or (havecl and lr not in linkrevs): | 74 if lr < 0 or (havecl and lr not in linkrevs): |
75 t = "unexpected" | 75 t = "unexpected" |
76 if lr < 0 or lr >= len(cl): | 76 if lr < 0 or lr >= len(cl): |
77 t = "nonexistent" | 77 t = "nonexistent" |
78 err(None, _("rev %d point to %s changeset %d") % (i, t, lr), f) | 78 err(None, _("rev %d point to %s changeset %d") % (i, t, lr), f) |
133 if not f: | 133 if not f: |
134 err(lr, _("file without name in manifest")) | 134 err(lr, _("file without name in manifest")) |
135 elif f != "/dev/null": | 135 elif f != "/dev/null": |
136 fns = filenodes.setdefault(f, {}) | 136 fns = filenodes.setdefault(f, {}) |
137 if fn not in fns: | 137 if fn not in fns: |
138 fns[fn] = n | 138 fns[fn] = i |
139 except Exception, inst: | 139 except Exception, inst: |
140 exc(lr, _("reading manifest delta %s") % short(n), inst) | 140 exc(lr, _("reading manifest delta %s") % short(n), inst) |
141 | 141 |
142 ui.status(_("crosschecking files in changesets and manifests\n")) | 142 ui.status(_("crosschecking files in changesets and manifests\n")) |
143 | 143 |
153 | 153 |
154 if havecl: | 154 if havecl: |
155 for f in util.sort(filenodes): | 155 for f in util.sort(filenodes): |
156 if f not in filelinkrevs: | 156 if f not in filelinkrevs: |
157 try: | 157 try: |
158 lr = min([repo.file(f).linkrev(n) for n in filenodes[f]]) | 158 fl = repo.file(f) |
159 lr = min([fl.linkrev(fl.rev(n)) for n in filenodes[f]]) | |
159 except: | 160 except: |
160 lr = None | 161 lr = None |
161 err(lr, _("in manifest but not in changeset"), f) | 162 err(lr, _("in manifest but not in changeset"), f) |
162 | 163 |
163 ui.status(_("checking files\n")) | 164 ui.status(_("checking files\n")) |