From b639fa16481cdd32f491a8267fc83a5a472f9093 Mon Sep 17 00:00:00 2001 From: Lauris BH Date: Thu, 13 Jul 2017 06:35:47 +0300 Subject: [PATCH] Ignore invalid issue numbers in commit messages. Fixes #2022 (#2150) --- models/action.go | 6 +++--- models/action_test.go | 2 +- models/issue.go | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/models/action.go b/models/action.go index 9a12e9229..852bb66d2 100644 --- a/models/action.go +++ b/models/action.go @@ -424,7 +424,7 @@ func UpdateIssuesCommit(doer *User, repo *Repository, commits []*PushCommit) err issue, err := GetIssueByRef(ref) if err != nil { - if IsErrIssueNotExist(err) || err == errMissingIssueNumber { + if IsErrIssueNotExist(err) || err == errMissingIssueNumber || err == errInvalidIssueNumber { continue } return err @@ -462,7 +462,7 @@ func UpdateIssuesCommit(doer *User, repo *Repository, commits []*PushCommit) err issue, err := GetIssueByRef(ref) if err != nil { - if IsErrIssueNotExist(err) || err == errMissingIssueNumber { + if IsErrIssueNotExist(err) || err == errMissingIssueNumber || err == errInvalidIssueNumber { continue } return err @@ -502,7 +502,7 @@ func UpdateIssuesCommit(doer *User, repo *Repository, commits []*PushCommit) err issue, err := GetIssueByRef(ref) if err != nil { - if IsErrIssueNotExist(err) || err == errMissingIssueNumber { + if IsErrIssueNotExist(err) || err == errMissingIssueNumber || err == errInvalidIssueNumber { continue } return err diff --git a/models/action_test.go b/models/action_test.go index 96ee9a5f7..431469e73 100644 --- a/models/action_test.go +++ b/models/action_test.go @@ -161,7 +161,7 @@ func TestUpdateIssuesCommit(t *testing.T) { CommitterName: "User Two", AuthorEmail: "user4@example.com", AuthorName: "User Four", - Message: "start working on #1", + Message: "start working on #FST-1, #1", }, { Sha1: "abcdef2", diff --git a/models/issue.go b/models/issue.go index db05a7d45..a8dfb3233 100644 --- a/models/issue.go +++ b/models/issue.go @@ -24,6 +24,7 @@ import ( var ( errMissingIssueNumber = errors.New("No issue number specified") + errInvalidIssueNumber = errors.New("Invalid issue number") ) // Issue represents an issue or pull request of repository. @@ -961,7 +962,7 @@ func GetIssueByRef(ref string) (*Issue, error) { index, err := com.StrTo(ref[n+1:]).Int64() if err != nil { - return nil, err + return nil, errInvalidIssueNumber } repo, err := GetRepositoryByRef(ref[:n])