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"> | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue