This teaches `git merge' to invoke the "resolve" strategy with a
function call instead of forking.
Signed-off-by: Alban Gruin <redacted>
---
builtin/merge.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/builtin/merge.c b/builtin/merge.c
index 7da707bf55..d50b4ad6ad 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c
@@ -41,6 +41,7 @@
#include "commit-reach.h"
#include "wt-status.h"
#include "commit-graph.h"
+#include "merge-strategies.h"
#define DEFAULT_TWOHEAD (1<<0)
#define DEFAULT_OCTOPUS (1<<1)
@@ -744,7 +745,10 @@ static int try_merge_strategy(const char *strategy, struct commit_list *common,
COMMIT_LOCK | SKIP_IF_UNCHANGED))
die(_("unable to write %s"), get_index_file());
return clean ? 0 : 1;
- } else {
+ } else if (!strcmp(strategy, "resolve"))
+ return merge_strategies_resolve(the_repository, common,
+ head_arg, remoteheads);
+ else {
return try_merge_command(the_repository,
strategy, xopts_nr, xopts,
common, head_arg, remoteheads);--
2.27.0.139.gc9c318d6bf