fix: respect directory boundaries in standard excludes - #325
Open
Shubham-Padkonde wants to merge 1 commit into
Open
Shubham-Padkonde wants to merge 1 commit into
Shubham-Padkonde wants to merge 1 commit into
Conversation
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.
Standard directory exclusions currently use a string prefix: excluding
vendoralso dropsvendor-local/config.yamlandvendor.yamlfrom the formatting set. A directory spelled asvendor/.has the opposite problem and fails to exclude its contents.Use filepath.Rel to check lexical directory containment, rejecting parent-relative paths. File exclusions and the other matching modes are unchanged. Four regression cases cover a directory, a trailing separator, a dot segment, and the root directory.
Validation (Windows, Go 1.27.1):
go test -p 1 ./...has existing Windows path/line-ending failures. Compared failing test names against the original production source with the new tests retained: no failures unique to the patch; only the two new regression cases fail additionally upstream.go vetover the same package set as the Makefile target (excluding pkg/yaml): passed. A broader vet invocation also examined vendored YAML test fixtures and reported their deliberately malformed struct tags; that package is excluded by the project's target.Prepared and validated with OpenAI Codex assistance. No CLA was signed by the agent.