]> git.ipfire.org Git - thirdparty/git.git/blobdiff - sequencer.c
Merge branch 'js/in-place-reverse-in-sequencer'
[thirdparty/git.git] / sequencer.c
index 84eed9e96bc11533a5be1ac2b75ed64661cd3c37..a1bb39383db9ff3319c66faa357463e0c32c3257 100644 (file)
@@ -3749,7 +3749,7 @@ static int do_merge(struct repository *r,
        int run_commit_flags = 0;
        struct strbuf ref_name = STRBUF_INIT;
        struct commit *head_commit, *merge_commit, *i;
-       struct commit_list *bases, *j, *reversed = NULL;
+       struct commit_list *bases, *j;
        struct commit_list *to_merge = NULL, **tail = &to_merge;
        const char *strategy = !opts->xopts_nr &&
                (!opts->strategy ||
@@ -3984,9 +3984,7 @@ static int do_merge(struct repository *r,
                      git_path_merge_head(r), 0);
        write_message("no-ff", 5, git_path_merge_mode(r), 0);
 
-       for (j = bases; j; j = j->next)
-               commit_list_insert(j->item, &reversed);
-       free_commit_list(bases);
+       bases = reverse_commit_list(bases);
 
        repo_read_index(r);
        init_merge_options(&o, r);
@@ -4002,10 +4000,10 @@ static int do_merge(struct repository *r,
                 * update the index and working copy immediately.
                 */
                ret = merge_ort_recursive(&o,
-                                         head_commit, merge_commit, reversed,
+                                         head_commit, merge_commit, bases,
                                          &i);
        } else {
-               ret = merge_recursive(&o, head_commit, merge_commit, reversed,
+               ret = merge_recursive(&o, head_commit, merge_commit, bases,
                                      &i);
        }
        if (ret <= 0)