From 6bdd6f9b18136a6066f3fc87349037027eb7a499 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Sat, 15 Mar 2014 23:38:11 +0800 Subject: [PATCH] add size for file --- models/repo.go | 63 -------------------------------------- models/repo2.go | 7 +++++ templates/repo/single.tmpl | 2 +- 3 files changed, 8 insertions(+), 64 deletions(-) diff --git a/models/repo.go b/models/repo.go index c52d0a1f2..125abfc34 100644 --- a/models/repo.go +++ b/models/repo.go @@ -261,69 +261,6 @@ func GetRepositoryCount(user *User) (int64, error) { return orm.Count(&Repository{OwnerId: user.Id}) } -/* -type RepoFile struct { - Id *git.Oid - Type int - Name string - Path string - Message string - Created time.Time -} - -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, branchName, rpath string) ([]*RepoFile, error) { - f := RepoPath(userName, reposName) - - repo, err := git.OpenRepository(f) - if err != nil { - return nil, err - } - - repo.LookupReference("refs/heads/" + branchName) - - obj, err := repo.RevparseSingle("HEAD") - if err != nil { - return nil, err - } - lastCommit := obj.(*git.Commit) - var repofiles []*RepoFile - tree, err := lastCommit.Tree() - if err != nil { - return nil, err - } - //var i uint64 = 0 - if rpath != "" { - rpath = rpath + "/" - } - //fmt.Println("...", rpath, "...") - - tree.Walk(func(dirname string, entry *git.TreeEntry) int { - if dirname == rpath { - //fmt.Println("====", dirname, "==", entry.Name) - repofiles = append(repofiles, &RepoFile{ - entry.Id, - entry.Filemode, - entry.Name, - path.Join(dirname, entry.Name), - lastCommit.Message(), - lastCommit.Committer().When, - }) - } - return 0 - }) - - return repofiles, nil -}*/ - func StarReposiory(user *User, repoName string) error { return nil } diff --git a/models/repo2.go b/models/repo2.go index d879130ac..e3fdc2784 100644 --- a/models/repo2.go +++ b/models/repo2.go @@ -16,6 +16,7 @@ type RepoFile struct { Path string Message string Created time.Time + Size int64 } func GetReposFiles(userName, reposName, branchName, rpath string) ([]*RepoFile, error) { @@ -40,6 +41,10 @@ func GetReposFiles(userName, reposName, branchName, rpath string) ([]*RepoFile, var repofiles []*RepoFile lastCommit.Tree.Walk(func(dirname string, entry *git.TreeEntry) int { if dirname == rpath { + size, err := repo.ObjectSize(entry.Id) + if err != nil { + return 0 + } switch entry.Filemode { case git.FileModeBlob, git.FileModeBlobExec: repofiles = append(repofiles, &RepoFile{ @@ -47,6 +52,7 @@ func GetReposFiles(userName, reposName, branchName, rpath string) ([]*RepoFile, path.Join(dirname, entry.Name), lastCommit.Message(), lastCommit.Committer.When, + size, }) case git.FileModeTree: repodirs = append(repodirs, &RepoFile{ @@ -54,6 +60,7 @@ func GetReposFiles(userName, reposName, branchName, rpath string) ([]*RepoFile, path.Join(dirname, entry.Name), lastCommit.Message(), lastCommit.Committer.When, + size, }) } } diff --git a/templates/repo/single.tmpl b/templates/repo/single.tmpl index f71e87f0f..b99950ef5 100644 --- a/templates/repo/single.tmpl +++ b/templates/repo/single.tmpl @@ -47,7 +47,7 @@ {{if .IsDir}} {{.Name}} {{else}} - {{.Name}} + {{.Name}} - {{.Size}} {{end}} {{.Message}}