diff options
author | Chris Torek <chris.torek@gmail.com> | 2020-07-20 06:17:52 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-07-20 14:35:43 -0700 |
commit | 9b906af657d4ec0bc8fc01c5cbbbddb582a8cac6 (patch) | |
tree | 7fed6466b79861f967bf3460a4070314012a294b /t | |
parent | Git 2.26.2 (diff) | |
download | tgif-9b906af657d4ec0bc8fc01c5cbbbddb582a8cac6.tar.xz |
git-mv: improve error message for conflicted file
'git mv' has always complained about renaming a conflicted
file, as it cannot handle multiple index entries for one file.
However, the error message it uses has been the same as the
one for an untracked file:
fatal: not under version control, src=...
which is patently wrong. Distinguish the two cases and
add a test to make sure we produce the correct message.
Signed-off-by: Chris Torek <chris.torek@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t7001-mv.sh | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/t/t7001-mv.sh b/t/t7001-mv.sh index 36b50d0b4c..c978b6dee4 100755 --- a/t/t7001-mv.sh +++ b/t/t7001-mv.sh @@ -248,6 +248,23 @@ test_expect_success 'git mv should not change sha1 of moved cache entry' ' rm -f dirty dirty2 +# NB: This test is about the error message +# as well as the failure. +test_expect_success 'git mv error on conflicted file' ' + rm -fr .git && + git init && + >conflict && + test_when_finished "rm -f conflict" && + cfhash=$(git hash-object -w conflict) && + q_to_tab <<-EOF | git update-index --index-info && + 0 $cfhash 0Qconflict + 100644 $cfhash 1Qconflict + EOF + + test_must_fail git mv conflict newname 2>actual && + test_i18ngrep "conflicted" actual +' + test_expect_success 'git mv should overwrite symlink to a file' ' rm -fr .git && |