Message ID | 20201124115315.13311-11-alban.gruin@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Rewrite the remaining merge strategies from shell to C | expand |
On 11/24/2020 6:53 AM, Alban Gruin wrote: > This teaches `git merge' to invoke the "resolve" strategy with a > function call instead of forking. ... > @@ -740,6 +741,9 @@ 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 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, > This is a very satisfying change. Thanks, -Stolee
diff --git a/builtin/merge.c b/builtin/merge.c index 9d5359edc2..3b35aa320c 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) @@ -740,6 +741,9 @@ 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 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,
This teaches `git merge' to invoke the "resolve" strategy with a function call instead of forking. Signed-off-by: Alban Gruin <alban.gruin@gmail.com> --- builtin/merge.c | 4 ++++ 1 file changed, 4 insertions(+)