Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

On bracket expression negation #77

Closed
karagenc opened this issue Apr 21, 2023 · 2 comments · Fixed by #78
Closed

On bracket expression negation #77

karagenc opened this issue Apr 21, 2023 · 2 comments · Fixed by #78

Comments

@karagenc
Copy link
Contributor

^ is escaped, but it works with gitignore.

To test it:

mkdir test && cd test
git init
echo 'a[^b]c' > .gitignore
touch abc azc
git status -u --ignored

Notice that abc doesn't match but azc does match. pathspec's behavior with ^ is inconsistent with Git.

I read:

# POSIX declares that the regex bracket expression negation

But I didn't understand why would you prefer to be compatible with POSIX and Python's fnmatch.translate when you could be compatible with gitignore itself. May I ask what led you to the decision to escape ^?

@cpburnz
Copy link
Owner

cpburnz commented Apr 23, 2023

From the comment I have there:

POSIX declares that the regex bracket expression negation
"[^...]" is undefined in a glob pattern. Python's
fnmatch.translate() escapes the caret ('^') as a
literal. To maintain consistency with undefined behavior,
I am escaping the '^' as well.

My intent was to maintain the undefined behavior I was aware of. It does makes more sense to follow Git's behavior.

@karagenc
Copy link
Contributor Author

Okay, let's follow Git's behavior: #78

