diff --git a/routers/repo/view.go b/routers/repo/view.go index b92380d897a5a..9ee4741ce9ff5 100644 --- a/routers/repo/view.go +++ b/routers/repo/view.go @@ -6,10 +6,12 @@ package repo import ( "bytes" + "encoding/base64" "fmt" gotemplate "html/template" "io/ioutil" "path" + "strconv" "strings" "code.gitea.io/git" @@ -22,9 +24,7 @@ import ( "code.gitea.io/gitea/modules/markdown" "code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/templates" - "encoding/base64" "github.com/Unknwon/paginater" - "strconv" ) const ( @@ -45,8 +45,19 @@ func renderDirectory(ctx *context.Context, treeLink string) { ctx.Handle(500, "ListEntries", err) return } + entries.Sort() + start := ctx.QueryInt("start") + count := ctx.QueryInt("count") + + // Check invalid values + if (start == 0 && count == 0) || count < 0 || start+count > len(entries) { + start = 0 + count = len(entries) + } + entries = entries[start : start+count] + ctx.Data["Files"], err = entries.GetCommitsInfo(ctx.Repo.Commit, ctx.Repo.TreePath) if err != nil { ctx.Handle(500, "GetCommitsInfo", err)