|
|
|
@ -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 |
|
|
|
|