Skip to content

Commit

Permalink
Don't allow merging PR's which are being conflict checked (#19357) (#…
Browse files Browse the repository at this point in the history
…19358)

* Don't allow merging PR's which are being conflict checked (#19357)

- Backport of #19357
  - 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).
  - Resolves #19352

* Update error message
  • Loading branch information
Gusted committed Apr 12, 2022
1 parent ee3a21a commit 081449d
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions services/pull/check.go
Original file line number Diff line number Diff line change
Expand Up @@ -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")
)
Expand Down Expand Up @@ -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(pr, false); err != nil {
if models.IsErrNotAllowedToMerge(err) {
if force {
Expand Down

0 comments on commit 081449d

Please sign in to comment.