diff options
author | Unknwon <u@gogs.io> | 2017-07-14 18:51:23 -0400 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2017-07-14 18:51:23 -0400 |
commit | e02fac4968574694927859105e67aac3f665481d (patch) | |
tree | 80dc3c4970e817d97683e232eb51b21388b72fcc /routes | |
parent | 5a88546a8040c2f56b9cd924b2d4d5b180a63159 (diff) |
repo: fix panic on pull request submit (#4572)
Diffstat (limited to 'routes')
-rw-r--r-- | routes/repo/pull.go | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/routes/repo/pull.go b/routes/repo/pull.go index 73757280..48eb76e7 100644 --- a/routes/repo/pull.go +++ b/routes/repo/pull.go @@ -101,8 +101,11 @@ func ForkPost(c *context.Context, f form.CreateRepo) { return } - repo, has := models.HasForkedRepo(ctxUser.ID, baseRepo.ID) - if has { + repo, has, err := models.HasForkedRepo(ctxUser.ID, baseRepo.ID) + if err != nil { + c.ServerError("HasForkedRepo", err) + return + } else if has { c.Redirect(repo.Link()) return } @@ -119,7 +122,7 @@ func ForkPost(c *context.Context, f form.CreateRepo) { return } - repo, err := models.ForkRepository(c.User, ctxUser, baseRepo, f.RepoName, f.Description) + repo, err = models.ForkRepository(c.User, ctxUser, baseRepo, f.RepoName, f.Description) if err != nil { c.Data["Err_RepoName"] = true switch { @@ -475,8 +478,11 @@ func ParseCompareInfo(c *context.Context) (*models.User, *models.Repository, *gi // no need to check the fork relation. if !isSameRepo { var has bool - headRepo, has = models.HasForkedRepo(headUser.ID, baseRepo.ID) - if !has { + headRepo, has, err = models.HasForkedRepo(headUser.ID, baseRepo.ID) + if err != nil { + c.ServerError("HasForkedRepo", err) + return nil, nil, nil, nil, "", "" + } else if !has { log.Trace("ParseCompareInfo [base_repo_id: %d]: does not have fork or in same repository", baseRepo.ID) c.NotFound() return nil, nil, nil, nil, "", "" |