From 83a89127fdad6f551551b741c1a6967f13a02e8a Mon Sep 17 00:00:00 2001 From: ᴜɴᴋɴᴡᴏɴ Date: Sat, 26 Sep 2020 16:23:05 +0800 Subject: action: fix issue reference regexp and error handling (#6352) --- internal/db/action.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'internal/db/action.go') 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 { -- cgit v1.2.3