Mercurial > public > mercurial-scm > hg-stable
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 |