]> source.dussan.org Git - gitea.git/commitdiff
Ignore invalid issue numbers in commit messages. Fixes #2022 (#2150)
authorLauris BH <lauris@nix.lv>
Thu, 13 Jul 2017 03:35:47 +0000 (06:35 +0300)
committerBo-Yi Wu <appleboy.tw@gmail.com>
Thu, 13 Jul 2017 03:35:47 +0000 (22:35 -0500)
models/action.go
models/action_test.go
models/issue.go

index 9a12e9229bcf7b56049d40df2bb4d3bc5219bea7..852bb66d281622801d7165307d62eda94843b963 100644 (file)
@@ -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
index 96ee9a5f73bc87efcf7783a5f64385c11c02a58e..431469e7323646b05123ff715c35ae5396ec705e 100644 (file)
@@ -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",
index db05a7d45ca444f36273fb34b648a89270721474..a8dfb3233fbf800c7c4b42f43fde9a5e167d1c0e 100644 (file)
@@ -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])