VadVergasov pushed a commit to VadVergasov/MailRedirector that referenced this issue Aug 1, 2023
Bumps [pathspec](https://github.com/cpburnz/python-pathspec) from 0.11.1
to 0.11.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cpburnz/python-pathspec/releases">pathspec's
releases</a>.</em></p>
<blockquote>
<h2>v0.11.2</h2>
<p>Release v0.11.2. See <a
href="https://github.com/cpburnz/python-pathspec/blob/v0.11.2/CHANGES.rst">CHANGES.rst</a>.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/cpburnz/python-pathspec/blob/master/CHANGES.rst">pathspec's
changelog</a>.</em></p>
<blockquote>
<h2>0.11.2 (2023-07-28)</h2>
<p>New features:</p>
<ul>
<li><code>Issue
[#80](https://github.com/cpburnz/python-pathspec/issues/80)</code>_:
match_files with negated path spec.
<code>pathspec.PathSpec.match_*()</code> now have a <code>negate</code>
parameter to make using <em>.gitignore</em> logic easier and more
efficient.</li>
</ul>
<p>Bug fixes:</p>
<ul>
<li><code>Pull
[#76](https://github.com/cpburnz/python-pathspec/issues/76)</code>_: Add
edge case: patterns that end with an escaped space</li>
<li><code>Issue
[#77](https://github.com/cpburnz/python-pathspec/issues/77)</code><em>/<code>Pull
[#78](https://github.com/cpburnz/python-pathspec/issues/78)</code></em>:
Negate with caret symbol as with the exclamation mark.</li>
</ul>
<p>.. _<code>Pull
[#76](https://github.com/cpburnz/python-pathspec/issues/76)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/pull/76">cpburnz/python-pathspec#76</a>
.. _<code>Issue
[#77](https://github.com/cpburnz/python-pathspec/issues/77)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/issues/77">cpburnz/python-pathspec#77</a>
.. _<code>Pull
[#78](https://github.com/cpburnz/python-pathspec/issues/78)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/pull/78/">cpburnz/python-pathspec#78</a>
.. _<code>Issue
[#80](https://github.com/cpburnz/python-pathspec/issues/80)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/issues/80">cpburnz/python-pathspec#80</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/878be226c5324a4c5470c2ff86034d27c0734d70"><code>878be22</code></a>
Release v0.11.2</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/c0aca9fa0fe4aaa7967beb717f726ed36d9ab2fe"><code>c0aca9f</code></a>
Release v0.11.2</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/fb2246c0b50b95803b8abee2b2bfbdca39850918"><code>fb2246c</code></a>
Implement issue 80</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/933dd7da982551300a584c98570993402a56bc27"><code>933dd7d</code></a>
Update CHANGES</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/dfb630b7bd42956bdd6834c651806d010e01e5f6"><code>dfb630b</code></a>
Update CHANGES</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/cebf13fe5c986178d277bc7e01baa28fd10742d2"><code>cebf13f</code></a>
Merge pull request <a
href="https://redirect.github.com/cpburnz/python-pathspec/issues/78">#78</a>
from tomruk/caret-symbol</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/518db79aa414816ac41b752e94ddb1b25850304d"><code>518db79</code></a>
Merge branch 'master' into caret-symbol</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/57fbd3ed69597d35a50c56446d60e2c17ab04baf"><code>57fbd3e</code></a>
Pass caret negation</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/6b58e23b6038051fb2d690691912bca3dffcde97"><code>6b58e23</code></a>
Negate with caret symbol as with the exclamation mark</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/b9a014e560af033591d8cfe7734deb929cc52f67"><code>b9a014e</code></a>
Update CHANGES</li>
<li>Additional commits viewable in <a
href="https://github.com/cpburnz/python-pathspec/compare/v0.11.1...v0.11.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pathspec&package-manager=pip&previous-version=0.11.1&new-version=0.11.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
VadVergasov pushed a commit to VadVergasov/HometaskBot that referenced this issue Aug 1, 2023
Bumps [pathspec](https://github.com/cpburnz/python-pathspec) from 0.11.1
to 0.11.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cpburnz/python-pathspec/releases">pathspec's
releases</a>.</em></p>
<blockquote>
<h2>v0.11.2</h2>
<p>Release v0.11.2. See <a
href="https://github.com/cpburnz/python-pathspec/blob/v0.11.2/CHANGES.rst">CHANGES.rst</a>.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/cpburnz/python-pathspec/blob/master/CHANGES.rst">pathspec's
changelog</a>.</em></p>
<blockquote>
<h2>0.11.2 (2023-07-28)</h2>
<p>New features:</p>
<ul>
<li><code>Issue
[#80](https://github.com/cpburnz/python-pathspec/issues/80)</code>_:
match_files with negated path spec.
<code>pathspec.PathSpec.match_*()</code> now have a <code>negate</code>
parameter to make using <em>.gitignore</em> logic easier and more
efficient.</li>
</ul>
<p>Bug fixes:</p>
<ul>
<li><code>Pull
[#76](https://github.com/cpburnz/python-pathspec/issues/76)</code>_: Add
edge case: patterns that end with an escaped space</li>
<li><code>Issue
[#77](https://github.com/cpburnz/python-pathspec/issues/77)</code><em>/<code>Pull
[#78](https://github.com/cpburnz/python-pathspec/issues/78)</code></em>:
Negate with caret symbol as with the exclamation mark.</li>
</ul>
<p>.. _<code>Pull
[#76](https://github.com/cpburnz/python-pathspec/issues/76)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/pull/76">cpburnz/python-pathspec#76</a>
.. _<code>Issue
[#77](https://github.com/cpburnz/python-pathspec/issues/77)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/issues/77">cpburnz/python-pathspec#77</a>
.. _<code>Pull
[#78](https://github.com/cpburnz/python-pathspec/issues/78)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/pull/78/">cpburnz/python-pathspec#78</a>
.. _<code>Issue
[#80](https://github.com/cpburnz/python-pathspec/issues/80)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/issues/80">cpburnz/python-pathspec#80</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/878be226c5324a4c5470c2ff86034d27c0734d70"><code>878be22</code></a>
Release v0.11.2</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/c0aca9fa0fe4aaa7967beb717f726ed36d9ab2fe"><code>c0aca9f</code></a>
Release v0.11.2</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/fb2246c0b50b95803b8abee2b2bfbdca39850918"><code>fb2246c</code></a>
Implement issue 80</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/933dd7da982551300a584c98570993402a56bc27"><code>933dd7d</code></a>
Update CHANGES</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/dfb630b7bd42956bdd6834c651806d010e01e5f6"><code>dfb630b</code></a>
Update CHANGES</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/cebf13fe5c986178d277bc7e01baa28fd10742d2"><code>cebf13f</code></a>
Merge pull request <a
href="https://redirect.github.com/cpburnz/python-pathspec/issues/78">#78</a>
from tomruk/caret-symbol</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/518db79aa414816ac41b752e94ddb1b25850304d"><code>518db79</code></a>
Merge branch 'master' into caret-symbol</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/57fbd3ed69597d35a50c56446d60e2c17ab04baf"><code>57fbd3e</code></a>
Pass caret negation</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/6b58e23b6038051fb2d690691912bca3dffcde97"><code>6b58e23</code></a>
Negate with caret symbol as with the exclamation mark</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/b9a014e560af033591d8cfe7734deb929cc52f67"><code>b9a014e</code></a>
Update CHANGES</li>
<li>Additional commits viewable in <a
href="https://github.com/cpburnz/python-pathspec/compare/v0.11.1...v0.11.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pathspec&package-manager=pip&previous-version=0.11.1&new-version=0.11.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
VadVergasov pushed a commit to VadVergasov/vkparserbot that referenced this issue Aug 1, 2023
Bumps [pathspec](https://github.com/cpburnz/python-pathspec) from 0.11.1
to 0.11.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cpburnz/python-pathspec/releases">pathspec's
releases</a>.</em></p>
<blockquote>
<h2>v0.11.2</h2>
<p>Release v0.11.2. See <a
href="https://github.com/cpburnz/python-pathspec/blob/v0.11.2/CHANGES.rst">CHANGES.rst</a>.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/cpburnz/python-pathspec/blob/master/CHANGES.rst">pathspec's
changelog</a>.</em></p>
<blockquote>
<h2>0.11.2 (2023-07-28)</h2>
<p>New features:</p>
<ul>
<li><code>Issue
[#80](https://github.com/cpburnz/python-pathspec/issues/80)</code>_:
match_files with negated path spec.
<code>pathspec.PathSpec.match_*()</code> now have a <code>negate</code>
parameter to make using <em>.gitignore</em> logic easier and more
efficient.</li>
</ul>
<p>Bug fixes:</p>
<ul>
<li><code>Pull
[#76](https://github.com/cpburnz/python-pathspec/issues/76)</code>_: Add
edge case: patterns that end with an escaped space</li>
<li><code>Issue
[#77](https://github.com/cpburnz/python-pathspec/issues/77)</code><em>/<code>Pull
[#78](https://github.com/cpburnz/python-pathspec/issues/78)</code></em>:
Negate with caret symbol as with the exclamation mark.</li>
</ul>
<p>.. _<code>Pull
[#76](https://github.com/cpburnz/python-pathspec/issues/76)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/pull/76">cpburnz/python-pathspec#76</a>
.. _<code>Issue
[#77](https://github.com/cpburnz/python-pathspec/issues/77)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/issues/77">cpburnz/python-pathspec#77</a>
.. _<code>Pull
[#78](https://github.com/cpburnz/python-pathspec/issues/78)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/pull/78/">cpburnz/python-pathspec#78</a>
.. _<code>Issue
[#80](https://github.com/cpburnz/python-pathspec/issues/80)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/issues/80">cpburnz/python-pathspec#80</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/878be226c5324a4c5470c2ff86034d27c0734d70"><code>878be22</code></a>
Release v0.11.2</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/c0aca9fa0fe4aaa7967beb717f726ed36d9ab2fe"><code>c0aca9f</code></a>
Release v0.11.2</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/fb2246c0b50b95803b8abee2b2bfbdca39850918"><code>fb2246c</code></a>
Implement issue 80</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/933dd7da982551300a584c98570993402a56bc27"><code>933dd7d</code></a>
Update CHANGES</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/dfb630b7bd42956bdd6834c651806d010e01e5f6"><code>dfb630b</code></a>
Update CHANGES</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/cebf13fe5c986178d277bc7e01baa28fd10742d2"><code>cebf13f</code></a>
Merge pull request <a
href="https://redirect.github.com/cpburnz/python-pathspec/issues/78">#78</a>
from tomruk/caret-symbol</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/518db79aa414816ac41b752e94ddb1b25850304d"><code>518db79</code></a>
Merge branch 'master' into caret-symbol</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/57fbd3ed69597d35a50c56446d60e2c17ab04baf"><code>57fbd3e</code></a>
Pass caret negation</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/6b58e23b6038051fb2d690691912bca3dffcde97"><code>6b58e23</code></a>
Negate with caret symbol as with the exclamation mark</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/b9a014e560af033591d8cfe7734deb929cc52f67"><code>b9a014e</code></a>
Update CHANGES</li>
<li>Additional commits viewable in <a
href="https://github.com/cpburnz/python-pathspec/compare/v0.11.1...v0.11.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pathspec&package-manager=pip&previous-version=0.11.1&new-version=0.11.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
stujfiter added a commit to slalombuild/secureli that referenced this issue Aug 2, 2023
Bumps [pathspec](https://github.com/cpburnz/python-pathspec) from 0.11.1
to 0.11.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cpburnz/python-pathspec/releases">pathspec's
releases</a>.</em></p>
<blockquote>
<h2>v0.11.2</h2>
<p>Release v0.11.2. See <a
href="https://github.com/cpburnz/python-pathspec/blob/v0.11.2/CHANGES.rst">CHANGES.rst</a>.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/cpburnz/python-pathspec/blob/master/CHANGES.rst">pathspec's
changelog</a>.</em></p>
<blockquote>
<h2>0.11.2 (2023-07-28)</h2>
<p>New features:</p>
<ul>
<li><code>Issue
[#80](https://github.com/cpburnz/python-pathspec/issues/80)</code>_:
match_files with negated path spec.
<code>pathspec.PathSpec.match_*()</code> now have a <code>negate</code>
parameter to make using <em>.gitignore</em> logic easier and more
efficient.</li>
</ul>
<p>Bug fixes:</p>
<ul>
<li><code>Pull
[#76](https://github.com/cpburnz/python-pathspec/issues/76)</code>_: Add
edge case: patterns that end with an escaped space</li>
<li><code>Issue
[#77](https://github.com/cpburnz/python-pathspec/issues/77)</code><em>/<code>Pull
[#78](https://github.com/cpburnz/python-pathspec/issues/78)</code></em>:
Negate with caret symbol as with the exclamation mark.</li>
</ul>
<p>.. _<code>Pull
[#76](https://github.com/cpburnz/python-pathspec/issues/76)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/pull/76">cpburnz/python-pathspec#76</a>
.. _<code>Issue
[#77](https://github.com/cpburnz/python-pathspec/issues/77)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/issues/77">cpburnz/python-pathspec#77</a>
.. _<code>Pull
[#78](https://github.com/cpburnz/python-pathspec/issues/78)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/pull/78/">cpburnz/python-pathspec#78</a>
.. _<code>Issue
[#80](https://github.com/cpburnz/python-pathspec/issues/80)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/issues/80">cpburnz/python-pathspec#80</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/878be226c5324a4c5470c2ff86034d27c0734d70"><code>878be22</code></a>
Release v0.11.2</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/c0aca9fa0fe4aaa7967beb717f726ed36d9ab2fe"><code>c0aca9f</code></a>
Release v0.11.2</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/fb2246c0b50b95803b8abee2b2bfbdca39850918"><code>fb2246c</code></a>
Implement issue 80</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/933dd7da982551300a584c98570993402a56bc27"><code>933dd7d</code></a>
Update CHANGES</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/dfb630b7bd42956bdd6834c651806d010e01e5f6"><code>dfb630b</code></a>
Update CHANGES</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/cebf13fe5c986178d277bc7e01baa28fd10742d2"><code>cebf13f</code></a>
Merge pull request <a
href="https://redirect.github.com/cpburnz/python-pathspec/issues/78">#78</a>
from tomruk/caret-symbol</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/518db79aa414816ac41b752e94ddb1b25850304d"><code>518db79</code></a>
Merge branch 'master' into caret-symbol</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/57fbd3ed69597d35a50c56446d60e2c17ab04baf"><code>57fbd3e</code></a>
Pass caret negation</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/6b58e23b6038051fb2d690691912bca3dffcde97"><code>6b58e23</code></a>
Negate with caret symbol as with the exclamation mark</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/b9a014e560af033591d8cfe7734deb929cc52f67"><code>b9a014e</code></a>
Update CHANGES</li>
<li>Additional commits viewable in <a
href="https://github.com/cpburnz/python-pathspec/compare/v0.11.1...v0.11.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pathspec&package-manager=pip&previous-version=0.11.1&new-version=0.11.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: stujfiter <[email protected]>
ianlewis pushed a commit to ianlewis/todos that referenced this issue Aug 18, 2023
Bumps [pathspec](https://github.com/cpburnz/python-pathspec) from 0.11.1
to 0.11.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/cpburnz/python-pathspec/releases">pathspec's
releases</a>.</em></p>
<blockquote>
<h2>v0.11.2</h2>
<p>Release v0.11.2. See <a
href="https://github.com/cpburnz/python-pathspec/blob/v0.11.2/CHANGES.rst">CHANGES.rst</a>.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/cpburnz/python-pathspec/blob/master/CHANGES.rst">pathspec's
changelog</a>.</em></p>
<blockquote>
<h2>0.11.2 (2023-07-28)</h2>
<p>New features:</p>
<ul>
<li><code>Issue
[#80](https://github.com/cpburnz/python-pathspec/issues/80)</code>_:
match_files with negated path spec.
<code>pathspec.PathSpec.match_*()</code> now have a <code>negate</code>
parameter to make using <em>.gitignore</em> logic easier and more
efficient.</li>
</ul>
<p>Bug fixes:</p>
<ul>
<li><code>Pull
[#76](https://github.com/cpburnz/python-pathspec/issues/76)</code>_: Add
edge case: patterns that end with an escaped space</li>
<li><code>Issue
[#77](https://github.com/cpburnz/python-pathspec/issues/77)</code><em>/<code>Pull
[#78](https://github.com/cpburnz/python-pathspec/issues/78)</code></em>:
Negate with caret symbol as with the exclamation mark.</li>
</ul>
<p>.. _<code>Pull
[#76](https://github.com/cpburnz/python-pathspec/issues/76)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/pull/76">cpburnz/python-pathspec#76</a>
.. _<code>Issue
[#77](https://github.com/cpburnz/python-pathspec/issues/77)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/issues/77">cpburnz/python-pathspec#77</a>
.. _<code>Pull
[#78](https://github.com/cpburnz/python-pathspec/issues/78)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/pull/78/">cpburnz/python-pathspec#78</a>
.. _<code>Issue
[#80](https://github.com/cpburnz/python-pathspec/issues/80)</code>: <a
href="https://redirect.github.com/cpburnz/python-pathspec/issues/80">cpburnz/python-pathspec#80</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/878be226c5324a4c5470c2ff86034d27c0734d70"><code>878be22</code></a>
Release v0.11.2</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/c0aca9fa0fe4aaa7967beb717f726ed36d9ab2fe"><code>c0aca9f</code></a>
Release v0.11.2</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/fb2246c0b50b95803b8abee2b2bfbdca39850918"><code>fb2246c</code></a>
Implement issue 80</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/933dd7da982551300a584c98570993402a56bc27"><code>933dd7d</code></a>
Update CHANGES</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/dfb630b7bd42956bdd6834c651806d010e01e5f6"><code>dfb630b</code></a>
Update CHANGES</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/cebf13fe5c986178d277bc7e01baa28fd10742d2"><code>cebf13f</code></a>
Merge pull request <a
href="https://redirect.github.com/cpburnz/python-pathspec/issues/78">#78</a>
from tomruk/caret-symbol</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/518db79aa414816ac41b752e94ddb1b25850304d"><code>518db79</code></a>
Merge branch 'master' into caret-symbol</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/57fbd3ed69597d35a50c56446d60e2c17ab04baf"><code>57fbd3e</code></a>
Pass caret negation</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/6b58e23b6038051fb2d690691912bca3dffcde97"><code>6b58e23</code></a>
Negate with caret symbol as with the exclamation mark</li>
<li><a
href="https://github.com/cpburnz/python-pathspec/commit/b9a014e560af033591d8cfe7734deb929cc52f67"><code>b9a014e</code></a>
Update CHANGES</li>
<li>Additional commits viewable in <a
href="https://github.com/cpburnz/python-pathspec/compare/v0.11.1...v0.11.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pathspec&package-manager=pip&previous-version=0.11.1&new-version=0.11.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ramonpetgrave64 added a commit to slsa-framework/slsa-github-generator that referenced this issue May 16, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [pathspec](https://github.com/cpburnz/python-pathspec) | `==0.11.1`
-> `==0.12.1` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pathspec/0.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pathspec/0.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pathspec/0.11.1/0.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pathspec/0.11.1/0.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>cpburnz/python-pathspec (pathspec)</summary>

###
[`v0.12.1`](https://github.com/cpburnz/python-pathspec/blob/HEAD/CHANGES.rst#0121-2023-12-10)

[Compare
Source](https://github.com/cpburnz/python-pathspec/compare/v0.12.0...v0.12.1)

Bug fixes:

- `Issue #&#8203;84`\_: PathSpec.match_file() returns None since 0.12.0.

.. \_`Issue #&#8203;84`:
[cpburnz/python-pathspec#84

###
[`v0.12.0`](https://github.com/cpburnz/python-pathspec/blob/HEAD/CHANGES.rst#0120-2023-12-09)

[Compare
Source](https://github.com/cpburnz/python-pathspec/compare/v0.11.2...v0.12.0)

Major changes:

-   Dropped support of EOL Python 3.7. See `Pull #&#8203;82`\_.

API changes:

- Signature of protected method
`pathspec.pathspec.PathSpec._match_file()` (with a leading underscore)
has been changed from `def _match_file(patterns: Iterable[Pattern],
file: str) -> bool` to `def _match_file(patterns: Iterable[Tuple[int,
Pattern]], file: str) -> Tuple[Optional[bool], Optional[int]]`.

New features:

- Added `pathspec.pathspec.PathSpec.check_*()` methods. These methods
behave similarly to `.match_*()` but return additional information in
the `pathspec.util.CheckResult` objects (e.g., `CheckResult.index`
indicates the index of the last pattern that matched the file).
- Added `pathspec.pattern.RegexPattern.pattern` attribute which stores
the original, uncompiled pattern.

Bug fixes:

-   `Issue #&#8203;81`\_: GitIgnoreSpec behaviors differ from git.
-   `Pull #&#8203;83`\_: Fix ReadTheDocs builds.

Improvements:

-   Mark Python 3.12 as supported. See `Pull #&#8203;82`\_.
-   Improve test debugging.
- Improve type hint on *on_error* parameter on
`pathspec.pathspec.PathSpec.match_tree_entries()`.
- Improve type hint on *on_error* parameter on
`pathspec.util.iter_tree_entries()`.

.. \_`Issue #&#8203;81`:
[cpburnz/python-pathspec#81
.. \_`Pull #&#8203;82`:
[cpburnz/python-pathspec#82
.. \_`Pull #&#8203;83`:
[cpburnz/python-pathspec#83

###
[`v0.11.2`](https://github.com/cpburnz/python-pathspec/blob/HEAD/CHANGES.rst#0112-2023-07-28)

[Compare
Source](https://github.com/cpburnz/python-pathspec/compare/v0.11.1...v0.11.2)

New features:

- `Issue #&#8203;80`\_: match_files with negated path spec.
`pathspec.PathSpec.match_*()` now have a `negate` parameter to make
using *.gitignore* logic easier and more efficient.

Bug fixes:

- `Pull #&#8203;76`\_: Add edge case: patterns that end with an escaped
space
- `Issue #&#8203;77`*/`Pull #&#8203;78`*: Negate with caret symbol as
with the exclamation mark.

.. \_`Pull #&#8203;76`:
[cpburnz/python-pathspec#76
.. \_`Issue #&#8203;77`:
[cpburnz/python-pathspec#77
.. \_`Pull #&#8203;78`:
[cpburnz/python-pathspec#78
.. \_`Issue #&#8203;80`:
[cpburnz/python-pathspec#80

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on the first day of the
month" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/slsa-framework/slsa-github-generator).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjMuNSIsInVwZGF0ZWRJblZlciI6IjM3LjM2My41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Signed-off-by: Mend Renovate <[email protected]>
Co-authored-by: Ramon Petgrave <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants