summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--modules/context/repo.go3
-rw-r--r--modules/git/utils.go3
-rw-r--r--routers/web/repo/issue.go4
-rw-r--r--services/issue/issue.go3
4 files changed, 11 insertions, 2 deletions
diff --git a/modules/context/repo.go b/modules/context/repo.go
index c363c36994..1a83c49e95 100644
--- a/modules/context/repo.go
+++ b/modules/context/repo.go
@@ -1089,6 +1089,9 @@ func (ctx *Context) IssueTemplatesErrorsFromDefaultBranch() ([]*api.IssueTemplat
if it, err := template.UnmarshalFromEntry(entry, dirName); err != nil {
invalidFiles[fullName] = err
} else {
+ if !strings.HasPrefix(it.Ref, "refs/") { // Assume that the ref intended is always a branch - for tags users should use refs/tags/<ref>
+ it.Ref = git.BranchPrefix + it.Ref
+ }
issueTemplates = append(issueTemplates, it)
}
}
diff --git a/modules/git/utils.go b/modules/git/utils.go
index d6bf9f4413..a439dabae1 100644
--- a/modules/git/utils.go
+++ b/modules/git/utils.go
@@ -100,6 +100,9 @@ func RefURL(repoURL, ref string) string {
return repoURL + "/src/branch/" + refName
case strings.HasPrefix(ref, TagPrefix):
return repoURL + "/src/tag/" + refName
+ case !IsValidSHAPattern(ref):
+ // assume they mean a branch
+ return repoURL + "/src/branch/" + refName
default:
return repoURL + "/src/commit/" + refName
}
diff --git a/routers/web/repo/issue.go b/routers/web/repo/issue.go
index a62084fdca..318d9af703 100644
--- a/routers/web/repo/issue.go
+++ b/routers/web/repo/issue.go
@@ -784,6 +784,10 @@ func setTemplateIfExists(ctx *context.Context, ctxDataKey string, possibleFiles
}
}
}
+
+ }
+ if !strings.HasPrefix(template.Ref, "refs/") { // Assume that the ref intended is always a branch - for tags users should use refs/tags/<ref>
+ template.Ref = git.BranchPrefix + template.Ref
}
ctx.Data["HasSelectedLabel"] = len(labelIDs) > 0
ctx.Data["label_ids"] = strings.Join(labelIDs, ",")
diff --git a/services/issue/issue.go b/services/issue/issue.go
index ba9b17a0c8..9ec43f8264 100644
--- a/services/issue/issue.go
+++ b/services/issue/issue.go
@@ -18,7 +18,6 @@ import (
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/notification"
"code.gitea.io/gitea/modules/storage"
- "code.gitea.io/gitea/modules/util"
)
// NewIssue creates new issue with labels for repository.
@@ -201,7 +200,7 @@ func GetRefEndNamesAndURLs(issues []*issues_model.Issue, repoLink string) (map[i
for _, issue := range issues {
if issue.Ref != "" {
issueRefEndNames[issue.ID] = git.RefEndName(issue.Ref)
- issueRefURLs[issue.ID] = git.RefURL(repoLink, util.PathEscapeSegments(issue.Ref))
+ issueRefURLs[issue.ID] = git.RefURL(repoLink, issue.Ref)
}
}
return issueRefEndNames, issueRefURLs