aboutsummaryrefslogtreecommitdiff
path: root/internal/db/action.go
diff options
context:
space:
mode:
authorᴜɴᴋɴᴡᴏɴ <u@gogs.io>2020-09-26 16:23:05 +0800
committerGitHub <noreply@github.com>2020-09-26 16:23:05 +0800
commit83a89127fdad6f551551b741c1a6967f13a02e8a (patch)
treea89002d7f4af250f3d8e517b74c7eaf478f27633 /internal/db/action.go
parent6ed98ca8f674d0e40d0c356df9a26fb3e2ff2cec (diff)
action: fix issue reference regexp and error handling (#6352)
Diffstat (limited to 'internal/db/action.go')
-rw-r--r--internal/db/action.go12
1 files changed, 6 insertions, 6 deletions
diff --git a/internal/db/action.go b/internal/db/action.go
index d744162f..b44af9c7 100644
--- a/internal/db/action.go
+++ b/internal/db/action.go
@@ -57,9 +57,9 @@ var (
IssueCloseKeywords = []string{"close", "closes", "closed", "fix", "fixes", "fixed", "resolve", "resolves", "resolved"}
IssueReopenKeywords = []string{"reopen", "reopens", "reopened"}
- IssueCloseKeywordsPat = lazyregexp.New(assembleKeywordsPattern(IssueCloseKeywords))
- IssueReopenKeywordsPat = lazyregexp.New(assembleKeywordsPattern(IssueReopenKeywords))
- IssueReferenceKeywordsPat = lazyregexp.New(`(?i)(?:)(^| )\S+`)
+ IssueCloseKeywordsPat = lazyregexp.New(assembleKeywordsPattern(IssueCloseKeywords))
+ IssueReopenKeywordsPat = lazyregexp.New(assembleKeywordsPattern(IssueReopenKeywords))
+ issueReferencePattern = lazyregexp.New(`(?i)(?:)(^| )\S*#\d+`)
)
func assembleKeywordsPattern(words []string) string {
@@ -321,8 +321,8 @@ func UpdateIssuesCommit(doer *User, repo *Repository, commits []*PushCommit) err
c := commits[i]
refMarked := make(map[int64]bool)
- for _, ref := range IssueReferenceKeywordsPat.FindAllString(c.Message, -1) {
- ref = ref[strings.IndexByte(ref, byte(' '))+1:]
+ for _, ref := range issueReferencePattern.FindAllString(c.Message, -1) {
+ ref = strings.TrimSpace(ref)
ref = strings.TrimRightFunc(ref, issueIndexTrimRight)
if len(ref) == 0 {
@@ -455,7 +455,7 @@ type CommitRepoActionOptions struct {
Commits *PushCommits
}
-// CommitRepoAction adds new commit actio to the repository, and prepare corresponding webhooks.
+// CommitRepoAction adds new commit action to the repository, and prepare corresponding webhooks.
func CommitRepoAction(opts CommitRepoActionOptions) error {
pusher, err := GetUserByName(opts.PusherName)
if err != nil {