summaryrefslogtreecommitdiff
path: root/merge-recursive.h
diff options
context:
space:
mode:
Diffstat (limited to 'merge-recursive.h')
-rw-r--r--merge-recursive.h19
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