mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Add require signed commit for protected branch (#9708)
* Add require signed commit for protected branch * Fix fmt * Make editor show if they will be signed * bugfix * Add basic merge check and better information for CRUD * linting comment * Add descriptors to merge signing * Slight refactor * Slight improvement to appearances * Handle Merge API * manage CRUD API * Move error to error.go * Remove fix to delete.go * prep for merge * need to tolerate \r\n in message * check protected branch before trying to load it * Apply suggestions from code review Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com> * fix commit-reader Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
This commit is contained in:
		| @@ -55,9 +55,26 @@ func DeleteRepoFile(repo *models.Repository, doer *models.User, opts *DeleteRepo | ||||
| 				BranchName: opts.NewBranch, | ||||
| 			} | ||||
| 		} | ||||
| 	} else if protected, _ := repo.IsProtectedBranchForPush(opts.OldBranch, doer); protected { | ||||
| 		return nil, models.ErrUserCannotCommit{ | ||||
| 			UserName: doer.LowerName, | ||||
| 	} else { | ||||
| 		protectedBranch, err := repo.GetBranchProtection(opts.OldBranch) | ||||
| 		if err != nil { | ||||
| 			return nil, err | ||||
| 		} | ||||
| 		if protectedBranch != nil && !protectedBranch.CanUserPush(doer.ID) { | ||||
| 			return nil, models.ErrUserCannotCommit{ | ||||
| 				UserName: doer.LowerName, | ||||
| 			} | ||||
| 		} | ||||
| 		if protectedBranch != nil && protectedBranch.RequireSignedCommits { | ||||
| 			_, _, err := repo.SignCRUDAction(doer, repo.RepoPath(), opts.OldBranch) | ||||
| 			if err != nil { | ||||
| 				if !models.IsErrWontSign(err) { | ||||
| 					return nil, err | ||||
| 				} | ||||
| 				return nil, models.ErrUserCannotCommit{ | ||||
| 					UserName: doer.LowerName, | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user