From cc27b50bdf9d1e2b02c91d7c4d338e01408e8522 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Sat, 2 Mar 2024 22:03:39 +0800 Subject: 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. --- tests/integration/links_test.go | 1 + 1 file changed, 1 insertion(+) (limited to 'tests') diff --git a/tests/integration/links_test.go b/tests/integration/links_test.go index a3937dd697..d103e2b0a9 100644 --- a/tests/integration/links_test.go +++ b/tests/integration/links_test.go @@ -36,6 +36,7 @@ func TestLinksNoLogin(t *testing.T) { "/user2/repo1/", "/user2/repo1/projects", "/user2/repo1/projects/1", + "/user2/repo1/releases/tag/delete-tag", // It's the only one existing record on release.yml which has is_tag: true "/assets/img/404.png", "/assets/img/500.png", "/.well-known/security.txt", -- cgit v1.2.3