diff options
-rw-r--r-- | models/issue.go | 7 | ||||
-rw-r--r-- | routers/repo/pull.go | 3 |
2 files changed, 5 insertions, 5 deletions
diff --git a/models/issue.go b/models/issue.go index 9810a259..fff33cf3 100644 --- a/models/issue.go +++ b/models/issue.go @@ -903,16 +903,15 @@ func (pr *PullRequest) AfterSet(colName string, _ xorm.Cell) { } // Merge merges pull request to base repository. -func (pr *PullRequest) Merge(baseGitRepo *git.Repository) (err error) { +func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository) (err error) { sess := x.NewSession() defer sessionRelease(sess) if err = sess.Begin(); err != nil { return err } - pr.Pull.IsClosed = true - if _, err = sess.Id(pr.Pull.ID).AllCols().Update(pr.Pull); err != nil { - return fmt.Errorf("update pull: %v", err) + if err = pr.Pull.changeStatus(sess, doer, true); err != nil { + return fmt.Errorf("Pull.changeStatus: %v", err) } headRepoPath := RepoPath(pr.HeadUserName, pr.HeadRepo.Name) diff --git a/routers/repo/pull.go b/routers/repo/pull.go index b55d928b..caa651c6 100644 --- a/routers/repo/pull.go +++ b/routers/repo/pull.go @@ -381,7 +381,8 @@ func MergePullRequest(ctx *middleware.Context) { } pr.Pull = pull - if err = pr.Merge(ctx.Repo.GitRepo); err != nil { + pr.Pull.Repo = ctx.Repo.Repository + if err = pr.Merge(ctx.User, ctx.Repo.GitRepo); err != nil { ctx.Handle(500, "GetPullRequestByPullID", err) return } |