mercurial/verify.py
changeset 3189 f3b939444c72
parent 2802 fdc232d8a193
child 3468 0e68608bd11d
equal deleted inserted replaced
3188:705e30c0a230 3189:f3b939444c72
   100             if p not in repo.manifest.nodemap:
   100             if p not in repo.manifest.nodemap:
   101                 err(_("manifest %s has unknown parent %s") %
   101                 err(_("manifest %s has unknown parent %s") %
   102                     (short(n), short(p)))
   102                     (short(n), short(p)))
   103 
   103 
   104         try:
   104         try:
   105             delta = mdiff.patchtext(repo.manifest.delta(n))
   105             for f, fn in repo.manifest.readdelta(n).iteritems():
       
   106                 filenodes.setdefault(f, {})[fn] = 1
   106         except KeyboardInterrupt:
   107         except KeyboardInterrupt:
   107             repo.ui.warn(_("interrupted"))
   108             repo.ui.warn(_("interrupted"))
   108             raise
   109             raise
   109         except Exception, inst:
   110         except Exception, inst:
   110             err(_("unpacking manifest %s: %s") % (short(n), inst))
   111             err(_("reading delta for manifest %s: %s") % (short(n), inst))
   111             continue
   112             continue
   112 
       
   113         try:
       
   114             ff = [ l.split('\0') for l in delta.splitlines() ]
       
   115             for f, fn in ff:
       
   116                 filenodes.setdefault(f, {})[bin(fn[:40])] = 1
       
   117         except (ValueError, TypeError), inst:
       
   118             err(_("broken delta in manifest %s: %s") % (short(n), inst))
       
   119 
   113 
   120     repo.ui.status(_("crosschecking files in changesets and manifests\n"))
   114     repo.ui.status(_("crosschecking files in changesets and manifests\n"))
   121 
   115 
   122     for m, c in neededmanifests.items():
   116     for m, c in neededmanifests.items():
   123         err(_("Changeset %s refers to unknown manifest %s") %
   117         err(_("Changeset %s refers to unknown manifest %s") %