From 9c93ba4d0aee1bc8c663a13552afd2b2c22863a9 Mon Sep 17 00:00:00 2001 From: Antonin Delpeuch Date: Sat, 13 Jul 2024 16:51:46 +0000 Subject: merge-recursive: honor diff.algorithm The documentation claims that "recursive defaults to the diff.algorithm config setting", but this is currently not the case. This fixes it, ensuring that diff.algorithm is used when -Xdiff-algorithm is not supplied. This affects the following porcelain commands: "merge", "rebase", "cherry-pick", "pull", "stash", "log", "am" and "checkout". It also affects the "merge-tree" ancillary interrogator. This change refactors the initialization of merge options to introduce two functions, "init_merge_ui_options" and "init_merge_basic_options" instead of just one "init_merge_options". This design follows the approach used in diff.c, providing initialization methods for porcelain and plumbing commands respectively. Thanks to that, the "replay" and "merge-recursive" plumbing commands remain unaffected by diff.algorithm. Signed-off-by: Antonin Delpeuch Signed-off-by: Junio C Hamano --- builtin/am.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'builtin/am.c') diff --git a/builtin/am.c b/builtin/am.c index 370f5593f2..a12be088f7 100644 --- a/builtin/am.c +++ b/builtin/am.c @@ -1630,7 +1630,7 @@ static int fall_back_threeway(const struct am_state *state, const char *index_pa * changes. */ - init_merge_options(&o, the_repository); + init_ui_merge_options(&o, the_repository); o.branch1 = "HEAD"; their_tree_name = xstrfmt("%.*s", linelen(state->msg), state->msg); -- cgit v1.2.3