mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08: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:
		@@ -219,7 +219,7 @@ func (t *TemporaryUploadRepository) CommitTreeWithDate(author, committer *models
 | 
			
		||||
 | 
			
		||||
	// Determine if we should sign
 | 
			
		||||
	if version.Compare(binVersion, "1.7.9", ">=") {
 | 
			
		||||
		sign, keyID := t.repo.SignCRUDAction(author, t.basePath, "HEAD")
 | 
			
		||||
		sign, keyID, _ := t.repo.SignCRUDAction(author, t.basePath, "HEAD")
 | 
			
		||||
		if sign {
 | 
			
		||||
			args = append(args, "-S"+keyID)
 | 
			
		||||
		} else if version.Compare(binVersion, "2.0.0", ">=") {
 | 
			
		||||
@@ -268,7 +268,7 @@ func (t *TemporaryUploadRepository) DiffIndex() (*gitdiff.Diff, error) {
 | 
			
		||||
	var finalErr error
 | 
			
		||||
 | 
			
		||||
	if err := git.NewCommand("diff-index", "--cached", "-p", "HEAD").
 | 
			
		||||
		RunInDirTimeoutEnvFullPipelineFunc(nil, 30*time.Second, t.basePath, stdoutWriter, stderr, nil, func(ctx context.Context, cancel context.CancelFunc) {
 | 
			
		||||
		RunInDirTimeoutEnvFullPipelineFunc(nil, 30*time.Second, t.basePath, stdoutWriter, stderr, nil, func(ctx context.Context, cancel context.CancelFunc) error {
 | 
			
		||||
			_ = stdoutWriter.Close()
 | 
			
		||||
			diff, finalErr = gitdiff.ParsePatch(setting.Git.MaxGitDiffLines, setting.Git.MaxGitDiffLineCharacters, setting.Git.MaxGitDiffFiles, stdoutReader)
 | 
			
		||||
			if finalErr != nil {
 | 
			
		||||
@@ -276,6 +276,7 @@ func (t *TemporaryUploadRepository) DiffIndex() (*gitdiff.Diff, error) {
 | 
			
		||||
				cancel()
 | 
			
		||||
			}
 | 
			
		||||
			_ = stdoutReader.Close()
 | 
			
		||||
			return finalErr
 | 
			
		||||
		}); err != nil {
 | 
			
		||||
		if finalErr != nil {
 | 
			
		||||
			log.Error("Unable to ParsePatch in temporary repo %s (%s). Error: %v", t.repo.FullName(), t.basePath, finalErr)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user