X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=merge-recursive.h;h=58f3435e9e854ab82c2fd0c10c55520bc69e5ed0;hb=3601b1d3593cbe856ea79fa554233b7d6fe52b2e;hp=fd138ca14006843a7ce0c38cfde4de580d5ce36e;hpb=77f143bf3e218857ec8e5244d7e862e8e0c1a041;p=git.git diff --git a/merge-recursive.h b/merge-recursive.h index fd138ca14..58f3435e9 100644 --- a/merge-recursive.h +++ b/merge-recursive.h @@ -4,17 +4,29 @@ #include "string-list.h" struct merge_options { + const char *ancestor; const char *branch1; const char *branch2; - unsigned subtree_merge : 1; + enum { + MERGE_RECURSIVE_NORMAL = 0, + MERGE_RECURSIVE_OURS, + MERGE_RECURSIVE_THEIRS + } recursive_variant; + const char *subtree_shift; unsigned buffer_output : 1; + unsigned renormalize : 1; + long xdl_opts; int verbosity; int diff_rename_limit; int merge_rename_limit; + int rename_score; + int needed_rename_limit; + int show_rename_progress; int call_depth; struct strbuf obuf; struct string_list current_file_set; struct string_list current_directory_set; + struct string_list df_conflict_file_set; }; /* merge_trees() but with recursive ancestor consolidation */ @@ -45,4 +57,11 @@ int merge_recursive_generic(struct merge_options *o, void init_merge_options(struct merge_options *o); struct tree *write_tree_from_memory(struct merge_options *o); +int parse_merge_opt(struct merge_options *out, const char *s); + +/* builtin/merge.c */ +int try_merge_command(const char *strategy, size_t xopts_nr, + const char **xopts, struct commit_list *common, + const char *head_arg, struct commit_list *remotes); + #endif