mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 01:34:27 +00:00 
			
		
		
		
	For language detection do not try to analyze big files by content (#11971)
This commit is contained in:
		@@ -17,7 +17,8 @@ import (
 | 
			
		||||
	"github.com/go-git/go-git/v5/plumbing/object"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const fileSizeLimit int64 = 16 * 1024 * 1024
 | 
			
		||||
const fileSizeLimit int64 = 16 * 1024 // 16 KiB
 | 
			
		||||
const bigFileSize int64 = 1024 * 1024 // 1 MiB
 | 
			
		||||
 | 
			
		||||
// specialLanguages defines list of languages that are excluded from the calculation
 | 
			
		||||
// unless they are the only language present in repository. Only languages which under
 | 
			
		||||
@@ -62,8 +63,11 @@ func (repo *Repository) GetLanguageStats(commitID string) (map[string]int64, err
 | 
			
		||||
			return nil
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// If content can not be read just do detection by filename
 | 
			
		||||
		content, _ := readFile(f, fileSizeLimit)
 | 
			
		||||
		// If content can not be read or file is too big just do detection by filename
 | 
			
		||||
		var content []byte
 | 
			
		||||
		if f.Size <= bigFileSize {
 | 
			
		||||
			content, _ = readFile(f, fileSizeLimit)
 | 
			
		||||
		}
 | 
			
		||||
		if enry.IsGenerated(f.Name, content) {
 | 
			
		||||
			return nil
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user