Currently it's completely ignored. Signed-off-by: Felipe Contreras <felipe.contreras@xxxxxxxxx> --- 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 de8520778d..7d677bd75c 100644 --- a/builtin/merge-tree.c +++ b/builtin/merge-tree.c @@ -7,6 +7,8 @@ #include "blob.h" #include "exec-cmd.h" #include "merge-blobs.h" +#include "config.h" +#include "xdiff-interface.h" static const char merge_tree_usage[] = "git merge-tree <base-tree> <branch1> <branch2>"; @@ -378,6 +380,8 @@ int cmd_merge_tree(int argc, const char **argv, const char *prefix) if (argc != 4) usage(merge_tree_usage); + git_config(git_xmerge_config, NULL); + buf1 = get_tree_descriptor(r, t+0, argv[1]); buf2 = get_tree_descriptor(r, t+1, argv[2]); buf3 = get_tree_descriptor(r, t+2, argv[3]); diff --git a/t/t6440-config-conflict-markers.sh b/t/t6440-config-conflict-markers.sh index 6952552c58..978f4e3e70 100755 --- a/t/t6440-config-conflict-markers.sh +++ b/t/t6440-config-conflict-markers.sh @@ -41,4 +41,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 -E "\|+" actual && + + git -c merge.conflictstyle=diff3 merge-tree initial r l >actual && + grep -E "\|+" actual && + + git -c merge.conflictstyle=merge merge-tree initial r l >actual && + ! grep -E "\|+" actual + ) +' + test_done -- 2.32.0.2.g41be0a4e50