Thread (10 messages) flat view 10 messages, 6 authors, 2021-11-20

Re: git 2.34.0: Behavior of `**` in gitignore is different from previous versions.

From: Jeff King <hidden>
Date: 2021-11-18 17:04:38

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help