diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 03d42c2140bdb..7fee0c2a994d1 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -492,6 +492,7 @@ migrate.lfs_mirror_unsupported = Mirroring LFS objects is not supported - use 'g mirror_from = mirror of forked_from = forked from +fork_from_self = You cannot fork a repository you already own! copy_link = Copy copy_link_success = Copied! copy_link_error = Press ⌘-C or Ctrl-C to copy diff --git a/routers/repo/pull.go b/routers/repo/pull.go index b17c26e7792ed..ad4a01ec94689 100644 --- a/routers/repo/pull.go +++ b/routers/repo/pull.go @@ -111,6 +111,12 @@ func ForkPost(ctx *context.Context, form auth.CreateRepoForm) { return } + repo, has := models.HasForkedRepo(ctxUser.ID, forkRepo.ID) + if has { + ctx.Redirect(setting.AppSubURL + "/" + ctxUser.Name + "/" + repo.Name) + return + } + // Check ownership of organization. if ctxUser.IsOrganization() { if !ctxUser.IsOwnedBy(ctx.User.ID) { diff --git a/templates/repo/header.tmpl b/templates/repo/header.tmpl index ed90491309175..db636eb9bd7b5 100644 --- a/templates/repo/header.tmpl +++ b/templates/repo/header.tmpl @@ -32,7 +32,7 @@ {{if .CanBeForked}}
- + {{$.i18n.Tr "repo.fork"}}