Merged
Conversation
The go-enry library's IsVendor function marks many files as "vendored" for language statistics purposes (e.g., .gitignore, .gitattributes, .github/, testdata/, minified files). However, in Gitea's diff view, showing these as "Vendored" is confusing. This commit implements a more restrictive vendor detection that only returns true for files in actual vendor directories: - vendor/, vendors/ - node_modules/ - bower_components/ - Godeps/ - third_party/, 3rdparty/ - external/, externals/ Fixes #22618 Co-authored-by: silverwind <115237+silverwind@users.noreply.github.com>
Address code review feedback: use path component matching instead of substring matching to avoid false positives like "myvendor/file.go" or "external_lib/file.go" being incorrectly marked as vendored. Co-authored-by: silverwind <115237+silverwind@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix issue 22618 in Gitea
Fix vendored detection to only mark actual vendor directories
Feb 1, 2026
Use go-enry's IsVendor function but override its detection for: - .gitignore, .gitattributes, .gitmodules files - Files in .github/ directory These files are marked as "vendored" by go-enry for language statistics purposes, but shouldn't show as "Vendored" in Gitea's diff view. Fixes #22618 Co-authored-by: silverwind <115237+silverwind@users.noreply.github.com>
Copilot
AI
changed the title
Fix vendored detection to only mark actual vendor directories
Fix incorrect vendored detection for .gitignore, .gitattributes, and .github files
Feb 1, 2026
silverwind
reviewed
Feb 1, 2026
silverwind
reviewed
Feb 1, 2026
- Add .gitea/ directory to the override list - Simplify condition: paths are relative to repo root, so only strings.HasPrefix is needed (removed strings.Contains check) Co-authored-by: silverwind <115237+silverwind@users.noreply.github.com>
Copilot
AI
changed the title
Fix incorrect vendored detection for .gitignore, .gitattributes, and .github files
Fix incorrect vendored detection for .gitignore, .gitattributes, .github, and .gitea files
Feb 1, 2026
Restore original go-enry test cases and add new test cases for the override functionality (.gitignore, .gitattributes, .gitmodules, .github/, .gitea/). Co-authored-by: silverwind <115237+silverwind@users.noreply.github.com>
silverwind
reviewed
Feb 1, 2026
Replace strings.HasPrefix with a compiled regex pattern for better maintainability. Co-authored-by: silverwind <115237+silverwind@users.noreply.github.com>
Include .forgejo/ directory alongside .github/ and .gitea/ in the regex pattern for directories that shouldn't be marked as vendored. Co-authored-by: silverwind <115237+silverwind@users.noreply.github.com>
Copilot
AI
changed the title
Fix incorrect vendored detections
Fix incorrect vendored detection for .gitignore, .gitattributes, .github, .gitea, and .forgejo files
Feb 1, 2026
Signed-off-by: silverwind <me@silverwind.io>
silverwind
reviewed
Feb 1, 2026
Signed-off-by: silverwind <me@silverwind.io>
wxiaoguang
reviewed
Feb 1, 2026
wxiaoguang
reviewed
Feb 1, 2026
wxiaoguang
reviewed
Feb 1, 2026
wxiaoguang
reviewed
Feb 1, 2026
Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
wxiaoguang
approved these changes
Feb 1, 2026
silverwind
added a commit
to silverwind/gitea
that referenced
this pull request
Feb 1, 2026
* origin/main: Fix incorrect vendored detections (go-gitea#36508) Bump alpine to 3.23, add platforms to `docker-dryrun` (go-gitea#36379) Unify repo names in system notices (go-gitea#36491) Allow scroll propagation outside code editor (go-gitea#36502) Refactor ActionsTaskID (go-gitea#36503) Update JS deps, remove `knip`, misc tweaks (go-gitea#36499) [skip ci] Updated translations via Crowdin Fix editorconfig not respected in PR Conversation view (go-gitea#36492) Add FOLDER_ICON_THEME configuration option (go-gitea#36496) Don't create self-references in merged PRs (go-gitea#36490) Use reserved .test TLD for unit tests (go-gitea#36498) Fix bug when list pull request commits (go-gitea#36485) Update some go dependencies (go-gitea#36489) chore: add comments for "api/healthz", clean up test env (go-gitea#36481)
zjjhot
added a commit
to zjjhot/gitea
that referenced
this pull request
Feb 2, 2026
* giteaofficial/main: (26 commits) [skip ci] Updated translations via Crowdin Remove and forbid `@ts-expect-error` (go-gitea#36513) Add resolve/unresolve review comment API endpoints (go-gitea#36441) Fix incorrect vendored detections (go-gitea#36508) Bump alpine to 3.23, add platforms to `docker-dryrun` (go-gitea#36379) Unify repo names in system notices (go-gitea#36491) Allow scroll propagation outside code editor (go-gitea#36502) Refactor ActionsTaskID (go-gitea#36503) Update JS deps, remove `knip`, misc tweaks (go-gitea#36499) [skip ci] Updated translations via Crowdin Fix editorconfig not respected in PR Conversation view (go-gitea#36492) Add FOLDER_ICON_THEME configuration option (go-gitea#36496) Don't create self-references in merged PRs (go-gitea#36490) Use reserved .test TLD for unit tests (go-gitea#36498) Fix bug when list pull request commits (go-gitea#36485) Update some go dependencies (go-gitea#36489) chore: add comments for "api/healthz", clean up test env (go-gitea#36481) [SECURITY] Toolchain Update to Go 1.25.6 (go-gitea#36480) [skip ci] Updated translations via Crowdin Render merged pull request title as such in dashboard feed (go-gitea#36479) ...
silverwind
added a commit
to silverwind/gitea
that referenced
this pull request
Feb 4, 2026
* origin/main: (1246 commits) fix(packages/container): data race when uploading container blobs concurrently (go-gitea#36524) [skip ci] Updated translations via Crowdin Remove and forbid `@ts-expect-error` (go-gitea#36513) Add resolve/unresolve review comment API endpoints (go-gitea#36441) Fix incorrect vendored detections (go-gitea#36508) Bump alpine to 3.23, add platforms to `docker-dryrun` (go-gitea#36379) Unify repo names in system notices (go-gitea#36491) Allow scroll propagation outside code editor (go-gitea#36502) Refactor ActionsTaskID (go-gitea#36503) Update JS deps, remove `knip`, misc tweaks (go-gitea#36499) [skip ci] Updated translations via Crowdin Fix editorconfig not respected in PR Conversation view (go-gitea#36492) Add FOLDER_ICON_THEME configuration option (go-gitea#36496) Don't create self-references in merged PRs (go-gitea#36490) Use reserved .test TLD for unit tests (go-gitea#36498) Fix bug when list pull request commits (go-gitea#36485) Update some go dependencies (go-gitea#36489) chore: add comments for "api/healthz", clean up test env (go-gitea#36481) [SECURITY] Toolchain Update to Go 1.25.6 (go-gitea#36480) [skip ci] Updated translations via Crowdin ... # Conflicts: # modules/templates/helper.go # options/locale/locale_en-US.ini # routers/web/repo/cherry_pick.go # routers/web/repo/editor.go # routers/web/repo/patch.go # templates/repo/editor/edit.tmpl # web_src/js/features/codeeditor.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes: #22618
go-enry'sIsVendorfunction 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.Before, incorrect detections:
After, ok: