diff --git a/models/repo.go b/models/repo.go index f180179440b..6069be12434 100644 --- a/models/repo.go +++ b/models/repo.go @@ -2436,6 +2436,7 @@ func ForkRepository(doer, u *User, oldRepo *Repository, name, desc string) (_ *R Description: desc, DefaultBranch: oldRepo.DefaultBranch, IsPrivate: oldRepo.IsPrivate, + IsEmpty: oldRepo.IsEmpty, IsFork: true, ForkID: oldRepo.ID, } diff --git a/modules/context/repo.go b/modules/context/repo.go index 0cbd89a75f4..2c6a4f53601 100644 --- a/modules/context/repo.go +++ b/modules/context/repo.go @@ -396,6 +396,13 @@ func RepoAssignment() macaron.Handler { ctx.Data["IsStaringRepo"] = models.IsStaring(ctx.User.ID, repo.ID) } + if repo.IsFork { + RetrieveBaseRepo(ctx, repo) + if ctx.Written() { + return + } + } + // repo is empty and display enable if ctx.Repo.Repository.IsEmpty { ctx.Data["BranchName"] = ctx.Repo.Repository.DefaultBranch @@ -423,13 +430,6 @@ func RepoAssignment() macaron.Handler { ctx.Data["BranchName"] = ctx.Repo.BranchName ctx.Data["CommitID"] = ctx.Repo.CommitID - if repo.IsFork { - RetrieveBaseRepo(ctx, repo) - if ctx.Written() { - return - } - } - // People who have push access or have forked repository can propose a new pull request. if ctx.Repo.CanWrite(models.UnitTypeCode) || (ctx.IsSigned && ctx.User.HasForkedRepo(ctx.Repo.Repository.ID)) { // Pull request is allowed if this is a fork repository