]> source.dussan.org Git - gitea.git/commitdiff
Fix tags view (#23243)
authorWiktor Kwapisiewicz <wiktor@metacode.biz>
Mon, 27 Mar 2023 13:41:33 +0000 (15:41 +0200)
committerGitHub <noreply@github.com>
Mon, 27 Mar 2023 13:41:33 +0000 (21:41 +0800)
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 <wiktor@metacode.biz>
options/locale/locale_en-US.ini
routers/web/repo/release.go
services/repository/push.go
templates/repo/release/list.tmpl

index 12dcd6e0172f39dc425a196d5b7ed87acf4d0ff0..d09ea26942b4df51e6fc8f7bbae0e3e04a99b91b 100644 (file)
@@ -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 = <strong>%d</strong> 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.
index e969fdc5ab377096f4a6720f219fccd7eb7b01ac..3ffadd34ace7b9be204261a89f031eb23f2e6c6f 100644 (file)
@@ -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 {
index 4b574e3440679f825f76b038ae81e1fe9a173bec..7f174c71b3f86644e6021bef516d8588dbe95504 100644 (file)
@@ -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,
index 8b320a956c1833dbb300b1cfc67ad0df3bfea7ca..5e5716fa573c52554758f0821a1999b778a1ed55 100644 (file)
@@ -5,10 +5,10 @@
                {{template "base/alert" .}}
                <h2 class="ui compact small menu header">
                        {{if .Permission.CanRead $.UnitTypeReleases}}
-                               <a class="{{if (not .PageIsTagList)}}active {{end}}item" href="{{.RepoLink}}/releases">{{.locale.Tr "repo.release.releases"}}</a>
+                               <a class="{{if (and (not .PageIsSingleTag) (not .PageIsTagList))}}active {{end}}item" href="{{.RepoLink}}/releases">{{.locale.Tr "repo.release.releases"}}</a>
                        {{end}}
                        {{if .Permission.CanRead $.UnitTypeCode}}
-                               <a class="{{if .PageIsTagList}}active {{end}}item" href="{{.RepoLink}}/tags">{{.locale.Tr "repo.release.tags"}}</a>
+                               <a class="{{if (or .PageIsSingleTag .PageIsTagList)}}active {{end}}item" href="{{.RepoLink}}/tags">{{.locale.Tr "repo.release.tags"}}</a>
                        {{end}}
                </h2>
                {{if .EnableFeed}}
@@ -35,7 +35,7 @@
                                                <tr>
                                                        <td class="tag">
                                                                <h3 class="release-tag-name gt-mb-3">
-                                                                       <a class="gt-df gt-ac" href="{{$.RepoLink}}/src/tag/{{.TagName | PathEscapeSegments}}" rel="nofollow">{{.TagName}}</a>
+                                                                       <a class="gt-df gt-ac" href="{{$.RepoLink}}/releases/tag/{{.TagName | PathEscapeSegments}}" rel="nofollow">{{.TagName}}</a>
                                                                </h3>
                                                                <div class="download gt-df gt-ac">
                                                                        {{if $.Permission.CanRead $.UnitTypeCode}}
@@ -69,9 +69,6 @@
                        {{range $idx, $release := .Releases}}
                                <li class="ui grid">
                                        <div class="ui four wide column meta gt-mt-2">
-                                               {{if .IsTag}}
-                                                       {{if .CreatedUnix}}<span class="time">{{TimeSinceUnix .CreatedUnix $.locale}}</span>{{end}}
-                                               {{else}}
                                                        <a class="gt-df gt-ac gt-je muted" href="{{if not .Sha1}}#{{else}}{{$.RepoLink}}/src/tag/{{.TagName | PathEscapeSegments}}{{end}}" rel="nofollow">{{svg "octicon-tag" 16 "gt-mr-2"}}{{.TagName}}</a>
                                                        {{if .Sha1}}
                                                                <span class="commit">
                                                                </span>
                                                                {{template "repo/branch_dropdown" dict "root" $ "release" .}}
                                                        {{end}}
-                                               {{end}}
                                        </div>
                                        <div class="ui twelve wide column detail">
-                                               {{if .IsTag}}
-                                                       <div class="gt-df gt-ac gt-sb gt-fw gt-mb-3">
-                                                               <h4 class="release-list-title gt-df gt-ac">
-                                                                       <a class="gt-df gt-ac" href="{{$.RepoLink}}/src/tag/{{.TagName | PathEscapeSegments}}" rel="nofollow">{{svg "octicon-tag" 24 "gt-mr-3"}}{{.TagName}}</a>
-                                                               </h4>
-                                                       </div>
-                                                       <p class="text grey">
-                                                               {{if gt .Publisher.ID 0}}
-                                                               <span class="author">
-                                                                       {{avatar $.Context .Publisher 20}}
-                                                                       <a href="{{.Publisher.HomeLink}}">{{.Publisher.Name}}</a>
-                                                               </span>
-                                                               <span class="released">
-                                                                       {{$.locale.Tr "repo.released_this"}}
-                                                               </span>
-                                                               {{if .CreatedUnix}}
-                                                                       <span class="time">{{TimeSinceUnix .CreatedUnix $.locale}}</span>
-                                                               {{end}}
-                                                               |
-                                                               {{end}}
-                                                               <span class="ahead"><a href="{{$.RepoLink}}/compare/{{.TagName | PathEscapeSegments}}{{if .Target}}...{{.Target | PathEscapeSegments}}{{end}}">{{$.locale.Tr "repo.release.ahead.commits" .NumCommitsBehind | Str2html}}</a> {{$.locale.Tr "repo.release.ahead.target" $.DefaultBranch}}</span>
-                                                       </p>
-                                                       <div class="download">
-                                                       {{if $.Permission.CanRead $.UnitTypeCode}}
-                                                               <a class="gt-mono muted" href="{{$.RepoLink}}/src/commit/{{.Sha1}}" rel="nofollow">{{svg "octicon-git-commit" 16 "gt-mr-2"}}{{ShortSha .Sha1}}</a>
-                                                               {{if not $.DisableDownloadSourceArchives}}
-                                                                       <a class="archive-link muted" href="{{$.RepoLink}}/archive/{{.TagName | PathEscapeSegments}}.zip" rel="nofollow">{{svg "octicon-file-zip"}}&nbsp;ZIP</a>
-                                                                       <a class="archive-link muted" href="{{$.RepoLink}}/archive/{{.TagName | PathEscapeSegments}}.tar.gz" rel="nofollow">{{svg "octicon-file-zip"}}&nbsp;TAR.GZ</a>
-                                                               {{end}}
-                                                       {{end}}
-                                                       </div>
-                                               {{else}}
                                                        <div class="gt-df gt-ac gt-sb gt-fw gt-mb-3">
                                                                <h4 class="release-list-title gt-df gt-ac">
                                                                        <a href="{{$.RepoLink}}/releases/tag/{{.TagName | PathEscapeSegments}}">{{.Title}}</a>
                                                                        {{end}}
                                                                </div>
                                                        </div>
+                                               {{if .IsTag}}
+                                                       <p class="text grey">
+                                                               {{if gt .Publisher.ID 0}}
+                                                               <span class="author">
+                                                                       {{avatar $.Context .Publisher 20}}
+                                                                       <a href="{{.Publisher.HomeLink}}">{{.Publisher.Name}}</a>
+                                                               </span>
+                                                               <span class="released">
+                                                                       {{$.locale.Tr "repo.tagged_this"}}
+                                                               </span>
+                                                               {{if .CreatedUnix}}
+                                                                       <span class="time">{{TimeSinceUnix .CreatedUnix $.locale}}</span>
+                                                               {{end}}
+                                                               |
+                                                               {{end}}
+                                                               <span class="ahead"><a href="{{$.RepoLink}}/compare/{{.TagName | PathEscapeSegments}}{{if .Target}}...{{.Target | PathEscapeSegments}}{{end}}">{{$.locale.Tr "repo.release.ahead.commits" .NumCommitsBehind | Str2html}}</a> {{$.locale.Tr "repo.tag.ahead.target" $.DefaultBranch}}</span>
+                                                       </p>
+                                               {{else}}
                                                        <p class="text grey">
                                                                <span class="author">
                                                                {{if .OriginalAuthor}}
                                                                        | <span class="ahead"><a href="{{$.RepoLink}}/compare/{{.TagName | PathEscapeSegments}}...{{.Target | PathEscapeSegments}}">{{$.locale.Tr "repo.release.ahead.commits" .NumCommitsBehind | Str2html}}</a> {{$.locale.Tr "repo.release.ahead.target" .Target}}</span>
                                                                {{end}}
                                                        </p>
+                                               {{end}}
                                                        <div class="markup desc">
                                                                {{Str2html .Note}}
                                                        </div>
                                                                        {{end}}
                                                                </ul>
                                                        </details>
-                                               {{end}}
                                                <span class="dot">&nbsp;</span>
                                        </div>
                                </li>