# HG changeset patch # User Peter Arrenbrecht <peter.arrenbrecht@gmail.com> # Date 2009-05-14 14:22:49 # Node ID 850b5a7c210d5e347f59e12ae4d17e35a3a15ce8 # Parent 59160ca338f7db4ae67c82d3fb4554b860411685 verify: detect manifest revs not in any changeset diff --git a/mercurial/verify.py b/mercurial/verify.py --- a/mercurial/verify.py +++ b/mercurial/verify.py @@ -128,6 +128,8 @@ def _verify(repo): lr = checkentry(mf, i, n, seen, mflinkrevs.get(n, []), "manifest") if n in mflinkrevs: del mflinkrevs[n] + else: + err(lr, _("%s not in changesets") % short(n), "manifest") try: for f, fn in mf.readdelta(n).iteritems(): diff --git a/tests/test-repair-strip.out b/tests/test-repair-strip.out --- a/tests/test-repair-strip.out +++ b/tests/test-repair-strip.out @@ -62,7 +62,9 @@ abort: Permission denied .hg/store/00man checking changesets checking manifests manifest@?: rev 2 points to nonexistent changeset 2 + manifest@?: 3362547cdf64 not in changesets manifest@?: rev 3 points to nonexistent changeset 3 + manifest@?: 265a85892ecb not in changesets crosschecking files in changesets and manifests c@3: in manifest but not in changeset checking files @@ -71,7 +73,7 @@ checking files c@?: rev 0 points to nonexistent changeset 3 3 files, 2 changesets, 4 total revisions 1 warnings encountered! -5 integrity errors encountered! +7 integrity errors encountered! (first damaged changeset appears to be 3) % journal contents 00changelog.i