On Thu, Nov 18, 2021 at 08:11:04PM +0330, Danial Alihosseini wrote:
What did you do before the bug happened? (Steps to reproduce your issue)
Consider the following project structure
- data
- data1
- file1
- file1.txt
- data2
- file2
- file2.txt
- .gitignore
`.gitignore` is as follows:data/**
!data/**/
!data/**/*.txt
What did you expect to happen? (Expected behavior)
I expect all files in `data` folder to be ignored except `.txt` files.
What happened instead? (Actual behavior)
`file1` and `file2` are not ignored.
Here is the `check-ignore` output:
$ git check-ignore -v data/data1/file1
.gitignore:2:!/data/**/ data/data1/file1
Thanks for an easy reproduction. It looks like this changed in
f6526728f9 (dir: select directories correctly, 2021-09-24). Author cc'd.
The key thing seems to be that the second line of your .gitignore should
match only directories (because of the trailing slash), but no longer
does.
-Peff