@@ -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]);
@@ -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
Currently it's completely ignored. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> --- builtin/merge-tree.c | 4 ++++ t/t6440-config-conflict-markers.sh | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+)