# HG changeset patch # User John Mulligan # Date 1224355394 14400 # Node ID 8d1bdaf842de8d3b977770d6bb09852b2f33f501 # Parent beeeb0cd73e753941cc559c82f11c3d3f352fc5f issue 1144: prevent traceback on verify of bundles diff -r beeeb0cd73e7 -r 8d1bdaf842de mercurial/verify.py --- a/mercurial/verify.py Sat Oct 18 21:11:44 2008 +0200 +++ b/mercurial/verify.py Sat Oct 18 14:43:14 2008 -0400 @@ -28,6 +28,9 @@ cl = repo.changelog mf = repo.manifest + if not repo.cancopy(): + raise util.Abort(_("cannot verify bundle or remote repos")) + def err(linkrev, msg, filename=None): if linkrev != None: badrevs[linkrev] = True diff -r beeeb0cd73e7 -r 8d1bdaf842de tests/test-bundle --- a/tests/test-bundle Sat Oct 18 21:11:44 2008 +0200 +++ b/tests/test-bundle Sat Oct 18 14:43:14 2008 -0400 @@ -129,3 +129,14 @@ cd ../orig hg incoming ../bundle.hg cd .. + +# test for http://www.selenic.com/mercurial/bts/issue1144 +echo "===== test that verify bundle does not traceback" +# partial history bundle, fails w/ unkown parent +hg -R bundle.hg verify +# full history bundle, refuses to verify non-local repo +hg -R all.hg verify +# but, regular verify must continue to work +hg -R orig verify + + diff -r beeeb0cd73e7 -r 8d1bdaf842de tests/test-bundle.out --- a/tests/test-bundle.out Sat Oct 18 21:11:44 2008 +0200 +++ b/tests/test-bundle.out Sat Oct 18 14:43:14 2008 -0400 @@ -309,3 +309,11 @@ date: Thu Jan 01 00:00:00 1970 +0000 summary: change foo +===== test that verify bundle does not traceback +abort: 00changelog.i@bbd179dfa0a7: unknown parent! +abort: cannot verify bundle or remote repos +checking changesets +checking manifests +crosschecking files in changesets and manifests +checking files +2 files, 2 changesets, 2 total revisions