@@ -3749,7 +3749,7 @@ static int do_merge(struct repository *r,
37493749 int run_commit_flags = 0 ;
37503750 struct strbuf ref_name = STRBUF_INIT ;
37513751 struct commit * head_commit , * merge_commit , * i ;
3752- struct commit_list * bases , * j , * reversed = NULL ;
3752+ struct commit_list * bases , * j ;
37533753 struct commit_list * to_merge = NULL , * * tail = & to_merge ;
37543754 const char * strategy = !opts -> xopts_nr &&
37553755 (!opts -> strategy ||
@@ -3984,9 +3984,7 @@ static int do_merge(struct repository *r,
39843984 git_path_merge_head (r ), 0 );
39853985 write_message ("no-ff" , 5 , git_path_merge_mode (r ), 0 );
39863986
3987- for (j = bases ; j ; j = j -> next )
3988- commit_list_insert (j -> item , & reversed );
3989- free_commit_list (bases );
3987+ bases = reverse_commit_list (bases );
39903988
39913989 repo_read_index (r );
39923990 init_merge_options (& o , r );
@@ -4002,10 +4000,10 @@ static int do_merge(struct repository *r,
40024000 * update the index and working copy immediately.
40034001 */
40044002 ret = merge_ort_recursive (& o ,
4005- head_commit , merge_commit , reversed ,
4003+ head_commit , merge_commit , bases ,
40064004 & i );
40074005 } else {
4008- ret = merge_recursive (& o , head_commit , merge_commit , reversed ,
4006+ ret = merge_recursive (& o , head_commit , merge_commit , bases ,
40094007 & i );
40104008 }
40114009 if (ret <= 0 )
0 commit comments