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

[PATCH v3 8/8] builtin/{merge,rebase,revert}: remove GIT_TEST_MERGE_ALGORITHM

From
Elijah Newren via GitGitGadget <gitgitgadget@gmail.com>
Date
Apr 8, 2025, 15:48 UTC
Message-ID
<bf2d462c4e5bbb1e44ebb1162d7204d205527208.1744127323.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.1898.v3.git.1744127322.gitgitgadget@gmail.com>
From: Elijah Newren <newren@gmail.com>

This environment variable existed to allow the testsuite to reuse all the merge-related tests in the testsuite while easily flipping between the 'recursive' and the 'ort' backends. Now that we have removed merge-recursive and remapped 'recursive' to mean 'ort', we don't need this scaffolding anymore. Remove it from these three builtins.

Signed-off-by: Elijah Newren <newren@gmail.com>
---
 builtin/merge.c  | 14 +-------------
 builtin/rebase.c |  5 -----
 builtin/revert.c |  2 --
 3 files changed, 1 insertion(+), 20 deletions(-)
diff --git a/builtin/merge.c b/builtin/merge.c
index c0bbdab7104..9efd585842f 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -170,7 +170,7 @@ static struct strategy *get_strategy(const char *name)
 	struct strategy *ret;
 	static struct cmdnames main_cmds = {0}, other_cmds = {0};
 	static int loaded;
-	char *default_strategy = getenv("GIT_TEST_MERGE_ALGORITHM");
+	char *default_strategy = NULL;
 
 	if (!name)
 		return NULL;
