# HG changeset patch # User Martin von Zweigbergk # Date 2020-05-06 18:40:17 # Node ID 0505766084d23b2082980d72899cb39ee1602a12 # Parent 9255d14adae95eb83ecdd817f1f21c8c4aa687cf 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 diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -1552,6 +1552,8 @@ def copy(ui, repo, pats, opts, rename=Fa 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. diff --git a/tests/test-rename-rev.t b/tests/test-rename-rev.t --- a/tests/test-rename-rev.t +++ b/tests/test-rename-rev.t @@ -25,10 +25,9 @@ Test single file 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