mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-11-25 11:16:11 +01:00
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 <wiktor@metacode.biz>
This commit is contained in:
parent
22fec1650a
commit
b78c955958
|
@ -1068,6 +1068,7 @@ release = Release
|
||||||
releases = Releases
|
releases = Releases
|
||||||
tag = Tag
|
tag = Tag
|
||||||
released_this = released this
|
released_this = released this
|
||||||
|
tagged_this = tagged this
|
||||||
file.title = %s at %s
|
file.title = %s at %s
|
||||||
file_raw = Raw
|
file_raw = Raw
|
||||||
file_history = History
|
file_history = History
|
||||||
|
@ -2287,6 +2288,7 @@ release.compare = Compare
|
||||||
release.edit = edit
|
release.edit = edit
|
||||||
release.ahead.commits = <strong>%d</strong> commits
|
release.ahead.commits = <strong>%d</strong> commits
|
||||||
release.ahead.target = to %s since this release
|
release.ahead.target = to %s since this release
|
||||||
|
tag.ahead.target = to %s since this tag
|
||||||
release.source_code = Source Code
|
release.source_code = Source Code
|
||||||
release.new_subheader = Releases organize project versions.
|
release.new_subheader = Releases organize project versions.
|
||||||
release.edit_subheader = Releases organize project versions.
|
release.edit_subheader = Releases organize project versions.
|
||||||
|
|
|
@ -226,8 +226,8 @@ func releasesOrTagsFeed(ctx *context.Context, isReleasesOnly bool, formatType st
|
||||||
|
|
||||||
// SingleRelease renders a single release's page
|
// SingleRelease renders a single release's page
|
||||||
func SingleRelease(ctx *context.Context) {
|
func SingleRelease(ctx *context.Context) {
|
||||||
ctx.Data["Title"] = ctx.Tr("repo.release.releases")
|
|
||||||
ctx.Data["PageIsReleaseList"] = true
|
ctx.Data["PageIsReleaseList"] = true
|
||||||
|
ctx.Data["DefaultBranch"] = ctx.Repo.Repository.DefaultBranch
|
||||||
|
|
||||||
writeAccess := ctx.Repo.CanWrite(unit.TypeReleases)
|
writeAccess := ctx.Repo.CanWrite(unit.TypeReleases)
|
||||||
ctx.Data["CanCreateRelease"] = writeAccess && !ctx.Repo.Repository.IsArchived
|
ctx.Data["CanCreateRelease"] = writeAccess && !ctx.Repo.Repository.IsArchived
|
||||||
|
@ -241,6 +241,12 @@ func SingleRelease(ctx *context.Context) {
|
||||||
ctx.ServerError("GetReleasesByRepoID", err)
|
ctx.ServerError("GetReleasesByRepoID", err)
|
||||||
return
|
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)
|
err = repo_model.GetReleaseAttachments(ctx, release)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -374,15 +374,20 @@ func pushUpdateAddTags(ctx context.Context, repo *repo_model.Repository, gitRepo
|
||||||
rel, has := relMap[lowerTag]
|
rel, has := relMap[lowerTag]
|
||||||
|
|
||||||
if !has {
|
if !has {
|
||||||
|
parts := strings.SplitN(tag.Message, "\n", 2)
|
||||||
|
note := ""
|
||||||
|
if len(parts) > 1 {
|
||||||
|
note = parts[1]
|
||||||
|
}
|
||||||
rel = &repo_model.Release{
|
rel = &repo_model.Release{
|
||||||
RepoID: repo.ID,
|
RepoID: repo.ID,
|
||||||
Title: "",
|
Title: parts[0],
|
||||||
TagName: tags[i],
|
TagName: tags[i],
|
||||||
LowerTagName: lowerTag,
|
LowerTagName: lowerTag,
|
||||||
Target: "",
|
Target: "",
|
||||||
Sha1: commit.ID.String(),
|
Sha1: commit.ID.String(),
|
||||||
NumCommits: commitsCount,
|
NumCommits: commitsCount,
|
||||||
Note: "",
|
Note: note,
|
||||||
IsDraft: false,
|
IsDraft: false,
|
||||||
IsPrerelease: false,
|
IsPrerelease: false,
|
||||||
IsTag: true,
|
IsTag: true,
|
||||||
|
|
|
@ -5,10 +5,10 @@
|
||||||
{{template "base/alert" .}}
|
{{template "base/alert" .}}
|
||||||
<h2 class="ui compact small menu header">
|
<h2 class="ui compact small menu header">
|
||||||
{{if .Permission.CanRead $.UnitTypeReleases}}
|
{{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}}
|
{{end}}
|
||||||
{{if .Permission.CanRead $.UnitTypeCode}}
|
{{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}}
|
{{end}}
|
||||||
</h2>
|
</h2>
|
||||||
{{if .EnableFeed}}
|
{{if .EnableFeed}}
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td class="tag">
|
<td class="tag">
|
||||||
<h3 class="release-tag-name gt-mb-3">
|
<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>
|
</h3>
|
||||||
<div class="download gt-df gt-ac">
|
<div class="download gt-df gt-ac">
|
||||||
{{if $.Permission.CanRead $.UnitTypeCode}}
|
{{if $.Permission.CanRead $.UnitTypeCode}}
|
||||||
|
@ -69,9 +69,6 @@
|
||||||
{{range $idx, $release := .Releases}}
|
{{range $idx, $release := .Releases}}
|
||||||
<li class="ui grid">
|
<li class="ui grid">
|
||||||
<div class="ui four wide column meta gt-mt-2">
|
<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>
|
<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}}
|
{{if .Sha1}}
|
||||||
<span class="commit">
|
<span class="commit">
|
||||||
|
@ -79,41 +76,8 @@
|
||||||
</span>
|
</span>
|
||||||
{{template "repo/branch_dropdown" dict "root" $ "release" .}}
|
{{template "repo/branch_dropdown" dict "root" $ "release" .}}
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
|
||||||
</div>
|
</div>
|
||||||
<div class="ui twelve wide column detail">
|
<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"}} ZIP</a>
|
|
||||||
<a class="archive-link muted" href="{{$.RepoLink}}/archive/{{.TagName | PathEscapeSegments}}.tar.gz" rel="nofollow">{{svg "octicon-file-zip"}} TAR.GZ</a>
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
{{else}}
|
|
||||||
<div class="gt-df gt-ac gt-sb gt-fw gt-mb-3">
|
<div class="gt-df gt-ac gt-sb gt-fw gt-mb-3">
|
||||||
<h4 class="release-list-title gt-df gt-ac">
|
<h4 class="release-list-title gt-df gt-ac">
|
||||||
<a href="{{$.RepoLink}}/releases/tag/{{.TagName | PathEscapeSegments}}">{{.Title}}</a>
|
<a href="{{$.RepoLink}}/releases/tag/{{.TagName | PathEscapeSegments}}">{{.Title}}</a>
|
||||||
|
@ -133,6 +97,24 @@
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
</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">
|
<p class="text grey">
|
||||||
<span class="author">
|
<span class="author">
|
||||||
{{if .OriginalAuthor}}
|
{{if .OriginalAuthor}}
|
||||||
|
@ -154,6 +136,7 @@
|
||||||
| <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>
|
| <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}}
|
{{end}}
|
||||||
</p>
|
</p>
|
||||||
|
{{end}}
|
||||||
<div class="markup desc">
|
<div class="markup desc">
|
||||||
{{Str2html .Note}}
|
{{Str2html .Note}}
|
||||||
</div>
|
</div>
|
||||||
|
@ -187,7 +170,6 @@
|
||||||
{{end}}
|
{{end}}
|
||||||
</ul>
|
</ul>
|
||||||
</details>
|
</details>
|
||||||
{{end}}
|
|
||||||
<span class="dot"> </span>
|
<span class="dot"> </span>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|
Loading…
Reference in a new issue