forked from NYANDEV/forgejo
Don't allow merging PR's which are being conflict checked (#19357)
* Don't allow merging PR's which are being conflict checked - When a PR is still being conflict checked, don't allow the PR to be merged(the merge button could already be visible before e.g. a new commit was pushed to the PR). - Relevant(should prevent such issue from happening) #19352 Co-authored-by: delvh <dev.lh@web.de>
This commit is contained in:
parent
f2229e0566
commit
5e68fe7d37
1 changed files with 5 additions and 0 deletions
|
@ -36,6 +36,7 @@ var (
|
|||
ErrUserNotAllowedToMerge = errors.New("user not allowed to merge")
|
||||
ErrHasMerged = errors.New("has already been merged")
|
||||
ErrIsWorkInProgress = errors.New("work in progress PRs cannot be merged")
|
||||
ErrIsChecking = errors.New("cannot merge while conflict checking is in progress")
|
||||
ErrNotMergableState = errors.New("not in mergeable state")
|
||||
ErrDependenciesLeft = errors.New("is blocked by an open dependency")
|
||||
)
|
||||
|
@ -88,6 +89,10 @@ func CheckPullMergable(ctx context.Context, doer *user_model.User, perm *models.
|
|||
return ErrNotMergableState
|
||||
}
|
||||
|
||||
if pr.IsChecking() {
|
||||
return ErrIsChecking
|
||||
}
|
||||
|
||||
if err := CheckPRReadyToMerge(ctx, pr, false); err != nil {
|
||||
if models.IsErrDisallowedToMerge(err) {
|
||||
if force {
|
||||
|
|
Loading…
Reference in a new issue