From a2986045e3da24c850da03eaf2f2e2a56f8d4fff Mon Sep 17 00:00:00 2001 From: David Aguilar Date: Wed, 9 Mar 2016 23:13:59 -0800 Subject: mergetool: honor tempfile configuration when resolving delete conflicts Teach resolve_deleted_merge() to honor the mergetool.keepBackup and mergetool.keepTemporaries configuration knobs. This ensures that the worktree is kept pristine when resolving deletion conflicts with the variables both set to false. Signed-off-by: David Aguilar Signed-off-by: Junio C Hamano --- t/t7610-mergetool.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 't') diff --git a/t/t7610-mergetool.sh b/t/t7610-mergetool.sh index 39469d96d4..76306cf268 100755 --- a/t/t7610-mergetool.sh +++ b/t/t7610-mergetool.sh @@ -279,6 +279,31 @@ test_expect_success 'mergetool produces no errors when keepBackup is used' ' : >expect && echo d | git mergetool a/a/file.txt 2>actual && test_cmp expect actual && + ! test -d a && + git reset --hard HEAD +' + +test_expect_success 'mergetool honors tempfile config for deleted files' ' + test_config mergetool.keepTemporaries false && + test_must_fail git merge move-to-b && + echo d | git mergetool a/a/file.txt && + ! test -d a && + git reset --hard HEAD +' + +test_expect_success 'mergetool keeps tempfiles when aborting delete/delete' ' + test_config mergetool.keepTemporaries true && + test_must_fail git merge move-to-b && + ! (echo a; echo n) | git mergetool a/a/file.txt && + test -d a/a && + cat >expect <<-\EOF && + file_BASE_.txt + file_LOCAL_.txt + file_REMOTE_.txt + EOF + ls -1 a/a | sed -e "s/[0-9]*//g" >actual && + test_cmp expect actual && + git clean -fdx && git reset --hard HEAD ' -- cgit v1.2.3