mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00:00 
			
		
		
		
	Show git-notes
This commit is contained in:
		@@ -125,6 +125,7 @@ func NewFuncMap() []template.FuncMap {
 | 
			
		||||
		"RenderCommitMessage":      RenderCommitMessage,
 | 
			
		||||
		"RenderCommitMessageLink":  RenderCommitMessageLink,
 | 
			
		||||
		"RenderCommitBody":         RenderCommitBody,
 | 
			
		||||
		"RenderNote":               RenderNote,
 | 
			
		||||
		"IsMultilineCommitMessage": IsMultilineCommitMessage,
 | 
			
		||||
		"ThemeColorMetaTag": func() string {
 | 
			
		||||
			return setting.UI.ThemeColorMetaTag
 | 
			
		||||
@@ -392,6 +393,17 @@ func RenderCommitBody(msg, urlPrefix string, metas map[string]string) template.H
 | 
			
		||||
	return template.HTML(strings.Join(body[1:], "\n"))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// RenderNote renders the contents of a git-notes file as a commit message.
 | 
			
		||||
func RenderNote(msg, urlPrefix string, metas map[string]string) template.HTML {
 | 
			
		||||
	cleanMsg := template.HTMLEscapeString(msg)
 | 
			
		||||
	fullMessage, err := markup.RenderCommitMessage([]byte(cleanMsg), urlPrefix, "", metas)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Error("RenderNote: %v", err)
 | 
			
		||||
		return ""
 | 
			
		||||
	}
 | 
			
		||||
	return template.HTML(string(fullMessage))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IsMultilineCommitMessage checks to see if a commit message contains multiple lines.
 | 
			
		||||
func IsMultilineCommitMessage(msg string) bool {
 | 
			
		||||
	return strings.Count(strings.TrimSpace(msg), "\n") >= 1
 | 
			
		||||
 
 | 
			
		||||
@@ -6,6 +6,7 @@
 | 
			
		||||
package repo
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"io/ioutil"
 | 
			
		||||
	"path"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
@@ -15,6 +16,7 @@ import (
 | 
			
		||||
	"code.gitea.io/gitea/modules/git"
 | 
			
		||||
	"code.gitea.io/gitea/modules/log"
 | 
			
		||||
	"code.gitea.io/gitea/modules/setting"
 | 
			
		||||
	"code.gitea.io/gitea/modules/templates"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
@@ -246,6 +248,23 @@ func Diff(ctx *context.Context) {
 | 
			
		||||
	ctx.Data["Parents"] = parents
 | 
			
		||||
	ctx.Data["DiffNotAvailable"] = diff.NumFiles() == 0
 | 
			
		||||
	ctx.Data["SourcePath"] = setting.AppSubURL + "/" + path.Join(userName, repoName, "src", "commit", commitID)
 | 
			
		||||
 | 
			
		||||
	notes, err := ctx.Repo.GitRepo.GetCommit("refs/notes/commits")
 | 
			
		||||
	if err == nil {
 | 
			
		||||
		entry, err := notes.GetTreeEntryByPath(commitID)
 | 
			
		||||
		if err == nil {
 | 
			
		||||
			blob := entry.Blob()
 | 
			
		||||
			dataRc, err := blob.DataAsync()
 | 
			
		||||
			if err == nil {
 | 
			
		||||
				d, err := ioutil.ReadAll(dataRc)
 | 
			
		||||
				dataRc.Close()
 | 
			
		||||
				if err == nil {
 | 
			
		||||
					ctx.Data["Note"] = string(templates.ToUTF8WithFallback(d))
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if commit.ParentCount() > 0 {
 | 
			
		||||
		ctx.Data["BeforeSourcePath"] = setting.AppSubURL + "/" + path.Join(userName, repoName, "src", "commit", parents[0])
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -65,6 +65,12 @@
 | 
			
		||||
					</div>
 | 
			
		||||
				{{end}}
 | 
			
		||||
			{{end}}
 | 
			
		||||
			{{if .Note}}
 | 
			
		||||
				<div class="ui top bottom attached info clearing segment">
 | 
			
		||||
					<h3>git-notes:</h3>
 | 
			
		||||
					<pre class="commit-body">{{RenderNote .Note $.RepoLink $.Repository.ComposeMetas}}</pre>
 | 
			
		||||
				</div>
 | 
			
		||||
			{{end}}
 | 
			
		||||
		{{end}}
 | 
			
		||||
 | 
			
		||||
		{{template "repo/diff/box" .}}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user