[PATCH 4 of 6] verify: avoid exception on missing file revlog

Henrik Stuart hg at hstuart.dk
Tue Apr 21 17:33:23 UTC 2009


# HG changeset patch
# User Henrik Stuart <hg at hstuart.dk>
# Date 1240224937 -7200
# Node ID 67570c919a84ff2d067af019a47beb8a2ac97ded
# Parent  bdd6ec1c2f1c66ef7afc7ae7ce1bc503ede12c9f
verify: avoid exception on missing file revlog

Previously, accessing the filelinkrevs of a specific file that happens to
have already been unlinked from the filesystem, e.g. due to a partial rollback
having occurred, will trigger a KeyError being raised.

Co-contributor: Sune Foldager <cryo at cyanite.org>

diff -r bdd6ec1c2f1c -r 67570c919a84 mercurial/verify.py
--- a/mercurial/verify.py	Sun Apr 19 20:02:32 2009 +0200
+++ b/mercurial/verify.py	Mon Apr 20 12:55:37 2009 +0200
@@ -173,6 +173,10 @@
 
     files = util.sort(util.unique(filenodes.keys() + filelinkrevs.keys()))
     for f in files:
+        if not filelinkrevs.has_key(f):
+            err(None, _("missing revlog for file '%s'") % f)
+            continue
+
         lr = filelinkrevs[f][0]
         try:
             fl = repo.file(f)



More information about the Mercurial-devel mailing list