summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2017-02-27 13:57:12 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2017-02-27 13:57:12 -0800
commit74aabf41cee31f7937f9445a99597403da50585b (patch)
tree81e01ccab8c3c2624e14a28558e0b942c77afcf6 /t
parentMerge branch 'mh/ref-remove-empty-directory' (diff)
parentmerge-recursive: make "CONFLICT (rename/delete)" message show both paths (diff)
downloadtgif-74aabf41cee31f7937f9445a99597403da50585b.tar.xz
Merge branch 'mm/merge-rename-delete-message'
When "git merge" detects a path that is renamed in one history while the other history deleted (or modified) it, it now reports both paths to help the user understand what is going on in the two histories being merged. * mm/merge-rename-delete-message: merge-recursive: make "CONFLICT (rename/delete)" message show both paths
Diffstat (limited to 't')
-rwxr-xr-xt/t6045-merge-rename-delete.sh23
1 files changed, 23 insertions, 0 deletions
diff --git a/t/t6045-merge-rename-delete.sh b/t/t6045-merge-rename-delete.sh
new file mode 100755
index 0000000000..5d33577d2f
--- /dev/null
+++ b/t/t6045-merge-rename-delete.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+test_description='Merge-recursive rename/delete conflict message'
+. ./test-lib.sh
+
+test_expect_success 'rename/delete' '
+ echo foo >A &&
+ git add A &&
+ git commit -m "initial" &&
+
+ git checkout -b rename &&
+ git mv A B &&
+ git commit -m "rename" &&
+
+ git checkout master &&
+ git rm A &&
+ git commit -m "delete" &&
+
+ test_must_fail git merge --strategy=recursive rename >output &&
+ test_i18ngrep "CONFLICT (rename/delete): A deleted in HEAD and renamed to B in rename. Version rename of B left in tree." output
+'
+
+test_done