Lunny Xiao преди 11 години
родител
ревизия
3a1fa012f7
променени са 3 файла, в които са добавени 18 реда и са изтрити 9 реда
  1. 17 7
      models/repo.go
  2. 0 1
      routers/repo/single.go
  3. 1 1
      templates/repo/single.tmpl

+ 17 - 7
models/repo.go

@@ -268,13 +268,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 {
@@ -286,7 +294,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
@@ -294,10 +302,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,
 		})
 	}
 

+ 0 - 1
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)

+ 1 - 1
templates/repo/single.tmpl

@@ -6,7 +6,7 @@
     <h4>Source Files:</h4>
     <ul>
     {{range .Files}}
-        <li>{{.Name}} - {{.Type}}</li>
+        <li>{{.Name}} - {{.Message}} - {{.Created}} - {{.IsFile}} - {{.IsDir}}</li>
     {{end}}
     </ul>
 </div>