aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--models/issue.go7
-rw-r--r--routers/repo/pull.go3
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
}