Merge pull request #712 from Dennis-Smurf/enhancement-issuelink-in-commit

Added issue link rendering in commit messages
This commit is contained in:
无闻 2014-12-05 16:15:43 -05:00
commit 3fd41d138c
5 changed files with 26 additions and 6 deletions

View file

@ -5,12 +5,14 @@
package repo
import (
"container/list"
"path"
"github.com/Unknwon/com"
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/modules/base"
"github.com/gogits/gogs/modules/git"
"github.com/gogits/gogs/modules/middleware"
"github.com/gogits/gogs/modules/setting"
)
@ -72,6 +74,7 @@ func Commits(ctx *middleware.Context) {
ctx.Handle(500, "CommitsByRange", err)
return
}
commits = RenderIssueLinks(commits, ctx.Repo.RepoLink)
commits = models.ValidateCommitsWithEmails(commits)
ctx.Data["Commits"] = commits
@ -83,6 +86,16 @@ func Commits(ctx *middleware.Context) {
ctx.HTML(200, COMMITS)
}
func RenderIssueLinks(oldCommits *list.List, repoLink string) *list.List {
newCommits := list.New()
for e := oldCommits.Front(); e != nil; e = e.Next() {
c := e.Value.(*git.Commit)
c.CommitMessage = string(base.RenderissueIndexPattern([]byte(c.CommitMessage), repoLink))
newCommits.PushBack(c)
}
return newCommits
}
func SearchCommits(ctx *middleware.Context) {
ctx.Data["IsSearchPage"] = true
ctx.Data["IsRepoToolbarCommits"] = true
@ -110,6 +123,7 @@ func SearchCommits(ctx *middleware.Context) {
ctx.Handle(500, "SearchCommits", err)
return
}
commits = RenderIssueLinks(commits, ctx.Repo.RepoLink)
commits = models.ValidateCommitsWithEmails(commits)
ctx.Data["Keyword"] = keyword
@ -171,6 +185,7 @@ func FileHistory(ctx *middleware.Context) {
ctx.Handle(500, "repo.FileHistory(CommitsByRange)", err)
return
}
commits = RenderIssueLinks(commits, ctx.Repo.RepoLink)
commits = models.ValidateCommitsWithEmails(commits)
ctx.Data["Commits"] = commits
@ -191,7 +206,7 @@ func Diff(ctx *middleware.Context) {
commitId := ctx.Repo.CommitId
commit := ctx.Repo.Commit
commit.CommitMessage = string(base.RenderissueIndexPattern([]byte(commit.CommitMessage), ctx.Repo.RepoLink))
diff, err := models.GetDiffCommit(models.RepoPath(userName, repoName),
commitId, setting.MaxGitDiffLines)
if err != nil {

View file

@ -199,6 +199,7 @@ func Home(ctx *middleware.Context) {
}
lastCommit := ctx.Repo.Commit
lastCommit.CommitMessage = string(base.RenderissueIndexPattern([]byte(lastCommit.CommitMessage), ctx.Repo.RepoLink))
if len(treePath) > 0 {
c, err := ctx.Repo.Commit.GetCommitOfRelPath(treePath)
if err != nil {

View file

@ -32,7 +32,7 @@
{{end}}
</td>
<td class="sha"><a rel="nofollow" class="label label-green" href="{{AppSubUrl}}/{{$username}}/{{$reponame}}/commit/{{.Id}} ">{{SubStr .Id.String 0 10}} </a></td>
<td class="message"><span class="text-truncate">{{.Summary}}</span></td>
<td class="message"><span class="text-truncate">{{Str2html .Summary}}</span></td>
<td class="date">{{TimeSince .Author.When $.Lang}}</td>
</tr>
{{end}}

View file

@ -17,7 +17,7 @@
<div class="panel panel-info panel-radius diff-head-box">
<div class="panel-header">
<a class="pull-right btn btn-blue btn-header btn-medium btn-radius" rel="nofollow" href="{{.SourcePath}}">{{.i18n.Tr "repo.diff.browse_source"}}</a>
<h4 class="commit-message">{{.Commit.Message}}</h4>
<h4 class="commit-message">{{Str2html .Commit.Message}}</h4>
</div>
<div class="panel-body">
<span class="pull-right">

View file

@ -14,7 +14,7 @@
</span>
<span class="last-commit"><a href="{{.RepoLink}}/commit/{{.LastCommit.Id}}" rel="nofollow">
<strong>{{ShortSha .LastCommit.Id.String}}</strong></a>
<span class="text-truncate">{{.LastCommit.Summary}}</span>
<span class="text-truncate">{{Str2html .LastCommit.Summary}}</span>
</span>
<span class="age right">{{TimeSince .LastCommit.Author.When $.Lang}}</span>
</th>
@ -25,6 +25,7 @@
<tr class="has-parent">
<td class="icon"></td>
<td class="name"><a href="{{EscapePound .BranchLink}}{{.ParentPath}}">..</a></td>
<th class="sha">SHA1</th>
<td class="msg"></td>
<td class="age"></td>
</tr>
@ -48,8 +49,11 @@
<a href="{{EscapePound $.BranchLink}}/{{$.TreePath}}{{$entry.Name}}" class="text-truncate">{{$entry.Name}}</a>
</td>
{{end}}
<td class="msg">
<a class="text-truncate" href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{$commit.Id}}" rel="nofollow">{{$commit.Summary}}</a>
<td class="sha">
<a rel="nofollow" class="label label-green" href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{$commit.Id}} ">{{SubStr $commit.Id.String 0 10}} </a>
</td>
<td class="message">
<span class="text-truncate">{{Str2html $commit.Summary}}</span>
</td>
<td class="age">{{TimeSince $commit.Committer.When $.Lang}}</td>
</tr>