diff --git a/modules/git/repo_language_stats.go b/modules/git/repo_language_stats.go index 46dfc0dbd9..ee4beb2f87 100644 --- a/modules/git/repo_language_stats.go +++ b/modules/git/repo_language_stats.go @@ -204,7 +204,13 @@ func (repo *Repository) GetLanguageStats(commitID string) (map[string]int64, err return nil, err } } - if !isTrue(isGenerated) && enry.IsGenerated(f.Name(), content) { + + // We consider three cases: + // 1. linguist-generated=true, then we ignore the file. + // 2. linguist-generated=false, we don't ignore the file. + // 3. linguist-generated is not set, then `enry.IsGenerated` determines if the file is generated. + if isTrue(isGenerated) || !isFalse(isGenerated) && enry.IsGenerated(f.Name(), content) { + log.Trace("Ignore %q for language stats, because it is generated", f.Name()) continue } diff --git a/modules/git/repo_language_stats_test.go b/modules/git/repo_language_stats_test.go index f18bfb3ba3..e3d8ba1f69 100644 --- a/modules/git/repo_language_stats_test.go +++ b/modules/git/repo_language_stats_test.go @@ -25,6 +25,15 @@ func TestRepository_GetLanguageStats(t *testing.T) { "Python": 134, "Java": 112, }, stats) + + stats, err = gitRepo.GetLanguageStats("95d3505f2db273e40be79f84416051ae85e9ea0d") + require.NoError(t, err) + + assert.Equal(t, map[string]int64{ + "Cobra": 67, + "Python": 67, + "Java": 112, + }, stats) } func TestMergeLanguageStats(t *testing.T) { diff --git a/modules/git/tests/repos/language_stats_repo/index b/modules/git/tests/repos/language_stats_repo/index deleted file mode 100644 index e6c0223171..0000000000 Binary files a/modules/git/tests/repos/language_stats_repo/index and /dev/null differ diff --git a/modules/git/tests/repos/language_stats_repo/logs/HEAD b/modules/git/tests/repos/language_stats_repo/logs/HEAD deleted file mode 100644 index 9cedbb66a9..0000000000 --- a/modules/git/tests/repos/language_stats_repo/logs/HEAD +++ /dev/null @@ -1,2 +0,0 @@ -0000000000000000000000000000000000000000 8fee858da5796dfb37704761701bb8e800ad9ef3 Andrew Thornton 1632140318 +0100 commit (initial): Add some test files for GetLanguageStats -8fee858da5796dfb37704761701bb8e800ad9ef3 341fca5b5ea3de596dc483e54c2db28633cd2f97 oliverpool 1711278775 +0100 push diff --git a/modules/git/tests/repos/language_stats_repo/logs/refs/heads/master b/modules/git/tests/repos/language_stats_repo/logs/refs/heads/master deleted file mode 100644 index 9cedbb66a9..0000000000 --- a/modules/git/tests/repos/language_stats_repo/logs/refs/heads/master +++ /dev/null @@ -1,2 +0,0 @@ -0000000000000000000000000000000000000000 8fee858da5796dfb37704761701bb8e800ad9ef3 Andrew Thornton 1632140318 +0100 commit (initial): Add some test files for GetLanguageStats -8fee858da5796dfb37704761701bb8e800ad9ef3 341fca5b5ea3de596dc483e54c2db28633cd2f97 oliverpool 1711278775 +0100 push diff --git a/modules/git/tests/repos/language_stats_repo/objects/1e/ea60592b55dcb45c36029cc1202132e9fb756c b/modules/git/tests/repos/language_stats_repo/objects/1e/ea60592b55dcb45c36029cc1202132e9fb756c deleted file mode 100644 index 3c55bab91e..0000000000 Binary files a/modules/git/tests/repos/language_stats_repo/objects/1e/ea60592b55dcb45c36029cc1202132e9fb756c and /dev/null differ diff --git a/modules/git/tests/repos/language_stats_repo/objects/22/b6aa0588563508d8879f062470c8cbc7b2f2bb b/modules/git/tests/repos/language_stats_repo/objects/22/b6aa0588563508d8879f062470c8cbc7b2f2bb deleted file mode 100644 index 947feecea9..0000000000 Binary files a/modules/git/tests/repos/language_stats_repo/objects/22/b6aa0588563508d8879f062470c8cbc7b2f2bb and /dev/null differ diff --git a/modules/git/tests/repos/language_stats_repo/objects/34/1fca5b5ea3de596dc483e54c2db28633cd2f97 b/modules/git/tests/repos/language_stats_repo/objects/34/1fca5b5ea3de596dc483e54c2db28633cd2f97 deleted file mode 100644 index 9ce337e070..0000000000 Binary files a/modules/git/tests/repos/language_stats_repo/objects/34/1fca5b5ea3de596dc483e54c2db28633cd2f97 and /dev/null differ diff --git a/modules/git/tests/repos/language_stats_repo/objects/42/25ecfaf6bafbcfa31ea5cbd8121c36d9457085 b/modules/git/tests/repos/language_stats_repo/objects/42/25ecfaf6bafbcfa31ea5cbd8121c36d9457085 deleted file mode 100644 index ff3b642734..0000000000 Binary files a/modules/git/tests/repos/language_stats_repo/objects/42/25ecfaf6bafbcfa31ea5cbd8121c36d9457085 and /dev/null differ diff --git a/modules/git/tests/repos/language_stats_repo/objects/4a/c803638e4b8995146e329a05e096fa2c77a03d b/modules/git/tests/repos/language_stats_repo/objects/4a/c803638e4b8995146e329a05e096fa2c77a03d deleted file mode 100644 index b71abc120c..0000000000 Binary files a/modules/git/tests/repos/language_stats_repo/objects/4a/c803638e4b8995146e329a05e096fa2c77a03d and /dev/null differ diff --git a/modules/git/tests/repos/language_stats_repo/objects/64/4c37ad7fe64ac012df7e59d27a92e3137c640e b/modules/git/tests/repos/language_stats_repo/objects/64/4c37ad7fe64ac012df7e59d27a92e3137c640e deleted file mode 100644 index 5c2485d82f..0000000000 Binary files a/modules/git/tests/repos/language_stats_repo/objects/64/4c37ad7fe64ac012df7e59d27a92e3137c640e and /dev/null differ diff --git a/modules/git/tests/repos/language_stats_repo/objects/6c/633a0067b463e459ae952716b17ae36aa30adc b/modules/git/tests/repos/language_stats_repo/objects/6c/633a0067b463e459ae952716b17ae36aa30adc deleted file mode 100644 index 873cb7187d..0000000000 Binary files a/modules/git/tests/repos/language_stats_repo/objects/6c/633a0067b463e459ae952716b17ae36aa30adc and /dev/null differ diff --git a/modules/git/tests/repos/language_stats_repo/objects/8e/b563dc106e3dfd3ad0fa81f7a0c5e2604f80cd b/modules/git/tests/repos/language_stats_repo/objects/8e/b563dc106e3dfd3ad0fa81f7a0c5e2604f80cd deleted file mode 100644 index f89ecb7d60..0000000000 Binary files a/modules/git/tests/repos/language_stats_repo/objects/8e/b563dc106e3dfd3ad0fa81f7a0c5e2604f80cd and /dev/null differ diff --git a/modules/git/tests/repos/language_stats_repo/objects/8f/ee858da5796dfb37704761701bb8e800ad9ef3 b/modules/git/tests/repos/language_stats_repo/objects/8f/ee858da5796dfb37704761701bb8e800ad9ef3 deleted file mode 100644 index 0219c2d565..0000000000 Binary files a/modules/git/tests/repos/language_stats_repo/objects/8f/ee858da5796dfb37704761701bb8e800ad9ef3 and /dev/null differ diff --git a/modules/git/tests/repos/language_stats_repo/objects/aa/a21bf84c8b2304608d3fc83b747840f2456299 b/modules/git/tests/repos/language_stats_repo/objects/aa/a21bf84c8b2304608d3fc83b747840f2456299 deleted file mode 100644 index adc50f2bce..0000000000 Binary files a/modules/git/tests/repos/language_stats_repo/objects/aa/a21bf84c8b2304608d3fc83b747840f2456299 and /dev/null differ diff --git a/modules/git/tests/repos/language_stats_repo/objects/da/a5abe3c5f42cae598e362e8a8db6284565d6bb b/modules/git/tests/repos/language_stats_repo/objects/da/a5abe3c5f42cae598e362e8a8db6284565d6bb deleted file mode 100644 index 9d4d4b1a04..0000000000 Binary files a/modules/git/tests/repos/language_stats_repo/objects/da/a5abe3c5f42cae598e362e8a8db6284565d6bb and /dev/null differ diff --git a/modules/git/tests/repos/language_stats_repo/objects/pack/pack-371b1f6c24df14da4898b22c00ff8fb55303ac76.idx b/modules/git/tests/repos/language_stats_repo/objects/pack/pack-371b1f6c24df14da4898b22c00ff8fb55303ac76.idx new file mode 100644 index 0000000000..186136cb12 Binary files /dev/null and b/modules/git/tests/repos/language_stats_repo/objects/pack/pack-371b1f6c24df14da4898b22c00ff8fb55303ac76.idx differ diff --git a/modules/git/tests/repos/language_stats_repo/objects/pack/pack-371b1f6c24df14da4898b22c00ff8fb55303ac76.pack b/modules/git/tests/repos/language_stats_repo/objects/pack/pack-371b1f6c24df14da4898b22c00ff8fb55303ac76.pack new file mode 100644 index 0000000000..046061c688 Binary files /dev/null and b/modules/git/tests/repos/language_stats_repo/objects/pack/pack-371b1f6c24df14da4898b22c00ff8fb55303ac76.pack differ diff --git a/modules/git/tests/repos/language_stats_repo/objects/pack/pack-371b1f6c24df14da4898b22c00ff8fb55303ac76.rev b/modules/git/tests/repos/language_stats_repo/objects/pack/pack-371b1f6c24df14da4898b22c00ff8fb55303ac76.rev new file mode 100644 index 0000000000..7d8c6f3562 Binary files /dev/null and b/modules/git/tests/repos/language_stats_repo/objects/pack/pack-371b1f6c24df14da4898b22c00ff8fb55303ac76.rev differ diff --git a/modules/git/tests/repos/language_stats_repo/packed-refs b/modules/git/tests/repos/language_stats_repo/packed-refs new file mode 100644 index 0000000000..63e01583a4 --- /dev/null +++ b/modules/git/tests/repos/language_stats_repo/packed-refs @@ -0,0 +1,2 @@ +# pack-refs with: peeled fully-peeled sorted +95d3505f2db273e40be79f84416051ae85e9ea0d refs/heads/master diff --git a/modules/git/tests/repos/language_stats_repo/refs/heads/.gitkeep b/modules/git/tests/repos/language_stats_repo/refs/heads/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/modules/git/tests/repos/language_stats_repo/refs/heads/master b/modules/git/tests/repos/language_stats_repo/refs/heads/master deleted file mode 100644 index e89143e56b..0000000000 --- a/modules/git/tests/repos/language_stats_repo/refs/heads/master +++ /dev/null @@ -1 +0,0 @@ -341fca5b5ea3de596dc483e54c2db28633cd2f97 diff --git a/modules/git/tests/repos/language_stats_repo/refs/tags/.gitkeep b/modules/git/tests/repos/language_stats_repo/refs/tags/.gitkeep new file mode 100644 index 0000000000..e69de29bb2