mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 00:02:20 -05: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:
		
							parent
							
								
									f2229e0566
								
							
						
					
					
						commit
						5e68fe7d37
					
				@ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user