| @@ -84,7 +84,7 @@ type Entries []*TreeEntry | |||||
| var sorter = []func(t1, t2 *TreeEntry) bool{ | var sorter = []func(t1, t2 *TreeEntry) bool{ | ||||
| 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 { | func(t1, t2 *TreeEntry) bool { | ||||
| return t1.name < t2.name | return t1.name < t2.name | ||||
| @@ -10,7 +10,6 @@ import ( | |||||
| "path" | "path" | ||||
| "path/filepath" | "path/filepath" | ||||
| "strings" | "strings" | ||||
| "time" | |||||
| "github.com/gogits/gogs/modules/base" | "github.com/gogits/gogs/modules/base" | ||||
| "github.com/gogits/gogs/modules/git" | "github.com/gogits/gogs/modules/git" | ||||
| @@ -23,12 +22,10 @@ const ( | |||||
| ) | ) | ||||
| type fakeCommit struct { | 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) { | func Home(ctx *middleware.Context) { | ||||
| @@ -151,13 +148,16 @@ func Home(ctx *middleware.Context) { | |||||
| return | 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}) | files = append(files, []interface{}{te, &commit}) | ||||
| @@ -32,12 +32,8 @@ | |||||
| <span class="octicon octicon-file-submodule"></span> | <span class="octicon octicon-file-submodule"></span> | ||||
| </td> | </td> | ||||
| <td class="name"> | <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> | ||||
| <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}} | {{else}} | ||||
| <td class="icon"> | <td class="icon"> | ||||
| <span class="octicon octicon-file-{{if or $entry.IsDir}}directory{{else}}text{{end}}"></span> | <span class="octicon octicon-file-{{if or $entry.IsDir}}directory{{else}}text{{end}}"></span> | ||||
| @@ -45,11 +41,11 @@ | |||||
| <td class="name"> | <td class="name"> | ||||
| <a href="{{$.BranchLink}}/{{$.TreePath}}{{$entry.Name}}" class="text-truncate">{{$entry.Name}}</a> | <a href="{{$.BranchLink}}/{{$.TreePath}}{{$entry.Name}}" class="text-truncate">{{$entry.Name}}</a> | ||||
| </td> | </td> | ||||
| {{end}} | |||||
| <td class="msg"> | <td class="msg"> | ||||
| <a class="text-truncate" href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{$commit.Id}}" rel="nofollow">{{$commit.Summary}}</a> | <a class="text-truncate" href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{$commit.Id}}" rel="nofollow">{{$commit.Summary}}</a> | ||||
| </td> | </td> | ||||
| <td class="age">{{TimeSince $commit.Committer.When $.i18n.Lang}}</td> | <td class="age">{{TimeSince $commit.Committer.When $.i18n.Lang}}</td> | ||||
| {{end}} | |||||
| </tr> | </tr> | ||||
| {{end}} | {{end}} | ||||
| </tbody> | </tbody> | ||||