Re: [PATCH 4/6] t6423: fix missed staging of file in testcases 12i,12j,12k
From: Patrick Steinhardt <hidden>
Date: 2025-08-01 08:31:04
On Tue, Jul 22, 2025 at 03:23:09PM +0000, Elijah Newren via GitGitGadget wrote:
From: Elijah Newren <redacted> 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 noted
It might be a good idea to provide the message ID of that cover letter.
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.
Okay.
quoted hunk ↗ jump to hunk
diff --git a/t/t6423-merge-rename-directories.sh b/t/t6423-merge-rename-directories.sh index 69de7a3b84af..c2032eb6cfa1 100755 --- a/t/t6423-merge-rename-directories.sh +++ b/t/t6423-merge-rename-directories.sh@@ -5114,7 +5117,7 @@ test_expect_failure '12n: Directory rename transitively makes rename back to sel grep "CONFLICT (file location).*should perhaps be moved" out && # Should have 1 entry for hello, and 1 for world - test_stdout_line_count = 2 git ls-files -s && + test_stdout_line_count = 3 git ls-files -s && test_stdout_line_count = 1 git ls-files -s hello && test_stdout_line_count = 2 git ls-files -s world )
Should we also explicitly check `git ls-files -s baz`? Patrick