diff options
author | Unknown <joe2010xtmf@163.com> | 2014-03-13 02:55:18 -0400 |
---|---|---|
committer | Unknown <joe2010xtmf@163.com> | 2014-03-13 02:55:18 -0400 |
commit | adedd9181c07ed926bf5835623293df4fcc706d2 (patch) | |
tree | 1792c1ba63414307a91853a8e2c8d139794f9c0c /models/repo.go | |
parent | 7b34f6f1dac2c0b09b98e937226e43e0a6d09cf1 (diff) | |
parent | 1902500b0dcefa20627129b48c8131da8798c169 (diff) | |
download | gitea-adedd9181c07ed926bf5835623293df4fcc706d2.tar.gz gitea-adedd9181c07ed926bf5835623293df4fcc706d2.zip |
Merge branch 'master' of github.com:gogits/gogs
Diffstat (limited to 'models/repo.go')
-rw-r--r-- | models/repo.go | 24 |
1 files changed, 17 insertions, 7 deletions
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, }) } |