diff --git a/routers/web/repo/release.go b/routers/web/repo/release.go
index 1998bd8ccd..79f3181ba0 100644
--- a/routers/web/repo/release.go
+++ b/routers/web/repo/release.go
@@ -184,6 +184,11 @@ func Releases(ctx *context.Context) {
ctx.ServerError("getReleaseInfos", err)
return
}
+ for _, rel := range releases {
+ if rel.Release.IsTag && rel.Release.Title == "" {
+ rel.Release.Title = rel.Release.TagName
+ }
+ }
ctx.Data["Releases"] = releases
@@ -295,6 +300,9 @@ func SingleRelease(ctx *context.Context) {
}
release := releases[0].Release
+ if release.IsTag && release.Title == "" {
+ release.Title = release.TagName
+ }
ctx.Data["PageIsSingleTag"] = release.IsTag
if release.IsTag {
diff --git a/templates/repo/release/list.tmpl b/templates/repo/release/list.tmpl
index 6dbeb741db..d533cf6757 100644
--- a/templates/repo/release/list.tmpl
+++ b/templates/repo/release/list.tmpl
@@ -24,7 +24,7 @@
{{ctx.Locale.Tr "repo.release.draft"}}
{{else if $release.IsPrerelease}}
{{ctx.Locale.Tr "repo.release.prerelease"}}
- {{else}}
+ {{else if (not $release.IsTag)}}
{{ctx.Locale.Tr "repo.release.stable"}}
{{end}}
diff --git a/tests/integration/repo_tag_test.go b/tests/integration/repo_tag_test.go
index 60c73ae63e..3fa3454343 100644
--- a/tests/integration/repo_tag_test.go
+++ b/tests/integration/repo_tag_test.go
@@ -7,6 +7,7 @@ package integration
import (
"net/http"
"net/url"
+ "strings"
"testing"
"code.gitea.io/gitea/models"
@@ -56,6 +57,13 @@ func TestTagViewWithoutRelease(t *testing.T) {
// Test that the release sub-menu isn't active
releaseLink := htmlDoc.Find(".small-menu-items .item[href*='/releases']")
assert.False(t, releaseLink.HasClass("active"))
+
+ // Test that the title is displayed
+ releaseTitle := strings.TrimSpace(htmlDoc.Find("h4.release-list-title > a").Text())
+ assert.Equal(t, "no-release", releaseTitle)
+
+ // Test that there is no "Stable" link
+ htmlDoc.AssertElement(t, "h4.release-list-title > span.ui.green.label", false)
}
func TestCreateNewTagProtected(t *testing.T) {