Unknwon 9 роки тому
батько
коміт
ab9411be2a
3 змінених файлів з 23 додано та 42 видалено
  1. 2 5
      models/repo.go
  2. 0 37
      routers/repo/forks.go
  3. 21 0
      routers/repo/view.go

+ 2 - 5
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})
 }

+ 0 - 37
routers/repo/forks.go

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

+ 21 - 0
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)
+}