mirror of
https://github.com/go-gitea/gitea
synced 2026-02-03 10:00:37 +00:00
Fixes: https://github.com/go-gitea/gitea/issues/22618 `go-enry`'s `IsVendor` function marks git paths (`.gitignore`, `.gitattributes`, `.gitmodules`), github/gitea paths (`.github/`, `.gitea/`) as "vendored" for GitHub Linguist language statistics. This causes these files to incorrectly display the "Vendored" tag in diff views. Override `go-enry`'s detection for these specific cases while preserving its behavior for actual vendor directories. --------- Signed-off-by: silverwind <me@silverwind.io> Signed-off-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: silverwind <115237+silverwind@users.noreply.github.com> Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
54 lines
1.2 KiB
Go
54 lines
1.2 KiB
Go
// Copyright 2021 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package analyze
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestIsVendor(t *testing.T) {
|
|
tests := []struct {
|
|
path string
|
|
want bool
|
|
}{
|
|
// Original go-enry test cases
|
|
{"cache/", true},
|
|
{"random/cache/", true},
|
|
{"cache", false},
|
|
{"dependencies/", true},
|
|
{"Dependencies/", true},
|
|
{"dependency/", false},
|
|
{"dist/", true},
|
|
{"dist", false},
|
|
{"random/dist/", true},
|
|
{"random/dist", false},
|
|
{"deps/", true},
|
|
{"configure", true},
|
|
{"a/configure", true},
|
|
{"config.guess", true},
|
|
{"config.guess/", false},
|
|
{".vscode/", true},
|
|
{"doc/_build/", true},
|
|
{"a/docs/_build/", true},
|
|
{"a/dasdocs/_build-vsdoc.js", true},
|
|
{"a/dasdocs/_build-vsdoc.j", false},
|
|
|
|
// Override: Git/GitHub/Gitea-related paths should NOT be detected as vendored
|
|
{".gitignore", false},
|
|
{".gitattributes", false},
|
|
{".gitmodules", false},
|
|
{"src/.gitignore", false},
|
|
{".github/workflows/ci.yml", false},
|
|
{".gitea/workflows/ci.yml", false},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.path, func(t *testing.T) {
|
|
got := IsVendor(tt.path)
|
|
assert.Equal(t, tt.want, got)
|
|
})
|
|
}
|
|
}
|