--- a/mercurial/archival.py Tue Feb 05 14:34:46 2008 +0100
+++ b/mercurial/archival.py Tue Feb 05 15:59:10 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()
--- a/tests/test-archive Tue Feb 05 14:34:46 2008 +0100
+++ b/tests/test-archive Tue Feb 05 15:59:10 2008 +0100
@@ -69,6 +69,8 @@
echo 'rev-0.tar created'
fi
+hg archive -t bogus test.bogus
+
echo % server errors
cat errors.log
--- a/tests/test-archive.out Tue Feb 05 14:34:46 2008 +0100
+++ b/tests/test-archive.out Tue Feb 05 15:59:10 2008 +0100
@@ -39,6 +39,7 @@
test-TIP/baz/bletch
test-TIP/foo
rev-0.tar created
+abort: unknown archive type 'bogus'
% server errors
% empty repo
abort: repository has no revisions