mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 03:18:24 +00:00 
			
		
		
		
	improve get commits performance
This commit is contained in:
		| @@ -3,7 +3,7 @@ Gogs - Go Git Service [ |  | ||||||
|  |  | ||||||
| ##### Current version: 0.8.2 | ##### Current version: 0.8.3 | ||||||
|  |  | ||||||
| | Web | UI  | Preview  | | | Web | UI  | Preview  | | ||||||
| |:-------------:|:-------:|:-------:| | |:-------------:|:-------:|:-------:| | ||||||
|   | |||||||
| @@ -88,7 +88,7 @@ func checkVersion() { | |||||||
| 		{"github.com/go-macaron/toolbox", toolbox.Version, "0.1.0"}, | 		{"github.com/go-macaron/toolbox", toolbox.Version, "0.1.0"}, | ||||||
| 		{"gopkg.in/ini.v1", ini.Version, "1.8.4"}, | 		{"gopkg.in/ini.v1", ini.Version, "1.8.4"}, | ||||||
| 		{"gopkg.in/macaron.v1", macaron.Version, "0.8.0"}, | 		{"gopkg.in/macaron.v1", macaron.Version, "0.8.0"}, | ||||||
| 		{"github.com/gogits/git-shell", git.Version, "0.1.1"}, | 		{"github.com/gogits/git-shell", git.Version, "0.2.0"}, | ||||||
| 	} | 	} | ||||||
| 	for _, c := range checkers { | 	for _, c := range checkers { | ||||||
| 		if !version.Compare(c.Version(), c.Expected, ">=") { | 		if !version.Compare(c.Version(), c.Expected, ">=") { | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							| @@ -18,7 +18,7 @@ import ( | |||||||
| 	"github.com/gogits/gogs/modules/setting" | 	"github.com/gogits/gogs/modules/setting" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| const APP_VER = "0.8.2.1213" | const APP_VER = "0.8.3.1213" | ||||||
|  |  | ||||||
| func init() { | func init() { | ||||||
| 	runtime.GOMAXPROCS(runtime.NumCPU()) | 	runtime.GOMAXPROCS(runtime.NumCPU()) | ||||||
|   | |||||||
| @@ -8,12 +8,11 @@ import ( | |||||||
| 	"bytes" | 	"bytes" | ||||||
| 	"io/ioutil" | 	"io/ioutil" | ||||||
| 	"path" | 	"path" | ||||||
| 	"path/filepath" |  | ||||||
| 	"strings" | 	"strings" | ||||||
|  |  | ||||||
| 	"github.com/Unknwon/paginater" | 	"github.com/Unknwon/paginater" | ||||||
|  |  | ||||||
| 	"github.com/gogits/git-shell" | 	git "github.com/gogits/git-shell" | ||||||
|  |  | ||||||
| 	"github.com/gogits/gogs/models" | 	"github.com/gogits/gogs/models" | ||||||
| 	"github.com/gogits/gogs/modules/base" | 	"github.com/gogits/gogs/modules/base" | ||||||
| @@ -134,38 +133,13 @@ func Home(ctx *middleware.Context) { | |||||||
| 		} | 		} | ||||||
| 		entries.Sort() | 		entries.Sort() | ||||||
|  |  | ||||||
| 		files := make([][]interface{}, 0, len(entries)) | 		ctx.Data["Files"], err = entries.GetCommitsInfo(ctx.Repo.Commit, treePath) | ||||||
| 		for _, te := range entries { |  | ||||||
| 			if te.Type != git.OBJECT_COMMIT { |  | ||||||
| 				c, err := ctx.Repo.Commit.GetCommitByPath(filepath.Join(treePath, te.Name())) |  | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 					ctx.Handle(500, "GetCommitByPath", err) | 			ctx.Handle(500, "GetCommitsInfo", err) | ||||||
| 			return | 			return | ||||||
| 		} | 		} | ||||||
| 				files = append(files, []interface{}{te, c}) |  | ||||||
| 			} else { |  | ||||||
| 				sm, err := ctx.Repo.Commit.GetSubModule(path.Join(treename, te.Name())) |  | ||||||
| 				if err != nil { |  | ||||||
| 					ctx.Handle(500, "GetSubModule", err) |  | ||||||
| 					return |  | ||||||
| 				} |  | ||||||
| 				smUrl := "" |  | ||||||
| 				if sm != nil { |  | ||||||
| 					smUrl = sm.Url |  | ||||||
| 				} |  | ||||||
|  |  | ||||||
| 				c, err := ctx.Repo.Commit.GetCommitByPath(filepath.Join(treePath, te.Name())) |  | ||||||
| 				if err != nil { |  | ||||||
| 					ctx.Handle(500, "GetCommitByPath", err) |  | ||||||
| 					return |  | ||||||
| 				} |  | ||||||
| 				files = append(files, []interface{}{te, git.NewSubModuleFile(c, smUrl, te.ID.String())}) |  | ||||||
| 			} |  | ||||||
| 		} |  | ||||||
| 		ctx.Data["Files"] = files |  | ||||||
|  |  | ||||||
| 		var readmeFile *git.Blob | 		var readmeFile *git.Blob | ||||||
|  |  | ||||||
| 		for _, f := range entries { | 		for _, f := range entries { | ||||||
| 			if f.IsDir() || !base.IsReadmeFile(f.Name()) { | 			if f.IsDir() || !base.IsReadmeFile(f.Name()) { | ||||||
| 				continue | 				continue | ||||||
|   | |||||||
| @@ -1 +1 @@ | |||||||
| 0.8.2.1213 | 0.8.3.1213 | ||||||
| @@ -8,7 +8,7 @@ | |||||||
| 						<a href="{{AppSubUrl}}/{{.Owner.Name}}">{{.Owner.Name}}</a> | 						<a href="{{AppSubUrl}}/{{.Owner.Name}}">{{.Owner.Name}}</a> | ||||||
| 						<div class="divider"> / </div> | 						<div class="divider"> / </div> | ||||||
| 						<a href="{{$.RepoLink}}">{{.Name}}</a> | 						<a href="{{$.RepoLink}}">{{.Name}}</a> | ||||||
| 						{{if .IsMirror}}<div class="fork-flag">{{$.i18n.Tr "repo.mirror_from"}} <a target="_blank" href="{{$.MirrorAddress}}">{{$.Mirror.Address}}</a></div>{{end}} | 						{{if .IsMirror}}<div class="fork-flag">{{$.i18n.Tr "repo.mirror_from"}} <a target="_blank" href="{{$.Mirror.Address}}">{{$.Mirror.Address}}</a></div>{{end}} | ||||||
| 						{{if .IsFork}}<div class="fork-flag">{{$.i18n.Tr "repo.forked_from"}} <a href="{{.BaseRepo.RepoLink}}">{{SubStr .BaseRepo.RepoLink 1 -1}}</a></div>{{end}} | 						{{if .IsFork}}<div class="fork-flag">{{$.i18n.Tr "repo.forked_from"}} <a href="{{.BaseRepo.RepoLink}}">{{SubStr .BaseRepo.RepoLink 1 -1}}</a></div>{{end}} | ||||||
| 					</div> | 					</div> | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user