Repository navigation
Fix nested directory include and exclude filters - #593
Open
wanghanyu654321-cell wants to merge 1 commit into
Open
wanghanyu654321-cell wants to merge 1 commit into
wanghanyu654321-cell wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
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.
Directory rules such as
./test/reference_data/are currently compared to individual path components, so nested exclusions leak files into the wiki/RAG input and nested inclusions return no files. Match normalized slash-delimited directory paths instead, preserving directory boundaries and support for bare directory names.Fixes #79. This changes directory selectors only; file glob matching in #430 and cached database invalidation in #495 are separate. Adds six regression cases covering include/exclude rules, forward/backslashes, nested children, and similarly named sibling directories.
Validation:
test_config.pycases pass.tests/backend,tests/unit/test_chat.py,tests/test_config.py).read_repo_file_treeandread_all_documentsinclusion/exclusion checks fail on the base and pass after the fix; the Linux image also passes all four checks offline, without model calls.Full-suite limitations:
pytest tests -qgives 110 passed, 4 failed, 1 error after this change; the untouched base gives 104 passed with the same four failures and one error. These are the GitLab clone network test, three embedder factory tests requiringGOOGLE_API_KEY, and the streaming endpoint test's missingrepo_urlfixture. Additional mypy checking reports the same existing implicit-Optional error inget_embedderon both versions. No tests or check settings were weakened to address these.AI assistance: this patch and regression tests were prepared with Codex on behalf of the account owner; the diff and the reported test outputs were reviewed by the agent.