Add the ability to control the aggressive flag passed to read-tree via a config 
setting.

Reviewed-by: Johannes Schindelin <johannes.schinde...@gmx.de>
Signed-off-by: Ben Peart <benpe...@microsoft.com>
---
 Documentation/merge-config.txt | 4 ++++
 merge-recursive.c              | 1 +
 2 files changed, 5 insertions(+)

diff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt
index 656f909eb3..5a9ab969db 100644
--- a/Documentation/merge-config.txt
+++ b/Documentation/merge-config.txt
@@ -1,3 +1,7 @@
+merge.aggressive::
+       Passes "aggressive" to read-tree which makes the command resolve
+       a few more cases internally. See "--aggressive" in 
linkgit:git-read-tree[1].
+
 merge.conflictStyle::
        Specify the style in which conflicted hunks are written out to
        working tree files upon merge.  The default is "merge", which
diff --git a/merge-recursive.c b/merge-recursive.c
index cd5367e890..0ca84e4b82 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -355,6 +355,7 @@ static int git_merge_trees(struct merge_options *o,
        o->unpack_opts.fn = threeway_merge;
        o->unpack_opts.src_index = &the_index;
        o->unpack_opts.dst_index = &the_index;
+       git_config_get_bool("merge.aggressive", (int 
*)&o->unpack_opts.aggressive);
        setup_unpack_trees_porcelain(&o->unpack_opts, "merge");
 
        init_tree_desc_from_tree(t+0, common);
-- 
2.17.0.windows.1

Reply via email to