[PATCH 6 of 6] verify: detect manifest revs not in any changeset
Peter Arrenbrecht
peter.arrenbrecht at gmail.com
Thu May 14 09:27:38 CDT 2009
# HG changeset patch
# User Peter Arrenbrecht <peter.arrenbrecht at gmail.com>
# Date 1242310969 -7200
# Node ID 31269fccddbda44bdf3eeaea68ca01dfa6cd82b6
# Parent cd6d60858ce30796da62e491d6cce591cf759529
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 @@
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 @@
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 at 3: in manifest but not in changeset
checking files
@@ -71,7 +73,7 @@
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
More information about the Mercurial-devel
mailing list