Ver Fonte

submodule support and closed #478

lunnyxiao há 10 anos atrás
pai
commit
7df60af60e
3 ficheiros alterados com 17 adições e 21 exclusões
  1. 1 1
      modules/git/tree_entry.go
  2. 14 14
      routers/repo/view.go
  3. 2 6
      templates/repo/view_list.tmpl

+ 1 - 1
modules/git/tree_entry.go

@@ -84,7 +84,7 @@ type Entries []*TreeEntry
 
 var sorter = []func(t1, t2 *TreeEntry) bool{
 	func(t1, t2 *TreeEntry) bool {
-		return t1.IsDir() && !t2.IsDir()
+		return (t1.IsDir() || t1.IsSubModule()) && !t2.IsDir() && !t2.IsSubModule()
 	},
 	func(t1, t2 *TreeEntry) bool {
 		return t1.name < t2.name

+ 14 - 14
routers/repo/view.go

@@ -10,7 +10,6 @@ import (
 	"path"
 	"path/filepath"
 	"strings"
-	"time"
 
 	"github.com/gogits/gogs/modules/base"
 	"github.com/gogits/gogs/modules/git"
@@ -23,12 +22,10 @@ const (
 )
 
 type fakeCommit struct {
-	Id        string
-	Summary   string
-	Url       string
-	Committer struct {
-		When time.Time
-	}
+	*git.Commit
+
+	RefUrl string
+	RefId  string
 }
 
 func Home(ctx *middleware.Context) {
@@ -151,13 +148,16 @@ func Home(ctx *middleware.Context) {
 					return
 				}
 
-				commit := git.Commit{
-					Tree: *tree,
-					Id:   te.Id,
-					Committer: &git.Signature{
-						When: time.Now(),
-					},
-					CommitMessage: sm.Url,
+				c, err := ctx.Repo.Commit.GetCommitOfRelPath(filepath.Join(treePath, te.Name()))
+				if err != nil {
+					ctx.Handle(404, "GetCommitOfRelPath", err)
+					return
+				}
+
+				commit := fakeCommit{
+					Commit: c,
+					RefUrl: strings.TrimRight(sm.Url, ".git"),
+					RefId:  te.Id.String(),
 				}
 
 				files = append(files, []interface{}{te, &commit})

+ 2 - 6
templates/repo/view_list.tmpl

@@ -32,12 +32,8 @@
                     <span class="octicon octicon-file-submodule"></span>
                 </td>
                 <td class="name">
-                    <a href="{{$commit.CommitMessage}}" class="text-truncate">{{$entry.Name}}</a> @ <a href="{{$commit.CommitMessage}}/commit/{{$commit.Id}}">{{ShortSha $commit.Id.String}}</a>
+                    <a href="{{$commit.RefUrl}}" class="text-truncate">{{$entry.Name}}</a> @ <a href="{{$commit.RefUrl}}/commit/{{$commit.RefId}}">{{ShortSha $commit.RefId}}</a>
                 </td>
-                <td class="msg">
-                    <a class="text-truncate" href="{{$commit.CommitMessage}}/commit/{{$commit.Id}}" rel="nofollow">{{$commit.Summary}}</a>
-                </td>
-                <td class="age">{{TimeSince $commit.Committer.When $.i18n.Lang}}</td>
             {{else}}
             <td class="icon">
                     <span class="octicon octicon-file-{{if or $entry.IsDir}}directory{{else}}text{{end}}"></span>
@@ -45,11 +41,11 @@
                 <td class="name">
                     <a href="{{$.BranchLink}}/{{$.TreePath}}{{$entry.Name}}" class="text-truncate">{{$entry.Name}}</a>
                 </td>
+                {{end}}
                 <td class="msg">
                     <a class="text-truncate" href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{$commit.Id}}" rel="nofollow">{{$commit.Summary}}</a>
                 </td>
                 <td class="age">{{TimeSince $commit.Committer.When $.i18n.Lang}}</td>
-            {{end}}
             </tr>
         {{end}}
     </tbody>