Ignore binary extensions, except in folder names#17595
Merged
RobinMalfait merged 6 commits intomainfrom Apr 12, 2025
Merged
Conversation
We generate a glob to ignore binary extensions that looks like this:
```
*.{mp4,pages,exe,…}
```
However, if you have a folder that happens to end in `.pages` for
example, then this folder will be ignored in its entirety.
To solve this, we will instead generate the following globs:
```
*.{mp4,pages,exe,…}
!*.{mp4,pages,exe,…}/
```
This way, the `/` indicates that we are dealing with a folder and that
these should _not_ be ignored.
The implementation we chose right now means that there is a situation where an explicit ignore in your `.gitignore` file could now be included due to the fix we implemented. We can always add an additional `@source not` on top of everything, but ideally this is not needed at all.
65323d0 to
e094c30
Compare
thecrypticace
approved these changes
Apr 11, 2025
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.
We generate a glob to ignore binary extensions that looks something like this:
However, if you have a folder that happens to end in
.pagesfor example, then this folder will be ignored in its entirety.To solve this, we added a new flag to the
Gitignorestruct so we can register a bunch of ignore rules that only apply to paths and not folders.Fixes: #17569
Test plan