@@ -633,16 +633,8 @@ func MergedManually(ctx context.Context, pr *issues_model.PullRequest, doer *use
633633 return fmt .Errorf ("Wrong commit ID" )
634634 }
635635
636- pr .MergedCommitID = commitID
637- pr .MergedUnix = timeutil .TimeStamp (commit .Author .When .Unix ())
638- pr .Status = issues_model .PullRequestStatusManuallyMerged
639- pr .Merger = doer
640- pr .MergerID = doer .ID
641- // reset the conflicted files as there cannot be any if we're merged
642- pr .ConflictedFiles = []string {}
643-
644636 var merged bool
645- if merged , err = SetMerged (ctx , pr ); err != nil {
637+ if merged , err = SetMerged (ctx , pr , commitID , timeutil . TimeStamp ( commit . Author . When . Unix ()), doer , issues_model . PullRequestStatusManuallyMerged ); err != nil {
646638 return err
647639 } else if ! merged {
648640 return fmt .Errorf ("SetMerged failed" )
@@ -661,16 +653,24 @@ func MergedManually(ctx context.Context, pr *issues_model.PullRequest, doer *use
661653}
662654
663655// SetMerged sets a pull request to merged and closes the corresponding issue
664- func SetMerged (ctx context.Context , pr * issues_model.PullRequest ) (bool , error ) {
656+ func SetMerged (ctx context.Context , pr * issues_model.PullRequest , mergedCommitID string , mergedTimeStamp timeutil. TimeStamp , merger * user_model. User , mergeStatus issues_model. PullRequestStatus ) (bool , error ) {
665657 if pr .HasMerged {
666658 return false , fmt .Errorf ("PullRequest[%d] already merged" , pr .Index )
667659 }
660+
661+ pr .HasMerged = true
662+ pr .MergedCommitID = mergedCommitID
663+ pr .MergedUnix = mergedTimeStamp
664+ pr .Merger = merger
665+ pr .MergerID = merger .ID
666+ pr .Status = mergeStatus
667+ // reset the conflicted files as there cannot be any if we're merged
668+ pr .ConflictedFiles = []string {}
669+
668670 if pr .MergedCommitID == "" || pr .MergedUnix == 0 || pr .Merger == nil {
669671 return false , fmt .Errorf ("unable to merge PullRequest[%d], some required fields are empty" , pr .Index )
670672 }
671673
672- pr .HasMerged = true
673-
674674 ctx , committer , err := db .TxContext (ctx )
675675 if err != nil {
676676 return false , err
0 commit comments