t6416: correct expectation for rename/rename(1to2) + directory/file

When files are renamed and modified, we need to do three-way content merges to get the appropriate content in the right location. When we have a rename/rename(1to2) conflict (both sides rename the same file, but differently), that merged content should be placed in each of the two resulting files. merge-recursive handled that fine when that was all that was involved, but when one or more of the two resulting files were ALSO involved in a directory/file conflict, it failed to propagate the merged content to that file. Unfortunately, the one test in t6416 that touched on this combination of cases had been coded to not expect the merged contents to be present. Fix the test to check for the right behavior, and record how the different merge backends will be expected to handle it. Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Elijah Newren committed Oct 26, 2020 at 17:01 UTC 489c85ff43b292cc22ae2e003fad74c75f7ae190
1 file changed +2 -2
t/t6416-recursive-corner-cases.sh
+2 -2
@@ -786,7 +786,7 @@ test_expect_success 'merge of D1 & E3 succeeds' '
786 )
787 '
788
789 -test_expect_success 'merge of D1 & E4 notifies user a and a2 are related' '
789 +test_expect_merge_algorithm failure success 'merge of D1 & E4 puts merge of a and a2 in both a and a2' '
790 test_when_finished "git -C directory-file reset --hard" &&
791 test_when_finished "git -C directory-file clean -fdqx" &&
792 (
@@ -804,7 +804,7 @@ test_expect_success 'merge of D1 & E4 notifies user a and a2 are related' '
804 test_line_count = 1 out &&
805
806 git rev-parse >expect \
807 - A:ignore-me B:a D1:a E4:a2 &&
807 + A:ignore-me B:a E4:a2 E4:a2 &&
808 git rev-parse >actual \
809 :0:ignore-me :1:a~Temporary\ merge\ branch\ 2 :2:a :3:a2 &&
810 test_cmp expect actual