Browse Source

Fix count for commit graph last page (#8843)

* Fix count for commit graph last page

* Remove used once variable

* Move func to model

* capitalize method name

* fix error message
tags/v1.11.0-rc1
jaqra 4 years ago
parent
commit
065bbddab9
3 changed files with 22 additions and 1 deletions
  1. 10
    0
      modules/git/commit.go
  2. 5
    0
      modules/git/repo.go
  3. 7
    1
      routers/repo/commit.go

+ 10
- 0
modules/git/commit.go View File

@@ -248,6 +248,16 @@ func CommitChanges(repoPath string, opts CommitChangesOptions) error {
return err
}

// AllCommitsCount returns count of all commits in repository
func AllCommitsCount(repoPath string) (int64, error) {
stdout, err := NewCommand("rev-list", "--all", "--count").RunInDir(repoPath)
if err != nil {
return 0, err
}

return strconv.ParseInt(strings.TrimSpace(stdout), 10, 64)
}

func commitsCount(repoPath, revision, relpath string) (int64, error) {
cmd := NewCommand("rev-list", "--count")
cmd.AddArguments(revision)

+ 5
- 0
modules/git/repo.go View File

@@ -46,6 +46,11 @@ type GPGSettings struct {

const prettyLogFormat = `--pretty=format:%H`

// GetAllCommitsCount returns count of all commits in repository
func (repo *Repository) GetAllCommitsCount() (int64, error) {
return AllCommitsCount(repo.Path)
}

func (repo *Repository) parsePrettyFormatLogToList(logs []byte) (*list.List, error) {
l := list.New()
if len(logs) == 0 {

+ 7
- 1
routers/repo/commit.go View File

@@ -91,6 +91,12 @@ func Graph(ctx *context.Context) {
return
}

allCommitsCount, err := ctx.Repo.GitRepo.GetAllCommitsCount()
if err != nil {
ctx.ServerError("GetAllCommitsCount", err)
return
}

page := ctx.QueryInt("page")

graph, err := models.GetCommitGraph(ctx.Repo.GitRepo, page)
@@ -105,7 +111,7 @@ 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.Data["Page"] = context.NewPagination(int(allCommitsCount), setting.UI.GraphMaxCommitNum, page, 5)
ctx.HTML(200, tplGraph)
}


Loading…
Cancel
Save