I've noticed that the following four gitignore patterns are interpreted differently between python-pathspec and Git:
| pattern |
path |
python-pathspec |
Git |
foo**/bar |
foobar |
Tracked 1 |
Ignored |
foo |
foo |
Tracked 2 |
Ignored |
[ |
[ |
Ignored 3 |
Tracked |
[!] |
[!] |
Ignored 4 |
Tracked |
In my opinion, Git's behavior here is somewhat confusing, but given the wide use of python-pathspec5, I wanted to report these differences for clarification. Ideally, I would be happy if the python-pathspec follows Git perfectly, but I understand if it behaves differently against these edge cases.
Are these differences expected or known issues?