@@ -3749,7 +3749,7 @@ static int do_merge(struct repository *r,
3749
3749
int run_commit_flags = 0 ;
3750
3750
struct strbuf ref_name = STRBUF_INIT ;
3751
3751
struct commit * head_commit , * merge_commit , * i ;
3752
- struct commit_list * bases , * j , * reversed = NULL ;
3752
+ struct commit_list * bases , * j ;
3753
3753
struct commit_list * to_merge = NULL , * * tail = & to_merge ;
3754
3754
const char * strategy = !opts -> xopts_nr &&
3755
3755
(!opts -> strategy ||
@@ -3984,9 +3984,7 @@ static int do_merge(struct repository *r,
3984
3984
git_path_merge_head (r ), 0 );
3985
3985
write_message ("no-ff" , 5 , git_path_merge_mode (r ), 0 );
3986
3986
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 );
3990
3988
3991
3989
repo_read_index (r );
3992
3990
init_merge_options (& o , r );
@@ -4002,10 +4000,10 @@ static int do_merge(struct repository *r,
4002
4000
* update the index and working copy immediately.
4003
4001
*/
4004
4002
ret = merge_ort_recursive (& o ,
4005
- head_commit , merge_commit , reversed ,
4003
+ head_commit , merge_commit , bases ,
4006
4004
& i );
4007
4005
} else {
4008
- ret = merge_recursive (& o , head_commit , merge_commit , reversed ,
4006
+ ret = merge_recursive (& o , head_commit , merge_commit , bases ,
4009
4007
& i );
4010
4008
}
4011
4009
if (ret <= 0 )
0 commit comments