package models
import (
+ "container/list"
"errors"
"fmt"
"io/ioutil"
}*/
// 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
package base
import (
+ "container/list"
"html/template"
)
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
"ActionIcon": ActionIcon,
"ActionDesc": ActionDesc,
"DateFormat": DateFormat,
+ "List": List,
}
<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>
Flags: []cli.Flag{},
}
+func Range(l int) []int {
+ return make([]int, l)
+}
+
func runWeb(*cli.Context) {
log.Info("%s %s", base.AppName, base.AppVer)