Mercurial > public > mercurial-scm > hg
diff mercurial/verify.py @ 6892:dab95717058d
verify: check repo.store
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Wed, 13 Aug 2008 20:18:41 -0500 |
parents | c0bd7d8b69ef |
children | def492d1b592 |
line wrap: on
line diff
--- a/mercurial/verify.py Wed Aug 13 20:18:41 2008 -0500 +++ b/mercurial/verify.py Wed Aug 13 20:18:41 2008 -0500 @@ -158,9 +158,22 @@ err(lr, _("in manifest but not in changeset"), f) ui.status(_("checking files\n")) + + storefiles = {} + for f, size in repo.store.datafiles(lambda m: err(None, m)): + if size > 0: + storefiles[f] = True + files = util.sort(util.unique(filenodes.keys() + filelinkrevs.keys())) for f in files: fl = repo.file(f) + + for ff in fl.files(): + try: + del storefiles[ff] + except KeyError: + err(0, _("missing revlog!"), ff) + checklog(fl, f) seen = {} for i in fl: @@ -205,6 +218,9 @@ for lr, node in util.sort(fns): err(lr, _("%s in manifests not found") % short(node), f) + for f in storefiles: + warn(_("warning: orphan revlog '%s'") % f) + ui.status(_("%d files, %d changesets, %d total revisions\n") % (len(files), len(cl), revisions)) if warnings[0]: