mercurial/localrepo.py
changeset 1667 daff3ef0de8d
parent 1663 d529cdc0a3ee
child 1674 dee55c4a4963
equal deleted inserted replaced
1666:0fc1b588976f 1667:daff3ef0de8d
  1677 
  1677 
  1678         def err(msg):
  1678         def err(msg):
  1679             self.ui.warn(msg + "\n")
  1679             self.ui.warn(msg + "\n")
  1680             errors[0] += 1
  1680             errors[0] += 1
  1681 
  1681 
       
  1682         def checksize(obj, name):
       
  1683             d = obj.checksize()
       
  1684             if d[0]:
       
  1685                 err(_("%s data length off by %d bytes") % (name, d[0]))
       
  1686             if d[1]:
       
  1687                 err(_("%s index contains %d extra bytes") % (name, d[1]))
       
  1688 
  1682         seen = {}
  1689         seen = {}
  1683         self.ui.status(_("checking changesets\n"))
  1690         self.ui.status(_("checking changesets\n"))
  1684         d = self.changelog.checksize()
  1691         checksize(self.changelog, "changelog")
  1685         if d:
  1692 
  1686             err(_("changeset data short %d bytes") % d)
       
  1687         for i in range(self.changelog.count()):
  1693         for i in range(self.changelog.count()):
  1688             changesets += 1
  1694             changesets += 1
  1689             n = self.changelog.node(i)
  1695             n = self.changelog.node(i)
  1690             l = self.changelog.linkrev(n)
  1696             l = self.changelog.linkrev(n)
  1691             if l != i:
  1697             if l != i:
  1711             for f in changes[3]:
  1717             for f in changes[3]:
  1712                 filelinkrevs.setdefault(f, []).append(i)
  1718                 filelinkrevs.setdefault(f, []).append(i)
  1713 
  1719 
  1714         seen = {}
  1720         seen = {}
  1715         self.ui.status(_("checking manifests\n"))
  1721         self.ui.status(_("checking manifests\n"))
  1716         d = self.manifest.checksize()
  1722         checksize(self.manifest, "manifest")
  1717         if d:
  1723 
  1718             err(_("manifest data short %d bytes") % d)
       
  1719         for i in range(self.manifest.count()):
  1724         for i in range(self.manifest.count()):
  1720             n = self.manifest.node(i)
  1725             n = self.manifest.node(i)
  1721             l = self.manifest.linkrev(n)
  1726             l = self.manifest.linkrev(n)
  1722 
  1727 
  1723             if l < 0 or l >= self.changelog.count():
  1728             if l < 0 or l >= self.changelog.count():
  1769         for f in ff:
  1774         for f in ff:
  1770             if f == "/dev/null":
  1775             if f == "/dev/null":
  1771                 continue
  1776                 continue
  1772             files += 1
  1777             files += 1
  1773             fl = self.file(f)
  1778             fl = self.file(f)
  1774             d = fl.checksize()
  1779             checksize(fl, f)
  1775             if d:
       
  1776                 err(_("%s file data short %d bytes") % (f, d))
       
  1777 
  1780 
  1778             nodes = {nullid: 1}
  1781             nodes = {nullid: 1}
  1779             seen = {}
  1782             seen = {}
  1780             for i in range(fl.count()):
  1783             for i in range(fl.count()):
  1781                 revisions += 1
  1784                 revisions += 1