]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t6423: fix missed staging of file in testcases 12i,12j,12k
authorElijah Newren <newren@gmail.com>
Wed, 6 Aug 2025 23:15:19 +0000 (23:15 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 7 Aug 2025 20:23:59 +0000 (13:23 -0700)
Commit 806f83287f8d (t6423: test directory renames causing
rename-to-self, 2021-06-30) introduced testcase 12i-12k but omitted
staging one of the files and copy-pasted that mistake to the other
tests.  This means the merge runs with an unstaged change, even though
that isn't related to what is being tested and makes the test look more
complicated than it is.

The cover letter for the series associated with the above commit (see
Message-ID: pull.1039.git.git.1624727121.gitgitgadget@gmail.com) noted
that these testcases triggered two bugs in merge-recursive but only one
in merge-ort; in merge-recursive these testcases also triggered a
silent deletion of the file in question when it shouldn't be deleted.
What I didn't realize at the time was that the deletion bug in merge-ort
was merely being sidestepped by the "relevant renames" optimization but
can actually be triggered.  A subsequent commit will deal with that
additional bug, but it was complicated by the mistaken forgotten
staging, so this commit first fixes that issue.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t6423-merge-rename-directories.sh

index 2def1522bd59baa58045be2eb6be7fbf065fb4b4..e1251b4e12cea8a88041283d5b4767c34c227baf 100755 (executable)
@@ -4747,6 +4747,7 @@ test_setup_12i () {
                git switch B &&
                git mv source/bar source/subdir/bar &&
                echo more baz >>source/baz &&
+               git add source/baz &&
                git commit -m B
        )
 }
@@ -4771,7 +4772,7 @@ test_expect_success '12i: Directory rename causes rename-to-self' '
                git status --porcelain -uno >actual &&
                cat >expect <<-\EOF &&
                UU source/bar
-                M source/baz
+                source/baz
                EOF
                test_cmp expect actual
        )
@@ -4806,6 +4807,7 @@ test_setup_12j () {
                git switch B &&
                git mv bar subdir/bar &&
                echo more baz >>baz &&
+               git add baz &&
                git commit -m B
        )
 }
@@ -4830,7 +4832,7 @@ test_expect_success '12j: Directory rename to root causes rename-to-self' '
                git status --porcelain -uno >actual &&
                cat >expect <<-\EOF &&
                UU bar
-                M baz
+                baz
                EOF
                test_cmp expect actual
        )
@@ -4865,6 +4867,7 @@ test_setup_12k () {
                git switch B &&
                git mv dirA/bar dirB/bar &&
                echo more baz >>dirA/baz &&
+               git add dirA/baz &&
                git commit -m B
        )
 }
@@ -4889,7 +4892,7 @@ test_expect_success '12k: Directory rename with sibling causes rename-to-self' '
                git status --porcelain -uno >actual &&
                cat >expect <<-\EOF &&
                UU dirA/bar
-                M dirA/baz
+                dirA/baz
                EOF
                test_cmp expect actual
        )