comparison mercurial/localrepo.py @ 1667:daff3ef0de8d

verify: notice extra data in indices
author Matt Mackall <mpm@selenic.com>
date Mon, 30 Jan 2006 19:34:35 +1300
parents d529cdc0a3ee
children dee55c4a4963
comparison
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