mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-25 15:53:36 +01:00
Added issue link rendering in commit messages
This commit is contained in:
parent
e577f2fff3
commit
528c075ad6
5 changed files with 26 additions and 6 deletions
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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}}
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in a new issue