|
|
|
@ -10,6 +10,7 @@ import (
|
|
|
|
|
"path"
|
|
|
|
|
"path/filepath"
|
|
|
|
|
"strings"
|
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
|
"github.com/gogits/gogs/modules/base"
|
|
|
|
|
"github.com/gogits/gogs/modules/git"
|
|
|
|
@ -21,6 +22,15 @@ const (
|
|
|
|
|
HOME base.TplName = "repo/home"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type fakeCommit struct {
|
|
|
|
|
Id string
|
|
|
|
|
Summary string
|
|
|
|
|
Url string
|
|
|
|
|
Committer struct {
|
|
|
|
|
When time.Time
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func Home(ctx *middleware.Context) {
|
|
|
|
|
ctx.Data["Title"] = ctx.Repo.Repository.Name
|
|
|
|
|
|
|
|
|
@ -127,13 +137,31 @@ func Home(ctx *middleware.Context) {
|
|
|
|
|
files := make([][]interface{}, 0, len(entries))
|
|
|
|
|
|
|
|
|
|
for _, te := range entries {
|
|
|
|
|
c, err := ctx.Repo.Commit.GetCommitOfRelPath(filepath.Join(treePath, te.Name()))
|
|
|
|
|
if err != nil {
|
|
|
|
|
ctx.Handle(404, "GetCommitOfRelPath", err)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if te.Type != git.COMMIT {
|
|
|
|
|
c, err := ctx.Repo.Commit.GetCommitOfRelPath(filepath.Join(treePath, te.Name()))
|
|
|
|
|
if err != nil {
|
|
|
|
|
ctx.Handle(404, "GetCommitOfRelPath", err)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
files = append(files, []interface{}{te, c})
|
|
|
|
|
} else {
|
|
|
|
|
sm, err := ctx.Repo.Commit.GetSubModule(path.Join(treename, te.Name()))
|
|
|
|
|
if err != nil {
|
|
|
|
|
ctx.Handle(404, "GetSubModule", err)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
files = append(files, []interface{}{te, c})
|
|
|
|
|
commit := git.Commit{
|
|
|
|
|
Tree: *tree,
|
|
|
|
|
Id: te.Id,
|
|
|
|
|
Committer: &git.Signature{
|
|
|
|
|
When: time.Now(),
|
|
|
|
|
},
|
|
|
|
|
CommitMessage: sm.Url,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
files = append(files, []interface{}{te, &commit})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ctx.Data["Files"] = files
|
|
|
|
|