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
|
||||
}
|
||||
|
||||
// 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) {
|
||||
data, err := NewCommand("name-rev", "--exclude", "refs/tags/*", "--name-only", "--no-undefined", c.ID.String()).RunInDir(c.repo.Path)
|
||||
if err != nil {
|
||||
|
@ -482,6 +482,21 @@ func (c *Commit) GetBranchName() (string, error) {
|
|||
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.
|
||||
type CommitFileStatus struct {
|
||||
Added []string
|
||||
|
|
|
@ -311,6 +311,12 @@ func Diff(ctx *context.Context) {
|
|||
ctx.ServerError("commit.GetBranchName", err)
|
||||
return
|
||||
}
|
||||
|
||||
ctx.Data["TagName"], err = commit.GetTagName()
|
||||
if err != nil {
|
||||
ctx.ServerError("commit.GetTagName", err)
|
||||
return
|
||||
}
|
||||
ctx.HTML(200, tplCommitPage)
|
||||
}
|
||||
|
||||
|
|
|
@ -30,6 +30,9 @@
|
|||
{{if .BranchName}}
|
||||
<span class="text grey">{{svg "octicon-git-branch" 16}}{{.BranchName}}</span>
|
||||
{{end}}
|
||||
{{if .TagName}}
|
||||
<span class="text grey">{{svg "octicon-tag" 16}}{{.TagName}}</span>
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="ui attached info segment {{$class}}">
|
||||
<div class="ui stackable grid">
|
||||
|
|
Reference in a new issue