@@ -1311,12 +1311,6 @@ int cmd_merge(int argc,
 	if (branch)
 		skip_prefix(branch, "refs/heads/", &branch);
 
-	if (!pull_twohead) {
-		char *default_strategy = getenv("GIT_TEST_MERGE_ALGORITHM");
-		if (default_strategy && !strcmp(default_strategy, "ort"))
-			pull_twohead = xstrdup("ort");
-	}
-
 	init_diff_ui_defaults();
 	git_config(git_merge_config, NULL);
 
@@ -1517,12 +1511,6 @@ int cmd_merge(int argc,
 			fast_forward = FF_NO;
 	}
 
-	if (!use_strategies && !pull_twohead &&
-	    remoteheads && !remoteheads->next) {
-		char *default_strategy = getenv("GIT_TEST_MERGE_ALGORITHM");
-		if (default_strategy)
-			append_strategy(get_strategy(default_strategy));
-	}
 	if (!use_strategies) {
 		if (!remoteheads)
 			; /* already up-to-date */
diff --git a/builtin/rebase.c b/builtin/rebase.c
index d4715ed35d7..e83193ac73e 100644
--- a/builtin/rebase.c
+++ b/builtin/rebase.c
@@ -1575,11 +1575,6 @@ int cmd_rebase(int argc,
 			    options.default_backend);
 	}
 
-	if (options.type == REBASE_MERGE &&
-	    !options.strategy &&
-	    getenv("GIT_TEST_MERGE_ALGORITHM"))
-		options.strategy = xstrdup(getenv("GIT_TEST_MERGE_ALGORITHM"));
-
 	switch (options.type) {
 	case REBASE_MERGE:
 		options.state_dir = merge_dir();
diff --git a/builtin/revert.c b/builtin/revert.c
index aca6c293cdf..2654f769a88 100644
--- a/builtin/revert.c
+++ b/builtin/revert.c
@@ -252,8 +252,6 @@ static int run_sequencer(int argc, const char **argv, const char *prefix,
 		free(opts->strategy);
 		opts->strategy = xstrdup_or_null(strategy);
 	}
-	if (!opts->strategy && getenv("GIT_TEST_MERGE_ALGORITHM"))
-		opts->strategy = xstrdup(getenv("GIT_TEST_MERGE_ALGORITHM"));
 	free(options);
 
 	if (cmd == 'q') {
-- 
gitgitgadget
Previous: Elijah Newren via GitGitGadgetNext: Elijah Newren via GitGitGadget
Message 29 of 31 in “Debug merge-recursive.[ch]”
  1. 0/8 Debug merge-recursive.[ch]Elijah Newren via GitGitGadget, Mar 31, 2025
  2. 1/8 checkout: replace merge_trees() with merge_ort_nonrecursive()Elijah Newren via GitGitGadget, Mar 31, 2025
  3. 2/8 builtin/merge-recursive: switch to using merge_ort_generic()Elijah Newren via GitGitGadget, Mar 31, 2025
  4. 3/8 merge-ort: enable diff-algorithms other than histogramElijah Newren via GitGitGadget, Mar 31, 2025
  5. 4/8 sequencer: switch non-recursive merges over to ortElijah Newren via GitGitGadget, Mar 31, 2025
  6. 5/8 merge, sequencer: switch recursive merges over to ortElijah Newren via GitGitGadget, Mar 31, 2025
  7. 7/8 tests: remove GIT_TEST_MERGE_ALGORITHM and test_expect_merge_algorithmElijah Newren via GitGitGadget, Mar 31, 2025
  8. Eric SunshineMar 31, 2025
  9. Elijah NewrenMar 31, 2025
  10. 6/8 merge-recursive.[ch]: thoroughly debug theseElijah Newren via GitGitGadget, Mar 31, 2025
  11. 8/8 builtin/{merge,rebase,revert}: remove GIT_TEST_MERGE_ALGORITHMElijah Newren via GitGitGadget, Mar 31, 2025
  12. 0/8 Debug merge-recursive.[ch]Elijah Newren via GitGitGadget, Apr 5, 2025
  13. 1/8 checkout: replace merge_trees() with merge_ort_nonrecursive()Elijah Newren via GitGitGadget, Apr 5, 2025
  14. 2/8 builtin/merge-recursive: switch to using merge_ort_generic()Elijah Newren via GitGitGadget, Apr 5, 2025
  15. 3/8 merge-ort: enable diff-algorithms other than histogramElijah Newren via GitGitGadget, Apr 5, 2025
  16. 4/8 sequencer: switch non-recursive merges over to ortElijah Newren via GitGitGadget, Apr 5, 2025
  17. 5/8 merge, sequencer: switch recursive merges over to ortElijah Newren via GitGitGadget, Apr 5, 2025
  18. 8/8 builtin/{merge,rebase,revert}: remove GIT_TEST_MERGE_ALGORITHMElijah Newren via GitGitGadget, Apr 5, 2025
  19. 7/8 tests: remove GIT_TEST_MERGE_ALGORITHM and test_expect_merge_algorithmElijah Newren via GitGitGadget, Apr 5, 2025
  20. 6/8 merge-recursive.[ch]: thoroughly debug theseElijah Newren via GitGitGadget, Apr 5, 2025
  21. Junio C HamanoApr 7, 2025
  22. Elijah NewrenApr 7, 2025
  23. 0/8 Debug merge-recursive.[ch]Elijah Newren via GitGitGadget, Apr 8, 2025
  24. 1/8 checkout: replace merge_trees() with merge_ort_nonrecursive()Elijah Newren via GitGitGadget, Apr 8, 2025
  25. 2/8 builtin/merge-recursive: switch to using merge_ort_generic()Elijah Newren via GitGitGadget, Apr 8, 2025
  26. 3/8 merge-ort: enable diff-algorithms other than histogramElijah Newren via GitGitGadget, Apr 8, 2025
  27. 4/8 sequencer: switch non-recursive merges over to ortElijah Newren via GitGitGadget, Apr 8, 2025
  28. 5/8 merge, sequencer: switch recursive merges over to ortElijah Newren via GitGitGadget, Apr 8, 2025
  29. 8/8 builtin/{merge,rebase,revert}: remove GIT_TEST_MERGE_ALGORITHMElijah Newren via GitGitGadget, Apr 8, 2025
  30. 7/8 tests: remove GIT_TEST_MERGE_ALGORITHM and test_expect_merge_algorithmElijah Newren via GitGitGadget, Apr 8, 2025
  31. 6/8 merge-recursive.[ch]: thoroughly debug theseElijah Newren via GitGitGadget, Apr 8, 2025

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.