copy: give better error message when no source paths found with --at-rev
authorMartin von Zweigbergk <martinvonz@google.com>
Wed, 06 May 2020 11:40:17 -0700
changeset 44807 16596f5e1afa
parent 44806 8e47b43d665f
child 44808 aac816f584ad
copy: give better error message when no source paths found with --at-rev The new error message matches what we show when marking copies in the working copy. Differential Revision: https://phab.mercurial-scm.org/D8496
mercurial/cmdutil.py
tests/test-rename-rev.t
--- a/mercurial/cmdutil.py	Wed May 06 11:41:37 2020 -0700
+++ b/mercurial/cmdutil.py	Wed May 06 11:40:17 2020 -0700
@@ -1552,6 +1552,8 @@
             for abs, rel, exact in srcs:
                 copylist.append(abs)
 
+        if not copylist:
+            raise error.Abort(_(b'no files to copy'))
         # TODO: Add support for `hg cp --at-rev . foo bar dir` and
         # `hg cp --at-rev . dir1 dir2`, preferably unifying the code with the
         # existing functions below.
--- a/tests/test-rename-rev.t	Wed May 06 11:41:37 2020 -0700
+++ b/tests/test-rename-rev.t	Wed May 06 11:40:17 2020 -0700
@@ -25,10 +25,9 @@
   abort: --at-rev requires --after
   [255]
 # Errors out with non-existent source
-BROKEN: this should have a better error message
   $ hg cp -A --at-rev . d1/non-existent d1/d
   d1/non-existent: no such file in rev 55d1fd85ef0a
-  abort: --at-rev requires a single source
+  abort: no files to copy
   [255]
 # Errors out with non-existent destination
   $ hg cp -A --at-rev . d1/b d1/non-existent