Skip to content

Commit

Permalink
Display the author and time of git notes
Browse files Browse the repository at this point in the history
  • Loading branch information
CyberShadow committed May 20, 2019
1 parent 89dc23f commit 7542929
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 2 deletions.
16 changes: 15 additions & 1 deletion modules/git/notes.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,14 @@ package git

import (
"io/ioutil"

"gopkg.in/src-d/go-git.v4/plumbing"
)

// Note stores information about a note created using git-notes.
type Note struct {
Message []byte
Commit *Commit
}

// GetNote retrieves the git-notes data for a given commit.
Expand All @@ -36,7 +39,18 @@ func GetNote(repo *Repository, commitID string, note *Note) error {
if err != nil {
return err
}

note.Message = d

commit, err := repo.gogitRepo.CommitObject(plumbing.Hash(notes.ID))
if err != nil {
return err
}

lastCommits, err := getLastCommitForPaths(commit, "", []string{commitID})
if err != nil {
return err
}
note.Commit = convertCommit(lastCommits[commitID])

return nil
}
2 changes: 2 additions & 0 deletions routers/repo/commit.go
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,8 @@ func Diff(ctx *context.Context) {
err = git.GetNote(ctx.Repo.GitRepo, commitID, &note)
if err == nil {
ctx.Data["Note"] = string(templates.ToUTF8WithFallback(note.Message))
ctx.Data["NoteCommit"] = note.Commit
ctx.Data["NoteAuthor"] = models.ValidateCommitWithEmail(note.Commit)
}

if commit.ParentCount() > 0 {
Expand Down
20 changes: 19 additions & 1 deletion templates/repo/diff/page.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,28 @@
{{end}}
{{end}}
{{if .Note}}
<div class="ui top bottom attached info clearing segment">
<div class="ui top attached info clearing segment">
<h3>{{.i18n.Tr "repo.diff.git-notes"}}</h3>
<pre class="commit-body">{{RenderNote .Note $.RepoLink $.Repository.ComposeMetas}}</pre>
</div>
<div class="ui bottom attached info segment">
<div class="ui stackable grid">
<div class="nine wide column">
{{if .NoteAuthor}}
<img class="ui avatar image" src="{{.NoteAuthor.RelAvatarLink}}" />
{{if .NoteAuthor.FullName}}
<a href="{{.NoteAuthor.HomeLink}}"><strong>{{.NoteAuthor.FullName}}</strong></a>
{{else}}
<a href="{{.NoteAuthor.HomeLink}}"><strong>{{.NoteCommit.Author.Name}}</strong></a>
{{end}}
{{else}}
<img class="ui avatar image" src="{{AvatarLink .NoteCommit.Author.Email}}" />
<strong>{{.NoteCommit.Author.Name}}</strong>
{{end}}
<span class="text grey" id="note-authored-time">{{TimeSince .NoteCommit.Author.When $.Lang}}</span>
</div>
</div><!-- end grid -->
</div>
{{end}}
{{end}}

Expand Down

0 comments on commit 7542929

Please sign in to comment.