mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-20 15:42:25 +00:00
For language detection do not try to analyze big files by content (#11971)
This commit is contained in:
parent
92a05f87f0
commit
5389b6cde1
|
@ -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…
Reference in a new issue