diff options
Diffstat (limited to 'merge-recursive.h')
-rw-r--r-- | merge-recursive.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/merge-recursive.h b/merge-recursive.h index d8bc7299ee..196f053106 100644 --- a/merge-recursive.h +++ b/merge-recursive.h @@ -4,10 +4,17 @@ #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; int verbosity; int diff_rename_limit; int merge_rename_limit; @@ -17,8 +24,11 @@ struct merge_options { struct string_list current_directory_set; }; -/* Return a list of user-friendly error messages to be used by merge */ -struct unpack_trees_error_msgs get_porcelain_error_msgs(void); +/* + * Sets the list of user-friendly error messages to be used by the + * command "cmd" (either merge or checkout) + */ +void set_porcelain_error_msgs(const char **msgs, const char *cmd); /* merge_trees() but with recursive ancestor consolidation */ int merge_recursive(struct merge_options *o, @@ -48,4 +58,7 @@ 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); +/* builtin/merge.c */ +int try_merge_command(const char *strategy, struct commit_list *common, const char *head_arg, struct commit_list *remotes); + #endif |