mirror of
https://github.com/go-gitea/gitea
synced 2025-07-22 18:28:37 +00:00
Fix a bug returning 404 when display a single tag with no release (#29466)
Partially caused by #29149 When use ```go releases, err := getReleaseInfos(ctx, &repo_model.FindReleasesOptions{ ListOptions: db.ListOptions{Page: 1, PageSize: 1}, RepoID: ctx.Repo.Repository.ID, TagNames: []string{ctx.Params("*")}, // only show draft releases for users who can write, read-only users shouldn't see draft releases. IncludeDrafts: writeAccess, }) ``` replace ```go release, err := repo_model.GetRelease(ctx, ctx.Repo.Repository.ID, ctx.Params("*")) ``` It missed `IncludeTags: true,`. That means this bug will be occupied only when the release is a tag. This PR will fix - Get the right tag record when it's not a release - Display correct tag tab but not release tag when it's a tag. - The button will bring the tag name to the new page when it's a single tag page - the new page will automatically hide the release target inputbox when the tag name is pre filled. This should be backport to v1.21.
This commit is contained in:
@@ -185,6 +185,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
|
||||
|
||||
@@ -283,6 +288,7 @@ func SingleRelease(ctx *context.Context) {
|
||||
TagNames: []string{ctx.Params("*")},
|
||||
// only show draft releases for users who can write, read-only users shouldn't see draft releases.
|
||||
IncludeDrafts: writeAccess,
|
||||
IncludeTags: true,
|
||||
})
|
||||
if err != nil {
|
||||
ctx.ServerError("getReleaseInfos", err)
|
||||
@@ -294,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 {
|
||||
|
Reference in New Issue
Block a user