Browse Source

t7610: add test case for rerere+mergetool+subdir bug

If rerere is enabled and mergetool is run from a subdirectory,
mergetool always prints "No files need merging".  Add an expected
failure test case for this situation.

Signed-off-by: Richard Hansen <hansenr@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Richard Hansen 8 years ago committed by Junio C Hamano
parent
commit
b9ebb65926
  1. 21
      t/t7610-mergetool.sh

21
t/t7610-mergetool.sh

@ -216,7 +216,7 @@ test_expect_success 'mergetool skips autoresolved' ' @@ -216,7 +216,7 @@ test_expect_success 'mergetool skips autoresolved' '
test "$output" = "No files need merging"
'

test_expect_success 'mergetool merges all from subdir' '
test_expect_success 'mergetool merges all from subdir (rerere disabled)' '
test_when_finished "git reset --hard" &&
git checkout -b test$test_count branch1 &&
test_config rerere.enabled false &&
@ -234,6 +234,25 @@ test_expect_success 'mergetool merges all from subdir' ' @@ -234,6 +234,25 @@ test_expect_success 'mergetool merges all from subdir' '
)
'

test_expect_failure 'mergetool merges all from subdir (rerere enabled)' '
test_when_finished "git reset --hard" &&
git checkout -b test$test_count branch1 &&
test_config rerere.enabled true &&
rm -rf .git/rr-cache &&
(
cd subdir &&
test_must_fail git merge master &&
( yes "r" | git mergetool ../submod ) &&
( yes "d" "d" | git mergetool --no-prompt ) &&
test "$(cat ../file1)" = "master updated" &&
test "$(cat ../file2)" = "master new" &&
test "$(cat file3)" = "master new sub" &&
( cd .. && git submodule update -N ) &&
test "$(cat ../submod/bar)" = "master submodule" &&
git commit -m "branch2 resolved by mergetool from subdir"
)
'

test_expect_success 'mergetool skips resolved paths when rerere is active' '
test_when_finished "git reset --hard" &&
test_config rerere.enabled true &&

Loading…
Cancel
Save