merge-one-file: fix broken merges with alternate work trees
[gitweb.git] / merge-recursive.h
index fd138ca14006843a7ce0c38cfde4de580d5ce36e..be8410ad1803bc10e5dbf74f39eecdfed53469b1 100644 (file)
@@ -6,7 +6,12 @@
 struct merge_options {
        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;
        int verbosity;
        int diff_rename_limit;
@@ -17,6 +22,9 @@ 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);
+
 /* merge_trees() but with recursive ancestor consolidation */
 int merge_recursive(struct merge_options *o,
                    struct commit *h1,