[PATCH v3 2/4] merge-tree: fix merge.conflictstyle handling
From: Felipe Contreras <hidden>
Date: 2023-05-10 21:37:52
Subsystem:
the rest · Maintainer:
Linus Torvalds
Currently it's completely ignored. Signed-off-by: Felipe Contreras <redacted> --- builtin/merge-tree.c | 4 ++++ t/t6440-config-conflict-markers.sh | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+)
diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c
index aa8040c2a6..a98f84634e 100644
--- a/builtin/merge-tree.c
+++ b/builtin/merge-tree.c@@ -17,6 +17,8 @@ #include "merge-blobs.h" #include "quote.h" #include "tree.h" +#include "config.h" +#include "xdiff-interface.h" static int line_termination = '\n';
@@ -628,6 +630,8 @@ int cmd_merge_tree(int argc, const char **argv, const char *prefix) if (argc != expected_remaining_argc) usage_with_options(merge_tree_usage, mt_options); + git_config(git_xmerge_config, NULL); + /* Do the relevant type of merge */ if (o.mode == MODE_REAL) return real_merge(&o, merge_base, argv[0], argv[1], prefix);
diff --git a/t/t6440-config-conflict-markers.sh b/t/t6440-config-conflict-markers.sh
index 813d7dda9a..cb2ee3ad0a 100755
--- a/t/t6440-config-conflict-markers.sh
+++ b/t/t6440-config-conflict-markers.sh@@ -34,4 +34,25 @@ test_expect_success 'merge' ' ) ' +test_expect_success 'merge-tree' ' + test_create_repo merge-tree && + ( + cd merge-tree && + + test_commit initial initial-file initial && + test_commit r content r && + git reset --hard initial && + test_commit l content l && + + git merge-tree initial r l >actual && + ! grep "^+|||||||" content && + + git -c merge.conflictstyle=diff3 merge-tree initial r l >actual && + grep "^+|||||||" actual && + + git -c merge.conflictstyle=merge merge-tree initial r l >actual && + ! grep "^+|||||||" content + ) +' + test_done
--
2.40.0+fc1