diff options
author | ᴜɴᴋɴᴡᴏɴ <u@gogs.io> | 2020-09-26 16:23:05 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-26 16:23:05 +0800 |
commit | 83a89127fdad6f551551b741c1a6967f13a02e8a (patch) | |
tree | a89002d7f4af250f3d8e517b74c7eaf478f27633 /internal/db/action.go | |
parent | 6ed98ca8f674d0e40d0c356df9a26fb3e2ff2cec (diff) |
action: fix issue reference regexp and error handling (#6352)
Diffstat (limited to 'internal/db/action.go')
-rw-r--r-- | internal/db/action.go | 12 |
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 { |