Add pagination to commit graph page (#8360)

Fixes #8308
tokarchuk/v1.17
jaqra 5 years ago committed by zeripath
parent 3083522620
commit 086bfb8b4b
  1. 3
      models/graph.go
  2. 2
      models/graph_test.go
  3. 6
      routers/repo/commit.go
  4. 1
      templates/repo/graph.tmpl

@ -30,7 +30,7 @@ type GraphItem struct {
type GraphItems []GraphItem
// GetCommitGraph return a list of commit (GraphItems) from all branches
func GetCommitGraph(r *git.Repository) (GraphItems, error) {
func GetCommitGraph(r *git.Repository, page int) (GraphItems, error) {
var CommitGraph []GraphItem
@ -43,6 +43,7 @@ func GetCommitGraph(r *git.Repository) (GraphItems, error) {
"-C",
"-M",
fmt.Sprintf("-n %d", setting.UI.GraphMaxCommitNum),
fmt.Sprintf("--skip=%d", setting.UI.GraphMaxCommitNum*(page-1)),
"--date=iso",
fmt.Sprintf("--pretty=format:%s", format),
)

@ -19,7 +19,7 @@ func BenchmarkGetCommitGraph(b *testing.B) {
}
for i := 0; i < b.N; i++ {
graph, err := GetCommitGraph(currentRepo)
graph, err := GetCommitGraph(currentRepo, 1)
if err != nil {
b.Error("Could get commit graph")
}

@ -91,7 +91,9 @@ func Graph(ctx *context.Context) {
return
}
graph, err := models.GetCommitGraph(ctx.Repo.GitRepo)
page := ctx.QueryInt("page")
graph, err := models.GetCommitGraph(ctx.Repo.GitRepo, page)
if err != nil {
ctx.ServerError("GetCommitGraph", err)
return
@ -103,8 +105,8 @@ func Graph(ctx *context.Context) {
ctx.Data["CommitCount"] = commitsCount
ctx.Data["Branch"] = ctx.Repo.BranchName
ctx.Data["RequireGitGraph"] = true
ctx.Data["Page"] = context.NewPagination(int(commitsCount), setting.UI.GraphMaxCommitNum, page, 5)
ctx.HTML(200, tplGraph)
}
// SearchCommits render commits filtered by keyword

@ -37,4 +37,5 @@
</div>
</div>
</div>
{{template "base/paginate" .}}
{{template "base/footer" .}}

Loading…
Cancel
Save