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

[PATCH v2 08/13] t: mark several submodule merging tests as fixed under merge-ort

From
Elijah Newren via GitGitGadget <gitgitgadget@gmail.com>
Date
Mar 17, 2021, 21:28 UTC
Message-ID
<f9325647a9fca1471fead860c18db86aba34eb54.1616016485.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.905.v2.git.1616016485.gitgitgadget@gmail.com>
From: Elijah Newren <newren@gmail.com>

merge-ort handles submodules (and directory/file conflicts in general) differently than merge-recursive does; it basically puts all the special handling for different filetypes into one place in the codebase instead of needing special handling for different filetypes in many different code paths. This one code path in merge-ort could perhaps use some work still (there are still test_expect_failure cases in the testsuite), but it passes all the tests that merge-recursive does as well as 12 additional ones that merge-recursive fails. Mark those 12 tests as test_expect_success under merge-ort.

Signed-off-by: Elijah Newren <newren@gmail.com>
---
 t/t3512-cherry-pick-submodule.sh              | 7 +++++--
 t/t3513-revert-submodule.sh                   | 5 ++++-
 t/t5572-pull-submodule.sh                     | 7 +++++--
 t/t6437-submodule-merge.sh                    | 5 +++--
 t/t6438-submodule-directory-file-conflicts.sh | 7 +++++--
 5 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/t/t3512-cherry-pick-submodule.sh b/t/t3512-cherry-pick-submodule.sh
index 822f2d4bfbd5..c657840db33b 100755
--- a/t/t3512-cherry-pick-submodule.sh
+++ b/t/t3512-cherry-pick-submodule.sh
@@ -8,8 +8,11 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
 . ./test-lib.sh
 . "$TEST_DIRECTORY"/lib-submodule-update.sh
 
-KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1
-KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES=1
+if test "$GIT_TEST_MERGE_ALGORITHM" != ort
+then
+	KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1
+	KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES=1
+fi
 test_submodule_switch "cherry-pick"
 
 test_expect_success 'unrelated submodule/file conflict is ignored' '
diff --git a/t/t3513-revert-submodule.sh b/t/t3513-revert-submodule.sh
index a759f12cbb1d..74cd96e58223 100755
--- a/t/t3513-revert-submodule.sh
+++ b/t/t3513-revert-submodule.sh
@@ -30,7 +30,10 @@ git_revert () {
 	git revert HEAD
 }
 
-KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1
+if test "$GIT_TEST_MERGE_ALGORITHM" != ort
+then
+	KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1
+fi
 test_submodule_switch_func "git_revert"
 
 test_done
diff --git a/t/t5572-pull-submodule.sh b/t/t5572-pull-submodule.sh
index 29537f4798ef..4f92a116e1f0 100755
--- a/t/t5572-pull-submodule.sh
+++ b/t/t5572-pull-submodule.sh
@@ -42,8 +42,11 @@ git_pull_noff () {
 	$2 git pull --no-ff
 }
 
-KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1
-KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES=1
+if test "$GIT_TEST_MERGE_ALGORITHM" != ort
+then
+	KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1
+	KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES=1
+fi
 test_submodule_switch_func "git_pull_noff"
 
 test_expect_success 'pull --recurse-submodule setup' '
diff --git a/t/t6437-submodule-merge.sh b/t/t6437-submodule-merge.sh
index 0f92bcf326c8..e5e89c2045e7 100755
--- a/t/t6437-submodule-merge.sh
+++ b/t/t6437-submodule-merge.sh
@@ -6,6 +6,7 @@ GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
 
 . ./test-lib.sh
+. "$TEST_DIRECTORY"/lib-merge.sh
 
 #
 # history
@@ -328,7 +329,7 @@ test_expect_success 'setup file/submodule conflict' '
 	)
 '
 
-test_expect_failure 'file/submodule conflict' '
+test_expect_merge_algorithm failure success 'file/submodule conflict' '
 	test_when_finished "git -C file-submodule reset --hard" &&
 	(
 		cd file-submodule &&
@@ -437,7 +438,7 @@ test_expect_failure 'directory/submodule conflict; keep submodule clean' '
 	)
 '
 
