From 129638117f1eed78475a041bd65097e56939caca Mon Sep 17 00:00:00 2001 From: Unknwon Date: Thu, 25 Feb 2016 14:17:55 -0500 Subject: [PATCH] #2697 fix panic when close issue via commit message --- README.md | 2 +- gogs.go | 2 +- models/action.go | 4 ++-- models/issue.go | 8 ++++---- models/pull.go | 2 +- routers/repo/issue.go | 3 +-- templates/.VERSION | 2 +- 7 files changed, 11 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 0ef29ff52..71e7a866e 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Gogs - Go Git Service [![Build Status](https://travis-ci.org/gogits/gogs.svg?bra ![](https://github.com/gogits/gogs/blob/master/public/img/gogs-large-resize.png?raw=true) -##### Current version: 0.8.44 +##### Current version: 0.8.45 | Web | UI | Preview | |:-------------:|:-------:|:-------:| diff --git a/gogs.go b/gogs.go index 1347cb440..42b5fe1f9 100644 --- a/gogs.go +++ b/gogs.go @@ -17,7 +17,7 @@ import ( "github.com/gogits/gogs/modules/setting" ) -const APP_VER = "0.8.44.0225" +const APP_VER = "0.8.45.0225" func init() { runtime.GOMAXPROCS(runtime.NumCPU()) diff --git a/models/action.go b/models/action.go index c1e23339f..678d6c609 100644 --- a/models/action.go +++ b/models/action.go @@ -368,7 +368,7 @@ func updateIssuesCommit(u *User, repo *Repository, repoUserName, repoName string continue } - if err = issue.ChangeStatus(u, true); err != nil { + if err = issue.ChangeStatus(u, repo, true); err != nil { return err } } @@ -408,7 +408,7 @@ func updateIssuesCommit(u *User, repo *Repository, repoUserName, repoName string continue } - if err = issue.ChangeStatus(u, false); err != nil { + if err = issue.ChangeStatus(u, repo, false); err != nil { return err } } diff --git a/models/issue.go b/models/issue.go index 7d7fb49a6..62db35d48 100644 --- a/models/issue.go +++ b/models/issue.go @@ -218,7 +218,7 @@ func (i *Issue) ReadBy(uid int64) error { return UpdateIssueUserByRead(uid, i.ID) } -func (i *Issue) changeStatus(e *xorm.Session, doer *User, isClosed bool) (err error) { +func (i *Issue) changeStatus(e *xorm.Session, doer *User, repo *Repository, isClosed bool) (err error) { if i.IsClosed == isClosed { return nil } @@ -251,7 +251,7 @@ func (i *Issue) changeStatus(e *xorm.Session, doer *User, isClosed bool) (err er } // New action comment. - if _, err = createStatusComment(e, doer, i.Repo, i); err != nil { + if _, err = createStatusComment(e, doer, repo, i); err != nil { return err } @@ -259,14 +259,14 @@ func (i *Issue) changeStatus(e *xorm.Session, doer *User, isClosed bool) (err er } // ChangeStatus changes issue status to open/closed. -func (i *Issue) ChangeStatus(doer *User, isClosed bool) (err error) { +func (i *Issue) ChangeStatus(doer *User, repo *Repository, isClosed bool) (err error) { sess := x.NewSession() defer sessionRelease(sess) if err = sess.Begin(); err != nil { return err } - if err = i.changeStatus(sess, doer, isClosed); err != nil { + if err = i.changeStatus(sess, doer, repo, isClosed); err != nil { return err } diff --git a/models/pull.go b/models/pull.go index 47da2dd67..276dc1bcf 100644 --- a/models/pull.go +++ b/models/pull.go @@ -138,7 +138,7 @@ func (pr *PullRequest) Merge(doer *User, baseGitRepo *git.Repository) (err error return err } - if err = pr.Issue.changeStatus(sess, doer, true); err != nil { + if err = pr.Issue.changeStatus(sess, doer, pr.Issue.Repo, true); err != nil { return fmt.Errorf("Issue.changeStatus: %v", err) } diff --git a/routers/repo/issue.go b/routers/repo/issue.go index 1188eddc2..5c7615054 100644 --- a/routers/repo/issue.go +++ b/routers/repo/issue.go @@ -914,8 +914,7 @@ func NewComment(ctx *middleware.Context, form auth.CreateCommentForm) { if pr != nil { ctx.Flash.Info(ctx.Tr("repo.pulls.open_unmerged_pull_exists", pr.Index)) } else { - issue.Repo = ctx.Repo.Repository - if err = issue.ChangeStatus(ctx.User, form.Status == "close"); err != nil { + if err = issue.ChangeStatus(ctx.User, ctx.Repo.Repository, form.Status == "close"); err != nil { log.Error(4, "ChangeStatus: %v", err) } else { log.Trace("Issue [%d] status changed to closed: %v", issue.ID, issue.IsClosed) diff --git a/templates/.VERSION b/templates/.VERSION index f44dcd5b7..748d3b702 100644 --- a/templates/.VERSION +++ b/templates/.VERSION @@ -1 +1 @@ -0.8.44.0225 \ No newline at end of file +0.8.45.0225 \ No newline at end of file