bug fixed for commits list

This commit is contained in:
Lunny Xiao 2014-03-19 14:39:07 +08:00
parent 3ceb008e1f
commit 3da325591b
4 changed files with 28 additions and 3 deletions

View file

@ -5,6 +5,7 @@
package models package models
import ( import (
"container/list"
"errors" "errors"
"fmt" "fmt"
"io/ioutil" "io/ioutil"
@ -601,7 +602,7 @@ func GetLastestCommit(userName, repoName string) (*Commit, error) {
}*/ }*/
// GetCommits returns all commits of given branch of repository. // 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)) repo, err := git.OpenRepository(RepoPath(userName, reposName))
if err != nil { if err != nil {
return nil, err return nil, err

View file

@ -5,6 +5,7 @@
package base package base
import ( import (
"container/list"
"html/template" "html/template"
) )
@ -12,6 +13,23 @@ func Str2html(raw string) template.HTML {
return template.HTML(raw) 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{}{ var TemplateFuncs template.FuncMap = map[string]interface{}{
"AppName": func() string { "AppName": func() string {
return AppName return AppName
@ -30,4 +48,5 @@ var TemplateFuncs template.FuncMap = map[string]interface{}{
"ActionIcon": ActionIcon, "ActionIcon": ActionIcon,
"ActionDesc": ActionDesc, "ActionDesc": ActionDesc,
"DateFormat": DateFormat, "DateFormat": DateFormat,
"List": List,
} }

View file

@ -5,8 +5,9 @@
<div id="gogs-body" class="container"> <div id="gogs-body" class="container">
<div id="gogs-commits"> <div id="gogs-commits">
<ul> <ul>
{{range .Commits}} {{$r := List .Commits}}
<li>{{.Committer.Name}} - {{.Id}} - {{.Message}} - {{.Committer.When}}</li> {{range $r}}
<li>{{.Committer.Name}} - {{.Id}} - {{.Message}} - {{.Committer.When}}</li>
{{end}} {{end}}
</ul> </ul>
</div> </div>

4
web.go
View file

@ -34,6 +34,10 @@ gogs web`,
Flags: []cli.Flag{}, Flags: []cli.Flag{},
} }
func Range(l int) []int {
return make([]int, l)
}
func runWeb(*cli.Context) { func runWeb(*cli.Context) {
log.Info("%s %s", base.AppName, base.AppVer) log.Info("%s %s", base.AppName, base.AppVer)