瀏覽代碼

fix #1572 fix file histrory paging issue

Unknwon 9 年之前
父節點
當前提交
3b62a0fe0e
共有 6 個文件被更改,包括 23 次插入69 次删除
  1. 1 1
      README.md
  2. 1 1
      gogs.go
  3. 0 1
      modules/base/markdown.go
  4. 19 64
      routers/repo/commit.go
  5. 1 1
      templates/.VERSION
  6. 1 1
      templates/repo/commits_table.tmpl

+ 1 - 1
README.md

@@ -5,7 +5,7 @@ Gogs - Go Git Service [![Build Status](https://travis-ci.org/gogits/gogs.svg?bra
 
 ![](public/img/gogs-large-resize.png)
 
-##### Current version: 0.7.2 Beta
+##### Current version: 0.7.4 Beta
 
 <table>
     <tr>

+ 1 - 1
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())

+ 0 - 1
modules/base/markdown.go

@@ -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)

+ 19 - 64
routers/repo/commit.go

@@ -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
templates/.VERSION

@@ -1 +1 @@
-0.7.2.1109 Beta
+0.7.4.1110 Beta

+ 1 - 1
templates/repo/commits_table.tmpl

@@ -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">