Bläddra i källkod

models/action: skip issue index parsing while using external issue tracker (#5551)

Unknwon 6 år sedan
förälder
incheckning
d74437af57
4 ändrade filer med 13 tillägg och 15 borttagningar
  1. 1 1
      gogs.go
  2. 8 10
      models/action.go
  3. 3 3
      models/issue.go
  4. 1 1
      templates/.VERSION

+ 1 - 1
gogs.go

@@ -16,7 +16,7 @@ import (
 	"github.com/gogs/gogs/pkg/setting"
 )
 
-const APP_VER = "0.11.80.1216"
+const APP_VER = "0.11.81.1217"
 
 func init() {
 	setting.AppVer = APP_VER

+ 8 - 10
models/action.go

@@ -58,20 +58,15 @@ var (
 	IssueCloseKeywords  = []string{"close", "closes", "closed", "fix", "fixes", "fixed", "resolve", "resolves", "resolved"}
 	IssueReopenKeywords = []string{"reopen", "reopens", "reopened"}
 
-	IssueCloseKeywordsPat, IssueReopenKeywordsPat *regexp.Regexp
-	IssueReferenceKeywordsPat                     *regexp.Regexp
+	IssueCloseKeywordsPat     = regexp.MustCompile(assembleKeywordsPattern(IssueCloseKeywords))
+	IssueReopenKeywordsPat    = regexp.MustCompile(assembleKeywordsPattern(IssueReopenKeywords))
+	IssueReferenceKeywordsPat = regexp.MustCompile(`(?i)(?:)(^| )\S+`)
 )
 
 func assembleKeywordsPattern(words []string) string {
 	return fmt.Sprintf(`(?i)(?:%s) \S+`, strings.Join(words, "|"))
 }
 
-func init() {
-	IssueCloseKeywordsPat = regexp.MustCompile(assembleKeywordsPattern(IssueCloseKeywords))
-	IssueReopenKeywordsPat = regexp.MustCompile(assembleKeywordsPattern(IssueReopenKeywords))
-	IssueReferenceKeywordsPat = regexp.MustCompile(`(?i)(?:)(^| )\S+`)
-}
-
 // Action represents user operation type and other information to repository,
 // it implemented interface base.Actioner so that can be used in template render.
 type Action struct {
@@ -492,8 +487,11 @@ func CommitRepoAction(opts CommitRepoActionOptions) error {
 			opts.Commits.CompareURL = repo.ComposeCompareURL(opts.OldCommitID, opts.NewCommitID)
 		}
 
-		if err = UpdateIssuesCommit(pusher, repo, opts.Commits.Commits); err != nil {
-			log.Error(2, "UpdateIssuesCommit: %v", err)
+		// Only update issues via commits when internal issue tracker is enabled
+		if repo.EnableIssues && !repo.EnableExternalTracker {
+			if err = UpdateIssuesCommit(pusher, repo, opts.Commits.Commits); err != nil {
+				log.Error(2, "UpdateIssuesCommit: %v", err)
+			}
 		}
 	}
 

+ 3 - 3
models/issue.go

@@ -804,9 +804,9 @@ func GetIssueByRef(ref string) (*Issue, error) {
 		return nil, errors.InvalidIssueReference{ref}
 	}
 
-	index, err := com.StrTo(ref[n+1:]).Int64()
-	if err != nil {
-		return nil, err
+	index := com.StrTo(ref[n+1:]).MustInt64()
+	if index == 0 {
+		return nil, errors.IssueNotExist{}
 	}
 
 	repo, err := GetRepositoryByRef(ref[:n])

+ 1 - 1
templates/.VERSION

@@ -1 +1 @@
-0.11.80.1216
+0.11.81.1217