Mercurial > hg
comparison mercurial/verify.py @ 25653:9d1e04f5dca7
verify: print hint to run debugrebuildfncache
Corrupt fncache is now a recoverable operation. Inform the user how to
recover from this warning.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 20 Jun 2015 20:11:53 -0700 |
parents | 9573d8f346f1 |
children | 328739ea70c3 |
comparison
equal
deleted
inserted
replaced
25652:2882d6886919 | 25653:9d1e04f5dca7 |
---|---|
217 if not f: | 217 if not f: |
218 err(None, _("cannot decode filename '%s'") % f2) | 218 err(None, _("cannot decode filename '%s'") % f2) |
219 elif size > 0 or not revlogv1: | 219 elif size > 0 or not revlogv1: |
220 storefiles.add(_normpath(f)) | 220 storefiles.add(_normpath(f)) |
221 | 221 |
222 fncachewarned = False | |
222 files = sorted(set(filenodes) | set(filelinkrevs)) | 223 files = sorted(set(filenodes) | set(filelinkrevs)) |
223 total = len(files) | 224 total = len(files) |
224 for i, f in enumerate(files): | 225 for i, f in enumerate(files): |
225 ui.progress(_('checking'), i, item=f, total=total) | 226 ui.progress(_('checking'), i, item=f, total=total) |
226 try: | 227 try: |
243 for ff in fl.files(): | 244 for ff in fl.files(): |
244 try: | 245 try: |
245 storefiles.remove(ff) | 246 storefiles.remove(ff) |
246 except KeyError: | 247 except KeyError: |
247 warn(_(" warning: revlog '%s' not in fncache!") % ff) | 248 warn(_(" warning: revlog '%s' not in fncache!") % ff) |
249 fncachewarned = True | |
248 | 250 |
249 checklog(fl, f, lr) | 251 checklog(fl, f, lr) |
250 seen = {} | 252 seen = {} |
251 rp = None | 253 rp = None |
252 for i in fl: | 254 for i in fl: |
311 | 313 |
312 ui.status(_("%d files, %d changesets, %d total revisions\n") % | 314 ui.status(_("%d files, %d changesets, %d total revisions\n") % |
313 (len(files), len(cl), revisions)) | 315 (len(files), len(cl), revisions)) |
314 if warnings[0]: | 316 if warnings[0]: |
315 ui.warn(_("%d warnings encountered!\n") % warnings[0]) | 317 ui.warn(_("%d warnings encountered!\n") % warnings[0]) |
318 if fncachewarned: | |
319 ui.warn(_('hint: run "hg debugrebuildfncache" to recover from ' | |
320 'corrupt fncache\n')) | |
316 if errors[0]: | 321 if errors[0]: |
317 ui.warn(_("%d integrity errors encountered!\n") % errors[0]) | 322 ui.warn(_("%d integrity errors encountered!\n") % errors[0]) |
318 if badrevs: | 323 if badrevs: |
319 ui.warn(_("(first damaged changeset appears to be %d)\n") | 324 ui.warn(_("(first damaged changeset appears to be %d)\n") |
320 % min(badrevs)) | 325 % min(badrevs)) |