From a342d58d7e208ef64d29151970244de7f7b4fac6 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Sun, 19 Oct 2014 01:35:24 -0400 Subject: Able to fork repo to individuals --- routers/repo/repo.go | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) (limited to 'routers/repo/repo.go') diff --git a/routers/repo/repo.go b/routers/repo/repo.go index 8b18eb25..2116e2c9 100644 --- a/routers/repo/repo.go +++ b/routers/repo/repo.go @@ -217,21 +217,20 @@ func Action(ctx *middleware.Context) { err = models.StarRepo(ctx.User.Id, ctx.Repo.Repository.Id, true) case "unstar": err = models.StarRepo(ctx.User.Id, ctx.Repo.Repository.Id, false) - case "fork": - repo, error := models.ForkRepository(ctx.User, ctx.Repo.Repository) - if error != nil { - log.Error(4, "Action(%s): %v", ctx.Params(":action"), error) - ctx.JSON(200, map[string]interface{}{ - "ok": false, - "err": error.Error(), - }) - return - } - if error == nil { - ctx.Redirect(setting.AppSubUrl + "/" + repo.Owner.Name + "/" + repo.Name) - - return - } + case "fork": + repo, err := models.ForkRepository(ctx.User, ctx.Repo.Repository) + if err != nil { + if err != models.ErrRepoAlreadyExist { + log.Error(4, "Action(%s): %v", ctx.Params(":action"), err) + ctx.JSON(200, map[string]interface{}{ + "ok": false, + "err": err.Error(), + }) + return + } + } + ctx.Redirect(setting.AppSubUrl + "/" + repo.Owner.Name + "/" + repo.Name) + return case "desc": if !ctx.Repo.IsOwner { ctx.Error(404) -- cgit v1.2.3