aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--models/repo.go7
-rw-r--r--routers/repo/forks.go37
-rw-r--r--routers/repo/view.go21
3 files changed, 23 insertions, 42 deletions
diff --git a/models/repo.go b/models/repo.go
index 0e10e171db..174fbd9d59 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -1865,9 +1865,6 @@ func ForkRepository(u *User, oldRepo *Repository, name, desc string) (_ *Reposit
}
func (repo *Repository) GetForks() ([]*Repository, error) {
- forks := make([]*Repository, 0, 10)
-
- err := x.Find(&forks, &Repository{ForkID: repo.ID})
-
- return forks, err
+ forks := make([]*Repository, 0, repo.NumForks)
+ return forks, x.Find(&forks, &Repository{ForkID: repo.ID})
}
diff --git a/routers/repo/forks.go b/routers/repo/forks.go
deleted file mode 100644
index 099f0cc4f6..0000000000
--- a/routers/repo/forks.go
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2014 The Gogs Authors. All rights reserved.
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file.
-
-package repo
-
-import (
- "fmt"
- "github.com/gogits/gogs/modules/base"
- "github.com/gogits/gogs/modules/middleware"
-)
-
-const (
- FORKS base.TplName = "repo/forks"
-)
-
-func Forks(ctx *middleware.Context) {
- ctx.Data["Title"] = ctx.Tr("repos.forks")
-
- forks, err := ctx.Repo.Repository.GetForks()
-
- if err != nil {
- ctx.Handle(500, "GetForks", err)
- return
- }
-
- for _, fork := range forks {
- if err = fork.GetOwner(); err != nil {
- ctx.Handle(500, "GetOwner", fmt.Errorf("%d: %v", fork.ID, err))
- return
- }
- }
-
- ctx.Data["Forks"] = forks
-
- ctx.HTML(200, FORKS)
-}
diff --git a/routers/repo/view.go b/routers/repo/view.go
index 8c62b7e4a0..eeb5d5c05a 100644
--- a/routers/repo/view.go
+++ b/routers/repo/view.go
@@ -24,6 +24,7 @@ import (
const (
HOME base.TplName = "repo/home"
WATCHERS base.TplName = "repo/watchers"
+ FORKS base.TplName = "repo/forks"
)
func Home(ctx *middleware.Context) {
@@ -278,3 +279,23 @@ func Stars(ctx *middleware.Context) {
ctx.Data["PageIsStargazers"] = true
renderItems(ctx, ctx.Repo.Repository.NumStars, ctx.Repo.Repository.GetStargazers)
}
+
+func Forks(ctx *middleware.Context) {
+ ctx.Data["Title"] = ctx.Tr("repos.forks")
+
+ forks, err := ctx.Repo.Repository.GetForks()
+ if err != nil {
+ ctx.Handle(500, "GetForks", err)
+ return
+ }
+
+ for _, fork := range forks {
+ if err = fork.GetOwner(); err != nil {
+ ctx.Handle(500, "GetOwner", err)
+ return
+ }
+ }
+ ctx.Data["Forks"] = forks
+
+ ctx.HTML(200, FORKS)
+}