mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-26 18:32:49 +01:00
Show exact tag for commit on diff view (#11846)
* Show exact tag for commit on diff view * Fix comment Co-authored-by: techknowlogick <techknowlogick@gitea.io>
This commit is contained in:
parent
e282fbe753
commit
b682a2c1b2
3 changed files with 25 additions and 1 deletions
|
@ -466,7 +466,7 @@ func (c *Commit) GetSubModule(entryname string) (*SubModule, error) {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetBranchName gets the closes branch name (as returned by 'git name-rev --name-only')
|
// GetBranchName gets the closest branch name (as returned by 'git name-rev --name-only')
|
||||||
func (c *Commit) GetBranchName() (string, error) {
|
func (c *Commit) GetBranchName() (string, error) {
|
||||||
data, err := NewCommand("name-rev", "--exclude", "refs/tags/*", "--name-only", "--no-undefined", c.ID.String()).RunInDir(c.repo.Path)
|
data, err := NewCommand("name-rev", "--exclude", "refs/tags/*", "--name-only", "--no-undefined", c.ID.String()).RunInDir(c.repo.Path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -482,6 +482,21 @@ func (c *Commit) GetBranchName() (string, error) {
|
||||||
return strings.SplitN(strings.TrimSpace(data), "~", 2)[0], nil
|
return strings.SplitN(strings.TrimSpace(data), "~", 2)[0], nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetTagName gets the current tag name for given commit
|
||||||
|
func (c *Commit) GetTagName() (string, error) {
|
||||||
|
data, err := NewCommand("describe", "--exact-match", "--tags", c.ID.String()).RunInDir(c.repo.Path)
|
||||||
|
if err != nil {
|
||||||
|
// handle special case where there is no tag for this commit
|
||||||
|
if strings.Contains(err.Error(), "no tag exactly matches") {
|
||||||
|
return "", nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
|
||||||
|
return strings.TrimSpace(data), nil
|
||||||
|
}
|
||||||
|
|
||||||
// CommitFileStatus represents status of files in a commit.
|
// CommitFileStatus represents status of files in a commit.
|
||||||
type CommitFileStatus struct {
|
type CommitFileStatus struct {
|
||||||
Added []string
|
Added []string
|
||||||
|
|
|
@ -311,6 +311,12 @@ func Diff(ctx *context.Context) {
|
||||||
ctx.ServerError("commit.GetBranchName", err)
|
ctx.ServerError("commit.GetBranchName", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ctx.Data["TagName"], err = commit.GetTagName()
|
||||||
|
if err != nil {
|
||||||
|
ctx.ServerError("commit.GetTagName", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
ctx.HTML(200, tplCommitPage)
|
ctx.HTML(200, tplCommitPage)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,9 @@
|
||||||
{{if .BranchName}}
|
{{if .BranchName}}
|
||||||
<span class="text grey">{{svg "octicon-git-branch" 16}}{{.BranchName}}</span>
|
<span class="text grey">{{svg "octicon-git-branch" 16}}{{.BranchName}}</span>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
{{if .TagName}}
|
||||||
|
<span class="text grey">{{svg "octicon-tag" 16}}{{.TagName}}</span>
|
||||||
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
<div class="ui attached info segment {{$class}}">
|
<div class="ui attached info segment {{$class}}">
|
||||||
<div class="ui stackable grid">
|
<div class="ui stackable grid">
|
||||||
|
|
Loading…
Reference in a new issue