fix #1572 fix file histrory paging issue
This commit is contained in:
		
							parent
							
								
									2db785b3ed
								
							
						
					
					
						commit
						3b62a0fe0e
					
				
					 6 changed files with 23 additions and 69 deletions
				
			
		|  | @ -5,7 +5,7 @@ Gogs - Go Git Service [ | ||||
| 
 | ||||
| ##### Current version: 0.7.2 Beta | ||||
| ##### Current version: 0.7.4 Beta | ||||
| 
 | ||||
| <table> | ||||
|     <tr> | ||||
|  |  | |||
							
								
								
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							|  | @ -17,7 +17,7 @@ import ( | |||
| 	"github.com/gogits/gogs/modules/setting" | ||||
| ) | ||||
| 
 | ||||
| const APP_VER = "0.7.2.1109 Beta" | ||||
| const APP_VER = "0.7.4.1110 Beta" | ||||
| 
 | ||||
| func init() { | ||||
| 	runtime.GOMAXPROCS(runtime.NumCPU()) | ||||
|  |  | |||
|  | @ -107,7 +107,6 @@ func (options *CustomRender) Image(out *bytes.Buffer, link []byte, title []byte, | |||
| 		} | ||||
| 		link = []byte(prefix + string(link)) | ||||
| 	} | ||||
| 	fmt.Println(2, string(link)) | ||||
| 
 | ||||
| 	out.WriteString(`<a href="`) | ||||
| 	out.Write(link) | ||||
|  |  | |||
|  | @ -8,7 +8,6 @@ import ( | |||
| 	"container/list" | ||||
| 	"path" | ||||
| 
 | ||||
| 	"github.com/Unknwon/com" | ||||
| 	"github.com/Unknwon/paginater" | ||||
| 
 | ||||
| 	"github.com/gogits/gogs/models" | ||||
|  | @ -46,18 +45,6 @@ func RenderIssueLinks(oldCommits *list.List, repoLink string) *list.List { | |||
| func Commits(ctx *middleware.Context) { | ||||
| 	ctx.Data["PageIsCommits"] = true | ||||
| 
 | ||||
| 	userName := ctx.Repo.Owner.Name | ||||
| 	repoName := ctx.Repo.Repository.Name | ||||
| 
 | ||||
| 	brs, err := ctx.Repo.GitRepo.GetBranches() | ||||
| 	if err != nil { | ||||
| 		ctx.Handle(500, "GetBranches", err) | ||||
| 		return | ||||
| 	} else if len(brs) == 0 { | ||||
| 		ctx.Handle(404, "GetBranches", nil) | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	commitsCount, err := ctx.Repo.Commit.CommitsCount() | ||||
| 	if err != nil { | ||||
| 		ctx.Handle(500, "GetCommitsCount", err) | ||||
|  | @ -78,11 +65,12 @@ func Commits(ctx *middleware.Context) { | |||
| 	} | ||||
| 	commits = RenderIssueLinks(commits, ctx.Repo.RepoLink) | ||||
| 	commits = models.ValidateCommitsWithEmails(commits) | ||||
| 
 | ||||
| 	ctx.Data["Commits"] = commits | ||||
| 	ctx.Data["Username"] = userName | ||||
| 	ctx.Data["Reponame"] = repoName | ||||
| 
 | ||||
| 	ctx.Data["Username"] = ctx.Repo.Owner.Name | ||||
| 	ctx.Data["Reponame"] = ctx.Repo.Repository.Name | ||||
| 	ctx.Data["CommitCount"] = commitsCount | ||||
| 	ctx.Data["Branch"] = ctx.Repo.BranchName | ||||
| 	ctx.HTML(200, COMMITS) | ||||
| } | ||||
| 
 | ||||
|  | @ -95,18 +83,6 @@ func SearchCommits(ctx *middleware.Context) { | |||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	userName := ctx.Params(":username") | ||||
| 	repoName := ctx.Params(":reponame") | ||||
| 
 | ||||
| 	brs, err := ctx.Repo.GitRepo.GetBranches() | ||||
| 	if err != nil { | ||||
| 		ctx.Handle(500, "GetBranches", err) | ||||
| 		return | ||||
| 	} else if len(brs) == 0 { | ||||
| 		ctx.Handle(404, "GetBranches", nil) | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	commits, err := ctx.Repo.Commit.SearchCommits(keyword) | ||||
| 	if err != nil { | ||||
| 		ctx.Handle(500, "SearchCommits", err) | ||||
|  | @ -114,12 +90,13 @@ func SearchCommits(ctx *middleware.Context) { | |||
| 	} | ||||
| 	commits = RenderIssueLinks(commits, ctx.Repo.RepoLink) | ||||
| 	commits = models.ValidateCommitsWithEmails(commits) | ||||
| 	ctx.Data["Commits"] = commits | ||||
| 
 | ||||
| 	ctx.Data["Keyword"] = keyword | ||||
| 	ctx.Data["Username"] = userName | ||||
| 	ctx.Data["Reponame"] = repoName | ||||
| 	ctx.Data["Username"] = ctx.Repo.Owner.Name | ||||
| 	ctx.Data["Reponame"] = ctx.Repo.Repository.Name | ||||
| 	ctx.Data["CommitCount"] = commits.Len() | ||||
| 	ctx.Data["Commits"] = commits | ||||
| 	ctx.Data["Branch"] = ctx.Repo.BranchName | ||||
| 	ctx.HTML(200, COMMITS) | ||||
| } | ||||
| 
 | ||||
|  | @ -132,58 +109,36 @@ func FileHistory(ctx *middleware.Context) { | |||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	userName := ctx.Repo.Owner.Name | ||||
| 	repoName := ctx.Repo.Repository.Name | ||||
| 	branchName := ctx.Repo.BranchName | ||||
| 
 | ||||
| 	brs, err := ctx.Repo.GitRepo.GetBranches() | ||||
| 	if err != nil { | ||||
| 		ctx.Handle(500, "GetBranches", err) | ||||
| 		return | ||||
| 	} else if len(brs) == 0 { | ||||
| 		ctx.Handle(404, "GetBranches", nil) | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	commitsCount, err := ctx.Repo.GitRepo.FileCommitsCount(branchName, fileName) | ||||
| 	if err != nil { | ||||
| 		ctx.Handle(500, "repo.FileHistory(GetCommitsCount)", err) | ||||
| 		ctx.Handle(500, "FileCommitsCount", err) | ||||
| 		return | ||||
| 	} else if commitsCount == 0 { | ||||
| 		ctx.Handle(404, "repo.FileHistory", nil) | ||||
| 		ctx.Handle(404, "FileCommitsCount", nil) | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	// Calculate and validate page number.
 | ||||
| 	page := com.StrTo(ctx.Query("p")).MustInt() | ||||
| 	if page < 1 { | ||||
| 	page := ctx.QueryInt("page") | ||||
| 	if page <= 1 { | ||||
| 		page = 1 | ||||
| 	} | ||||
| 	lastPage := page - 1 | ||||
| 	if lastPage < 0 { | ||||
| 		lastPage = 0 | ||||
| 	} | ||||
| 	nextPage := page + 1 | ||||
| 	if nextPage*50 > commitsCount { | ||||
| 		nextPage = 0 | ||||
| 	} | ||||
| 	ctx.Data["Page"] = paginater.New(commitsCount, git.CommitsRangeSize, page, 5) | ||||
| 
 | ||||
| 	commits, err := ctx.Repo.GitRepo.CommitsByFileAndRange( | ||||
| 		branchName, fileName, page) | ||||
| 	commits, err := ctx.Repo.GitRepo.CommitsByFileAndRange(branchName, fileName, page) | ||||
| 	if err != nil { | ||||
| 		ctx.Handle(500, "repo.FileHistory(CommitsByRange)", err) | ||||
| 		ctx.Handle(500, "CommitsByFileAndRange", err) | ||||
| 		return | ||||
| 	} | ||||
| 	commits = RenderIssueLinks(commits, ctx.Repo.RepoLink) | ||||
| 	commits = models.ValidateCommitsWithEmails(commits) | ||||
| 
 | ||||
| 	ctx.Data["Commits"] = commits | ||||
| 	ctx.Data["Username"] = userName | ||||
| 	ctx.Data["Reponame"] = repoName | ||||
| 
 | ||||
| 	ctx.Data["Username"] = ctx.Repo.Owner.Name | ||||
| 	ctx.Data["Reponame"] = ctx.Repo.Repository.Name | ||||
| 	ctx.Data["FileName"] = fileName | ||||
| 	ctx.Data["CommitCount"] = commitsCount | ||||
| 	ctx.Data["LastPageNum"] = lastPage | ||||
| 	ctx.Data["NextPageNum"] = nextPage | ||||
| 	ctx.Data["Branch"] = branchName | ||||
| 	ctx.HTML(200, COMMITS) | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -1 +1 @@ | |||
| 0.7.2.1109 Beta | ||||
| 0.7.4.1110 Beta | ||||
|  | @ -1,5 +1,5 @@ | |||
| <h4 class="ui top attached header"> | ||||
|   {{.CommitCount}} {{.i18n.Tr "repo.commits.commits"}} | ||||
|   {{.CommitCount}} {{.i18n.Tr "repo.commits.commits"}} {{if .Branch}}({{.Branch}}){{end}} | ||||
|   {{if .PageIsCommits}} | ||||
|   <div class="ui right"> | ||||
|     <form action="{{.RepoLink}}/commits/{{.BranchName}}/search"> | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue