# HG changeset patch # User Dirkjan Ochtman # Date 1202223282 -3600 # Node ID b70a530bdb93440296be06372e585242b035cb54 # Parent b29b75ce9645cd2aa122267140c9471dba834cf3 cleanly abort on unknown archive type (issue966) diff -r b29b75ce9645 -r b70a530bdb93 mercurial/archival.py --- a/mercurial/archival.py Tue Feb 05 14:02:03 2008 +0100 +++ b/mercurial/archival.py Tue Feb 05 15:54:42 2008 +0100 @@ -208,6 +208,8 @@ archiver.addfile(name, mode, islink, data) ctx = repo.changectx(node) + if kind not in archivers: + raise util.Abort(_("unknown archive type '%s'" % kind)) archiver = archivers[kind](dest, prefix, mtime or ctx.date()[0]) m = ctx.manifest() items = m.items() diff -r b29b75ce9645 -r b70a530bdb93 tests/test-archive --- a/tests/test-archive Tue Feb 05 14:02:03 2008 +0100 +++ b/tests/test-archive Tue Feb 05 15:54:42 2008 +0100 @@ -69,6 +69,8 @@ echo 'rev-0.tar created' fi +hg archive -t bogus test.bogus + echo '% empty repo' hg init ../empty cd ../empty diff -r b29b75ce9645 -r b70a530bdb93 tests/test-archive.out --- a/tests/test-archive.out Tue Feb 05 14:02:03 2008 +0100 +++ b/tests/test-archive.out Tue Feb 05 15:54:42 2008 +0100 @@ -39,5 +39,6 @@ test-TIP/baz/bletch test-TIP/foo rev-0.tar created +abort: unknown archive type 'bogus' % empty repo abort: repository has no revisions