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>

Richard Hansen committed Jan 10, 2017 at 15:42 UTC b9ebb659268ae1ecf742dff6261e87f4ee57dde7
1 file changed +20 -1
t/t7610-mergetool.sh
+20 -1
@@ -216,7 +216,7 @@ test_expect_success 'mergetool skips autoresolved' '
216 test "$output" = "No files need merging"
217 '
218
219 -test_expect_success 'mergetool merges all from subdir' '
219 +test_expect_success 'mergetool merges all from subdir (rerere disabled)' '
220 test_when_finished "git reset --hard" &&
221 git checkout -b test$test_count branch1 &&
222 test_config rerere.enabled false &&
@@ -234,6 +234,25 @@ test_expect_success 'mergetool merges all from subdir' '
234 )
235 '
236
237 +test_expect_failure 'mergetool merges all from subdir (rerere enabled)' '
238 + test_when_finished "git reset --hard" &&
239 + git checkout -b test$test_count branch1 &&
240 + test_config rerere.enabled true &&
241 + rm -rf .git/rr-cache &&
242 + (
243 + cd subdir &&
244 + test_must_fail git merge master &&
245 + ( yes "r" | git mergetool ../submod ) &&
246 + ( yes "d" "d" | git mergetool --no-prompt ) &&
247 + test "$(cat ../file1)" = "master updated" &&
248 + test "$(cat ../file2)" = "master new" &&
249 + test "$(cat file3)" = "master new sub" &&
250 + ( cd .. && git submodule update -N ) &&
251 + test "$(cat ../submod/bar)" = "master submodule" &&
252 + git commit -m "branch2 resolved by mergetool from subdir"
253 + )
254 +'
255 +
256 test_expect_success 'mergetool skips resolved paths when rerere is active' '
257 test_when_finished "git reset --hard" &&
258 test_config rerere.enabled true &&