equal
deleted
inserted
replaced
1769 except KeyboardInterrupt: |
1769 except KeyboardInterrupt: |
1770 self.ui.warn(_("interrupted")) |
1770 self.ui.warn(_("interrupted")) |
1771 raise |
1771 raise |
1772 except Exception, inst: |
1772 except Exception, inst: |
1773 err(_("unpacking changeset %s: %s") % (short(n), inst)) |
1773 err(_("unpacking changeset %s: %s") % (short(n), inst)) |
|
1774 continue |
1774 |
1775 |
1775 neededmanifests[changes[0]] = n |
1776 neededmanifests[changes[0]] = n |
1776 |
1777 |
1777 for f in changes[3]: |
1778 for f in changes[3]: |
1778 filelinkrevs.setdefault(f, []).append(i) |
1779 filelinkrevs.setdefault(f, []).append(i) |
1806 except KeyboardInterrupt: |
1807 except KeyboardInterrupt: |
1807 self.ui.warn(_("interrupted")) |
1808 self.ui.warn(_("interrupted")) |
1808 raise |
1809 raise |
1809 except Exception, inst: |
1810 except Exception, inst: |
1810 err(_("unpacking manifest %s: %s") % (short(n), inst)) |
1811 err(_("unpacking manifest %s: %s") % (short(n), inst)) |
1811 |
1812 continue |
1812 ff = [ l.split('\0') for l in delta.splitlines() ] |
1813 |
1813 for f, fn in ff: |
1814 try: |
1814 filenodes.setdefault(f, {})[bin(fn[:40])] = 1 |
1815 ff = [ l.split('\0') for l in delta.splitlines() ] |
|
1816 for f, fn in ff: |
|
1817 filenodes.setdefault(f, {})[bin(fn[:40])] = 1 |
|
1818 except (ValueError, TypeError), inst: |
|
1819 err(_("broken delta in manifest %s: %s") % (short(n), inst)) |
1815 |
1820 |
1816 self.ui.status(_("crosschecking files in changesets and manifests\n")) |
1821 self.ui.status(_("crosschecking files in changesets and manifests\n")) |
1817 |
1822 |
1818 for m, c in neededmanifests.items(): |
1823 for m, c in neededmanifests.items(): |
1819 err(_("Changeset %s refers to unknown manifest %s") % |
1824 err(_("Changeset %s refers to unknown manifest %s") % |
1833 ff.sort() |
1838 ff.sort() |
1834 for f in ff: |
1839 for f in ff: |
1835 if f == "/dev/null": |
1840 if f == "/dev/null": |
1836 continue |
1841 continue |
1837 files += 1 |
1842 files += 1 |
|
1843 if not f: |
|
1844 err(_("file without name in manifest %s") % short(n)) |
|
1845 continue |
1838 fl = self.file(f) |
1846 fl = self.file(f) |
1839 checksize(fl, f) |
1847 checksize(fl, f) |
1840 |
1848 |
1841 nodes = {nullid: 1} |
1849 nodes = {nullid: 1} |
1842 seen = {} |
1850 seen = {} |
1850 err(_("%s: %d:%s not in manifests") % (f, i, short(n))) |
1858 err(_("%s: %d:%s not in manifests") % (f, i, short(n))) |
1851 else: |
1859 else: |
1852 del filenodes[f][n] |
1860 del filenodes[f][n] |
1853 |
1861 |
1854 flr = fl.linkrev(n) |
1862 flr = fl.linkrev(n) |
1855 if flr not in filelinkrevs[f]: |
1863 if flr not in filelinkrevs.get(f, []): |
1856 err(_("%s:%s points to unexpected changeset %d") |
1864 err(_("%s:%s points to unexpected changeset %d") |
1857 % (f, short(n), flr)) |
1865 % (f, short(n), flr)) |
1858 else: |
1866 else: |
1859 filelinkrevs[f].remove(flr) |
1867 filelinkrevs[f].remove(flr) |
1860 |
1868 |