mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +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") | 	ErrUserNotAllowedToMerge = errors.New("user not allowed to merge") | ||||||
| 	ErrHasMerged             = errors.New("has already been merged") | 	ErrHasMerged             = errors.New("has already been merged") | ||||||
| 	ErrIsWorkInProgress      = errors.New("work in progress PRs cannot be 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") | 	ErrNotMergableState      = errors.New("not in mergeable state") | ||||||
| 	ErrDependenciesLeft      = errors.New("is blocked by an open dependency") | 	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 | 		return ErrNotMergableState | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	if pr.IsChecking() { | ||||||
|  | 		return ErrIsChecking | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	if err := CheckPRReadyToMerge(ctx, pr, false); err != nil { | 	if err := CheckPRReadyToMerge(ctx, pr, false); err != nil { | ||||||
| 		if models.IsErrDisallowedToMerge(err) { | 		if models.IsErrDisallowedToMerge(err) { | ||||||
| 			if force { | 			if force { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user