git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 10/11] t642[23]: be more flexible for add/add conflicts involving pair renames

From
Elijah Newren via GitGitGadget <gitgitgadget@gmail.com>
Date
Aug 8, 2020, 17:01 UTC
Message-ID
<a9a02a0ca51f16b07fe0b28d16f5a3c2888227ca.1596906081.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.827.v2.git.git.1596906081.gitgitgadget@gmail.com>
From: Elijah Newren <newren@gmail.com>

Much like the last commit accepted 'add/add' and 'rename/add' interchangably, we also want to do the same for 'add/add' and 'rename/rename'. This also allows us to avoid the ambiguity in meaning with 'rename/rename' (is it two separate files renamed to the same location, or one file renamed on both sides but differently)?

Signed-off-by: Elijah Newren <newren@gmail.com>
---
 t/t6422-merge-rename-corner-cases.sh | 18 ++++++++++++------
 t/t6423-merge-rename-directories.sh  |  4 ++--
 2 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/t/t6422-merge-rename-corner-cases.sh b/t/t6422-merge-rename-corner-cases.sh
index f3929b65c0..3375eaf4e7 100755
--- a/t/t6422-merge-rename-corner-cases.sh
+++ b/t/t6422-merge-rename-corner-cases.sh
@@ -583,7 +583,7 @@ test_expect_success 'handle rename/rename (2to1) conflict correctly' '
 		git checkout B^0 &&
 
 		test_must_fail git merge -s recursive C^0 >out &&
-		test_i18ngrep "CONFLICT (rename/rename)" out &&
+		test_i18ngrep "CONFLICT (\(.*\)/\1)" out &&
 
 		git ls-files -s >out &&
 		test_line_count = 2 out &&
@@ -959,11 +959,17 @@ test_expect_failure 'rrdd-check: rename/rename(2to1)/delete/delete conflict' '
 		git checkout A^0 &&
 		test_must_fail git merge -s recursive B^0 >out 2>err &&
 
-		# Not sure whether the output should contain just one
-		# "CONFLICT (rename/rename/delete/delete)" line, or if it
-		# should break it into three: "CONFLICT (rename/rename)" and
-		# two "CONFLICT (rename/delete)" lines; allow for either.
-		test_i18ngrep "CONFLICT (rename/rename)" out &&
+		# Instead of requiring the output to contain one combined line
+		#   CONFLICT (rename/rename/delete/delete)
+		# or perhaps two lines:
+		#   CONFLICT (rename/rename): ...
+		#   CONFLICT (rename/delete): info about pair 1
+		#   CONFLICT (rename/delete): info about pair 2
+		# and instead of requiring "rename/rename" instead of "add/add",
+		# be flexible in the type of console output message(s) reported
+		# for this particular case; we will be more stringent about the
+		# contents of the index and working directory.
+		test_i18ngrep "CONFLICT (\(.*\)/\1)" out &&
 		test_i18ngrep "CONFLICT (rename.*delete)" out &&
 		test_must_be_empty err &&
 
diff --git a/t/t6423-merge-rename-directories.sh b/t/t6423-merge-rename-directories.sh
index 2b4a482277..f7ecbb886d 100755
--- a/t/t6423-merge-rename-directories.sh
+++ b/t/t6423-merge-rename-directories.sh
@@ -275,7 +275,7 @@ test_expect_success '1d: Directory renames cause a rename/rename(2to1) conflict'
 		git checkout A^0 &&
 
 		test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out &&
-		test_i18ngrep "CONFLICT (rename/rename)" out &&
+		test_i18ngrep "CONFLICT (\(.*\)/\1)" out &&
 
 		git ls-files -s >out &&
 		test_line_count = 8 out &&
@@ -1686,7 +1686,7 @@ test_expect_success '7b: rename/rename(2to1), but only due to transitive rename'
 		git checkout A^0 &&
 
 		test_must_fail git -c merge.directoryRenames=true merge -s recursive B^0 >out &&
