# HG changeset patch # User Thomas Arendsen Hein # Date 1333535491 -7200 # Node ID 8ca7187d479f87ac876f7371429bdd28c878f597 # Parent cb1475e7e5a2cbf97f9a6b4a1580a7ee5a4fa0ee export: catch exporting empty revsets (issue3353) Additionally add tests for empty revsets and unknown revisions. diff -r cb1475e7e5a2 -r 8ca7187d479f mercurial/commands.py --- a/mercurial/commands.py Wed Apr 04 11:18:42 2012 +0200 +++ b/mercurial/commands.py Wed Apr 04 12:31:31 2012 +0200 @@ -2413,9 +2413,9 @@ Returns 0 on success. """ changesets += tuple(opts.get('rev', [])) - if not changesets: + revs = scmutil.revrange(repo, changesets) + if not revs: raise util.Abort(_("export requires at least one changeset")) - revs = scmutil.revrange(repo, changesets) if len(revs) > 1: ui.note(_('exporting patches:\n')) else: diff -r cb1475e7e5a2 -r 8ca7187d479f tests/test-export.t --- a/tests/test-export.t Wed Apr 04 11:18:42 2012 +0200 +++ b/tests/test-export.t Wed Apr 04 12:31:31 2012 +0200 @@ -129,3 +129,17 @@ exporting patch: ____________0123456789_______ABCDEFGHIJKLMNOPQRSTUVWXYZ______abcdefghijklmnopqrstuvwxyz____.patch +Catch exporting unknown revisions (especially empty revsets, see issue3353) + + $ hg export + abort: export requires at least one changeset + [255] + $ hg export "" + hg: parse error: empty query + [255] + $ hg export 999 + abort: unknown revision '999'! + [255] + $ hg export "not all()" + abort: export requires at least one changeset + [255]