For language detection do not try to analyze big files by content (#11971)

tokarchuk/v1.17
Lauris BH 5 years ago committed by GitHub
parent 92a05f87f0
commit 5389b6cde1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      modules/git/repo_language_stats.go

@ -17,7 +17,8 @@ import (
"github.com/go-git/go-git/v5/plumbing/object" "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 // specialLanguages defines list of languages that are excluded from the calculation
// unless they are the only language present in repository. Only languages which under // 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 return nil
} }
// If content can not be read just do detection by filename // If content can not be read or file is too big just do detection by filename
content, _ := readFile(f, fileSizeLimit) var content []byte
if f.Size <= bigFileSize {
content, _ = readFile(f, fileSizeLimit)
}
if enry.IsGenerated(f.Name, content) { if enry.IsGenerated(f.Name, content) {
return nil return nil
} }

Loading…
Cancel
Save