mercurial/verify.py
changeset 39842 97986c9c69d3
parent 39777 b63dee7bd0d9
child 39845 e6d3d39cc1c7
equal deleted inserted replaced
39841:39f51064e9f5 39842:97986c9c69d3
   339             if not f:
   339             if not f:
   340                 self.err(None, _("cannot decode filename '%s'") % f2)
   340                 self.err(None, _("cannot decode filename '%s'") % f2)
   341             elif (size > 0 or not revlogv1) and f.startswith('data/'):
   341             elif (size > 0 or not revlogv1) and f.startswith('data/'):
   342                 storefiles.add(_normpath(f))
   342                 storefiles.add(_normpath(f))
   343 
   343 
       
   344         state = {
       
   345             'revlogv1': self.revlogv1,
       
   346         }
       
   347 
   344         files = sorted(set(filenodes) | set(filelinkrevs))
   348         files = sorted(set(filenodes) | set(filelinkrevs))
   345         revisions = 0
   349         revisions = 0
   346         progress = ui.makeprogress(_('checking'), unit=_('files'),
   350         progress = ui.makeprogress(_('checking'), unit=_('files'),
   347                                    total=len(files))
   351                                    total=len(files))
   348         for i, f in enumerate(files):
   352         for i, f in enumerate(files):
   371                     if self.warnorphanstorefiles:
   375                     if self.warnorphanstorefiles:
   372                         self.warn(_(" warning: revlog '%s' not in fncache!") %
   376                         self.warn(_(" warning: revlog '%s' not in fncache!") %
   373                                   ff)
   377                                   ff)
   374                         self.fncachewarned = True
   378                         self.fncachewarned = True
   375 
   379 
   376             self.checklog(fl, f, lr)
   380             if not len(fl) and (self.havecl or self.havemf):
       
   381                 self.err(lr, _("empty or missing %s") % f)
       
   382             else:
       
   383                 for problem in fl.verifyintegrity(state):
       
   384                     if problem.warning:
       
   385                         self.warn(problem.warning)
       
   386                     elif problem.error:
       
   387                         self.err(lr, problem.error, f)
       
   388                     else:
       
   389                         raise error.ProgrammingError(
       
   390                             'problem instance does not set warning or error '
       
   391                             'attribute: %s' % problem.msg)
       
   392 
   377             seen = {}
   393             seen = {}
   378             rp = None
   394             rp = None
   379             for i in fl:
   395             for i in fl:
   380                 revisions += 1
   396                 revisions += 1
   381                 n = fl.node(i)
   397                 n = fl.node(i)