-test_expect_failure !FAIL_PREREQS 'directory/submodule conflict; should not treat submodule files as untracked or in the way' '
+test_expect_merge_algorithm failure success !FAIL_PREREQS 'directory/submodule conflict; should not treat submodule files as untracked or in the way' '
 	test_when_finished "git -C directory-submodule/path reset --hard" &&
 	test_when_finished "git -C directory-submodule reset --hard" &&
 	(
diff --git a/t/t6438-submodule-directory-file-conflicts.sh b/t/t6438-submodule-directory-file-conflicts.sh
index 04bf4be7d792..8df67a0ef99d 100755
--- a/t/t6438-submodule-directory-file-conflicts.sh
+++ b/t/t6438-submodule-directory-file-conflicts.sh
@@ -12,8 +12,11 @@ test_submodule_switch "merge --ff"
 
 test_submodule_switch "merge --ff-only"
 
-KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1
-KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES=1
+if test "$GIT_TEST_MERGE_ALGORITHM" != ort
+then
+	KNOWN_FAILURE_NOFF_MERGE_DOESNT_CREATE_EMPTY_SUBMODULE_DIR=1
+	KNOWN_FAILURE_NOFF_MERGE_ATTEMPTS_TO_MERGE_REMOVED_SUBMODULE_FILES=1
+fi
 test_submodule_switch "merge --no-ff"
 
 test_done
-- 
gitgitgadget
Previous: Elijah Newren via GitGitGadgetNext: Elijah Newren via GitGitGadget
Message 13 of 40 in “Declare merge-ort ready for general usage”
  1. 0/2 Declare merge-ort ready for general usageElijah Newren via GitGitGadget, Mar 16, 2021
  2. 2/2 t6423: mark remaining expected failure under merge-ort as suchElijah Newren via GitGitGadget, Mar 16, 2021
  3. 1/2 Revert "merge-ort: ignore the directory rename split conflict for now"Elijah Newren via GitGitGadget, Mar 16, 2021
  4. Derrick StoleeMar 16, 2021
  5. Elijah NewrenMar 16, 2021
  6. Derrick StoleeMar 16, 2021
  7. 00/13 Declare merge-ort ready for general usageElijah Newren via GitGitGadget, Mar 17, 2021
  8. 02/13 merge-ort: add a special minimal index just for renormalizationElijah Newren via GitGitGadget, Mar 17, 2021
  9. 05/13 merge-ort: support subtree shiftingElijah Newren via GitGitGadget, Mar 17, 2021
  10. 01/13 merge-ort: use STABLE_QSORT instead of QSORT where requiredElijah Newren via GitGitGadget, Mar 17, 2021
  11. 03/13 merge-ort: have ll_merge() use a special attr_index for renormalizationElijah Newren via GitGitGadget, Mar 17, 2021
  12. 07/13 merge-ort: implement CE_SKIP_WORKTREE handling with conflicted entriesElijah Newren via GitGitGadget, Mar 17, 2021
  13. 08/13 t: mark several submodule merging tests as fixed under merge-ortElijah Newren via GitGitGadget, Mar 17, 2021
  14. 06/13 t6428: new test for SKIP_WORKTREE handling and conflictsElijah Newren via GitGitGadget, Mar 17, 2021
  15. 04/13 merge-ort: let renormalization change modify/delete into clean deleteElijah Newren via GitGitGadget, Mar 17, 2021
  16. 10/13 merge-recursive: add a bunch of FIXME comments documenting known bugsElijah Newren via GitGitGadget, Mar 17, 2021
  17. 09/13 merge-ort: write $GIT_DIR/AUTO_MERGE whenever we hit a conflictElijah Newren via GitGitGadget, Mar 17, 2021
  18. 11/13 Revert "merge-ort: ignore the directory rename split conflict for now"Elijah Newren via GitGitGadget, Mar 17, 2021
  19. 12/13 t6423: mark remaining expected failure under merge-ort as suchElijah Newren via GitGitGadget, Mar 17, 2021
  20. 13/13 Add testing with merge-ort merge strategyElijah Newren via GitGitGadget, Mar 17, 2021
  21. Derrick StoleeMar 19, 2021
  22. Elijah NewrenMar 19, 2021
  23. Derrick StoleeMar 19, 2021
  24. Elijah NewrenMar 19, 2021
  25. Elijah NewrenMar 19, 2021
  26. 00/13 Declare merge-ort ready for general usageElijah Newren via GitGitGadget, Mar 20, 2021
  27. 03/13 merge-ort: have ll_merge() use a special attr_index for renormalizationElijah Newren via GitGitGadget, Mar 20, 2021
  28. 01/13 merge-ort: use STABLE_QSORT instead of QSORT where requiredElijah Newren via GitGitGadget, Mar 20, 2021
  29. 05/13 merge-ort: support subtree shiftingElijah Newren via GitGitGadget, Mar 20, 2021
  30. 02/13 merge-ort: add a special minimal index just for renormalizationElijah Newren via GitGitGadget, Mar 20, 2021
  31. 07/13 merge-ort: implement CE_SKIP_WORKTREE handling with conflicted entriesElijah Newren via GitGitGadget, Mar 20, 2021
  32. 09/13 merge-ort: write $GIT_DIR/AUTO_MERGE whenever we hit a conflictElijah Newren via GitGitGadget, Mar 20, 2021
  33. 04/13 merge-ort: let renormalization change modify/delete into clean deleteElijah Newren via GitGitGadget, Mar 20, 2021
  34. 06/13 t6428: new test for SKIP_WORKTREE handling and conflictsElijah Newren via GitGitGadget, Mar 20, 2021
  35. 11/13 Revert "merge-ort: ignore the directory rename split conflict for now"Elijah Newren via GitGitGadget, Mar 20, 2021
  36. 08/13 t: mark several submodule merging tests as fixed under merge-ortElijah Newren via GitGitGadget, Mar 20, 2021
  37. 12/13 t6423: mark remaining expected failure under merge-ort as suchElijah Newren via GitGitGadget, Mar 20, 2021
  38. 13/13 Add testing with merge-ort merge strategyElijah Newren via GitGitGadget, Mar 20, 2021
  39. 10/13 merge-recursive: add a bunch of FIXME comments documenting known bugsElijah Newren via GitGitGadget, Mar 20, 2021
  40. Derrick StoleeMar 20, 2021

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.