diff --git a/models/repo.go b/models/repo.go index bc6a8f0195..6e45367c09 100644 --- a/models/repo.go +++ b/models/repo.go @@ -267,13 +267,21 @@ const ( ) type RepoFile struct { - Type int - Name string - + Type int + Name string + Message string Created time.Time } -func GetReposFiles(userName, reposName, treeName, rpath string) ([]RepoFile, error) { +func (f *RepoFile) IsFile() bool { + return f.Type == git.FilemodeBlob || f.Type == git.FilemodeBlobExecutable +} + +func (f *RepoFile) IsDir() bool { + return f.Type == git.FilemodeTree +} + +func GetReposFiles(userName, reposName, treeName, rpath string) ([]*RepoFile, error) { f := RepoPath(userName, reposName) repo, err := git.OpenRepository(f) if err != nil { @@ -285,7 +293,7 @@ func GetReposFiles(userName, reposName, treeName, rpath string) ([]RepoFile, err return nil, err } lastCommit := obj.(*git.Commit) - var repofiles []RepoFile + var repofiles []*RepoFile tree, err := lastCommit.Tree() if err != nil { return nil, err @@ -293,10 +301,12 @@ func GetReposFiles(userName, reposName, treeName, rpath string) ([]RepoFile, err var i uint64 = 0 for ; i < tree.EntryCount(); i++ { entry := tree.EntryByIndex(i) - repofiles = append(repofiles, RepoFile{ + + repofiles = append(repofiles, &RepoFile{ entry.Filemode, entry.Name, - time.Now(), + lastCommit.Message(), + lastCommit.Committer().When, }) } diff --git a/routers/repo/single.go b/routers/repo/single.go index 4870adbd0a..1d5e601aa3 100644 --- a/routers/repo/single.go +++ b/routers/repo/single.go @@ -23,7 +23,6 @@ func Single(params martini.Params, r render.Render, data base.TmplData) { } data["IsRepoToolbarSource"] = true - data["Files"] = files r.HTML(200, "repo/single", data) diff --git a/templates/repo/single.tmpl b/templates/repo/single.tmpl index 96ca95bd8e..42e09b9a2f 100644 --- a/templates/repo/single.tmpl +++ b/templates/repo/single.tmpl @@ -6,7 +6,7 @@