Fix pull view when head repository or head branch missed and close related pull requests when delete head repository or head branch (#9927)
* fix pull view when head repository or head branch missed and close related pull requests when delete branch * fix pull view broken when head repository deleted * close pull requests when head repositories deleted * Add tests for broken pull request head repository or branch * fix typo * ignore special error when close pull request Co-authored-by: Lauris BH <lauris@nix.lv>
This commit is contained in:
parent
ee26f042c4
commit
f2d12f7b03
6 changed files with 174 additions and 20 deletions
|
@ -343,19 +343,6 @@ func PrepareViewPullInfo(ctx *context.Context, issue *models.Issue) *git.Compare
|
|||
|
||||
setMergeTarget(ctx, pull)
|
||||
|
||||
divergence, err := pull_service.GetDiverging(pull)
|
||||
if err != nil {
|
||||
ctx.ServerError("GetDiverging", err)
|
||||
return nil
|
||||
}
|
||||
ctx.Data["Divergence"] = divergence
|
||||
allowUpdate, err := pull_service.IsUserAllowedToUpdate(pull, ctx.User)
|
||||
if err != nil {
|
||||
ctx.ServerError("IsUserAllowedToUpdate", err)
|
||||
return nil
|
||||
}
|
||||
ctx.Data["UpdateAllowed"] = allowUpdate
|
||||
|
||||
if err := pull.LoadProtectedBranch(); err != nil {
|
||||
ctx.ServerError("LoadProtectedBranch", err)
|
||||
return nil
|
||||
|
@ -392,6 +379,22 @@ func PrepareViewPullInfo(ctx *context.Context, issue *models.Issue) *git.Compare
|
|||
}
|
||||
}
|
||||
|
||||
if headBranchExist {
|
||||
allowUpdate, err := pull_service.IsUserAllowedToUpdate(pull, ctx.User)
|
||||
if err != nil {
|
||||
ctx.ServerError("IsUserAllowedToUpdate", err)
|
||||
return nil
|
||||
}
|
||||
ctx.Data["UpdateAllowed"] = allowUpdate
|
||||
|
||||
divergence, err := pull_service.GetDiverging(pull)
|
||||
if err != nil {
|
||||
ctx.ServerError("GetDiverging", err)
|
||||
return nil
|
||||
}
|
||||
ctx.Data["Divergence"] = divergence
|
||||
}
|
||||
|
||||
sha, err := baseGitRepo.GetRefCommitID(pull.GetGitRefName())
|
||||
if err != nil {
|
||||
ctx.ServerError(fmt.Sprintf("GetRefCommitID(%s)", pull.GetGitRefName()), err)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue