Mercurial > hg
changeset 11152:e8d10d085f47
cmdutil: Warn when trying to copy/rename --after to a nonexistant file.
Currently running 'hg rename --after foo.txt bar.typo' is a silent no-op. This patch adds a warning. It also updates the copy and rename tests.
No actual functionality is changed.
fixes issue 1822
author | Steve Losh <steve@stevelosh.com> |
---|---|
date | Sat, 01 May 2010 18:39:40 -0400 |
parents | c5c190822501 |
children | 9936ed1d04f4 |
files | mercurial/cmdutil.py tests/test-copy2 tests/test-copy2.out tests/test-rename tests/test-rename.out |
diffstat | 5 files changed, 18 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/cmdutil.py Sat May 01 15:00:21 2010 +0300 +++ b/mercurial/cmdutil.py Sat May 01 18:39:40 2010 -0400 @@ -396,6 +396,12 @@ if after: if not exists: + if rename: + ui.warn(_('%s: not recording move - %s does not exist\n') % + (relsrc, reltarget)) + else: + ui.warn(_('%s: not recording copy - %s does not exist\n') % + (relsrc, reltarget)) return elif not dryrun: try:
--- a/tests/test-copy2 Sat May 01 15:00:21 2010 +0300 +++ b/tests/test-copy2 Sat May 01 18:39:40 2010 -0400 @@ -19,6 +19,9 @@ hg st -A hg commit -m1 +echo "# copy --after to a nonexistant target filename" +hg cp -A foo dummy + echo "# dry-run; should show that foo is clean" hg copy --dry-run foo bar hg st -A
--- a/tests/test-copy2.out Sat May 01 15:00:21 2010 +0300 +++ b/tests/test-copy2.out Sat May 01 18:39:40 2010 -0400 @@ -11,6 +11,8 @@ # should print a warning that this is not a real copy; foo is added bar has not been committed yet, so no copy data will be stored for foo. A foo +# copy --after to a nonexistant target filename +foo: not recording copy - dummy does not exist # dry-run; should show that foo is clean C foo # should show copy
--- a/tests/test-rename Sat May 01 15:00:21 2010 +0300 +++ b/tests/test-rename Sat May 01 18:39:40 2010 -0400 @@ -23,6 +23,9 @@ hg update -C rm d2/c +echo "# rename --after a single file to a nonexistant target filename" +hg rename --after d1/a dummy + echo "# move a single file to an existing directory" hg rename d1/d11/a1 d2 hg status -C
--- a/tests/test-rename.out Sat May 01 15:00:21 2010 +0300 +++ b/tests/test-rename.out Sat May 01 18:39:40 2010 -0400 @@ -8,6 +8,8 @@ d1/d11/a1 R d1/d11/a1 1 files updated, 0 files merged, 0 files removed, 0 files unresolved +# rename --after a single file to a nonexistant target filename +d1/a: not recording move - dummy does not exist # move a single file to an existing directory A d2/a1 d1/d11/a1 @@ -170,6 +172,8 @@ 4 files updated, 0 files merged, 0 files removed, 0 files unresolved # move --after some files under d1 to d2/d21 (glob) moving d1/a to d2/d21/a +d1/b: not recording move - d2/d21/b does not exist +d1/ba: not recording move - d2/d21/ba does not exist moving d1/d11/a1 to d2/d21/a1 A d2/d21/a d1/a