mercurial/verify.py
changeset 6892 dab95717058d
parent 6889 c0bd7d8b69ef
child 6900 def492d1b592
equal deleted inserted replaced
6891:22cb82433842 6892:dab95717058d
   156                 except:
   156                 except:
   157                     lr = None
   157                     lr = None
   158                 err(lr, _("in manifest but not in changeset"), f)
   158                 err(lr, _("in manifest but not in changeset"), f)
   159 
   159 
   160     ui.status(_("checking files\n"))
   160     ui.status(_("checking files\n"))
       
   161 
       
   162     storefiles = {} 
       
   163     for f, size in repo.store.datafiles(lambda m: err(None, m)):
       
   164         if size > 0:
       
   165             storefiles[f] = True
       
   166 
   161     files = util.sort(util.unique(filenodes.keys() + filelinkrevs.keys()))
   167     files = util.sort(util.unique(filenodes.keys() + filelinkrevs.keys()))
   162     for f in files:
   168     for f in files:
   163         fl = repo.file(f)
   169         fl = repo.file(f)
       
   170 
       
   171         for ff in fl.files():    
       
   172             try:
       
   173                 del storefiles[ff]
       
   174             except KeyError:
       
   175                 err(0, _("missing revlog!"), ff)
       
   176 
   164         checklog(fl, f)
   177         checklog(fl, f)
   165         seen = {}
   178         seen = {}
   166         for i in fl:
   179         for i in fl:
   167             revisions += 1
   180             revisions += 1
   168             n = fl.node(i)
   181             n = fl.node(i)
   203         if f in filenodes:
   216         if f in filenodes:
   204             fns = [(mf.linkrev(l), n) for n,l in filenodes[f].items()]
   217             fns = [(mf.linkrev(l), n) for n,l in filenodes[f].items()]
   205             for lr, node in util.sort(fns):
   218             for lr, node in util.sort(fns):
   206                 err(lr, _("%s in manifests not found") % short(node), f)
   219                 err(lr, _("%s in manifests not found") % short(node), f)
   207 
   220 
       
   221     for f in storefiles:
       
   222         warn(_("warning: orphan revlog '%s'") % f)
       
   223 
   208     ui.status(_("%d files, %d changesets, %d total revisions\n") %
   224     ui.status(_("%d files, %d changesets, %d total revisions\n") %
   209                    (len(files), len(cl), revisions))
   225                    (len(files), len(cl), revisions))
   210     if warnings[0]:
   226     if warnings[0]:
   211         ui.warn(_("%d warnings encountered!\n") % warnings[0])
   227         ui.warn(_("%d warnings encountered!\n") % warnings[0])
   212     if errors[0]:
   228     if errors[0]: