This dependency cannot be sent between threads.
Instead use git-config which is a pure rust implementation to read git config files.
Uses the builtin values::Path struct to extract ignore paths.
It takes care of all the corner cases with how git interprets paths.
I did not realise that Cargo considers -pre.1 and -pre.2 to be
compatible, so the latest Notify prerelease broke all existing
releases, and whenever I release a new lib it may break all CLI
versions if the API changes.
This is buggy behaviour that exists in <=1.17, and this patch restores it*
Per gitignore rules, this glob:
*/somefile
Will match:
foo/somefile
bar/somefile
But not:
somefile
However, so far we’ve accepted this. As this is a breaking change, this patch
introduces a hack which lets us accept this behaviour, but clearly marks it as
a compatibility exception. In 2.0, this will be gone.
Fixes#258
* It only restores it on unices, because the behaviour cannot be restored in
any reasonable manner on Windows. Ah well. It's not for long anyway.
These two options are meant to work together: they are a union of filters
rather than competing. Thus:
--exts toml,py --filter Gemfile
will match all of:
foo.toml
bar.py
Gemfile
rather than matching no files at all because Gemfile doesn’t have an extension.
Fixes#259
And so on from other VCS. This causes confusion (ref #255) when watching
from outside a git repo, where the VCS type isn’t detected so the .git
folder is included in the watchset. While slightly incorrect, it’s more
expected that these folders be ignored regardless, and there’s always
--no-default-ignore to avoid those ignores if needed.