Mercurial > hg-stable
changeset 4863:6dc0094c0827
archive: abort on empty repository. Fixes #624.
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Tue, 10 Jul 2007 10:06:24 -0700 |
parents | cba10652a901 |
children | fc389dcc33f5 |
files | mercurial/commands.py tests/test-archive tests/test-archive.out |
diffstat | 3 files changed, 12 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/commands.py Tue Jul 10 09:52:32 2007 -0700 +++ b/mercurial/commands.py Tue Jul 10 10:06:24 2007 -0700 @@ -142,7 +142,10 @@ The default is the basename of the archive, with suffixes removed. ''' - node = repo.changectx(opts['rev']).node() + ctx = repo.changectx(opts['rev']) + if not ctx: + raise util.Abort(_('repository has no revisions')) + node = ctx.node() dest = cmdutil.make_filename(repo, dest, node) if os.path.realpath(dest) == repo.root: raise util.Abort(_('repository root cannot be destination'))
--- a/tests/test-archive Tue Jul 10 09:52:32 2007 -0700 +++ b/tests/test-archive Tue Jul 10 10:06:24 2007 -0700 @@ -63,3 +63,9 @@ unzip -t test.zip hg archive -t tar - | tar tf - | sed "s/$QTIP/TIP/" + +echo '% empty repo' +hg init ../empty +cd ../empty +hg archive ../test-empty +exit 0 \ No newline at end of file