I have the following directory structure and files.
pw-spec/
|-- event_spec.coffee
|-- event_spec.js
|-- integration
| `-- service
| |-- auth_spec.coffee
| |-- auth_spec.js
| |-- chat_spec.coffee
| |-- chat_spec.js
| |-- transport_spec.coffee
| `-- transport_spec.js
|-- message_spec.coffee
|-- message_spec.js
|-- pw_spec.coffee
|-- pw_spec.js
|-- run.coffee
|-- run.html
|-- run.js
|-- service
| |-- auth_spec.coffee
| |-- auth_spec.js
| |-- chat_spec.coffee
| |-- chat_spec.js
| |-- stream_spec.coffee
| `-- stream_spec.js
|-- spec.coffee
|-- spec.js
`-- stub
|-- stream.coffee
|-- stream.js
|-- transport.coffee
`-- transport.js
4 directories, 27 files
I would like to ignore all *.js
files anywhere within pw-spec
directory.
However, adding the following patterns to .gitignore
doesn't cut it:
pw-spec/*.js
pw-spec/**/*.js
The problem is that the second one only matches js files that are exactly 1 level
deep within the tree, while I want to match all js files under pw-spec
.
Doing
ls pw-spec/**/*.js
produces [1]:
pw-spec/service/auth_spec.js
pw-spec/service/chat_spec.js
pw-spec/service/stream_spec.js
pw-spec/stub/stream.js
pw-spec/stub/transport.js
As you can see
pw-spec/integration/service/auth_spec.js
pw-spec/integration/service/chat_spec.js
pw-spec/integration/service/transport_spec.js
are missing from [1].
The difference is that **
doesn't work, at least not for everyone. See
Why doesn't gitignore work in this case?
You can have a separate .gitignore
in pw-spec/