-		test_i18ngrep "CONFLICT (rename/rename)" out &&
+		test_i18ngrep "CONFLICT (\(.*\)/\1)" out &&
 
 		git ls-files -s >out &&
 		test_line_count = 4 out &&
-- 
gitgitgadget
Previous: Elijah Newren via GitGitGadgetNext: Elijah Newren via GitGitGadget
Message 10 of 28 in “Collect merge-related tests to t64xx”
  1. Collect merge-related tests to t64xxElijah Newren via GitGitGadget, Aug 5, 2020
  2. 00/11 Start preparing merge-related tests to work with multiple merge backendsElijah Newren via GitGitGadget, Aug 8, 2020
  3. 02/11 t6418: tighten delete/normalize conflict testcaseElijah Newren via GitGitGadget, Aug 8, 2020
  4. 01/11 Collect merge-related tests to t64xxElijah Newren via GitGitGadget, Aug 8, 2020
  5. 04/11 t6416, t6422: fix incorrect untracked file countElijah Newren via GitGitGadget, Aug 8, 2020
  6. Eric SunshineAug 9, 2020
  7. Elijah NewrenAug 9, 2020
  8. 05/11 t6423: fix test setup for a couple testsElijah Newren via GitGitGadget, Aug 8, 2020
  9. 09/11 t6422, t6426: be more flexible for add/add conflicts involving renamesElijah Newren via GitGitGadget, Aug 8, 2020
  10. 10/11 t642[23]: be more flexible for add/add conflicts involving pair renamesElijah Newren via GitGitGadget, Aug 8, 2020
  11. 08/11 t6423: add an explanation about why one of the tests does not passElijah Newren via GitGitGadget, Aug 8, 2020
  12. 11/11 t6425: be more flexible with rename/delete conflict messagesElijah Newren via GitGitGadget, Aug 8, 2020
  13. 07/11 t6416, t6423: clarify some comments and fix some typosElijah Newren via GitGitGadget, Aug 8, 2020
  14. 06/11 t6422: fix multiple errors with the mod6 test expectationsElijah Newren via GitGitGadget, Aug 8, 2020
  15. 03/11 t6422: fix bad check against missing fileElijah Newren via GitGitGadget, Aug 8, 2020
  16. Eric SunshineAug 9, 2020
  17. 00/11 Start preparing merge-related tests to work with multiple merge backendsElijah Newren via GitGitGadget, Aug 10, 2020
  18. 01/11 Collect merge-related tests to t64xxElijah Newren via GitGitGadget, Aug 10, 2020
  19. 05/11 t6423: fix test setup for a couple testsElijah Newren via GitGitGadget, Aug 10, 2020
  20. 06/11 t6422: fix multiple errors with the mod6 test expectationsElijah Newren via GitGitGadget, Aug 10, 2020
  21. 07/11 t6416, t6423: clarify some comments and fix some typosElijah Newren via GitGitGadget, Aug 10, 2020
  22. 08/11 t6423: add an explanation about why one of the tests does not passElijah Newren via GitGitGadget, Aug 10, 2020
  23. 09/11 t6422, t6426: be more flexible for add/add conflicts involving renamesElijah Newren via GitGitGadget, Aug 10, 2020
  24. 04/11 t6416, t6422: fix incorrect untracked file countElijah Newren via GitGitGadget, Aug 10, 2020
  25. 10/11 t642[23]: be more flexible for add/add conflicts involving pair renamesElijah Newren via GitGitGadget, Aug 10, 2020
  26. 02/11 t6418: tighten delete/normalize conflict testcaseElijah Newren via GitGitGadget, Aug 10, 2020
  27. 11/11 t6425: be more flexible with rename/delete conflict messagesElijah Newren via GitGitGadget, Aug 10, 2020
  28. 03/11 t6422: fix bad check against missing fileElijah Newren via GitGitGadget, Aug 10, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.