Dropped support of EOL Python 2.7, 3.5, 3.6. See Issue [#47](https://github.com/cpburnz/python-pathspec/issues/47)_.
The gitwildmatch pattern dir/* is now handled the same as dir/. This means dir/* will now match all descendants rather than only direct children. See Issue [#19](https://github.com/cpburnz/python-pathspec/issues/19)_.
Added pathspec.GitIgnoreSpec class (see new features).
Changed build system to pyproject.toml_ and build backend to setuptools.build_meta_ which may have unforeseen consequences.
Renamed GitHub project from python-path-specification_ to python-pathspec. See Issue [#35](https://github.com/cpburnz/python-pathspec/issues/35).
API changes:
Deprecated: pathspec.util.match_files() is an old function no longer used.
Deprecated: pathspec.match_files() is an old function no longer used.
Deprecated: pathspec.util.normalize_files() is no longer used.
Deprecated: pathspec.util.iter_tree() is an alias for pathspec.util.iter_tree_files().
Deprecated: pathspec.iter_tree() is an alias for pathspec.util.iter_tree_files().
Deprecated: pathspec.pattern.Pattern.match() is no longer used. Use or implement
pathspec.pattern.Pattern.match_file().
New features:
Added class pathspec.gitignore.GitIgnoreSpec (with alias pathspec.GitIgnoreSpec) to implement gitignore behavior not possible with standard PathSpec class. The particular gitignore behavior implemented is prioritizing patterns matching the file directly over matching an ancestor directory.
Bug fixes:
Issue [#19](https://github.com/cpburnz/python-pathspec/issues/19)_: Files inside an ignored sub-directory are not matched.
Issue [#41](https://github.com/cpburnz/python-pathspec/issues/41)_: Incorrectly (?) matches files inside directories that do match.
Issue [#51](https://github.com/cpburnz/python-pathspec/issues/51)_: Refactor deprecated unittest aliases for Python 3.11 compatibility.
Issue [#54](https://github.com/cpburnz/python-pathspec/issues/54)_: test_util.py uses os.symlink which can fail on Windows.
Issue [#55](https://github.com/cpburnz/python-pathspec/issues/55)_: Backslashes at start of pattern not handled correctly.
Issue [#56](https://github.com/cpburnz/python-pathspec/issues/56)_: pyproject.toml: include subpackages in setuptools config
Issue [#57](https://github.com/cpburnz/python-pathspec/issues/57)_: ! doesn't exclude files in directories if the pattern doesn't have a trailing slash.
Improvements:
Support Python 3.10, 3.11.
Modernize code to Python 3.7.
Issue [#52](https://github.com/cpburnz/python-pathspec/issues/52): match_files() is not a pure generator function, and it impacts tree*() gravely.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps pathspec from 0.9.0 to 0.10.0.
Release notes
Sourced from pathspec's releases.
Changelog
Sourced from pathspec's changelog.
... (truncated)
Commits
9f7d13c
Release v0.10.001b8386
Release v0.10.0981559a
Release v0.10.0594176d
Change themeed2475b
Update README and CHANGES577ea22
gitignorecb9e0d8
gitignore458dbba
Merge branch 'master' into gitignore6dadc49
Update README639a077
gitignoreDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)