merge-recursive: Move rename/delete handling into dedicated function
[gitweb.git] / builtin / merge.c
index da26cd629a4ba16f95f9c27d28f67573dcf21c1e..5f65c0c8a6eacd4c6d05602ad9de2821ec62a034 100644 (file)
@@ -132,6 +132,7 @@ static struct strategy *get_strategy(const char *name)
 
        ret = xcalloc(1, sizeof(struct strategy));
        ret->name = xstrdup(name);
+       ret->attr = NO_TRIVIAL;
        return ret;
 }
 
@@ -438,7 +439,7 @@ static void merge_name(const char *remote, struct strbuf *msg)
                strbuf_addstr(&truname, "refs/heads/");
                strbuf_addstr(&truname, remote);
                strbuf_setlen(&truname, truname.len - len);
-               if (resolve_ref(truname.buf, buf_sha, 0, NULL)) {
+               if (resolve_ref(truname.buf, buf_sha, 1, NULL)) {
                        strbuf_addf(msg,
                                    "%s\t\tbranch '%s'%s of .\n",
                                    sha1_to_hex(remote_head->sha1),
@@ -717,8 +718,7 @@ int checkout_fast_forward(const unsigned char *head, const unsigned char *remote
        opts.verbose_update = 1;
        opts.merge = 1;
        opts.fn = twoway_merge;
-       opts.show_all_errors = 1;
-       set_porcelain_error_msgs(opts.msgs, "merge");
+       setup_unpack_trees_porcelain(&opts, "merge");
 
        trees[nr_trees] = parse_tree_indirect(head);
        if (!trees[nr_trees++])