mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	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:
		| @@ -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 { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user