aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--models/repo.go3
-rw-r--r--modules/base/template.go19
-rw-r--r--templates/repo/commits.tmpl5
3 files changed, 24 insertions, 3 deletions
diff --git a/models/repo.go b/models/repo.go
index 610c3597..6abfee74 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -5,6 +5,7 @@
package models
import (
+ "container/list"
"errors"
"fmt"
"io/ioutil"
@@ -560,7 +561,7 @@ func GetCommit(userName, repoName, branchname, commitid string) (*git.Commit, er
}
// GetCommits returns all commits of given branch of repository.
-func GetCommits(userName, reposName, branchname string) ([]*git.Commit, error) {
+func GetCommits(userName, reposName, branchname string) (*list.List, error) {
repo, err := git.OpenRepository(RepoPath(userName, reposName))
if err != nil {
return nil, err
diff --git a/modules/base/template.go b/modules/base/template.go
index 4517cd47..db79340e 100644
--- a/modules/base/template.go
+++ b/modules/base/template.go
@@ -5,6 +5,7 @@
package base
import (
+ "container/list"
"html/template"
)
@@ -12,6 +13,23 @@ func Str2html(raw string) template.HTML {
return template.HTML(raw)
}
+func Range(l int) []int {
+ return make([]int, l)
+}
+
+func List(l *list.List) chan interface{} {
+ e := l.Front()
+ c := make(chan interface{})
+ go func() {
+ for e != nil {
+ c <- e.Value
+ e = e.Next()
+ }
+ close(c)
+ }()
+ return c
+}
+
var TemplateFuncs template.FuncMap = map[string]interface{}{
"AppName": func() string {
return AppName
@@ -30,4 +48,5 @@ var TemplateFuncs template.FuncMap = map[string]interface{}{
"ActionIcon": ActionIcon,
"ActionDesc": ActionDesc,
"DateFormat": DateFormat,
+ "List": List,
}
diff --git a/templates/repo/commits.tmpl b/templates/repo/commits.tmpl
index 9190a030..4bffb9da 100644
--- a/templates/repo/commits.tmpl
+++ b/templates/repo/commits.tmpl
@@ -5,8 +5,9 @@
<div id="gogs-body" class="container">
<div id="gogs-commits">
<ul>
- {{range .Commits}}
- <li>{{.Committer.Name}} - {{.Id}} - {{.Message}} - {{.Committer.When}}</li>
+ {{$r := List .Commits}}
+ {{range $r}}
+ <li>{{.Committer.Name}} - {{.Id}} - {{.Message}} - {{.Committer.When}}</li>
{{end}}
</ul>
</div>