From b78c955958301dde72d8caf189531f6e53c496b4 Mon Sep 17 00:00:00 2001 From: Wiktor Kwapisiewicz Date: Mon, 27 Mar 2023 15:41:33 +0200 Subject: [PATCH] Fix tags view (#23243) This PR fixes several issues reported in https://github.com/go-gitea/gitea/issues/23221. It does three things: 1. Fixes the `DefaultBranch` variable that has not been set. 2. Sets `Title` and `Message` for newly created tags from the Tag message. This makes it easier to create releases from tags that have messages and for those that don't it doesn't have any effect. 3. Makes UI changes so that tags look more like proper releases. Before: ![2023-03-02-12-31-19](https://user-images.githubusercontent.com/1718963/222416890-941a74d4-9cd0-4c45-a59e-199d2580cd8c.png) After: ![2023-03-02-12-31-31](https://user-images.githubusercontent.com/1718963/222416919-abce2009-8955-4cd0-9bed-1374582e04f7.png) I purposefully didn't reformat the template so that the diff is cleaner but can do so if that's welcome. Thanks for your time! --------- Signed-off-by: Wiktor Kwapisiewicz --- options/locale/locale_en-US.ini | 2 ++ routers/web/repo/release.go | 8 ++++- services/repository/push.go | 9 +++-- templates/repo/release/list.tmpl | 62 ++++++++++++-------------------- 4 files changed, 38 insertions(+), 43 deletions(-) diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 12dcd6e01..d09ea2694 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -1068,6 +1068,7 @@ release = Release releases = Releases tag = Tag released_this = released this +tagged_this = tagged this file.title = %s at %s file_raw = Raw file_history = History @@ -2287,6 +2288,7 @@ release.compare = Compare release.edit = edit release.ahead.commits = %d commits release.ahead.target = to %s since this release +tag.ahead.target = to %s since this tag release.source_code = Source Code release.new_subheader = Releases organize project versions. release.edit_subheader = Releases organize project versions. diff --git a/routers/web/repo/release.go b/routers/web/repo/release.go index e969fdc5a..3ffadd34a 100644 --- a/routers/web/repo/release.go +++ b/routers/web/repo/release.go @@ -226,8 +226,8 @@ func releasesOrTagsFeed(ctx *context.Context, isReleasesOnly bool, formatType st // SingleRelease renders a single release's page func SingleRelease(ctx *context.Context) { - ctx.Data["Title"] = ctx.Tr("repo.release.releases") ctx.Data["PageIsReleaseList"] = true + ctx.Data["DefaultBranch"] = ctx.Repo.Repository.DefaultBranch writeAccess := ctx.Repo.CanWrite(unit.TypeReleases) ctx.Data["CanCreateRelease"] = writeAccess && !ctx.Repo.Repository.IsArchived @@ -241,6 +241,12 @@ func SingleRelease(ctx *context.Context) { ctx.ServerError("GetReleasesByRepoID", err) return } + ctx.Data["PageIsSingleTag"] = release.IsTag + if release.IsTag { + ctx.Data["Title"] = release.TagName + } else { + ctx.Data["Title"] = release.Title + } err = repo_model.GetReleaseAttachments(ctx, release) if err != nil { diff --git a/services/repository/push.go b/services/repository/push.go index 4b574e344..7f174c71b 100644 --- a/services/repository/push.go +++ b/services/repository/push.go @@ -374,15 +374,20 @@ func pushUpdateAddTags(ctx context.Context, repo *repo_model.Repository, gitRepo rel, has := relMap[lowerTag] if !has { + parts := strings.SplitN(tag.Message, "\n", 2) + note := "" + if len(parts) > 1 { + note = parts[1] + } rel = &repo_model.Release{ RepoID: repo.ID, - Title: "", + Title: parts[0], TagName: tags[i], LowerTagName: lowerTag, Target: "", Sha1: commit.ID.String(), NumCommits: commitsCount, - Note: "", + Note: note, IsDraft: false, IsPrerelease: false, IsTag: true, diff --git a/templates/repo/release/list.tmpl b/templates/repo/release/list.tmpl index 8b320a956..5e5716fa5 100644 --- a/templates/repo/release/list.tmpl +++ b/templates/repo/release/list.tmpl @@ -5,10 +5,10 @@ {{template "base/alert" .}} {{if .EnableFeed}} @@ -35,7 +35,7 @@

- {{.TagName}} + {{.TagName}}

{{if $.Permission.CanRead $.UnitTypeCode}} @@ -69,9 +69,6 @@ {{range $idx, $release := .Releases}}
  • - {{if .IsTag}} - {{if .CreatedUnix}}{{TimeSinceUnix .CreatedUnix $.locale}}{{end}} - {{else}} {{svg "octicon-tag" 16 "gt-mr-2"}}{{.TagName}} {{if .Sha1}} @@ -79,41 +76,8 @@ {{template "repo/branch_dropdown" dict "root" $ "release" .}} {{end}} - {{end}}
    - {{if .IsTag}} - -

    - {{if gt .Publisher.ID 0}} - - {{avatar $.Context .Publisher 20}} - {{.Publisher.Name}} - - - {{$.locale.Tr "repo.released_this"}} - - {{if .CreatedUnix}} - {{TimeSinceUnix .CreatedUnix $.locale}} - {{end}} - | - {{end}} - {{$.locale.Tr "repo.release.ahead.commits" .NumCommitsBehind | Str2html}} {{$.locale.Tr "repo.release.ahead.target" $.DefaultBranch}} -

    -
    - {{if $.Permission.CanRead $.UnitTypeCode}} - {{svg "octicon-git-commit" 16 "gt-mr-2"}}{{ShortSha .Sha1}} - {{if not $.DisableDownloadSourceArchives}} - {{svg "octicon-file-zip"}} ZIP - {{svg "octicon-file-zip"}} TAR.GZ - {{end}} - {{end}} -
    - {{else}}

    {{.Title}} @@ -133,6 +97,24 @@ {{end}}

    + {{if .IsTag}} +

    + {{if gt .Publisher.ID 0}} + + {{avatar $.Context .Publisher 20}} + {{.Publisher.Name}} + + + {{$.locale.Tr "repo.tagged_this"}} + + {{if .CreatedUnix}} + {{TimeSinceUnix .CreatedUnix $.locale}} + {{end}} + | + {{end}} + {{$.locale.Tr "repo.release.ahead.commits" .NumCommitsBehind | Str2html}} {{$.locale.Tr "repo.tag.ahead.target" $.DefaultBranch}} +

    + {{else}}

    {{if .OriginalAuthor}} @@ -154,6 +136,7 @@ | {{$.locale.Tr "repo.release.ahead.commits" .NumCommitsBehind | Str2html}} {{$.locale.Tr "repo.release.ahead.target" .Target}} {{end}}

    + {{end}}
    {{Str2html .Note}}
    @@ -187,7 +170,6 @@ {{end}} - {{end}}