summaryrefslogtreecommitdiffstats
path: root/vendor/gix-glob
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-19 09:26:03 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-19 09:26:03 +0000
commit9918693037dce8aa4bb6f08741b6812923486c18 (patch)
tree21d2b40bec7e6a7ea664acee056eb3d08e15a1cf /vendor/gix-glob
parentReleasing progress-linux version 1.75.0+dfsg1-5~progress7.99u1. (diff)
downloadrustc-9918693037dce8aa4bb6f08741b6812923486c18.tar.xz
rustc-9918693037dce8aa4bb6f08741b6812923486c18.zip
Merging upstream version 1.76.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/gix-glob')
-rw-r--r--vendor/gix-glob/.cargo-checksum.json2
-rw-r--r--vendor/gix-glob/CHANGELOG.md844
-rw-r--r--vendor/gix-glob/Cargo.toml14
-rw-r--r--vendor/gix-glob/LICENSE-MIT2
-rw-r--r--vendor/gix-glob/src/lib.rs6
-rw-r--r--vendor/gix-glob/tests/fixtures/generated-archives/make_baseline.tar.xzbin10428 -> 0 bytes
-rwxr-xr-xvendor/gix-glob/tests/fixtures/make_baseline.sh158
-rw-r--r--vendor/gix-glob/tests/glob.rs4
-rw-r--r--vendor/gix-glob/tests/parse/mod.rs160
-rw-r--r--vendor/gix-glob/tests/pattern/matching.rs349
-rw-r--r--vendor/gix-glob/tests/pattern/mod.rs18
-rw-r--r--vendor/gix-glob/tests/search/mod.rs1
-rw-r--r--vendor/gix-glob/tests/search/pattern.rs98
-rw-r--r--vendor/gix-glob/tests/wildmatch/mod.rs380
14 files changed, 11 insertions, 2025 deletions
diff --git a/vendor/gix-glob/.cargo-checksum.json b/vendor/gix-glob/.cargo-checksum.json
index 2612ec109..6994eeddc 100644
--- a/vendor/gix-glob/.cargo-checksum.json
+++ b/vendor/gix-glob/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"CHANGELOG.md":"4e4a70dd3063e9eefdcab5d4359689b49a4f9ad3b5217b5b79002fd840796db5","Cargo.toml":"be120d6e6ce33413b69c63d17f5749bfc876041670417ebe08461848bd268fcf","LICENSE-APACHE":"cb4780590812826851ba250f90bed0ed19506ec98f6865a0e2e20bbf62391ff9","LICENSE-MIT":"49df47913ab2beafe8dc45607877ae64198bf0eee64aaad3e82ed9e4d27424e8","src/lib.rs":"988fab13064310afa7982ad4c0011839cba1d176ef4acc72a5228e99bf341c2b","src/parse.rs":"9d7a40e1c75c6283029f919623f1b70c3b318db51b72f238870a5a0914cecbe8","src/pattern.rs":"eab7fe5a2946d5f2a8ba95796edf82e5ec270cf665d5aa2c76fb31ec1165796b","src/search/mod.rs":"eecdaad067ad60cb62a9291a2672bf480937bd17446d7048d5cec8ffdef5b67e","src/search/pattern.rs":"1df39783d8e5cff1b02bf4b97dc2343a6c23aa6558bcd7e70d71424c9a755cb1","src/wildmatch.rs":"f64da7dc4e7c1cd269dfa01f707909fd9af41176ebff498050b9311c41e6ccf1","tests/fixtures/generated-archives/make_baseline.tar.xz":"6bda59c1591dfd35f09cad5d09e2950b2a6ff885d9f7900535144a5275ab51c3","tests/fixtures/make_baseline.sh":"d6e93d2facf3bbd8e14b7bb579cea3be2e81f8fda8609ddde739d024fb019066","tests/glob.rs":"70c3b09855e0a495aa031586bc249a0b0270d72448f4d75277955019d7b11db0","tests/parse/mod.rs":"2bb2445b6d73c4614a7344c4ea10c7ff1dfd3da001d39c4b3ee19db54befa31c","tests/pattern/matching.rs":"73f0306f29121b7de67dd63d25b0070f9f3290b5089dff33d9235357804a1769","tests/pattern/mod.rs":"28f9f3f99092be3813f93a4e0af149746305fa15326682adcbf3c61fa818534f","tests/search/mod.rs":"078b7bdaa0c022e1cdc88b69afa88a82033852137e69ce18995657d8e3fee6ca","tests/search/pattern.rs":"522c24287461a9e1126339e4bc7fc953eec309cf9323faeae433fd962b1c44d2","tests/wildmatch/mod.rs":"ec5b3c652cab808dd0cf5a1c37e56c9d61ccb2ca52ec25049c9414b4667e7c11"},"package":"8fac08925dbc14d414bd02eb45ffb4cecd912d1fce3883f867bd0103c192d3e4"} \ No newline at end of file
+{"files":{"Cargo.toml":"4371bbc0e11a31582d69d83f00bd776cad2e8125a839b42cac845360c847f722","LICENSE-APACHE":"cb4780590812826851ba250f90bed0ed19506ec98f6865a0e2e20bbf62391ff9","LICENSE-MIT":"6f610e51b59dfbcbee281f58cc6d963bf716199dc7384dbaa94ccc3a6e343ce6","src/lib.rs":"ba66240564744882d6efcb1cd18c3a45a82a9d646a49f6c6eb6e8b5a9031f053","src/parse.rs":"9d7a40e1c75c6283029f919623f1b70c3b318db51b72f238870a5a0914cecbe8","src/pattern.rs":"eab7fe5a2946d5f2a8ba95796edf82e5ec270cf665d5aa2c76fb31ec1165796b","src/search/mod.rs":"eecdaad067ad60cb62a9291a2672bf480937bd17446d7048d5cec8ffdef5b67e","src/search/pattern.rs":"1df39783d8e5cff1b02bf4b97dc2343a6c23aa6558bcd7e70d71424c9a755cb1","src/wildmatch.rs":"f64da7dc4e7c1cd269dfa01f707909fd9af41176ebff498050b9311c41e6ccf1"},"package":"5db19298c5eeea2961e5b3bf190767a2d1f09b8802aeb5f258e42276350aff19"} \ No newline at end of file
diff --git a/vendor/gix-glob/CHANGELOG.md b/vendor/gix-glob/CHANGELOG.md
deleted file mode 100644
index 2f9a59bf7..000000000
--- a/vendor/gix-glob/CHANGELOG.md
+++ /dev/null
@@ -1,844 +0,0 @@
-# Changelog
-
-All notable changes to this project will be documented in this file.
-
-The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
-and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-
-## 0.14.0 (2023-10-12)
-
-A maintenance release without user-facing changes.
-
-### Commit Statistics
-
-<csr-read-only-do-not-edit/>
-
- - 1 commit contributed to the release.
- - 17 days passed between releases.
- - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- - 0 issues like '(#ID)' were seen in commit messages
-
-### Commit Details
-
-<csr-read-only-do-not-edit/>
-
-<details><summary>view details</summary>
-
- * **Uncategorized**
- - Prepare changelogs prior to release ([`1347a54`](https://github.com/Byron/gitoxide/commit/1347a54f84599d8f0aa935d6e64b16c2298d25cf))
-</details>
-
-## 0.13.0 (2023-09-24)
-
-A maintenance release without user-facing changes.
-
-### Commit Statistics
-
-<csr-read-only-do-not-edit/>
-
- - 2 commits contributed to the release.
- - 16 days passed between releases.
- - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- - 0 issues like '(#ID)' were seen in commit messages
-
-### Commit Details
-
-<csr-read-only-do-not-edit/>
-
-<details><summary>view details</summary>
-
- * **Uncategorized**
- - Release gix-features v0.35.0, gix-actor v0.27.0, gix-object v0.37.0, gix-glob v0.13.0, gix-attributes v0.19.0, gix-filter v0.5.0, gix-fs v0.7.0, gix-commitgraph v0.21.0, gix-revwalk v0.8.0, gix-traverse v0.33.0, gix-worktree-stream v0.5.0, gix-archive v0.5.0, gix-tempfile v10.0.0, gix-lock v10.0.0, gix-ref v0.37.0, gix-config v0.30.0, gix-url v0.24.0, gix-credentials v0.20.0, gix-diff v0.36.0, gix-discover v0.25.0, gix-ignore v0.8.0, gix-index v0.25.0, gix-mailmap v0.19.0, gix-negotiate v0.8.0, gix-pack v0.43.0, gix-odb v0.53.0, gix-pathspec v0.3.0, gix-transport v0.37.0, gix-protocol v0.40.0, gix-revision v0.22.0, gix-refspec v0.18.0, gix-status v0.1.0, gix-submodule v0.4.0, gix-worktree v0.26.0, gix-worktree-state v0.3.0, gix v0.54.0, gitoxide-core v0.32.0, gitoxide v0.30.0, safety bump 37 crates ([`7891fb1`](https://github.com/Byron/gitoxide/commit/7891fb17348ec2f4c997665f9a25be36e2713da4))
- - Prepare changelogs prior to release ([`8a60d5b`](https://github.com/Byron/gitoxide/commit/8a60d5b80877c213c3b646d3061e8a33e0e433ec))
-</details>
-
-## 0.12.0 (2023-09-08)
-
-### Bug Fixes (BREAKING)
-
- - <csr-id-072ee32f693a31161cd6a843da6582d13efbb20b/> use `dyn` trait where possible.
- This reduces compile time due to avoiding duplication.
-
-### Commit Statistics
-
-<csr-read-only-do-not-edit/>
-
- - 5 commits contributed to the release over the course of 17 calendar days.
- - 17 days passed between releases.
- - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- - 0 issues like '(#ID)' were seen in commit messages
-
-### Commit Details
-
-<csr-read-only-do-not-edit/>
-
-<details><summary>view details</summary>
-
- * **Uncategorized**
- - Release gix-date v0.8.0, gix-hash v0.13.0, gix-features v0.34.0, gix-actor v0.26.0, gix-object v0.36.0, gix-path v0.10.0, gix-glob v0.12.0, gix-attributes v0.18.0, gix-packetline-blocking v0.16.6, gix-filter v0.4.0, gix-fs v0.6.0, gix-commitgraph v0.20.0, gix-hashtable v0.4.0, gix-revwalk v0.7.0, gix-traverse v0.32.0, gix-worktree-stream v0.4.0, gix-archive v0.4.0, gix-config-value v0.14.0, gix-tempfile v9.0.0, gix-lock v9.0.0, gix-ref v0.36.0, gix-sec v0.10.0, gix-config v0.29.0, gix-prompt v0.7.0, gix-url v0.23.0, gix-credentials v0.19.0, gix-diff v0.35.0, gix-discover v0.24.0, gix-ignore v0.7.0, gix-index v0.24.0, gix-macros v0.1.0, gix-mailmap v0.18.0, gix-negotiate v0.7.0, gix-pack v0.42.0, gix-odb v0.52.0, gix-pathspec v0.2.0, gix-packetline v0.16.6, gix-transport v0.36.0, gix-protocol v0.39.0, gix-revision v0.21.0, gix-refspec v0.17.0, gix-submodule v0.3.0, gix-worktree v0.25.0, gix-worktree-state v0.2.0, gix v0.53.0, safety bump 39 crates ([`8bd0456`](https://github.com/Byron/gitoxide/commit/8bd045676bb2cdc02624ab93e73ff8518064ca38))
- - Prepare changelogs for release ([`375db06`](https://github.com/Byron/gitoxide/commit/375db06a8442378c3f7a922fae38e2a6694d9d04))
- - Merge branch `dyn`ification ([`f658fcc`](https://github.com/Byron/gitoxide/commit/f658fcc52dc2200ae34ca53dc10be97fb9012057))
- - Use `dyn` trait where possible. ([`072ee32`](https://github.com/Byron/gitoxide/commit/072ee32f693a31161cd6a843da6582d13efbb20b))
- - Merge branch 'gix-submodule' ([`363ee77`](https://github.com/Byron/gitoxide/commit/363ee77400805f473c9ad66eadad9214e7ab66f4))
-</details>
-
-## 0.11.0 (2023-08-22)
-
-<csr-id-229bd4899213f749a7cc124aa2b82a1368fba40f/>
-
-### Chore
-
- - <csr-id-229bd4899213f749a7cc124aa2b82a1368fba40f/> don't call crate 'WIP' in manifest anymore.
-
-### New Features
-
- - <csr-id-2b4868617a90eac818a150a2c3a027a71a8e420a/> add `Pattern::from_bytes_without_negation()`
-
-### Bug Fixes
-
- - <csr-id-ddb593b4c6acffe2fcbb458d0551998f91c97f8b/> be sure to allow `ENDS_WITH` optimization if shellglobs are enabled
-
-### New Features (BREAKING)
-
- - <csr-id-63ef011b9a7ae5e8574acd5bdeff4f27c37fb5f8/> `Pattern::matches_repo_relative_path(..., wildmatch::Flags)` allows controlling base flags.
- Previously, this method would assume that path globs should stop at slashes, and now
- this setting can be controlled by the caller.
-
-### Bug Fixes (BREAKING)
-
- - <csr-id-d9126ebb7686f667a02146c32006902ad4a82ff3/> `search::Pattern::may_use_glob_pattern()` removed
- It actually wasn't used in the base implementation at all
-
-### Commit Statistics
-
-<csr-read-only-do-not-edit/>
-
- - 9 commits contributed to the release over the course of 12 calendar days.
- - 15 days passed between releases.
- - 5 commits were understood as [conventional](https://www.conventionalcommits.org).
- - 0 issues like '(#ID)' were seen in commit messages
-
-### Commit Details
-
-<csr-read-only-do-not-edit/>
-
-<details><summary>view details</summary>
-
- * **Uncategorized**
- - Release gix-date v0.7.3, gix-hash v0.12.0, gix-features v0.33.0, gix-actor v0.25.0, gix-object v0.35.0, gix-path v0.9.0, gix-glob v0.11.0, gix-quote v0.4.7, gix-attributes v0.17.0, gix-command v0.2.9, gix-packetline-blocking v0.16.5, gix-filter v0.3.0, gix-fs v0.5.0, gix-commitgraph v0.19.0, gix-hashtable v0.3.0, gix-revwalk v0.6.0, gix-traverse v0.31.0, gix-worktree-stream v0.3.0, gix-archive v0.3.0, gix-config-value v0.13.0, gix-tempfile v8.0.0, gix-lock v8.0.0, gix-ref v0.35.0, gix-sec v0.9.0, gix-config v0.28.0, gix-prompt v0.6.0, gix-url v0.22.0, gix-credentials v0.18.0, gix-diff v0.34.0, gix-discover v0.23.0, gix-ignore v0.6.0, gix-bitmap v0.2.7, gix-index v0.22.0, gix-mailmap v0.17.0, gix-negotiate v0.6.0, gix-pack v0.41.0, gix-odb v0.51.0, gix-pathspec v0.1.0, gix-packetline v0.16.5, gix-transport v0.35.0, gix-protocol v0.38.0, gix-revision v0.20.0, gix-refspec v0.16.0, gix-submodule v0.2.0, gix-worktree v0.24.0, gix-worktree-state v0.1.0, gix v0.52.0, gitoxide-core v0.31.0, gitoxide v0.29.0, safety bump 41 crates ([`30b2761`](https://github.com/Byron/gitoxide/commit/30b27615047692d3ced1b2d9c2ac15a80f79fbee))
- - Update changelogs prior to release ([`f23ea88`](https://github.com/Byron/gitoxide/commit/f23ea8828f2d9ba7559973daca388c9591bcc5fc))
- - Merge branch 'gix-submodule' ([`8f3f358`](https://github.com/Byron/gitoxide/commit/8f3f358800f1fe77d7ba7ebd396a90b692d3c0c1))
- - Be sure to allow `ENDS_WITH` optimization if shellglobs are enabled ([`ddb593b`](https://github.com/Byron/gitoxide/commit/ddb593b4c6acffe2fcbb458d0551998f91c97f8b))
- - Don't call crate 'WIP' in manifest anymore. ([`229bd48`](https://github.com/Byron/gitoxide/commit/229bd4899213f749a7cc124aa2b82a1368fba40f))
- - Merge branch 'pathspec-matching' ([`9f4dfe0`](https://github.com/Byron/gitoxide/commit/9f4dfe0f0b948280692916b596923959ea2fd9da))
- - Add `Pattern::from_bytes_without_negation()` ([`2b48686`](https://github.com/Byron/gitoxide/commit/2b4868617a90eac818a150a2c3a027a71a8e420a))
- - `Pattern::matches_repo_relative_path(..., wildmatch::Flags)` allows controlling base flags. ([`63ef011`](https://github.com/Byron/gitoxide/commit/63ef011b9a7ae5e8574acd5bdeff4f27c37fb5f8))
- - `search::Pattern::may_use_glob_pattern()` removed ([`d9126eb`](https://github.com/Byron/gitoxide/commit/d9126ebb7686f667a02146c32006902ad4a82ff3))
-</details>
-
-## 0.10.2 (2023-08-07)
-
-A maintenance release without user-facing changes.
-
-### Commit Statistics
-
-<csr-read-only-do-not-edit/>
-
- - 4 commits contributed to the release over the course of 3 calendar days.
- - 15 days passed between releases.
- - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- - 0 issues like '(#ID)' were seen in commit messages
-
-### Commit Details
-
-<csr-read-only-do-not-edit/>
-
-<details><summary>view details</summary>
-
- * **Uncategorized**
- - Release gix-glob v0.10.2, gix-date v0.7.2, gix-validate v0.8.0, gix-object v0.34.0, gix-ref v0.34.0, gix-config v0.27.0, gix-commitgraph v0.18.2, gix-revwalk v0.5.0, gix-revision v0.19.0, gix-refspec v0.15.0, gix-submodule v0.1.0, safety bump 18 crates ([`4604f83`](https://github.com/Byron/gitoxide/commit/4604f83ef238dc07c85aaeae097399b67f3cfd0c))
- - Prepare changelogs prior to release of `gix-submodule` ([`f3c4311`](https://github.com/Byron/gitoxide/commit/f3c43110e8d5f16cf87e50821044d8b3edbae235))
- - Merge branch 'dev-on-linux' ([`6b4a303`](https://github.com/Byron/gitoxide/commit/6b4a30330fe49fc97daa73f55bf56580cc0597aa))
- - Fix various tests to run properly on linux ([`ef8ccd9`](https://github.com/Byron/gitoxide/commit/ef8ccd9d16143d37155d063747c69cade80f162d))
-</details>
-
-## 0.10.1 (2023-07-22)
-
-A maintenance release without user-facing changes.
-
-### Commit Statistics
-
-<csr-read-only-do-not-edit/>
-
- - 5 commits contributed to the release over the course of 1 calendar day.
- - 3 days passed between releases.
- - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- - 0 issues like '(#ID)' were seen in commit messages
-
-### Commit Details
-
-<csr-read-only-do-not-edit/>
-
-<details><summary>view details</summary>
-
- * **Uncategorized**
- - Release gix-features v0.32.1, gix-actor v0.24.1, gix-validate v0.7.7, gix-object v0.33.1, gix-path v0.8.4, gix-glob v0.10.1, gix-quote v0.4.6, gix-attributes v0.16.0, gix-command v0.2.8, gix-packetline-blocking v0.16.4, gix-filter v0.2.0, gix-fs v0.4.1, gix-chunk v0.4.4, gix-commitgraph v0.18.1, gix-hashtable v0.2.4, gix-revwalk v0.4.1, gix-traverse v0.30.1, gix-worktree-stream v0.2.0, gix-archive v0.2.0, gix-config-value v0.12.5, gix-tempfile v7.0.1, gix-utils v0.1.5, gix-lock v7.0.2, gix-ref v0.33.1, gix-sec v0.8.4, gix-prompt v0.5.4, gix-url v0.21.1, gix-credentials v0.17.1, gix-diff v0.33.1, gix-discover v0.22.1, gix-ignore v0.5.1, gix-bitmap v0.2.6, gix-index v0.21.1, gix-mailmap v0.16.1, gix-negotiate v0.5.1, gix-pack v0.40.1, gix-odb v0.50.1, gix-packetline v0.16.4, gix-transport v0.34.1, gix-protocol v0.36.1, gix-revision v0.18.1, gix-refspec v0.14.1, gix-worktree v0.23.0, gix v0.50.0, safety bump 5 crates ([`16295b5`](https://github.com/Byron/gitoxide/commit/16295b58e2581d2e8b8b762816f52baabe871c75))
- - Prepare more changelogs ([`c4cc5f2`](https://github.com/Byron/gitoxide/commit/c4cc5f261d29f712a101033a18293a97a9d4ae85))
- - Release gix-date v0.7.1, gix-hash v0.11.4, gix-trace v0.1.3, gix-features v0.32.0, gix-actor v0.24.0, gix-validate v0.7.7, gix-object v0.33.0, gix-path v0.8.4, gix-glob v0.10.0, gix-quote v0.4.6, gix-attributes v0.15.0, gix-command v0.2.7, gix-packetline-blocking v0.16.3, gix-filter v0.1.0, gix-fs v0.4.0, gix-chunk v0.4.4, gix-commitgraph v0.18.0, gix-hashtable v0.2.4, gix-revwalk v0.4.0, gix-traverse v0.30.0, gix-worktree-stream v0.2.0, gix-archive v0.2.0, gix-config-value v0.12.4, gix-tempfile v7.0.1, gix-utils v0.1.5, gix-lock v7.0.2, gix-ref v0.33.0, gix-sec v0.8.4, gix-prompt v0.5.3, gix-url v0.21.0, gix-credentials v0.17.0, gix-diff v0.33.0, gix-discover v0.22.0, gix-ignore v0.5.0, gix-bitmap v0.2.6, gix-index v0.21.0, gix-mailmap v0.16.0, gix-negotiate v0.5.0, gix-pack v0.40.0, gix-odb v0.50.0, gix-packetline v0.16.4, gix-transport v0.34.0, gix-protocol v0.36.0, gix-revision v0.18.0, gix-refspec v0.14.0, gix-worktree v0.22.0, gix v0.49.1 ([`5cb3589`](https://github.com/Byron/gitoxide/commit/5cb3589b74fc5376e02cbfe151e71344e1c417fe))
- - Update changelogs prior to release ([`2fc66b5`](https://github.com/Byron/gitoxide/commit/2fc66b55097ed494b72d1af939ba5561f71fde97))
- - Update license field following SPDX 2.1 license expression standard ([`9064ea3`](https://github.com/Byron/gitoxide/commit/9064ea31fae4dc59a56bdd3a06c0ddc990ee689e))
-</details>
-
-## 0.10.0 (2023-07-19)
-
-### Bug Fixes
-
- - <csr-id-532c222faf7d3df1fe5c46209595647c3197a656/> when reading pattern files, don't fail if the directory doesn't exist.
- The idea is that `search::pattern::List::from_file()` is that it won't fail if the there is no file.
- However, previously it could fail if a leading directory didn't exist, which is now fixed.
-
-### Commit Statistics
-
-<csr-read-only-do-not-edit/>
-
- - 5 commits contributed to the release over the course of 9 calendar days.
- - 19 days passed between releases.
- - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- - 0 issues like '(#ID)' were seen in commit messages
-
-### Commit Details
-
-<csr-read-only-do-not-edit/>
-
-<details><summary>view details</summary>
-
- * **Uncategorized**
- - Release gix-features v0.32.0, gix-actor v0.24.0, gix-glob v0.10.0, gix-attributes v0.15.0, gix-commitgraph v0.18.0, gix-config-value v0.12.4, gix-fs v0.4.0, gix-object v0.33.0, gix-ref v0.33.0, gix-config v0.26.0, gix-command v0.2.7, gix-url v0.21.0, gix-credentials v0.17.0, gix-diff v0.33.0, gix-discover v0.22.0, gix-filter v0.1.0, gix-ignore v0.5.0, gix-revwalk v0.4.0, gix-traverse v0.30.0, gix-index v0.21.0, gix-mailmap v0.16.0, gix-negotiate v0.5.0, gix-pack v0.40.0, gix-odb v0.50.0, gix-transport v0.34.0, gix-protocol v0.36.0, gix-revision v0.18.0, gix-refspec v0.14.0, gix-worktree v0.22.0, gix v0.49.0 ([`68ae3ff`](https://github.com/Byron/gitoxide/commit/68ae3ff9d642ec56f088a6a682a073dc16f4e8ca))
- - Adjust package versions (by cargo-smart-release) ([`c70e54f`](https://github.com/Byron/gitoxide/commit/c70e54f163c312c87753a506eeaad462e8579bfb))
- - Prepare changelogs prior to release ([`e4dded0`](https://github.com/Byron/gitoxide/commit/e4dded05138562f9737a7dcfb60570c55769486d))
- - Merge branch 'integrate-filtering' ([`b19a56d`](https://github.com/Byron/gitoxide/commit/b19a56dcfa9bea86332a84aa4e8fad445e7d1724))
- - When reading pattern files, don't fail if the directory doesn't exist. ([`532c222`](https://github.com/Byron/gitoxide/commit/532c222faf7d3df1fe5c46209595647c3197a656))
-</details>
-
-## 0.9.1 (2023-06-29)
-
-A maintenance release without user-facing changes.
-
-### Commit Statistics
-
-<csr-read-only-do-not-edit/>
-
- - 3 commits contributed to the release.
- - 6 days passed between releases.
- - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- - 0 issues like '(#ID)' were seen in commit messages
-
-### Commit Details
-
-<csr-read-only-do-not-edit/>
-
-<details><summary>view details</summary>
-
- * **Uncategorized**
- - Release gix-glob v0.9.1, gix-attributes v0.14.1, gix-config-value v0.12.3, gix-ref v0.32.1, gix-sec v0.8.3, gix-config v0.25.1, gix-url v0.20.1, gix-credentials v0.16.1, gix-discover v0.21.1, gix-ignore v0.4.1, gix-pack v0.39.1, gix-odb v0.49.1, gix-worktree v0.21.1, gix v0.48.0 ([`69c6a36`](https://github.com/Byron/gitoxide/commit/69c6a36ba14cbef129deebda9fd8870005fefa17))
- - Prepare changelogs prior to release ([`c143cf4`](https://github.com/Byron/gitoxide/commit/c143cf48ee1885467e3e9262a3f8823a1247bfe0))
- - Align usage of `gix-path` across all crates ([`73c1292`](https://github.com/Byron/gitoxide/commit/73c1292be393986c4a1adde1400abf551e850da0))
-</details>
-
-## 0.9.0 (2023-06-22)
-
-<csr-id-bcad5c22049d56a25ef69d6c7a3344e78f9a1d4d/>
-
-### Chore
-
- - <csr-id-bcad5c22049d56a25ef69d6c7a3344e78f9a1d4d/> Add `clippy::redundant-closure-for-method-calls` lint
-
-### Commit Statistics
-
-<csr-read-only-do-not-edit/>
-
- - 6 commits contributed to the release over the course of 10 calendar days.
- - 15 days passed between releases.
- - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- - 0 issues like '(#ID)' were seen in commit messages
-
-### Commit Details
-
-<csr-read-only-do-not-edit/>
-
-<details><summary>view details</summary>
-
- * **Uncategorized**
- - Release gix-date v0.6.0, gix-hash v0.11.3, gix-trace v0.1.1, gix-features v0.31.0, gix-actor v0.22.0, gix-path v0.8.2, gix-glob v0.9.0, gix-quote v0.4.5, gix-attributes v0.14.0, gix-chunk v0.4.3, gix-commitgraph v0.17.0, gix-config-value v0.12.2, gix-fs v0.3.0, gix-tempfile v7.0.0, gix-utils v0.1.3, gix-lock v7.0.0, gix-validate v0.7.6, gix-object v0.31.0, gix-ref v0.31.0, gix-sec v0.8.2, gix-config v0.24.0, gix-command v0.2.6, gix-prompt v0.5.2, gix-url v0.20.0, gix-credentials v0.16.0, gix-diff v0.31.0, gix-discover v0.20.0, gix-hashtable v0.2.2, gix-ignore v0.4.0, gix-bitmap v0.2.5, gix-revwalk v0.2.0, gix-traverse v0.28.0, gix-index v0.19.0, gix-mailmap v0.14.0, gix-negotiate v0.3.0, gix-pack v0.38.0, gix-odb v0.48.0, gix-packetline v0.16.3, gix-transport v0.33.0, gix-protocol v0.34.0, gix-revision v0.16.0, gix-refspec v0.12.0, gix-worktree v0.20.0, gix v0.47.0, gitoxide-core v0.29.0, gitoxide v0.27.0, safety bump 30 crates ([`ea9f942`](https://github.com/Byron/gitoxide/commit/ea9f9424e777f10da0e33bb9ffbbefd01c4c5a74))
- - Prepare changelogs prior to release ([`18b0a37`](https://github.com/Byron/gitoxide/commit/18b0a371941aa2d4d62512437d5daa351ba99ffd))
- - Merge branch 'corpus' ([`aa16c8c`](https://github.com/Byron/gitoxide/commit/aa16c8ce91452a3e3063cf1cf0240b6014c4743f))
- - Change MSRV to 1.65 ([`4f635fc`](https://github.com/Byron/gitoxide/commit/4f635fc4429350bae2582d25de86429969d28f30))
- - Merge branch 'help-874-redundant-closures' ([`fe59956`](https://github.com/Byron/gitoxide/commit/fe59956ad667303a923d7cfd9ffd72283df41d78))
- - Add `clippy::redundant-closure-for-method-calls` lint ([`bcad5c2`](https://github.com/Byron/gitoxide/commit/bcad5c22049d56a25ef69d6c7a3344e78f9a1d4d))
-</details>
-
-## 0.8.0 (2023-06-06)
-
-A maintenance release without user-facing changes.
-
-### Commit Statistics
-
-<csr-read-only-do-not-edit/>
-
- - 9 commits contributed to the release over the course of 12 calendar days.
- - 40 days passed between releases.
- - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- - 0 issues like '(#ID)' were seen in commit messages
-
-### Commit Details
-
-<csr-read-only-do-not-edit/>
-
-<details><summary>view details</summary>
-
- * **Uncategorized**
- - Release gix-date v0.5.1, gix-hash v0.11.2, gix-features v0.30.0, gix-actor v0.21.0, gix-path v0.8.1, gix-glob v0.8.0, gix-quote v0.4.4, gix-attributes v0.13.0, gix-chunk v0.4.2, gix-commitgraph v0.16.0, gix-config-value v0.12.1, gix-fs v0.2.0, gix-tempfile v6.0.0, gix-utils v0.1.2, gix-lock v6.0.0, gix-validate v0.7.5, gix-object v0.30.0, gix-ref v0.30.0, gix-sec v0.8.1, gix-config v0.23.0, gix-command v0.2.5, gix-prompt v0.5.1, gix-url v0.19.0, gix-credentials v0.15.0, gix-diff v0.30.0, gix-discover v0.19.0, gix-hashtable v0.2.1, gix-ignore v0.3.0, gix-bitmap v0.2.4, gix-traverse v0.26.0, gix-index v0.17.0, gix-mailmap v0.13.0, gix-revision v0.15.0, gix-negotiate v0.2.0, gix-pack v0.36.0, gix-odb v0.46.0, gix-packetline v0.16.2, gix-transport v0.32.0, gix-protocol v0.33.0, gix-refspec v0.11.0, gix-worktree v0.18.0, gix v0.45.0, safety bump 29 crates ([`9a9fa96`](https://github.com/Byron/gitoxide/commit/9a9fa96fa8a722bddc5c3b2270b0edf8f6615141))
- - Prepare changelogs prior to release ([`8f15cec`](https://github.com/Byron/gitoxide/commit/8f15cec1ec7d5a9d56bb158f155011ef2bb3539b))
- - Merge branch 'fix-docs' ([`420553a`](https://github.com/Byron/gitoxide/commit/420553a10d780e0b2dc466cac120989298a5f187))
- - Cleaning up documentation ([`2578e57`](https://github.com/Byron/gitoxide/commit/2578e576bfa365d194a23a1fb0bf09be230873de))
- - Merge branch 'auto-clippy' ([`dbf8aa1`](https://github.com/Byron/gitoxide/commit/dbf8aa19d19109195d0274928eae4b94f248cd88))
- - Autofix map-or-unwrap clippy lint (and manual fix what was left) ([`2087032`](https://github.com/Byron/gitoxide/commit/2087032b5956dcd82bce6ac57e530e8724b57f17))
- - Merge branch 'main' into auto-clippy ([`3ef5c90`](https://github.com/Byron/gitoxide/commit/3ef5c90aebce23385815f1df674c1d28d58b4b0d))
- - Merge branch 'blinxen/main' ([`9375cd7`](https://github.com/Byron/gitoxide/commit/9375cd75b01aa22a0e2eed6305fe45fabfd6c1ac))
- - Include license files in all crates ([`facaaf6`](https://github.com/Byron/gitoxide/commit/facaaf633f01c857dcf2572c6dbe0a92b7105c1c))
-</details>
-
-## 0.7.0 (2023-04-27)
-
-A maintenance release without user-facing changes.
-
-### Commit Statistics
-
-<csr-read-only-do-not-edit/>
-
- - 3 commits contributed to the release.
- - 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- - 0 issues like '(#ID)' were seen in commit messages
-
-### Commit Details
-
-<csr-read-only-do-not-edit/>
-
-<details><summary>view details</summary>
-
- * **Uncategorized**
- - Release gix-path v0.8.0, gix-glob v0.7.0, gix-attributes v0.12.0, gix-config-value v0.12.0, gix-ref v0.29.0, gix-sec v0.8.0, gix-config v0.22.0, gix-prompt v0.5.0, gix-url v0.18.0, gix-credentials v0.14.0, gix-discover v0.18.0, gix-ignore v0.2.0, gix-pack v0.35.0, gix-odb v0.45.0, gix-transport v0.31.0, gix-protocol v0.32.0, gix-refspec v0.10.1, gix-worktree v0.17.0, gix v0.44.1 ([`7ebc9f7`](https://github.com/Byron/gitoxide/commit/7ebc9f734ec4371dd27daa568c0244185bb49eb5))
- - Prepare changelogs prior to release ([`0135158`](https://github.com/Byron/gitoxide/commit/013515897215400539bfd53c25548bd054186ba6))
- - Bump gix-path v0.8.0, safety bump 20 crates (gix set to 0.44.1 manually) ([`43ebaf2`](https://github.com/Byron/gitoxide/commit/43ebaf267557218865862538ffc7bdf00558492f))
-</details>
-
-## 0.6.0 (2023-04-26)
-
-### New Features
-
- - <csr-id-313599df0a7527d8f9d4b86239c22dfd5f354cd4/> add `search::pattern::strip_base_recompute_basename_pos()`.
- This version works without a `search::pattern::List`.
- - <csr-id-042154b9076dc44e4378339e16875208c8125213/> add utilities for stack-based searching with pattern matching.
-
-### New Features (BREAKING)
-
- - <csr-id-b83ee366a3c65c717beb587ad809268f1c54b8ad/> Rename `serde1` cargo feature to `serde` and use the weak-deps cargo capability.
- With it it's possible to not automatically declare all optional dependencies externally visible
- features, and thus re-use feature names that oterwise are also a crate name.
-
- Previously I thought that `serde1` is for future-proofing and supporting multiple serde versions
- at the same time. However, it's most definitely a burden I wouldn't want anyway, so using
- `serde` seems to be the way to go into the future.
-
-### Bug Fixes (BREAKING)
-
- - <csr-id-e3f8c4bcda263728a5c2d5171b2b9941297ba629/> remove whitespace related processing from glob parsing and don't copy parsed input.
- This kind of processing was only done for ignore patterns, which
- are quite different from how things are done in attribute files.
-
-### Commit Statistics
-
-<csr-read-only-do-not-edit/>
-
- - 17 commits contributed to the release over the course of 23 calendar days.
- - 64 days passed between releases.
- - 4 commits were understood as [conventional](https://www.conventionalcommits.org).
- - 1 unique issue was worked on: [#814](https://github.com/Byron/gitoxide/issues/814)
-
-### Thanks Clippy
-
-<csr-read-only-do-not-edit/>
-
-[Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic.
-
-### Commit Details
-
-<csr-read-only-do-not-edit/>
-
-<details><summary>view details</summary>
-
- * **[#814](https://github.com/Byron/gitoxide/issues/814)**
- - Rename `serde1` cargo feature to `serde` and use the weak-deps cargo capability. ([`b83ee36`](https://github.com/Byron/gitoxide/commit/b83ee366a3c65c717beb587ad809268f1c54b8ad))
- * **Uncategorized**
- - Release gix-hash v0.11.1, gix-path v0.7.4, gix-glob v0.6.0, gix-attributes v0.11.0, gix-config-value v0.11.0, gix-fs v0.1.1, gix-tempfile v5.0.3, gix-utils v0.1.1, gix-lock v5.0.1, gix-object v0.29.1, gix-ref v0.28.0, gix-sec v0.7.0, gix-config v0.21.0, gix-prompt v0.4.0, gix-url v0.17.0, gix-credentials v0.13.0, gix-diff v0.29.0, gix-discover v0.17.0, gix-hashtable v0.2.0, gix-ignore v0.1.0, gix-bitmap v0.2.3, gix-traverse v0.25.0, gix-index v0.16.0, gix-mailmap v0.12.0, gix-pack v0.34.0, gix-odb v0.44.0, gix-packetline v0.16.0, gix-transport v0.30.0, gix-protocol v0.31.0, gix-revision v0.13.0, gix-refspec v0.10.0, gix-worktree v0.16.0, gix v0.44.0, safety bump 7 crates ([`91134a1`](https://github.com/Byron/gitoxide/commit/91134a11c8ba0e942f692488ec9bce9fa1086324))
- - Prepare changelogs prior to release ([`30a1a71`](https://github.com/Byron/gitoxide/commit/30a1a71f36f24faac0e0b362ffdfedea7f9cdbf1))
- - Merge branch 'attributes-cache' ([`3456c84`](https://github.com/Byron/gitoxide/commit/3456c845dfeedd2fa96b4313b1a84c8cbe9433c5))
- - Add `search::pattern::strip_base_recompute_basename_pos()`. ([`313599d`](https://github.com/Byron/gitoxide/commit/313599df0a7527d8f9d4b86239c22dfd5f354cd4))
- - Merge branch 'fix-823' ([`6ebd61e`](https://github.com/Byron/gitoxide/commit/6ebd61e548a36a04e413ac725a03e607a3588334))
- - Thanks clippy ([`14e64e7`](https://github.com/Byron/gitoxide/commit/14e64e74649cfb1f2f99da87015939af98fae5c8))
- - Release gix-utils v0.1.0, gix-hash v0.11.0, gix-date v0.5.0, gix-features v0.29.0, gix-actor v0.20.0, gix-object v0.29.0, gix-archive v0.1.0, gix-fs v0.1.0, safety bump 25 crates ([`8dbd0a6`](https://github.com/Byron/gitoxide/commit/8dbd0a60557a85acfa231800a058cbac0271a8cf))
- - Make fmt ([`5d2b5d0`](https://github.com/Byron/gitoxide/commit/5d2b5d02c3869e07dc2507a8f2519ee1df633df7))
- - Merge branch 'main' into dev ([`cdef398`](https://github.com/Byron/gitoxide/commit/cdef398c4a3bd01baf0be2c27a3f77a400172b0d))
- - Rename the serde1 feature to serde ([`19338d9`](https://github.com/Byron/gitoxide/commit/19338d934b6712b7d6bd3fa3b2e4189bf7e6c8a1))
- - Merge branch 'main' into dev ([`23ee47f`](https://github.com/Byron/gitoxide/commit/23ee47fb24c197f8437bd426544b2aa74e005bdc))
- - Merge branch 'worktree-stack' ([`3d47919`](https://github.com/Byron/gitoxide/commit/3d47919c1a2f83fc7c1fd7ae590d098057a22626))
- - Add utilities for stack-based searching with pattern matching. ([`042154b`](https://github.com/Byron/gitoxide/commit/042154b9076dc44e4378339e16875208c8125213))
- - Remove whitespace related processing from glob parsing and don't copy parsed input. ([`e3f8c4b`](https://github.com/Byron/gitoxide/commit/e3f8c4bcda263728a5c2d5171b2b9941297ba629))
- - Merge branch 'patch-1' ([`d0052c1`](https://github.com/Byron/gitoxide/commit/d0052c13cabcde8058177d2439053b50ea5adbfc))
- - Update to latest `bitflags` version. ([`594cca5`](https://github.com/Byron/gitoxide/commit/594cca51840c00654af05acc7f7c7d01fe699067))
-</details>
-
-## 0.5.5 (2023-02-20)
-
-### Bug Fixes
-
- - <csr-id-135d317065aae87af302beb6c26bb6ca8e30b6aa/> compatibility with `bstr` v1.3, use `*.as_bytes()` instead of `.as_ref()`.
- `as_ref()` relies on a known target type which isn't always present. However, once
- there is only one implementation, that's no problem, but when that changes compilation
- fails due to ambiguity.
-
-### Commit Statistics
-
-<csr-read-only-do-not-edit/>
-
- - 2 commits contributed to the release.
- - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- - 0 issues like '(#ID)' were seen in commit messages
-
-### Commit Details
-
-<csr-read-only-do-not-edit/>
-
-<details><summary>view details</summary>
-
- * **Uncategorized**
- - Release gix-date v0.4.3, gix-hash v0.10.3, gix-features v0.26.5, gix-actor v0.17.2, gix-glob v0.5.5, gix-path v0.7.2, gix-quote v0.4.2, gix-attributes v0.8.3, gix-validate v0.7.3, gix-object v0.26.2, gix-ref v0.24.1, gix-config v0.16.2, gix-command v0.2.4, gix-url v0.13.3, gix-credentials v0.9.2, gix-discover v0.13.1, gix-index v0.12.4, gix-mailmap v0.9.3, gix-pack v0.30.3, gix-packetline v0.14.3, gix-transport v0.25.6, gix-protocol v0.26.4, gix-revision v0.10.4, gix-refspec v0.7.3, gix-worktree v0.12.3, gix v0.36.1 ([`9604783`](https://github.com/Byron/gitoxide/commit/96047839a20a657a559376b0b14c65aeab96acbd))
- - Compatibility with `bstr` v1.3, use `*.as_bytes()` instead of `.as_ref()`. ([`135d317`](https://github.com/Byron/gitoxide/commit/135d317065aae87af302beb6c26bb6ca8e30b6aa))
-</details>
-
-## 0.5.4 (2023-02-20)
-
-### Bug Fixes
-
- - <csr-id-e14dc7d475373d2c266e84ff8f1826c68a34ab92/> note that crates have been renamed from `git-*` to `gix-*`.
- This also means that the `git-*` prefixed crates of the `gitoxide` project
- are effectively unmaintained.
- Use the crates with the `gix-*` prefix instead.
-
- If you were using `git-repository`, then `gix` is its substitute.
- - <csr-id-bf6cce76475329b7abc81c5032f2a8eee92202d0/> fix compile by using `BStr::as_bytes()` instead of `BStr::as_ref()`.
- The latter can be ambiguous.
-
-### Commit Statistics
-
-<csr-read-only-do-not-edit/>
-
- - 2 commits contributed to the release.
- - 3 days passed between releases.
- - 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- - 0 issues like '(#ID)' were seen in commit messages
-
-### Commit Details
-
-<csr-read-only-do-not-edit/>
-
-<details><summary>view details</summary>
-
- * **Uncategorized**
- - Release gix-glob v0.5.4 ([`c56d336`](https://github.com/Byron/gitoxide/commit/c56d3365fde21120cf6101cf34f8b5669804977c))
- - Fix compile by using `BStr::as_bytes()` instead of `BStr::as_ref()`. ([`bf6cce7`](https://github.com/Byron/gitoxide/commit/bf6cce76475329b7abc81c5032f2a8eee92202d0))
-</details>
-
-## 0.5.3 (2023-02-17)
-
-<csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/>
-<csr-id-533e887e80c5f7ede8392884562e1c5ba56fb9a8/>
-
-### New Features (BREAKING)
-
- - <csr-id-3d8fa8fef9800b1576beab8a5bc39b821157a5ed/> upgrade edition to 2021 in most crates.
- MSRV for this is 1.56, and we are now at 1.60 so should be compatible.
- This isn't more than a patch release as it should break nobody
- who is adhering to the MSRV, but let's be careful and mark it
- breaking.
-
- Note that `git-features` and `git-pack` are still on edition 2018
- as they make use of a workaround to support (safe) mutable access
- to non-overlapping entries in a slice which doesn't work anymore
- in edition 2021.
-
-### Changed (BREAKING)
-
- - <csr-id-99905bacace8aed42b16d43f0f04cae996cb971c/> upgrade `bstr` to `1.0.1`
- - <csr-id-568f013e762423fc54a8fb1daed1e7b59c1dc0f0/> `Pattern::matches()` is now private
- It doesn't work as one would expect due to it wanting to match relative
- paths only. Thus it's better to spare folks the surprise and instead
- use `wildmatch()` directly. It works the same, but doesn't
- have certain shortcuts which aren't needed for standard matches
- anyway.
- - <csr-id-f76a426833530c7a7e787487cfceaba2c80b21ac/> remove `base_path` field from `Pattern`
- It's now passed as argument to the path pattern matcher and maybe
- it will even be removed one day.
-
- Even though it's convenient to have a base path per pattern, it's
- quite some duplication.
- - <csr-id-8fd9f24e2f751292a99b4f92cc47df67e17ab537/> invert meaning of `wildcard::Mode::SLASH_IS_LITERAL`
- This is done by renaming it to
- `wildcard::MODE::NO_MATCH_SLASH_LITERAL` and actually fits what it
- does.
- - <csr-id-6ce3611891d4b60c86055bf749a1b4060ee2c3e1/> `parse()` returns a `Pattern`.
- This is much more ergonomic as this is the only things we are ever
- interested in for matching. If necessary, from there one can also
- use the parts individually or alter them.
-
-### New Features
-
- - <csr-id-b1c40b0364ef092cd52d03b34f491b254816b18d/> use docsrs feature in code to show what is feature-gated automatically on docs.rs
- - <csr-id-517677147f1c17304c62cf97a1dd09f232ebf5db/> pass --cfg docsrs when compiling for https://docs.rs
- - <csr-id-455a72eb0c01c158f43d9b9a1180886f677bad00/> `fmt::Display` impl for `Pattern`.
- This way the original pattern can be reproduced on the fly without
- actually storing it, saving one allocation.
- - <csr-id-2c88b575630e1b179955dad578e779aad8dd58d8/> add `Default` impl for `pattern::Case`
-
-### Chore
-
- - <csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/> uniformize deny attributes
- - <csr-id-533e887e80c5f7ede8392884562e1c5ba56fb9a8/> remove default link to cargo doc everywhere
-
-### Documentation
-
- - <csr-id-39ed9eda62b7718d5109135e5ad406fb1fe2978c/> fix typos
-
-### Commit Statistics
-
-<csr-read-only-do-not-edit/>
-
- - 187 commits contributed to the release over the course of 316 calendar days.
- - 13 commits were understood as [conventional](https://www.conventionalcommits.org).
- - 5 unique issues were worked on: [#301](https://github.com/Byron/gitoxide/issues/301), [#384](https://github.com/Byron/gitoxide/issues/384), [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470), [#691](https://github.com/Byron/gitoxide/issues/691)
-
-### Thanks Clippy
-
-<csr-read-only-do-not-edit/>
-
-[Clippy](https://github.com/rust-lang/rust-clippy) helped 8 times to make code idiomatic.
-
-### Commit Details
-
-<csr-read-only-do-not-edit/>
-
-<details><summary>view details</summary>
-
- * **[#301](https://github.com/Byron/gitoxide/issues/301)**
- - Update changelogs prior to release ([`84cb256`](https://github.com/Byron/gitoxide/commit/84cb25614a5fcddff297c1713eba4efbb6ff1596))
- - `fmt::Display` impl for `Pattern`. ([`455a72e`](https://github.com/Byron/gitoxide/commit/455a72eb0c01c158f43d9b9a1180886f677bad00))
- - Adapt to changes in git-path ([`cc2d810`](https://github.com/Byron/gitoxide/commit/cc2d81012d107da7a61bf4de5b28342dea5083b7))
- - Add `Default` impl for `pattern::Case` ([`2c88b57`](https://github.com/Byron/gitoxide/commit/2c88b575630e1b179955dad578e779aad8dd58d8))
- - Cleanup ([`1ab4705`](https://github.com/Byron/gitoxide/commit/1ab470589450ecda45826c38417616f227e3031b))
- - Allow basename matches to work like before ([`4f6cefc`](https://github.com/Byron/gitoxide/commit/4f6cefc96bea5f116eb26a9de8095271fd0f58e2))
- - Adjust baseline to only handle patterns that work without a dir stack ([`fb65a39`](https://github.com/Byron/gitoxide/commit/fb65a39e1826c331545b7141c0741904ed5bb1a4))
- - Discover an entirely new class of exclude matches… ([`f8dd5ce`](https://github.com/Byron/gitoxide/commit/f8dd5ce8ce27cd24b9d81795dcf01ce03efe802d))
- - Basic match group pattern matching ([`cc1312d`](https://github.com/Byron/gitoxide/commit/cc1312dc06d1dccfa2e3cf0ae134affa9a3fa947))
- - `Pattern::matches()` is now private ([`568f013`](https://github.com/Byron/gitoxide/commit/568f013e762423fc54a8fb1daed1e7b59c1dc0f0))
- - Push base path handling to the caller ([`e4b57b1`](https://github.com/Byron/gitoxide/commit/e4b57b197884bc981b8e3c9ee8c7b5349afa594b))
- - A slightly ugly way of not adjusting input patterns too much ([`3912ee6`](https://github.com/Byron/gitoxide/commit/3912ee66b6117681331df5e6e0f8345335728bde))
- - Adjustments to support lower MSRV ([`16a0973`](https://github.com/Byron/gitoxide/commit/16a09737f0e81654cc7a5bbc9043385528524ca5))
- - A failing test to show that the absolute pattern handling isn't quite there yet ([`74c89eb`](https://github.com/Byron/gitoxide/commit/74c89ebbd235e8f5464e0665cc7bc7a930a8eb76))
- - Remove `base_path` field from `Pattern` ([`f76a426`](https://github.com/Byron/gitoxide/commit/f76a426833530c7a7e787487cfceaba2c80b21ac))
- - Make fmt ([`5fc5459`](https://github.com/Byron/gitoxide/commit/5fc5459b17b623726f99846c432a70106464e970))
- - Cleanup tests ([`16570ef`](https://github.com/Byron/gitoxide/commit/16570ef96785c62eb813d4613df097aca3aa0d8f))
- - Case-insensitive tests for baseline path matching ([`bc928f9`](https://github.com/Byron/gitoxide/commit/bc928f9c00b5f00527a122c8bf847278e90ffb04))
- - Invert meaning of `wildcard::Mode::SLASH_IS_LITERAL` ([`8fd9f24`](https://github.com/Byron/gitoxide/commit/8fd9f24e2f751292a99b4f92cc47df67e17ab537))
- - Make glob tests work on windows for now… ([`29738ed`](https://github.com/Byron/gitoxide/commit/29738edc56da6dbb9b853ac8f7482672eafd5050))
- - See if being less pedantic yields the correct results ([`18953e4`](https://github.com/Byron/gitoxide/commit/18953e4c367ef1d3c2b28a0b027acc715af6372f))
- - `parse()` returns a `Pattern`. ([`6ce3611`](https://github.com/Byron/gitoxide/commit/6ce3611891d4b60c86055bf749a1b4060ee2c3e1))
- - Docs for git-glob ([`8f4969f`](https://github.com/Byron/gitoxide/commit/8f4969fe7c2e3f3bb38275d5e4ccb08d0bde02bb))
- - All wildmatch tests succeed ([`d3a7349`](https://github.com/Byron/gitoxide/commit/d3a7349b707911670f17a92a0f82681544ebc769))
- - Add all character classes sans some of the more obscure ones ([`538d41d`](https://github.com/Byron/gitoxide/commit/538d41d51d7cdc472b2a712823a5a69810f75015))
- - Frame for character classes ([`6b8d0d2`](https://github.com/Byron/gitoxide/commit/6b8d0d20b449f6adffd403d0555596041a6c1903))
- - Fix all remaining bracket tests… ([`3afe2d2`](https://github.com/Byron/gitoxide/commit/3afe2d2b862c9a22b90cbfbf75da6c84ca91ebf4))
- - More bracket-range tests succeed ([`c64f71c`](https://github.com/Byron/gitoxide/commit/c64f71c38ff404e9c9f150e3e6d3e02ca11e9235))
- - Make bracket matching work better ([`97aa9ed`](https://github.com/Byron/gitoxide/commit/97aa9ed22ccb927147a1e456ee6e3510ecc9f90a))
- - Refactor ([`fa0440f`](https://github.com/Byron/gitoxide/commit/fa0440fb3c80f8052e08526cf260e929722ccf02))
- - First steps towards bracket matching ([`54fe029`](https://github.com/Byron/gitoxide/commit/54fe0294e36e6ae9a025ef8661d5e21fd488dc87))
- - Adjust wildmatch corpus expectations as it won't match our preprocessor ([`48990af`](https://github.com/Byron/gitoxide/commit/48990af81110a411ad07e199916005a8885db920))
- - Fix another issue around double-star ([`d15c2fb`](https://github.com/Byron/gitoxide/commit/d15c2fb0119edc7635efc174a703101e100c0b4c))
- - Fix another special case ([`09095df`](https://github.com/Byron/gitoxide/commit/09095dfb123f419a3df715d48e60e1f8ec62d060))
- - Fix double-star matches ([`43371b6`](https://github.com/Byron/gitoxide/commit/43371b6fa0d6e62d9cde0399f1c9dd3e76b95d99))
- - Fix single-level double-star ([`e5a7995`](https://github.com/Byron/gitoxide/commit/e5a79951dc32d336ae5b6c4230b3058ed80456d6))
- - Fix backslash handling; improve star handling ([`7907cb4`](https://github.com/Byron/gitoxide/commit/7907cb4e12b56bdbea6abdc59f1022a508a83c87))
- - New wildcard tests to help fix star matching ([`d21c654`](https://github.com/Byron/gitoxide/commit/d21c6541959b0fe34a3882ffcb9e657d6c685734))
- - All our simple wildmatches are working, a good start ([`321c4d2`](https://github.com/Byron/gitoxide/commit/321c4d2011617f2b13e29109cafe4566e53bfde3))
- - Maybe even working double-star handling ([`48c57ff`](https://github.com/Byron/gitoxide/commit/48c57ff3299928fd427bfae3e4eeadf5a9ca8109))
- - Slowly move towards star/double-star ([`4efd215`](https://github.com/Byron/gitoxide/commit/4efd21560c754062f09870d253b6a2809cb0efb1))
- - Question mark support ([`e83c8df`](https://github.com/Byron/gitoxide/commit/e83c8df03e801e00571f5934331e004af9774c7f))
- - Very basic beginnings of wildmatch ([`334c624`](https://github.com/Byron/gitoxide/commit/334c62459dbb6763a46647a64129f89e27b5781b))
- - Fix logic in wildmatch tests; validate feasibility of all test cases ([`1336bc9`](https://github.com/Byron/gitoxide/commit/1336bc938cc43e3a2f9e47af64f2c9933c9fc961))
- - Test corpus for wildcard matches ([`bd8f95f`](https://github.com/Byron/gitoxide/commit/bd8f95f757e45b3cf8523d3e11503f4571461abf))
- - Frame for wildmatch function and its tests ([`04ca834`](https://github.com/Byron/gitoxide/commit/04ca8349e326f7b7505a9ea49a401565259f21dc))
- - More tests for early exit in case no-wildcard prefix doesn't match ([`1ff348c`](https://github.com/Byron/gitoxide/commit/1ff348c4f09839569dcd8bb93699e7004fa59d4a))
- - More non-basename shortcuts, and only wildcard matches left ([`45c6259`](https://github.com/Byron/gitoxide/commit/45c62597b50c3c4bac34e20cd2040b08833584cc))
- - Make much clearer how base-path works and put in safe-guards ([`5bf503a`](https://github.com/Byron/gitoxide/commit/5bf503af86ce0dd4d0a79c9b1a451cf89b494a6e))
- - Test that bases are ignored for basenames ([`1b26848`](https://github.com/Byron/gitoxide/commit/1b2684892419f234e6006b0f3820341f162dc28b))
- - Refactor ([`056b368`](https://github.com/Byron/gitoxide/commit/056b3683eb2d4d4c478ae2655e6ef067d4d0d1e7))
- - A way to set a globs base path ([`3d58db8`](https://github.com/Byron/gitoxide/commit/3d58db8a9abfb91600216b8fc6f4109f5289d776))
- - Get to the point where globs probably should have a base ([`2632988`](https://github.com/Byron/gitoxide/commit/263298876d1b10b12011c2a221b67126d6d8202d))
- - Refactor ([`f2f3f53`](https://github.com/Byron/gitoxide/commit/f2f3f53574b4c0b5ba85780b134825f9128fa64f))
- - Prepare for handling absolute patterns ([`df9778b`](https://github.com/Byron/gitoxide/commit/df9778b924610f6a82d93cdf12cfddda60e61789))
- - Keep track of absolute patterns, those that have to start with it ([`3956480`](https://github.com/Byron/gitoxide/commit/3956480e6fb5f4766a67ebf2860cae2f48125594))
- - Basename parsing with simple pattern skips ([`d18ef14`](https://github.com/Byron/gitoxide/commit/d18ef14e7cbf9c6d316086d6c88b5676c4b7516c))
- - Git-baseline now acts like a massive regression test ([`fe3d0a7`](https://github.com/Byron/gitoxide/commit/fe3d0a778210a46d46a7db15cc8d213706e45fee))
- - Adjust signatures to know enough to implement git-like matching ([`b947ff9`](https://github.com/Byron/gitoxide/commit/b947ff9d2c5ae8810547066096c91c745d1466fe))
- - Refactor; roughly sort regex by simplicity ([`a7c3a63`](https://github.com/Byron/gitoxide/commit/a7c3a630cd5661f26220b494f01e50c9f2dbd2e2))
- - Also parse the position of the first wildcard ([`4178a63`](https://github.com/Byron/gitoxide/commit/4178a6356ad11013ae08b6233de2bfb366bf4278))
- - Prepare for upcoming wildcard-length field in glob pattern ([`a11f5d4`](https://github.com/Byron/gitoxide/commit/a11f5d441a22b844caefd31b9cb7783dd6b048ad))
- - Refactor ([`f285ca0`](https://github.com/Byron/gitoxide/commit/f285ca03094655590d7014770ffb6f6a77d02289))
- - Basic infrastructure for running git-baseline against our implementation ([`027869d`](https://github.com/Byron/gitoxide/commit/027869d57bd7fcb7234e814d1a22197cb64c05cf))
- - Baseline tests for matches and no-matches ([`621c2ca`](https://github.com/Byron/gitoxide/commit/621c2cac7eed822cc8226c7b9aa8becf3db6872c))
- - Bring in all ~140 tests for git pattern matching, git-ignore styile ([`f9ab830`](https://github.com/Byron/gitoxide/commit/f9ab830df2920387c1cffec048be3a4089f4aa40))
- - Refactor ([`dbe7305`](https://github.com/Byron/gitoxide/commit/dbe7305d371c7dad02d8888492b60b882b418a46))
- - Refactor ([`8a54341`](https://github.com/Byron/gitoxide/commit/8a543410e10326ce506b8a7ba65e662641835849))
- - Prepare changelog prior to release ([`2794bb2`](https://github.com/Byron/gitoxide/commit/2794bb2f6bd80cccba508fa9f251609499167646))
- - Add git-glob crate with pattern matching parsing from git-attributes::ignore ([`b3efc94`](https://github.com/Byron/gitoxide/commit/b3efc94134a32018db1d6a2d7f8cc397c4371999))
- * **[#384](https://github.com/Byron/gitoxide/issues/384)**
- - No need to isolate archives by crate name ([`19d46f3`](https://github.com/Byron/gitoxide/commit/19d46f35440419b9911b6e2bca2cfc975865dce9))
- - Add archive files via git-lfs ([`7202a1c`](https://github.com/Byron/gitoxide/commit/7202a1c4734ad904c026ee3e4e2143c0461d51a2))
- - Make sure existing files aren't written into ([`9b5a8a2`](https://github.com/Byron/gitoxide/commit/9b5a8a243d49b6567d1db31050d3bf3123dd54d3))
- - Auto-set commit.gpgsign=false when executing git ([`c23feb6`](https://github.com/Byron/gitoxide/commit/c23feb64ad157180cfba8a11c882b829733ea8f6))
- * **[#450](https://github.com/Byron/gitoxide/issues/450)**
- - Fix git-glob tests ([`0c17681`](https://github.com/Byron/gitoxide/commit/0c17681602ef74cb5e9329d489df6fd7a07d546d))
- - Frame for baseline for fetch-matching ([`2569da5`](https://github.com/Byron/gitoxide/commit/2569da5988a055372a1b85660f93185603900dbe))
- - Upgrade `bstr` to `1.0.1` ([`99905ba`](https://github.com/Byron/gitoxide/commit/99905bacace8aed42b16d43f0f04cae996cb971c))
- * **[#470](https://github.com/Byron/gitoxide/issues/470)**
- - Update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd))
- * **[#691](https://github.com/Byron/gitoxide/issues/691)**
- - Set `rust-version` to 1.64 ([`55066ce`](https://github.com/Byron/gitoxide/commit/55066ce5fd71209abb5d84da2998b903504584bb))
- * **Uncategorized**
- - Release gix-features v0.26.4, gix-actor v0.17.1, gix-glob v0.5.3, gix-path v0.7.1, gix-quote v0.4.1, gix-attributes v0.8.2, gix-config-value v0.10.1, gix-tempfile v3.0.2, gix-lock v3.0.2, gix-validate v0.7.2, gix-object v0.26.1, gix-ref v0.24.0, gix-sec v0.6.2, gix-config v0.16.1, gix-command v0.2.3, gix-prompt v0.3.2, gix-url v0.13.2, gix-credentials v0.9.1, gix-diff v0.26.1, gix-discover v0.13.0, gix-hashtable v0.1.1, gix-bitmap v0.2.1, gix-traverse v0.22.1, gix-index v0.12.3, gix-mailmap v0.9.2, gix-chunk v0.4.1, gix-pack v0.30.2, gix-odb v0.40.2, gix-packetline v0.14.2, gix-transport v0.25.4, gix-protocol v0.26.3, gix-revision v0.10.3, gix-refspec v0.7.2, gix-worktree v0.12.2, gix v0.36.0 ([`6efd0d3`](https://github.com/Byron/gitoxide/commit/6efd0d31fbeca31ab7319aa2ac97bb31dc4ce055))
- - Release gix-date v0.4.2, gix-hash v0.10.2, gix-features v0.26.4, gix-actor v0.17.1, gix-glob v0.5.3, gix-path v0.7.1, gix-quote v0.4.1, gix-attributes v0.8.2, gix-config-value v0.10.1, gix-tempfile v3.0.2, gix-lock v3.0.2, gix-validate v0.7.2, gix-object v0.26.1, gix-ref v0.24.0, gix-sec v0.6.2, gix-config v0.16.1, gix-command v0.2.3, gix-prompt v0.3.2, gix-url v0.13.2, gix-credentials v0.9.1, gix-diff v0.26.1, gix-discover v0.13.0, gix-hashtable v0.1.1, gix-bitmap v0.2.1, gix-traverse v0.22.1, gix-index v0.12.3, gix-mailmap v0.9.2, gix-chunk v0.4.1, gix-pack v0.30.2, gix-odb v0.40.2, gix-packetline v0.14.2, gix-transport v0.25.4, gix-protocol v0.26.3, gix-revision v0.10.3, gix-refspec v0.7.2, gix-worktree v0.12.2, gix v0.36.0 ([`6ccc88a`](https://github.com/Byron/gitoxide/commit/6ccc88a8e4a56973b1a358cf72dc012ee3c75d56))
- - Merge branch 'rename-crates' into inform-about-gix-rename ([`c9275b9`](https://github.com/Byron/gitoxide/commit/c9275b99ea43949306d93775d9d78c98fb86cfb1))
- - Rename `git-testtools` to `gix-testtools` ([`b65c33d`](https://github.com/Byron/gitoxide/commit/b65c33d256cfed65d11adeff41132e3e58754089))
- - Adjust to renaming of `git-pack` to `gix-pack` ([`1ee81ad`](https://github.com/Byron/gitoxide/commit/1ee81ad310285ee4aa118118a2be3810dbace574))
- - Adjust to renaming of `git-odb` to `gix-odb` ([`476e2ad`](https://github.com/Byron/gitoxide/commit/476e2ad1a64e9e3f0d7c8651d5bcbee36cd78241))
- - Adjust to renaming of `git-index` to `gix-index` ([`86db5e0`](https://github.com/Byron/gitoxide/commit/86db5e09fc58ce66b252dc13b8d7e2c48e4d5062))
- - Adjust to renaming of `git-diff` to `gix-diff` ([`49a163e`](https://github.com/Byron/gitoxide/commit/49a163ec8b18f0e5fcd05a315de16d5d8be7650e))
- - Adjust to renaming of `git-commitgraph` to `gix-commitgraph` ([`f1dd0a3`](https://github.com/Byron/gitoxide/commit/f1dd0a3366e31259af029da73228e8af2f414244))
- - Adjust to renaming of `git-mailmap` to `gix-mailmap` ([`2e28c56`](https://github.com/Byron/gitoxide/commit/2e28c56bb9f70de6f97439818118d3a25859698f))
- - Adjust to renaming of `git-discover` to `gix-discover` ([`53adfe1`](https://github.com/Byron/gitoxide/commit/53adfe1c34e9ea3b27067a97b5e7ac80b351c441))
- - Adjust to renaming of `git-lfs` to `gix-lfs` ([`b9225c8`](https://github.com/Byron/gitoxide/commit/b9225c830daf1388484ee7e05f727990fdeff43c))
- - Adjust to renaming of `git-chunk` to `gix-chunk` ([`59194e3`](https://github.com/Byron/gitoxide/commit/59194e3a07853eae0624ebc4907478d1de4f7599))
- - Adjust to renaming of `git-bitmap` to `gix-bitmap` ([`75f2a07`](https://github.com/Byron/gitoxide/commit/75f2a079b17489f62bc43e1f1d932307375c4f9d))
- - Adjust to renaming for `git-protocol` to `gix-protocol` ([`823795a`](https://github.com/Byron/gitoxide/commit/823795addea3810243cab7936cd8ec0137cbc224))
- - Adjust to renaming of `git-refspec` to `gix-refspec` ([`c958802`](https://github.com/Byron/gitoxide/commit/c9588020561577736faa065e7e5b5bb486ca8fe1))
- - Adjust to renaming of `git-revision` to `gix-revision` ([`ee0ee84`](https://github.com/Byron/gitoxide/commit/ee0ee84607c2ffe11ee75f27a31903db68afed02))
- - Adjust to renaming of `git-transport` to `gix-transport` ([`b2ccf71`](https://github.com/Byron/gitoxide/commit/b2ccf716dc4425bb96651d4d58806a3cc2da219e))
- - Adjust to renaming of `git-credentials` to `gix-credentials` ([`6b18abc`](https://github.com/Byron/gitoxide/commit/6b18abcf2856f02ab938d535a65e51ac282bf94a))
- - Adjust to renaming of `git-prompt` to `gix-prompt` ([`6a4654e`](https://github.com/Byron/gitoxide/commit/6a4654e0d10ab773dd219cb4b731c0fc1471c36d))
- - Adjust to renaming of `git-command` to `gix-command` ([`d26b8e0`](https://github.com/Byron/gitoxide/commit/d26b8e046496894ae06b0bbfdba77196976cd975))
- - Adjust to renaming of `git-packetline` to `gix-packetline` ([`5cbd22c`](https://github.com/Byron/gitoxide/commit/5cbd22cf42efb760058561c6c3bbcd4dab8c8be1))
- - Adjust to renaming of `git-worktree` to `gix-worktree` ([`73a1282`](https://github.com/Byron/gitoxide/commit/73a12821b3d9b66ec1714d07dd27eb7a73e3a544))
- - Adjust to renamining of `git-worktree` to `gix-worktree` ([`108bb1a`](https://github.com/Byron/gitoxide/commit/108bb1a634f4828853fb590e9fc125f79441dd38))
- - Adjust to renaming of `git-url` to `gix-url` ([`b50817a`](https://github.com/Byron/gitoxide/commit/b50817aadb143e19f61f64e19b19ec1107d980c6))
- - Adjust to renaming of `git-date` to `gix-date` ([`9a79ff2`](https://github.com/Byron/gitoxide/commit/9a79ff2d5cc74c1efad9f41e21095ae498cce00b))
- - Adjust to renamining of `git-attributes` to `gix-attributes` ([`4a8b3b8`](https://github.com/Byron/gitoxide/commit/4a8b3b812ac26f2a2aee8ce8ca81591273383c84))
- - Adjust to renaminig of `git-quote` to `gix-quote` ([`648025b`](https://github.com/Byron/gitoxide/commit/648025b7ca94411fdd0d90c53e5faede5fde6c8d))
- - Adjust to renaming of `git-config` to `gix-config` ([`3a861c8`](https://github.com/Byron/gitoxide/commit/3a861c8f049f6502d3bcbdac752659aa1aeda46a))
- - Adjust to renaming of `git-ref` to `gix-ref` ([`1f5f695`](https://github.com/Byron/gitoxide/commit/1f5f695407b034377d94b172465ff573562b3fc3))
- - Adjust to renaming of `git-lock` to `gix-lock` ([`2028e78`](https://github.com/Byron/gitoxide/commit/2028e7884ae1821edeec81612f501e88e4722b17))
- - Adjust to renaming of `git-tempfile` to `gix-tempfile` ([`b6cc3eb`](https://github.com/Byron/gitoxide/commit/b6cc3ebb5137084a6327af16a7d9364d8f092cc9))
- - Adjust to renaming of `git-object` to `gix-object` ([`fc86a1e`](https://github.com/Byron/gitoxide/commit/fc86a1e710ad7bf076c25cc6f028ddcf1a5a4311))
- - Adjust to renaming of `git-actor` to `gix-actor` ([`4dc9b44`](https://github.com/Byron/gitoxide/commit/4dc9b44dc52f2486ffa2040585c6897c1bf55df4))
- - Adjust to renaming of `git-validate` to `gix-validate` ([`5e40ad0`](https://github.com/Byron/gitoxide/commit/5e40ad078af3d08cbc2ca81ce755c0ed8a065b4f))
- - Adjust to renaming of `git-hash` to `gix-hash` ([`4a9d025`](https://github.com/Byron/gitoxide/commit/4a9d0257110c3efa61d08c8457c4545b200226d1))
- - Adjust to renaming of `git-features` to `gix-features` ([`e2dd68a`](https://github.com/Byron/gitoxide/commit/e2dd68a417aad229e194ff20dbbfd77668096ec6))
- - Adjust to renaming of `git-glob` to `gix-glob` ([`35b2a3a`](https://github.com/Byron/gitoxide/commit/35b2a3acbc8f2a03f151bc0a3863163844e0ca86))
- - Rename `git-glob` to `gix-glob` ([`32cce5f`](https://github.com/Byron/gitoxide/commit/32cce5f411f1d5d9ee3c98fb4f6b0e8f2a0295dc))
- - Adjust to renaming of `git-sec` to `gix-sec` ([`eabbb92`](https://github.com/Byron/gitoxide/commit/eabbb923bd5a32fc80fa80f96cfdc2ab7bb2ed17))
- - Adapt to renaming of `git-path` to `gix-path` ([`d3bbcfc`](https://github.com/Byron/gitoxide/commit/d3bbcfccad80fc44ea8e7bf819f23adaca06ba2d))
- - Adjust to rename of `git-config-value` to `gix-config-value` ([`622b3e1`](https://github.com/Byron/gitoxide/commit/622b3e1d0bffa0f8db73697960f9712024fac430))
- - Release git-date v0.4.2, git-hash v0.10.2, git-features v0.26.2, git-actor v0.17.1, git-glob v0.5.3, git-path v0.7.1, git-quote v0.4.1, git-attributes v0.8.2, git-config-value v0.10.1, git-tempfile v3.0.2, git-lock v3.0.2, git-validate v0.7.2, git-object v0.26.1, git-ref v0.24.0, git-sec v0.6.2, git-config v0.16.0, git-command v0.2.3, git-prompt v0.3.2, git-url v0.13.2, git-credentials v0.9.1, git-diff v0.26.1, git-discover v0.13.0, git-hashtable v0.1.1, git-bitmap v0.2.1, git-traverse v0.22.1, git-index v0.12.3, git-mailmap v0.9.2, git-chunk v0.4.1, git-pack v0.30.2, git-odb v0.40.2, git-packetline v0.14.2, git-transport v0.25.4, git-protocol v0.26.3, git-revision v0.10.2, git-refspec v0.7.2, git-worktree v0.12.2, git-repository v0.34.0, safety bump 3 crates ([`c196d20`](https://github.com/Byron/gitoxide/commit/c196d206d57a310b1ce974a1cf0e7e6d6db5c4d6))
- - Prepare changelogs prior to release ([`7c846d2`](https://github.com/Byron/gitoxide/commit/7c846d2102dc767366771925212712ef8cc9bf07))
- - Merge branch 'Lioness100/main' ([`1e544e8`](https://github.com/Byron/gitoxide/commit/1e544e82455bf9ecb5e3c2146280eaf7ecd81f16))
- - Fix typos ([`39ed9ed`](https://github.com/Byron/gitoxide/commit/39ed9eda62b7718d5109135e5ad406fb1fe2978c))
- - Thanks clippy ([`bac57dd`](https://github.com/Byron/gitoxide/commit/bac57dd05ea2d5a4ee45ef9350fa3f2e19474bc0))
- - Release git-date v0.4.1, git-features v0.26.1, git-glob v0.5.2, git-attributes v0.8.1, git-tempfile v3.0.1, git-ref v0.23.1, git-sec v0.6.1, git-config v0.15.1, git-prompt v0.3.1, git-url v0.13.1, git-discover v0.12.1, git-index v0.12.2, git-mailmap v0.9.1, git-pack v0.30.1, git-odb v0.40.1, git-transport v0.25.3, git-protocol v0.26.2, git-revision v0.10.1, git-refspec v0.7.1, git-worktree v0.12.1, git-repository v0.33.0 ([`5b5b380`](https://github.com/Byron/gitoxide/commit/5b5b3809faa71c658db38b40dfc410224d08a367))
- - Prepare changelogs prior to release ([`93bef97`](https://github.com/Byron/gitoxide/commit/93bef97b3c0c75d4bf7119fdd787516e1efc77bf))
- - Merge branch 'patch-1' ([`b93f0c4`](https://github.com/Byron/gitoxide/commit/b93f0c49fc677b6c19aea332cbfc1445ce475375))
- - Thanks clippy ([`9e04685`](https://github.com/Byron/gitoxide/commit/9e04685dd3f109bfb27663f9dc7c04102e660bf2))
- - Release git-date v0.3.1, git-features v0.25.0, git-actor v0.15.0, git-glob v0.5.1, git-path v0.7.0, git-attributes v0.7.0, git-config-value v0.10.0, git-lock v3.0.1, git-validate v0.7.1, git-object v0.24.0, git-ref v0.21.0, git-sec v0.6.0, git-config v0.13.0, git-prompt v0.3.0, git-url v0.12.0, git-credentials v0.8.0, git-diff v0.24.0, git-discover v0.10.0, git-traverse v0.20.0, git-index v0.10.0, git-mailmap v0.7.0, git-pack v0.28.0, git-odb v0.38.0, git-packetline v0.14.1, git-transport v0.24.0, git-protocol v0.25.0, git-revision v0.8.0, git-refspec v0.5.0, git-worktree v0.10.0, git-repository v0.30.0, safety bump 26 crates ([`e6b9906`](https://github.com/Byron/gitoxide/commit/e6b9906c486b11057936da16ed6e0ec450a0fb83))
- - Prepare chnagelogs prior to git-repository release ([`7114bbb`](https://github.com/Byron/gitoxide/commit/7114bbb6732aa8571d4ab74f28ed3e26e9fbe4d0))
- - Merge branch 'main' into read-split-index ([`c57bdde`](https://github.com/Byron/gitoxide/commit/c57bdde6de37eca9672ea715962bbd02aa3eb055))
- - Merge branch 'adjustments-for-cargo' ([`083909b`](https://github.com/Byron/gitoxide/commit/083909bc7eb902eeee2002034fdb6ed88280dc5c))
- - Adjust to changes in `git-testtools` ([`4eb842c`](https://github.com/Byron/gitoxide/commit/4eb842c7150b980e1c2637217e1f9657a671cea7))
- - Merge branch 'main' into http-config ([`bcd9654`](https://github.com/Byron/gitoxide/commit/bcd9654e56169799eb706646da6ee1f4ef2021a9))
- - Release git-hash v0.10.0, git-features v0.24.0, git-date v0.3.0, git-actor v0.14.0, git-glob v0.5.0, git-path v0.6.0, git-quote v0.4.0, git-attributes v0.6.0, git-config-value v0.9.0, git-tempfile v3.0.0, git-lock v3.0.0, git-validate v0.7.0, git-object v0.23.0, git-ref v0.20.0, git-sec v0.5.0, git-config v0.12.0, git-command v0.2.0, git-prompt v0.2.0, git-url v0.11.0, git-credentials v0.7.0, git-diff v0.23.0, git-discover v0.9.0, git-bitmap v0.2.0, git-traverse v0.19.0, git-index v0.9.0, git-mailmap v0.6.0, git-chunk v0.4.0, git-pack v0.27.0, git-odb v0.37.0, git-packetline v0.14.0, git-transport v0.23.0, git-protocol v0.24.0, git-revision v0.7.0, git-refspec v0.4.0, git-worktree v0.9.0, git-repository v0.29.0, git-commitgraph v0.11.0, gitoxide-core v0.21.0, gitoxide v0.19.0, safety bump 28 crates ([`b2c301e`](https://github.com/Byron/gitoxide/commit/b2c301ef131ffe1871314e19f387cf10a8d2ac16))
- - Prepare changelogs prior to release ([`e4648f8`](https://github.com/Byron/gitoxide/commit/e4648f827c97e9d13636d1bbdc83dd63436e6e5c))
- - Merge branch 'version2021' ([`0e4462d`](https://github.com/Byron/gitoxide/commit/0e4462df7a5166fe85c23a779462cdca8ee013e8))
- - Upgrade edition to 2021 in most crates. ([`3d8fa8f`](https://github.com/Byron/gitoxide/commit/3d8fa8fef9800b1576beab8a5bc39b821157a5ed))
- - Release git-glob v0.4.2, git-config-value v0.8.2, git-lock v2.2.0, git-ref v0.19.0, git-config v0.11.0, git-discover v0.8.0, git-index v0.8.0, git-transport v0.22.0, git-protocol v0.23.0, git-worktree v0.8.0, git-repository v0.28.0, gitoxide-core v0.20.0, gitoxide v0.18.0, safety bump 9 crates ([`0c253b1`](https://github.com/Byron/gitoxide/commit/0c253b15143dcedfe4c66d64ab1ea6e097030651))
- - Prepare changelogs prior to release ([`fe5721f`](https://github.com/Byron/gitoxide/commit/fe5721f888c64c79fe9a734a9e33b94a282f8d97))
- - Merge branch 'http-config' ([`665b53e`](https://github.com/Byron/gitoxide/commit/665b53e1c2e1de65fafa28b669f58977868bbc81))
- - Remove unused and empty file ([`e7bc5f2`](https://github.com/Byron/gitoxide/commit/e7bc5f279fc3bc931b904b5b902b8fc1d1d4f67e))
- - Release git-features v0.23.1, git-glob v0.4.1, git-config-value v0.8.1, git-tempfile v2.0.6, git-object v0.22.1, git-ref v0.18.0, git-sec v0.4.2, git-config v0.10.0, git-prompt v0.1.1, git-url v0.10.1, git-credentials v0.6.1, git-diff v0.21.0, git-discover v0.7.0, git-index v0.7.0, git-pack v0.25.0, git-odb v0.35.0, git-transport v0.21.1, git-protocol v0.22.0, git-refspec v0.3.1, git-worktree v0.7.0, git-repository v0.26.0, git-commitgraph v0.10.0, gitoxide-core v0.19.0, gitoxide v0.17.0, safety bump 9 crates ([`d071583`](https://github.com/Byron/gitoxide/commit/d071583c5576fdf5f7717765ffed5681792aa81f))
- - Prepare changelogs prior to release ([`423af90`](https://github.com/Byron/gitoxide/commit/423af90c8202d62dc1ea4a76a0df6421d1f0aa06))
- - Merge branch 'main' into write-sparse-index (upgrade to Rust 1.65) ([`5406630`](https://github.com/Byron/gitoxide/commit/5406630466145990b5adbdadb59151036993060d))
- - Thanks clippy ([`04cfa63`](https://github.com/Byron/gitoxide/commit/04cfa635a65ae34ad6d22391f2febd2ca7eabca9))
- - Merge branch 'diff' ([`25a7726`](https://github.com/Byron/gitoxide/commit/25a7726377fbe400ea3c4927d04e9dec99802b7b))
- - Release git-hash v0.9.10, git-features v0.22.5, git-date v0.2.0, git-actor v0.12.0, git-glob v0.4.0, git-path v0.5.0, git-quote v0.3.0, git-attributes v0.4.0, git-config-value v0.8.0, git-tempfile v2.0.5, git-validate v0.6.0, git-object v0.21.0, git-ref v0.16.0, git-sec v0.4.0, git-config v0.8.0, git-discover v0.5.0, git-traverse v0.17.0, git-index v0.5.0, git-worktree v0.5.0, git-testtools v0.9.0, git-command v0.1.0, git-prompt v0.1.0, git-url v0.9.0, git-credentials v0.5.0, git-diff v0.19.0, git-mailmap v0.4.0, git-chunk v0.3.2, git-pack v0.23.0, git-odb v0.33.0, git-packetline v0.13.0, git-transport v0.20.0, git-protocol v0.20.0, git-revision v0.5.0, git-refspec v0.2.0, git-repository v0.24.0, git-commitgraph v0.9.0, gitoxide-core v0.18.0, gitoxide v0.16.0, safety bump 28 crates ([`29a043b`](https://github.com/Byron/gitoxide/commit/29a043be6808a3e9199a9b26bd076fe843afe4f4))
- - Merge branch 'filter-refs' ([`fd14489`](https://github.com/Byron/gitoxide/commit/fd14489f729172d615d0fa1e8dbd605e9eacf69d))
- - Merge branch 'main' into index-from-tree ([`bc64b96`](https://github.com/Byron/gitoxide/commit/bc64b96a2ec781c72d1d4daad38aa7fb8b74f99b))
- - Merge branch 'main' into filter-refs-by-spec ([`cfa1440`](https://github.com/Byron/gitoxide/commit/cfa144031dbcac2707ab0cec012bc35e78f9c475))
- - Release git-date v0.0.5, git-hash v0.9.8, git-features v0.22.2, git-actor v0.11.3, git-glob v0.3.2, git-quote v0.2.1, git-attributes v0.3.2, git-tempfile v2.0.4, git-lock v2.1.1, git-validate v0.5.5, git-object v0.20.2, git-ref v0.15.2, git-sec v0.3.1, git-config v0.7.0, git-credentials v0.4.0, git-diff v0.17.2, git-discover v0.4.1, git-bitmap v0.1.2, git-index v0.4.2, git-mailmap v0.3.2, git-chunk v0.3.1, git-traverse v0.16.2, git-pack v0.21.2, git-odb v0.31.2, git-packetline v0.12.7, git-url v0.7.2, git-transport v0.19.2, git-protocol v0.19.0, git-revision v0.4.2, git-refspec v0.1.0, git-worktree v0.4.2, git-repository v0.22.0, safety bump 4 crates ([`4974eca`](https://github.com/Byron/gitoxide/commit/4974eca96d525d1ee4f8cad79bb713af7a18bf9d))
- - Merge branch 'main' into remote-ls-refs ([`e2ee3de`](https://github.com/Byron/gitoxide/commit/e2ee3ded97e5c449933712883535b30d151c7c78))
- - Merge branch 'docsrs-show-features' ([`31c2351`](https://github.com/Byron/gitoxide/commit/31c235140cad212d16a56195763fbddd971d87ce))
- - Use docsrs feature in code to show what is feature-gated automatically on docs.rs ([`b1c40b0`](https://github.com/Byron/gitoxide/commit/b1c40b0364ef092cd52d03b34f491b254816b18d))
- - Uniformize deny attributes ([`f7f136d`](https://github.com/Byron/gitoxide/commit/f7f136dbe4f86e7dee1d54835c420ec07c96cd78))
- - Pass --cfg docsrs when compiling for https://docs.rs ([`5176771`](https://github.com/Byron/gitoxide/commit/517677147f1c17304c62cf97a1dd09f232ebf5db))
- - Remove default link to cargo doc everywhere ([`533e887`](https://github.com/Byron/gitoxide/commit/533e887e80c5f7ede8392884562e1c5ba56fb9a8))
- - Merge pull request #2 from SidneyDouw/main ([`ce885ad`](https://github.com/Byron/gitoxide/commit/ce885ad4c3324c09c83751c32e014f246c748766))
- - Merge branch 'Byron:main' into main ([`9b9ea02`](https://github.com/Byron/gitoxide/commit/9b9ea0275f8ff5862f24cf5a4ca53bb1cd610709))
- - Merge branch 'main' into rev-parse-delegate ([`6da8250`](https://github.com/Byron/gitoxide/commit/6da82507588d3bc849217c11d9a1d398b67f2ed6))
- - Merge branch 'main' into pathspec ([`7b61506`](https://github.com/Byron/gitoxide/commit/7b615060712565f515515e35a3e8346278ad770c))
- - Release git-hash v0.9.6, git-features v0.22.0, git-date v0.0.2, git-actor v0.11.0, git-glob v0.3.1, git-path v0.4.0, git-attributes v0.3.0, git-tempfile v2.0.2, git-object v0.20.0, git-ref v0.15.0, git-sec v0.3.0, git-config v0.6.0, git-credentials v0.3.0, git-diff v0.17.0, git-discover v0.3.0, git-index v0.4.0, git-mailmap v0.3.0, git-traverse v0.16.0, git-pack v0.21.0, git-odb v0.31.0, git-url v0.7.0, git-transport v0.19.0, git-protocol v0.18.0, git-revision v0.3.0, git-worktree v0.4.0, git-repository v0.20.0, git-commitgraph v0.8.0, gitoxide-core v0.15.0, gitoxide v0.13.0, safety bump 22 crates ([`4737b1e`](https://github.com/Byron/gitoxide/commit/4737b1eea1d4c9a8d5a69fb63ecac5aa5d378ae5))
- - Prepare changelog prior to release ([`3c50625`](https://github.com/Byron/gitoxide/commit/3c50625fa51350ec885b0f38ec9e92f9444df0f9))
- - Merge pull request #1 from Byron/main ([`085e76b`](https://github.com/Byron/gitoxide/commit/085e76b121291ed9bd324139105d2bd4117bedf8))
- - Assure document-features are available in all 'usable' and 'early' crates ([`238581c`](https://github.com/Byron/gitoxide/commit/238581cc46c7288691eed37dc7de5069e3d86721))
- - Merge branch 'main' into SidneyDouw-pathspec ([`a22b1d8`](https://github.com/Byron/gitoxide/commit/a22b1d88a21311d44509018729c3ef1936cf052a))
- - Merge branch 'main' into git_includeif ([`598c853`](https://github.com/Byron/gitoxide/commit/598c853087fcf8f77299aa5b9803bcec705c0cd0))
- - Release git-hash v0.9.4, git-features v0.21.0, git-actor v0.10.0, git-glob v0.3.0, git-path v0.1.1, git-attributes v0.1.0, git-sec v0.1.0, git-config v0.3.0, git-credentials v0.1.0, git-validate v0.5.4, git-object v0.19.0, git-diff v0.16.0, git-lock v2.1.0, git-ref v0.13.0, git-discover v0.1.0, git-index v0.3.0, git-mailmap v0.2.0, git-traverse v0.15.0, git-pack v0.19.0, git-odb v0.29.0, git-packetline v0.12.5, git-url v0.5.0, git-transport v0.17.0, git-protocol v0.16.0, git-revision v0.2.0, git-worktree v0.2.0, git-repository v0.17.0, safety bump 20 crates ([`654cf39`](https://github.com/Byron/gitoxide/commit/654cf39c92d5aa4c8d542a6cadf13d4acef6a78e))
- - Merge branch 'main' into git_includeif ([`05eb340`](https://github.com/Byron/gitoxide/commit/05eb34023933918c51c03cf2afd774db89cc5a33))
- - Merge branch 'main' into msrv-for-windows ([`7cb1972`](https://github.com/Byron/gitoxide/commit/7cb19729133325bdfacedf44cdc0500cbcf36684))
- - Make fmt ([`251b6df`](https://github.com/Byron/gitoxide/commit/251b6df5dbdda24b7bdc452085f808f3acef69d8))
- - Merge branch 'worktree-stack' ([`98da8ba`](https://github.com/Byron/gitoxide/commit/98da8ba52cef8ec27f705fcbc84773e5bacc4e10))
- - Thanks clippy ([`5bf6b52`](https://github.com/Byron/gitoxide/commit/5bf6b52cd51bef19079e87230e5ac463f8f881c0))
- - Merge branch 'worktree-stack' ([`39046e9`](https://github.com/Byron/gitoxide/commit/39046e98098da7d490757477986479126a45b3e5))
- - Merge branch 'main' into repo-status ([`0eb2372`](https://github.com/Byron/gitoxide/commit/0eb23721dca78f6e6bf864c5c3a3e44df8b419f0))
- - Merge branch 'test-archive-support' ([`350df01`](https://github.com/Byron/gitoxide/commit/350df01042d6ca8b93f8737fa101e69b50535a0f))
- - Merge branch 'main' into repo-status ([`4086335`](https://github.com/Byron/gitoxide/commit/40863353a739ec971b49410fbc2ba048b2762732))
- - Thanks clippy ([`74f6420`](https://github.com/Byron/gitoxide/commit/74f64202dfc6d9b34228595e260014708ec388e3))
- - Release git-glob v0.2.0, safety bump 3 crates ([`ab6bed7`](https://github.com/Byron/gitoxide/commit/ab6bed7e2aa19eeb9990441741008c430f373708))
- - Merge branch 'worktree-stack' ([`e90d3fd`](https://github.com/Byron/gitoxide/commit/e90d3fd0a9764511e6280596f21d3a0494ed7021))
- - Thanks clippy ([`b1a6100`](https://github.com/Byron/gitoxide/commit/b1a610029e1b40600f90194ce986155238f58101))
- - Thanks clippy ([`1393403`](https://github.com/Byron/gitoxide/commit/1393403b826cf4a2fbaf6ef58d505c5c62fd5e0a))
- - Thanks clippy ([`683233e`](https://github.com/Byron/gitoxide/commit/683233e86dab36cc438bed0f8b0338eb767f57a0))
- - Release git-glob v0.1.0 ([`0f66c5d`](https://github.com/Byron/gitoxide/commit/0f66c5d56bd3f0febff881065911638f22e71158))
-</details>
-
-## 0.5.2 (2023-01-10)
-
-A maintenance release without user-facing changes.
-
-## 0.5.1 (2022-12-19)
-
-A maintenance release without user-facing changes.
-
-## 0.5.0 (2022-11-21)
-
-### New Features (BREAKING)
-
- - <csr-id-3d8fa8fef9800b1576beab8a5bc39b821157a5ed/> upgrade edition to 2021 in most crates.
- MSRV for this is 1.56, and we are now at 1.60 so should be compatible.
- This isn't more than a patch release as it should break nobody
- who is adhering to the MSRV, but let's be careful and mark it
- breaking.
-
- Note that `gix-features` and `gix-pack` are still on edition 2018
- as they make use of a workaround to support (safe) mutable access
- to non-overlapping entries in a slice which doesn't work anymore
- in edition 2021.
-
-## 0.4.2 (2022-11-17)
-
-A maintenance release without user-facing changes.
-
-## 0.4.1 (2022-11-06)
-
-A maintenance release without user-facing changes.
-
-## 0.4.0 (2022-09-20)
-
-### Changed (BREAKING)
-
- - <csr-id-99905bacace8aed42b16d43f0f04cae996cb971c/> upgrade `bstr` to `1.0.1`
-
-## 0.3.2 (2022-08-24)
-
-<csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/>
-<csr-id-533e887e80c5f7ede8392884562e1c5ba56fb9a8/>
-
-### Chore
-
- - <csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/> uniformize deny attributes
- - <csr-id-533e887e80c5f7ede8392884562e1c5ba56fb9a8/> remove default link to cargo doc everywhere
-
-### New Features
-
- - <csr-id-b1c40b0364ef092cd52d03b34f491b254816b18d/> use docsrs feature in code to show what is feature-gated automatically on docs.rs
- - <csr-id-517677147f1c17304c62cf97a1dd09f232ebf5db/> pass --cfg docsrs when compiling for https://docs.rs
-
-## 0.3.1 (2022-07-22)
-
-This is a maintenance release with no functional changes.
-
-## 0.3.0 (2022-05-18)
-
-### New Features
-
- - <csr-id-455a72eb0c01c158f43d9b9a1180886f677bad00/> `fmt::Display` impl for `Pattern`.
- This way the original pattern can be reproduced on the fly without
- actually storing it, saving one allocation.
- - <csr-id-2c88b575630e1b179955dad578e779aad8dd58d8/> add `Default` impl for `pattern::Case`
-
-### Changed (BREAKING)
-
- - <csr-id-8fd9f24e2f751292a99b4f92cc47df67e17ab537/> invert meaning of `wildcard::Mode::SLASH_IS_LITERAL`
- This is done by renaming it to
- - <csr-id-f76a426833530c7a7e787487cfceaba2c80b21ac/> remove `base_path` field from `Pattern`
- It's now passed as argument to the path pattern matcher and maybe
- it will even be removed one day.
-
- Even though it's convenient to have a base path per pattern, it's
- quite some duplication.
- - <csr-id-568f013e762423fc54a8fb1daed1e7b59c1dc0f0/> `Pattern::matches()` is now private
- It doesn't work as one would expect due to it wanting to match relative
- paths only. Thus it's better to spare folks the surprise and instead
- use `wildmatch()` directly. It works the same, but doesn't
- have certain shortcuts which aren't needed for standard matches
- anyway.
-
-## 0.2.0 (2022-04-13)
-
-### Changed (BREAKING)
-
- - <csr-id-6ce3611891d4b60c86055bf749a1b4060ee2c3e1/> `parse()` returns a `Pattern`.
- This is much more ergonomic as this is the only things we are ever
- interested in for matching. If necessary, from there one can also
- use the parts individually or alter them.
-
-## 0.1.0 (2022-04-07)
-
-Initial release with pattern parsing functionality.
-
-### Changed (BREAKING)
-
- - <csr-id-568f013e762423fc54a8fb1daed1e7b59c1dc0f0/> `Pattern::matches()` is now private
- It doesn't work as one would expect due to it wanting to match relative
- paths only. Thus it's better to spare folks the surprise and instead
- use `wildmatch()` directly. It works the same, but doesn't
- have certain shortcuts which aren't needed for standard matches
- anyway.
-
-### New Features
-
- - <csr-id-2c88b575630e1b179955dad578e779aad8dd58d8/> add `Default` impl for `pattern::Case`
-
diff --git a/vendor/gix-glob/Cargo.toml b/vendor/gix-glob/Cargo.toml
index 9c1871599..0d375bd7a 100644
--- a/vendor/gix-glob/Cargo.toml
+++ b/vendor/gix-glob/Cargo.toml
@@ -13,8 +13,12 @@
edition = "2021"
rust-version = "1.65"
name = "gix-glob"
-version = "0.14.0"
+version = "0.14.1"
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
+include = [
+ "src/**/*",
+ "LICENSE-*",
+]
description = "A crate of the gitoxide project dealing with pattern matching"
license = "MIT OR Apache-2.0"
repository = "https://github.com/Byron/gitoxide"
@@ -22,10 +26,6 @@ repository = "https://github.com/Byron/gitoxide"
[package.metadata.docs.rs]
all-features = true
features = ["document-features"]
-rustdoc-args = [
- "--cfg",
- "docsrs",
-]
[lib]
doctest = false
@@ -43,10 +43,10 @@ version = "0.2.0"
optional = true
[dependencies.gix-features]
-version = "^0.36.0"
+version = "^0.36.1"
[dependencies.gix-path]
-version = "^0.10.0"
+version = "^0.10.1"
[dependencies.serde]
version = "1.0.114"
diff --git a/vendor/gix-glob/LICENSE-MIT b/vendor/gix-glob/LICENSE-MIT
index b58e818f1..97c2fa7d8 100644
--- a/vendor/gix-glob/LICENSE-MIT
+++ b/vendor/gix-glob/LICENSE-MIT
@@ -1,5 +1,3 @@
-MIT License
-
Copyright (c) 2018-2021 Sebastian Thiel, and [contributors](https://github.com/byron/gitoxide/contributors).
Permission is hereby granted, free of charge, to any person obtaining a copy
diff --git a/vendor/gix-glob/src/lib.rs b/vendor/gix-glob/src/lib.rs
index a753e671a..ee8599fc8 100644
--- a/vendor/gix-glob/src/lib.rs
+++ b/vendor/gix-glob/src/lib.rs
@@ -1,10 +1,10 @@
//! Provide glob [`Patterns`][Pattern] for matching against paths or anything else.
//! ## Feature Flags
#![cfg_attr(
- feature = "document-features",
- cfg_attr(doc, doc = ::document_features::document_features!())
+ all(doc, feature = "document-features"),
+ doc = ::document_features::document_features!()
)]
-#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))]
+#![cfg_attr(all(doc, feature = "document-features"), feature(doc_cfg, doc_auto_cfg))]
#![deny(missing_docs, rust_2018_idioms)]
#![forbid(unsafe_code)]
diff --git a/vendor/gix-glob/tests/fixtures/generated-archives/make_baseline.tar.xz b/vendor/gix-glob/tests/fixtures/generated-archives/make_baseline.tar.xz
deleted file mode 100644
index 5fc9dfdf1..000000000
--- a/vendor/gix-glob/tests/fixtures/generated-archives/make_baseline.tar.xz
+++ /dev/null
Binary files differ
diff --git a/vendor/gix-glob/tests/fixtures/make_baseline.sh b/vendor/gix-glob/tests/fixtures/make_baseline.sh
deleted file mode 100755
index 5787ff64c..000000000
--- a/vendor/gix-glob/tests/fixtures/make_baseline.sh
+++ /dev/null
@@ -1,158 +0,0 @@
-#!/bin/bash
-set -eu -o pipefail
-
-git init -q
-git config core.autocrlf false
-git config core.ignorecase false
-
-while read -r pattern value; do
- echo "$pattern" "$value"
- echo "$pattern" > .gitignore
- echo "$value" | git check-ignore -vn --stdin 2>&1 || :
-done <<EOF >git-baseline.nmatch
-/*foo bam/barfoo/baz/bam
-/*foo bar/bam/barfoo/baz/bam
-foo foobaz
-*/\' XXX/\'
-/*foo bar/foo
-/*foo bar/bazfoo
-foo*bar foo/baz/bar
-/*foo.txt hello/foo.txt
-bar/foo baz/bar/foo
-*hello.txt hello.txt-and-then-some
-*hello.txt goodbye.txt
-*some/path/to/hello.txt some/path/to/hello.txt-and-then-some
-*some/path/to/hello.txt some/other/path/to/hello.txt
-*some/path/to/hello.txt a/bigger/some/path/to/hello.txt
-abc?def abc/def
-a*b*c abcd
-abc*abc*abc abcabcabcabcabcabcabca
-a[0-9]b a_b
-a[!0-9]b a0b
-a[!0-9]b a9b
-[!-] -
-a[^0-9]b a0b
-a[^0-9]b a9b
-[^-] -
-{a,b} a
-{a,b} b
-{[}],foo} }
-{foo} foo
-{*.foo,*.bar,*.wat} test.foo
-{*.foo,*.bar,*.wat} test.bar
-{*.foo,*.bar,*.wat} test.wat
-abc*def abc/def
-aBcDeFg abcdefg
-aBcDeFg ABCDEFG
-aBcDeFg AbCdEfG
-some/**/needle.txt some/other/notthis.txt
-some/**/**/needle.txt some/other/notthis.txt
-/**/test one/notthis
-/**/test notthis
-**/.* ab.c
-**/.* abc/ab.c
-.*/** a.bc
-.*/** abc/a.bc
-./foo foo
-**/foo foofoo
-**/foo/bar foofoo/bar
-/*.c mozilla-sha1/sha1.c
-**/m4/ltoptions.m4 csharp/src/packages/repositories.config
-some/*/needle.txt some/needle.txt
-some/*/needle.txt some/one/two/needle.txt
-some/*/needle.txt some/one/two/three/needle.txt
-.*/** .abc
-foo/** foo
-{**/src/**,foo} abc/src/bar
-{**/src/**,foo} foo
-abc[/]def abc/def
-EOF
-
-while read -r pattern value; do
- echo "$pattern" "$value"
- echo "$pattern" > .gitignore
- echo "$value" | git check-ignore -vn --stdin 2>&1 || :
-done <<EOF >git-baseline.match
-*/' XXX/'
-\a a
-\\\[a-z] \a
-\\\? \a
-\\\* \\
-/*foo.txt barfoo.txt
-*foo.txt bar/foo.txt
-*.c mozilla-sha1/sha1.c
-*.rs .rs
-*hello.txt hello.txt
-*hello.txt gareth_says_hello.txt
-*hello.txt some/path/to/hello.txt
-/*foo.txt foo.txt
-*hello.txt some\path\to\hello.txt
-*hello.txt an/absolute/path/to/hello.txt
-*some/path/to/hello.txt some/path/to/hello.txt
-a foo/a
-a a
-a*b a_b
-a*b*c abc
-a*b*c a_b_c
-a*b*c a___b___c
-abc*abc*abc abcabcabcabcabcabcabc
-a*a*a*a*a*a*a*a*a aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-a*b[xyz]c*d abxcdbxcddd
-☃ ☃
-** abcde
-** .asdf
-** x/.asdf
-a[0-9]b a0b
-a[0-9]b a9b
-a[!0-9]b a_b
-[a-z123] 1
-[1a-z23] 1
-[123a-z] 1
-[abc-] -
-[-abc] -
-[-a-c] b
-[a-c-] b
-[-] -
-a[^0-9]b a_b
-_[[]_[]]_[?]_[*]_!_ _[_]_?_*_!_
-a,b a,b
-\[ [
-\? ?
-\* *
-aBcDeFg aBcDeFg
-some/**/needle.txt some/needle.txt
-some/**/needle.txt some/one/needle.txt
-some/**/needle.txt some/one/two/needle.txt
-some/**/needle.txt some/other/needle.txt
-some/**/**/needle.txt some/needle.txt
-some/**/**/needle.txt some/one/needle.txt
-some/**/**/needle.txt some/one/two/needle.txt
-some/**/**/needle.txt some/other/needle.txt
-**/test one/two/test
-**/test one/test
-**/test test
-/**/test one/two/test
-/**/test one/test
-/**/test test
-**/.* .abc
-**/.* abc/.abc
-**/foo/bar foo/bar
-.*/** .abc/abc
-test/** test/
-test/** test/one
-test/** test/one/two
-some/*/needle.txt some/one/needle.txt
-abc/def abc/def
-EOF
-
-git config core.ignorecase true
-while read -r pattern value; do
- echo "$pattern" "$value"
- echo "$pattern" > .gitignore
- echo "$value" | git check-ignore -vn --stdin 2>&1 || :
-done <<EOF >git-baseline.match-icase
-aBcDeFg aBcDeFg
-aBcDeFg abcdefg
-aBcDeFg ABCDEFG
-aBcDeFg AbCdEfG
-EOF
diff --git a/vendor/gix-glob/tests/glob.rs b/vendor/gix-glob/tests/glob.rs
deleted file mode 100644
index 256a74bc7..000000000
--- a/vendor/gix-glob/tests/glob.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-mod parse;
-mod pattern;
-mod search;
-mod wildmatch;
diff --git a/vendor/gix-glob/tests/parse/mod.rs b/vendor/gix-glob/tests/parse/mod.rs
deleted file mode 100644
index 8377a44f2..000000000
--- a/vendor/gix-glob/tests/parse/mod.rs
+++ /dev/null
@@ -1,160 +0,0 @@
-use gix_glob::{pattern::Mode, Pattern};
-
-#[test]
-fn mark_ends_with_pattern_specifically() {
- assert_eq!(
- gix_glob::parse(br"*literal"),
- pat(r"*literal", Mode::NO_SUB_DIR | Mode::ENDS_WITH, Some(0))
- );
- assert_eq!(
- gix_glob::parse(br"**literal"),
- pat(r"**literal", Mode::NO_SUB_DIR, Some(0)),
- "double-asterisk won't allow for fast comparisons"
- );
- assert_eq!(
- gix_glob::parse(br"*litera[l]"),
- pat(r"*litera[l]", Mode::NO_SUB_DIR, Some(0))
- );
- assert_eq!(
- gix_glob::parse(br"*litera?"),
- pat(r"*litera?", Mode::NO_SUB_DIR, Some(0))
- );
- assert_eq!(
- gix_glob::parse(br"*litera\?"),
- pat(r"*litera\?", Mode::NO_SUB_DIR, Some(0)),
- "for now we don't handle escapes properly like git seems to do"
- );
-}
-
-fn pat(pattern: &str, mode: Mode, first_glob_char_pos: Option<usize>) -> Option<Pattern> {
- Some(Pattern {
- text: pattern.into(),
- mode,
- first_wildcard_pos: first_glob_char_pos,
- })
-}
-
-#[test]
-fn whitespace_only_is_ignored() {
- assert!(gix_glob::parse(b"\n\r\n\t\t \n").is_none());
-}
-
-#[test]
-fn hash_symbols_are_not_special() {
- assert_eq!(
- gix_glob::parse(b"# hello world"),
- pat("# hello world", Mode::NO_SUB_DIR, None)
- );
-}
-
-#[test]
-fn backslashes_before_hashes_are_considered_an_escape_sequence() {
- assert_eq!(gix_glob::parse(br"\#hello"), pat(r"#hello", Mode::NO_SUB_DIR, None));
-}
-
-#[test]
-fn backslashes_are_part_of_the_pattern_if_not_in_specific_positions() {
- assert_eq!(
- gix_glob::parse(br"\hello\world"),
- pat(r"\hello\world", Mode::NO_SUB_DIR, Some(0))
- );
-}
-
-#[test]
-fn leading_exclamation_mark_negates_pattern() {
- assert_eq!(
- gix_glob::parse(b"!hello"),
- pat("hello", Mode::NEGATIVE | Mode::NO_SUB_DIR, None)
- );
- assert_eq!(
- gix_glob::Pattern::from_bytes_without_negation(b"!hello"),
- pat("!hello", Mode::NO_SUB_DIR, None),
- "negation can be disabled entirely"
- );
-}
-
-#[test]
-fn leading_exclamation_marks_can_be_escaped_with_backslash() {
- assert_eq!(gix_glob::parse(br"\!hello"), pat("!hello", Mode::NO_SUB_DIR, None));
- assert_eq!(
- gix_glob::Pattern::from_bytes_without_negation(br"\!hello"),
- pat("\\!hello", Mode::NO_SUB_DIR, Some(0)),
- "negation can be disabled entirely, leaving escapes in place"
- );
-}
-
-#[test]
-fn leading_slashes_mark_patterns_as_absolute() {
- assert_eq!(
- gix_glob::parse(br"/absolute"),
- pat("absolute", Mode::NO_SUB_DIR | Mode::ABSOLUTE, None)
- );
-
- assert_eq!(
- gix_glob::parse(br"/absolute/path"),
- pat("absolute/path", Mode::ABSOLUTE, None)
- );
-}
-
-#[test]
-fn absence_of_sub_directories_are_marked() {
- assert_eq!(gix_glob::parse(br"a/b"), pat("a/b", Mode::empty(), None));
- assert_eq!(gix_glob::parse(br"ab"), pat("ab", Mode::NO_SUB_DIR, None));
-}
-
-#[test]
-fn trailing_slashes_are_marked_and_removed() {
- assert_eq!(
- gix_glob::parse(b"dir/"),
- pat("dir", Mode::MUST_BE_DIR | Mode::NO_SUB_DIR, None)
- );
- assert_eq!(
- gix_glob::parse(b"dir///"),
- pat("dir//", Mode::MUST_BE_DIR, None),
- "but only the last slash is removed"
- );
-}
-
-#[test]
-fn trailing_spaces_are_taken_literally() {
- assert_eq!(gix_glob::parse(br"a "), pat("a ", Mode::NO_SUB_DIR, None));
- assert_eq!(
- gix_glob::parse(b"a\t\t "),
- pat("a\t\t ", Mode::NO_SUB_DIR, None),
- "trailing tabs are not ignored"
- );
-}
-
-#[test]
-fn trailing_spaces_can_be_escaped_to_be_literal() {
- assert_eq!(
- gix_glob::parse(br"a \ "),
- pat("a \\ ", Mode::NO_SUB_DIR, Some(3)),
- "there is no escaping"
- );
- assert_eq!(
- gix_glob::parse(br"a b c "),
- pat("a b c ", Mode::NO_SUB_DIR, None),
- "spaces in the middle are fine and also at the end"
- );
- assert_eq!(
- gix_glob::parse(br"a\ \ \ "),
- pat(r"a\ \ \ ", Mode::NO_SUB_DIR, Some(1)),
- "one can also escape every single space, but it's interpreted by the globbing engine"
- );
- assert_eq!(
- gix_glob::parse(br"a \"),
- pat(r"a \", Mode::NO_SUB_DIR, Some(4)),
- "escaping nothing also works"
- );
- assert_eq!(
- gix_glob::parse(br"a \\\ "),
- pat(r"a \\\ ", Mode::NO_SUB_DIR, Some(4)),
- "strange things like these work too"
- );
- assert_eq!(
- gix_glob::parse(br"a \\ "),
- pat(r"a \\ ", Mode::NO_SUB_DIR, Some(4)),
- "strange things like these work as well"
- );
-}
diff --git a/vendor/gix-glob/tests/pattern/matching.rs b/vendor/gix-glob/tests/pattern/matching.rs
deleted file mode 100644
index df29e02dc..000000000
--- a/vendor/gix-glob/tests/pattern/matching.rs
+++ /dev/null
@@ -1,349 +0,0 @@
-use std::collections::BTreeSet;
-
-use bstr::{BStr, ByteSlice};
-use gix_glob::{pattern, pattern::Case};
-
-#[derive(Debug, Ord, PartialOrd, Eq, PartialEq, Copy, Clone)]
-pub struct GitMatch<'a> {
- pattern: &'a BStr,
- value: &'a BStr,
- /// True if git could match `value` with `pattern`
- is_match: bool,
-}
-
-pub struct Baseline<'a> {
- inner: bstr::Lines<'a>,
-}
-
-impl<'a> Iterator for Baseline<'a> {
- type Item = GitMatch<'a>;
-
- fn next(&mut self) -> Option<Self::Item> {
- let mut tokens = self.inner.next()?.splitn(2, |b| *b == b' ');
- let pattern = tokens.next().expect("pattern").as_bstr();
- let value = tokens.next().expect("value").as_bstr().trim_start().as_bstr();
-
- let git_match = self.inner.next()?;
- let is_match = !git_match.starts_with(b"::\t");
- Some(GitMatch {
- pattern,
- value,
- is_match,
- })
- }
-}
-
-impl<'a> Baseline<'a> {
- fn new(input: &'a [u8]) -> Self {
- Baseline {
- inner: input.as_bstr().lines(),
- }
- }
-}
-
-#[test]
-fn compare_baseline_with_ours() {
- let dir = gix_testtools::scripted_fixture_read_only("make_baseline.sh").unwrap();
- let (mut total_matches, mut total_correct, mut panics) = (0, 0, 0);
- let mut mismatches = Vec::new();
- for (input_file, expected_matches, case) in &[
- ("git-baseline.match", true, pattern::Case::Sensitive),
- ("git-baseline.nmatch", false, pattern::Case::Sensitive),
- ("git-baseline.match-icase", true, pattern::Case::Fold),
- ] {
- let input = std::fs::read(dir.join(*input_file)).unwrap();
- let mut seen = BTreeSet::default();
-
- for m @ GitMatch {
- pattern,
- value,
- is_match,
- } in Baseline::new(&input)
- {
- total_matches += 1;
- assert!(seen.insert(m), "duplicate match entry: {m:?}");
- assert_eq!(
- is_match, *expected_matches,
- "baseline for matches must be {expected_matches} - check baseline and git version: {m:?}"
- );
- match std::panic::catch_unwind(|| {
- let pattern = pat(pattern);
- pattern.matches_repo_relative_path(
- value,
- basename_start_pos(value),
- None,
- *case,
- gix_glob::wildmatch::Mode::NO_MATCH_SLASH_LITERAL,
- )
- }) {
- Ok(actual_match) => {
- if actual_match == is_match {
- total_correct += 1;
- } else {
- mismatches.push((pattern.to_owned(), value.to_owned(), is_match, expected_matches));
- }
- }
- Err(_) => {
- panics += 1;
- continue;
- }
- };
- }
- }
-
- dbg!(mismatches);
- assert_eq!(
- total_correct,
- total_matches - panics,
- "We perfectly agree with git here"
- );
- assert_eq!(panics, 0);
-}
-
-#[test]
-fn non_dirs_for_must_be_dir_patterns_are_ignored() {
- let pattern = pat("hello/");
-
- assert!(pattern.mode.contains(pattern::Mode::MUST_BE_DIR));
- assert_eq!(
- pattern.text, "hello",
- "a dir pattern doesn't actually end with the trailing slash"
- );
- let path = "hello";
- assert!(
- !pattern.matches_repo_relative_path(
- path.into(),
- None,
- false.into(), /* is-dir */
- Case::Sensitive,
- gix_glob::wildmatch::Mode::NO_MATCH_SLASH_LITERAL
- ),
- "non-dirs never match a dir pattern"
- );
- assert!(
- pattern.matches_repo_relative_path(
- path.into(),
- None,
- true.into(), /* is-dir */
- Case::Sensitive,
- gix_glob::wildmatch::Mode::NO_MATCH_SLASH_LITERAL
- ),
- "dirs can match a dir pattern with the normal rules"
- );
-}
-
-#[test]
-fn matches_of_absolute_paths_work() {
- let pattern = "/hello/git";
- assert!(
- gix_glob::wildmatch(pattern.into(), pattern.into(), gix_glob::wildmatch::Mode::empty()),
- "patterns always match themselves"
- );
- assert!(
- gix_glob::wildmatch(
- pattern.into(),
- pattern.into(),
- gix_glob::wildmatch::Mode::NO_MATCH_SLASH_LITERAL
- ),
- "patterns always match themselves, path mode doesn't change that"
- );
-}
-
-#[test]
-fn basename_matches_from_end() {
- let pat = &pat("foo");
- assert!(match_file(pat, "FoO", Case::Fold));
- assert!(!match_file(pat, "FoOo", Case::Fold));
- assert!(!match_file(pat, "Foo", Case::Sensitive));
- assert!(match_file(pat, "foo", Case::Sensitive));
- assert!(!match_file(pat, "Foo", Case::Sensitive));
- assert!(!match_file(pat, "barfoo", Case::Sensitive));
-}
-
-#[test]
-fn absolute_basename_matches_only_from_beginning() {
- let pat = &pat("/foo");
- assert!(match_file(pat, "FoO", Case::Fold));
- assert!(!match_file(pat, "bar/Foo", Case::Fold));
- assert!(match_file(pat, "foo", Case::Sensitive));
- assert!(!match_file(pat, "Foo", Case::Sensitive));
- assert!(!match_file(pat, "bar/foo", Case::Sensitive));
-}
-
-#[test]
-fn absolute_path_matches_only_from_beginning() {
- let pat = &pat("/bar/foo");
- assert!(!match_file(pat, "FoO", Case::Fold));
- assert!(match_file(pat, "bar/Foo", Case::Fold));
- assert!(!match_file(pat, "foo", Case::Sensitive));
- assert!(match_file(pat, "bar/foo", Case::Sensitive));
- assert!(!match_file(pat, "bar/Foo", Case::Sensitive));
-}
-
-#[test]
-fn absolute_path_with_recursive_glob_detects_mismatches_quickly() {
- let pat = &pat("/bar/foo/**");
- assert!(!match_file(pat, "FoO", Case::Fold));
- assert!(!match_file(pat, "bar/Fooo", Case::Fold));
- assert!(!match_file(pat, "baz/bar/Foo", Case::Fold));
-}
-
-#[test]
-fn absolute_path_with_recursive_glob_can_do_case_insensitive_prefix_search() {
- let pat = &pat("/bar/foo/**");
- assert!(!match_file(pat, "bar/Foo/match", Case::Sensitive));
- assert!(match_file(pat, "bar/Foo/match", Case::Fold));
-}
-
-#[test]
-fn relative_path_does_not_match_from_end() {
- for pattern in &["bar/foo", "/bar/foo"] {
- let pattern = &pat(*pattern);
- assert!(!match_file(pattern, "FoO", Case::Fold));
- assert!(match_file(pattern, "bar/Foo", Case::Fold));
- assert!(!match_file(pattern, "baz/bar/Foo", Case::Fold));
- assert!(!match_file(pattern, "foo", Case::Sensitive));
- assert!(match_file(pattern, "bar/foo", Case::Sensitive));
- assert!(!match_file(pattern, "baz/bar/foo", Case::Sensitive));
- assert!(!match_file(pattern, "Baz/bar/Foo", Case::Sensitive));
- }
-}
-
-#[test]
-fn basename_glob_and_literal_is_ends_with() {
- let pattern = &pat("*foo");
- assert!(match_file(pattern, "FoO", Case::Fold));
- assert!(match_file(pattern, "BarFoO", Case::Fold));
- assert!(!match_file(pattern, "BarFoOo", Case::Fold));
- assert!(!match_file(pattern, "Foo", Case::Sensitive));
- assert!(!match_file(pattern, "BarFoo", Case::Sensitive));
- assert!(match_file(pattern, "barfoo", Case::Sensitive));
- assert!(!match_file(pattern, "barfooo", Case::Sensitive));
-
- assert!(match_file(pattern, "bar/foo", Case::Sensitive));
- assert!(match_file(pattern, "bar/bazfoo", Case::Sensitive));
-}
-
-#[test]
-fn special_cases_from_corpus() {
- let pattern = &pat("foo*bar");
- assert!(
- !match_file(pattern, "foo/baz/bar", Case::Sensitive),
- "asterisk does not match path separators"
- );
- let pattern = &pat("*some/path/to/hello.txt");
- assert!(
- !match_file(pattern, "a/bigger/some/path/to/hello.txt", Case::Sensitive),
- "asterisk doesn't match path separators"
- );
-
- let pattern = &pat("/*foo.txt");
- assert!(match_file(pattern, "hello-foo.txt", Case::Sensitive));
- assert!(
- !match_file(pattern, "hello/foo.txt", Case::Sensitive),
- "absolute single asterisk doesn't match paths"
- );
-}
-
-#[test]
-fn absolute_basename_glob_and_literal_is_ends_with_in_basenames() {
- let pattern = &pat("/*foo");
-
- assert!(match_file(pattern, "FoO", Case::Fold));
- assert!(match_file(pattern, "BarFoO", Case::Fold));
- assert!(!match_file(pattern, "BarFoOo", Case::Fold));
- assert!(!match_file(pattern, "Foo", Case::Sensitive));
- assert!(!match_file(pattern, "BarFoo", Case::Sensitive));
- assert!(match_file(pattern, "barfoo", Case::Sensitive));
- assert!(!match_file(pattern, "barfooo", Case::Sensitive));
-}
-
-#[test]
-fn absolute_basename_glob_and_literal_is_glob_in_paths() {
- let pattern = &pat("/*foo");
-
- assert!(!match_file(pattern, "bar/foo", Case::Sensitive), "* does not match /");
- assert!(!match_file(pattern, "bar/bazfoo", Case::Sensitive));
-}
-
-#[test]
-fn negated_patterns_are_handled_by_caller() {
- let pattern = &pat("!foo");
- assert!(
- match_file(pattern, "foo", Case::Sensitive),
- "negative patterns match like any other"
- );
- assert!(
- pattern.is_negative(),
- "the caller checks for the negative flag and acts accordingly"
- );
-}
-#[test]
-fn names_do_not_automatically_match_entire_directories() {
- // this feature is implemented with the directory stack.
- let pattern = &pat("foo");
- assert!(!match_file(pattern, "foobar", Case::Sensitive));
- assert!(!match_file(pattern, "foo/bar", Case::Sensitive));
- assert!(!match_file(pattern, "foo/bar/baz", Case::Sensitive));
-}
-
-#[test]
-fn directory_patterns_do_not_match_files_within_a_directory_as_well_like_slash_star_star() {
- // this feature is implemented with the directory stack in `gix-ignore`, which excludes entire directories
- let pattern = &pat("dir/");
- assert!(!match_path(pattern, "dir/file", None, Case::Sensitive));
- assert!(!match_path(pattern, "base/dir/file", None, Case::Sensitive));
- assert!(!match_path(pattern, "base/ndir/file", None, Case::Sensitive));
- assert!(!match_path(pattern, "Dir/File", None, Case::Fold));
- assert!(!match_path(pattern, "Base/Dir/File", None, Case::Fold));
- assert!(!match_path(pattern, "dir2/file", None, Case::Sensitive));
-
- let pattern = &pat("dir/sub-dir/");
- assert!(!match_path(pattern, "dir/sub-dir/file", None, Case::Sensitive));
- assert!(!match_path(pattern, "dir/Sub-dir/File", None, Case::Fold));
- assert!(!match_path(pattern, "dir/Sub-dir2/File", None, Case::Fold));
-}
-
-#[test]
-fn single_paths_match_anywhere() {
- let pattern = &pat("target");
- assert!(match_file(pattern, "dir/target", Case::Sensitive));
- assert!(!match_file(pattern, "dir/atarget", Case::Sensitive));
- assert!(!match_file(pattern, "dir/targeta", Case::Sensitive));
- assert!(match_path(pattern, "dir/target", Some(true), Case::Sensitive));
-
- let pattern = &pat("target/");
- assert!(!match_file(pattern, "dir/target", Case::Sensitive));
- assert!(
- !match_path(pattern, "dir/target", None, Case::Sensitive),
- "it assumes unknown to not be a directory"
- );
- assert!(match_path(pattern, "dir/target", Some(true), Case::Sensitive));
- assert!(
- !match_path(pattern, "dir/target/", Some(true), Case::Sensitive),
- "we need sanitized paths that don't have trailing slashes"
- );
-}
-
-fn pat<'a>(pattern: impl Into<&'a BStr>) -> gix_glob::Pattern {
- gix_glob::Pattern::from_bytes(pattern.into()).expect("parsing works")
-}
-
-fn match_file<'a>(pattern: &gix_glob::Pattern, path: impl Into<&'a BStr>, case: Case) -> bool {
- match_path(pattern, path, false.into(), case)
-}
-
-fn match_path<'a>(pattern: &gix_glob::Pattern, path: impl Into<&'a BStr>, is_dir: Option<bool>, case: Case) -> bool {
- let path = path.into();
- pattern.matches_repo_relative_path(
- path,
- basename_start_pos(path),
- is_dir,
- case,
- gix_glob::wildmatch::Mode::NO_MATCH_SLASH_LITERAL,
- )
-}
-
-fn basename_start_pos(value: &BStr) -> Option<usize> {
- value.rfind_byte(b'/').map(|pos| pos + 1)
-}
diff --git a/vendor/gix-glob/tests/pattern/mod.rs b/vendor/gix-glob/tests/pattern/mod.rs
deleted file mode 100644
index ca5d8cbad..000000000
--- a/vendor/gix-glob/tests/pattern/mod.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-use gix_glob::{pattern::Mode, Pattern};
-
-#[test]
-fn display() {
- fn pat(text: &str, mode: Mode) -> String {
- Pattern {
- text: text.into(),
- mode,
- first_wildcard_pos: None,
- }
- .to_string()
- }
- assert_eq!(pat("a", Mode::ABSOLUTE), "/a");
- assert_eq!(pat("a", Mode::MUST_BE_DIR), "a/");
- assert_eq!(pat("a", Mode::NEGATIVE), "!a");
- assert_eq!(pat("a", Mode::ABSOLUTE | Mode::NEGATIVE | Mode::MUST_BE_DIR), "!/a/");
-}
-mod matching;
diff --git a/vendor/gix-glob/tests/search/mod.rs b/vendor/gix-glob/tests/search/mod.rs
deleted file mode 100644
index e88c9a605..000000000
--- a/vendor/gix-glob/tests/search/mod.rs
+++ /dev/null
@@ -1 +0,0 @@
-mod pattern;
diff --git a/vendor/gix-glob/tests/search/pattern.rs b/vendor/gix-glob/tests/search/pattern.rs
deleted file mode 100644
index 6b62ee3d2..000000000
--- a/vendor/gix-glob/tests/search/pattern.rs
+++ /dev/null
@@ -1,98 +0,0 @@
-mod list {
- use std::path::Path;
-
- use gix_glob::{
- pattern::Case,
- search::{
- pattern::{List, Mapping},
- Pattern,
- },
- };
-
- #[derive(Clone, PartialEq, Eq, Debug, Hash, Ord, PartialOrd, Default)]
- struct Dummy;
-
- impl Pattern for Dummy {
- type Value = ();
-
- fn bytes_to_patterns(_bytes: &[u8], _source: &Path) -> Vec<Mapping<Self::Value>> {
- vec![]
- }
- }
-
- #[test]
- fn from_bytes_base() {
- {
- let list = List::<Dummy>::from_bytes(&[], "a/b/source".into(), None);
- assert_eq!(list.base, None, "no root always means no-base, i.e. globals lists");
- assert_eq!(
- list.source.as_deref(),
- Some(Path::new("a/b/source")),
- "source is verbatim"
- );
- }
-
- {
- let cwd = std::env::current_dir().expect("cwd available");
- let list = List::<Dummy>::from_bytes(&[], cwd.join("a/b/source"), Some(cwd.as_path()));
- assert_eq!(
- list.base.as_ref().expect("set"),
- "a/b/",
- "bases are always relative, needs properly set root"
- );
- assert_eq!(
- list.source.as_deref(),
- Some(cwd.join("a/b/source").as_path()),
- "source is verbatim"
- );
- }
-
- {
- let list = List::<Dummy>::from_bytes(&[], "a/b/source".into(), Some(Path::new("c/")));
- assert_eq!(
- list.base, None,
- "if root doesn't contain source, it silently skips it as base"
- );
- assert_eq!(
- list.source.as_deref(),
- Some(Path::new("a/b/source")),
- "source is always verbatim"
- );
- }
- }
-
- #[test]
- fn strip_base_handle_recompute_basename_pos() {
- let list = List::<Dummy>::from_bytes(&[], "a/b/source".into(), Some(Path::new("")));
- assert_eq!(
- list.base.as_ref().expect("set"),
- "a/b/",
- "bases are computed if `root` is set, and always uses slashes"
- );
- let res = list.strip_base_handle_recompute_basename_pos("a/b/file".into(), Some(4), Case::Sensitive);
- assert_eq!(
- res,
- Some(("file".into(), None)),
- "files don't have a basename position anymore"
- );
-
- let res = list.strip_base_handle_recompute_basename_pos("a/B/c/File".into(), Some(6), Case::Fold);
- assert_eq!(
- res,
- Some(("c/File".into(), Some(2))),
- "otherwise the basename is recomputed, case folding is effective"
- );
- }
-
- #[test]
- fn from_file() {
- let mut buf = Vec::new();
- for path in [
- Path::new(".").join("non-existing-dir").join("pattern-file"),
- Path::new("file").to_owned(),
- ] {
- let list = List::<Dummy>::from_file(path, None, false, &mut buf).expect("no io error");
- assert!(list.is_none(), "the file does not exist");
- }
- }
-}
diff --git a/vendor/gix-glob/tests/wildmatch/mod.rs b/vendor/gix-glob/tests/wildmatch/mod.rs
deleted file mode 100644
index b4b198ec7..000000000
--- a/vendor/gix-glob/tests/wildmatch/mod.rs
+++ /dev/null
@@ -1,380 +0,0 @@
-use std::{
- fmt::{Debug, Display, Formatter},
- panic::catch_unwind,
-};
-
-use bstr::ByteSlice;
-use gix_glob::{pattern::Case, wildmatch, Pattern};
-
-#[test]
-fn corpus() {
- // based on git/t/t3070.sh
- let tests = [
- (1u8,1u8,1u8,1u8, "foo", "foo"),
- (0,0,0,0, "foo", "bar"),
- (1,1,1,1, "foo", "???"),
- (0,0,0,0, "foo", "??"),
- (1,1,1,1, "foo", "*"),
- (1,1,1,1, "foo", "f*"),
- (0,0,0,0, "foo", "*f"),
- (1,1,1,1, "foo", "*foo*"),
- (1,1,1,1, "foobar", "*ob*a*r*"),
- (1,1,1,1, "aaaaaaabababab", "*ab"),
- (1,1,1,1, "foo*", r"foo\*"),
- (0,0,0,0, "foobar", r"foo\*bar"),
- (1,1,1,1, r"f\oo", r"f\\oo"),
- (1,1,1,1, "ball", "*[al]?"),
- (0,0,0,0, "ten", "[ten]"),
- (1,1,1,1, "ten", "**[!te]"),
- (0,0,0,0, "ten", "**[!ten]"),
- (1,1,1,1, "ten", "t[a-g]n"),
- (0,0,0,0, "ten", "t[!a-g]n"),
- (1,1,1,1, "ton", "t[!a-g]n"),
- (1,1,1,1, "ton", "t[^a-g]n"),
- (1,1,1,1, "a]b", "a[]]b"),
- (1,1,1,1, "a-b", "a[]-]b"),
- (1,1,1,1, "a]b", "a[]-]b"),
- (0,0,0,0, "aab", "a[]-]b"),
- (1,1,1,1, "aab", "a[]a-]b"),
- (1,1,1,1, "]", "]"),
- // Extended slash-matching features
- (0,0,1,1, "foo/baz/bar", "foo*bar"),
- (0,0,1,1, "foo/baz/bar", "foo**bar"),
- (1,1,1,1, "foobazbar", "foo**bar"),
- (1,1,1,1, "foo/baz/bar", "foo/**/bar"),
- (1,1,0,0, "foo/baz/bar", "foo/**/**/bar"),
- (1,1,1,1, "foo/b/a/z/bar", "foo/**/bar"),
- (1,1,1,1, "foo/b/a/z/bar", "foo/**/**/bar"),
- (1,1,0,0, "foo/bar", "foo/**/bar"),
- (1,1,0,0, "foo/bar", "foo/**/**/bar"),
- (0,0,1,1, "foo/bar", "foo?bar"),
- (0,0,1,1, "foo/bar", "foo[/]bar"),
- (0,0,1,1, "foo/bar", "foo[^a-z]bar"),
- (0,0,1,1, "foo/bar", "f[^eiu][^eiu][^eiu][^eiu][^eiu]r"),
- (1,1,1,1, "foo-bar", "f[^eiu][^eiu][^eiu][^eiu][^eiu]r"),
- (1,1,0,0, "foo", "**/foo"),
- (1,1,1,1, "XXX/foo", "**/foo"),
- (1,1,1,1, "bar/baz/foo", "**/foo"),
- (0,0,1,1, "bar/baz/foo", "*/foo"),
- (0,0,1,1, "foo/bar/baz", "**/bar*"),
- (1,1,1,1, "deep/foo/bar/baz", "**/bar/*"),
- (0,0,1,1, "deep/foo/bar/baz/", "**/bar/*"),
- (1,1,1,1, "deep/foo/bar/baz/", "**/bar/**"),
- (0,0,0,0, "deep/foo/bar", "**/bar/*"),
- (1,1,1,1, "deep/foo/bar/", "**/bar/**"),
- (0,0,1,1, "foo/bar/baz", "**/bar**"),
- (1,1,1,1, "foo/bar/baz/x", "*/bar/**"),
- (0,0,1,1, "deep/foo/bar/baz/x", "*/bar/**"),
- (1,1,1,1, "deep/foo/bar/baz/x", "**/bar/*/*"),
-
- // Various additional tests
- (0,0,0,0, "acrt", "a[c-c]st"),
- (1,1,1,1, "acrt", "a[c-c]rt"),
- (0,0,0,0, "]", "[!]-]"),
- (1,1,1,1, "a", "[!]-]"),
- (0,0,0,0, "", r"\"),
- (0,0,0,0, r"XXX/\", r"*/\"),
- (1,1,1,1, r"XXX/\", r"*/\\"),
- (1,1,1,1, "foo", "foo"),
- (1,1,1,1, "@foo", "@foo"),
- (0,0,0,0, "foo", "@foo"),
- (1,1,1,1, "[ab]", r"\[ab]"),
- (1,1,1,1, "[ab]", "[[]ab]"),
- (1,1,1,1, "[ab]", "[[:]ab]"),
- (0,0,0,0, "[ab]", "[[::]ab]"),
- (1,1,1,1, "[ab]", "[[:digit]ab]"),
- (1,1,1,1, "[ab]", r"[\[:]ab]"),
- (1,1,1,1, "?a?b", r"\??\?b"),
- (1,1,1,1, "abc", r"\a\b\c"),
- (1,1,1,1, "foo/bar/baz/to", "**/t[o]"),
-
- // Character class tests
- (1,1,1,1, "a1B", "[[:alpha:]][[:digit:]][[:upper:]]"),
- (0,1,0,1, "a", "[[:digit:][:upper:][:space:]]"),
- (1,1,1,1, "A", "[[:digit:][:upper:][:space:]]"),
- (1,1,1,1, "1", "[[:digit:][:upper:][:space:]]"),
- (0,0,0,0, "1", "[[:digit:][:upper:][:spaci:]]"),
- (1,1,1,1, " ", "[[:digit:][:upper:][:space:]]"),
- (0,0,0,0, ".", "[[:digit:][:upper:][:space:]]"),
- (1,1,1,1, ".", "[[:digit:][:punct:][:space:]]"),
- (1,1,1,1, "5", "[[:xdigit:]]"),
- (1,1,1,1, "f", "[[:xdigit:]]"),
- (1,1,1,1, "D", "[[:xdigit:]]"),
- (1,1,1,1, "_", "[[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:graph:][:lower:][:print:][:punct:][:space:][:upper:][:xdigit:]]"),
- (1,1,1,1, ".", "[^[:alnum:][:alpha:][:blank:][:cntrl:][:digit:][:lower:][:space:][:upper:][:xdigit:]]"),
- (1,1,1,1, "5", "[a-c[:digit:]x-z]"),
- (1,1,1,1, "b", "[a-c[:digit:]x-z]"),
- (1,1,1,1, "y", "[a-c[:digit:]x-z]"),
- (0,0,0,0, "q", "[a-c[:digit:]x-z]"),
-
- // Additional tests, including some malformed wild(patterns
- (1,1,1,1, "]", r"[\\-^]"),
- (0,0,0,0, "[", r"[\\-^]"),
- (1,1,1,1, "-", r"[\-_]"),
- (1,1,1,1, "]", r"[\]]"),
- (0,0,0,0, r"\]", r"[\]]"),
- (0,0,0,0, r"\", r"[\]]"),
- (0,0,0,0, "ab", "a[]b"),
- (0,0,0,0, "ab", "[!"),
- (0,0,0,0, "ab", "[-"),
- (1,1,1,1, "-", "[-]"),
- (0,0,0,0, "-", "[a-"),
- (0,0,0,0, "-", "[!a-"),
- (1,1,1,1, "-", "[--A]"),
- (1,1,1,1, "5", "[--A]"),
- (1,1,1,1, " ", "[ --]"),
- (1,1,1,1, "$", "[ --]"),
- (1,1,1,1, "-", "[ --]"),
- (0,0,0,0, "0", "[ --]"),
- (1,1,1,1, "-", "[---]"),
- (1,1,1,1, "-", "[------]"),
- (0,0,0,0, "j", "[a-e-n]"),
- (1,1,1,1, "-", "[a-e-n]"),
- (1,1,1,1, "a", "[!------]"),
- (0,0,0,0, "[", "[]-a]"),
- (1,1,1,1, "^", "[]-a]"),
- (0,0,0,0, "^", "[!]-a]"),
- (1,1,1,1, "[", "[!]-a]"),
- (1,1,1,1, "^", "[a^bc]"),
- (1,1,1,1, "-b]", "[a-]b]"),
- (0,0,0,0, r"\", r"[\]"),
- (1,1,1,1, r"\", r"[\\]"),
- (0,0,0,0, r"\", r"[!\\]"),
- (1,1,1,1, "G", r"[A-\\]"),
- (0,0,0,0, "aaabbb", "b*a"),
- (0,0,0,0, "aabcaa", "*ba*"),
- (1,1,1,1, ",", "[,]"),
- (1,1,1,1, ",", r"[\\,]"),
- (1,1,1,1, r"\", r"[\\,]"),
- (1,1,1,1, "-", "[,-.]"),
- (0,0,0,0, "+", "[,-.]"),
- (0,0,0,0, "-.]", "[,-.]"),
- (1,1,1,1, "2", r"[\1-\3]"),
- (1,1,1,1, "3", r"[\1-\3]"),
- (0,0,0,0, "4", r"[\1-\3]"),
- (1,1,1,1, r"\", r"[[-\]]"),
- (1,1,1,1, "[", r"[[-\]]"),
- (1,1,1,1, "]", r"[[-\]]"),
- (0,0,0,0, "-", r"[[-\]]"),
-
- // Test recursion
- (1,1,1,1, "-adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1", "-*-*-*-*-*-*-12-*-*-*-m-*-*-*"),
- (0,0,0,0, "-adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1", "-*-*-*-*-*-*-12-*-*-*-m-*-*-*"),
- (0,0,0,0, "-adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1", "-*-*-*-*-*-*-12-*-*-*-m-*-*-*"),
- (1,1,1,1, "XXX/adobe/courier/bold/o/normal//12/120/75/75/m/70/iso8859/1", "XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*"),
- (0,0,0,0, "XXX/adobe/courier/bold/o/normal//12/120/75/75/X/70/iso8859/1", "XXX/*/*/*/*/*/*/12/*/*/*/m/*/*/*"),
- (1,1,1,1, "abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt", "**/*a*b*g*n*t"),
- (0,0,0,0, "abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz", "**/*a*b*g*n*t"),
- (0,0,0,0, "foo", "*/*/*"),
- (0,0,0,0, "foo/bar", "*/*/*"),
- (1,1,1,1, "foo/bba/arr", "*/*/*"),
- (0,0,1,1, "foo/bb/aa/rr", "*/*/*"),
- (1,1,1,1, "foo/bb/aa/rr", "**/**/**"),
- (1,1,1,1, "abcXdefXghi", "*X*i"),
- (0,0,1,1, "ab/cXd/efXg/hi", "*X*i"),
- (1,1,1,1, "ab/cXd/efXg/hi", "*/*X*/*/*i"),
- (1,1,1,1, "ab/cXd/efXg/hi", "**/*X*/**/*i"),
-
- // Extra path(tests
- (0,0,0,0, "foo", "fo"),
- (1,1,1,1,"foo/bar", "foo/bar"),
- (1,1,1,1, "foo/bar", "foo/*"),
- (0,0,1,1, "foo/bba/arr", "foo/*"),
- (1,1,1,1, "foo/bba/arr", "foo/**"),
- (0,0,1,1, "foo/bba/arr", "foo*"),
- (0,0,1,1, "foo/bba/arr", "foo/*arr"),
- (0,0,1,1, "foo/bba/arr", "foo/**arr"),
- (0,0,0,0, "foo/bba/arr", "foo/*z"),
- (0,0,0,0, "foo/bba/arr", "foo/**z"),
- (0,0,1,1, "foo/bar", "foo?bar"),
- (0,0,1,1, "foo/bar", "foo[/]bar"),
- (0,0,1,1, "foo/bar", "foo[^a-z]bar"),
- (0,0,1,1, "ab/cXd/efXg/hi", "*Xg*i"),
-
- // Extra case-sensitivity tests
- (0,1,0,1, "a", "[A-Z]"),
- (1,1,1,1, "A", "[A-Z]"),
- (0,1,0,1, "A", "[a-z]"),
- (1,1,1,1, "a", "[a-z]"),
- (0,1,0,1, "a", "[[:upper:]]"),
- (1,1,1,1, "A", "[[:upper:]]"),
- (0,1,0,1, "A", "[[:lower:]]"),
- (1,1,1,1, "a", "[[:lower:]]"),
- (0,1,0,1, "A", "[B-Za]"),
- (1,1,1,1, "a", "[B-Za]"),
- (0,1,0,1, "A", "[B-a]"),
- (1,1,1,1, "a", "[B-a]"),
- (0,1,0,1, "z", "[Z-y]"),
- (1,1,1,1, "Z", "[Z-y]"),
- ];
-
- let mut failures = Vec::new();
- let mut at_least_one_panic = 0;
- for (path_match, path_imatch, glob_match, glob_imatch, text, pattern_text) in tests {
- let (pattern, actual) = multi_match(pattern_text, text);
- let expected = expect_multi(path_match, path_imatch, glob_match, glob_imatch);
-
- if actual.all_panicked() {
- at_least_one_panic += 1;
- } else if actual != expected {
- failures.push((pattern, pattern_text, text, actual, expected));
- } else {
- at_least_one_panic += i32::from(actual.any_panicked());
- }
- }
-
- dbg!(&failures);
- assert_eq!(failures.len(), 0);
- assert_eq!(at_least_one_panic, 0, "not a single panic in any invocation");
-
- // TODO: reproduce these
- // (0 0 0 0 \
- // 1 1 1 1 '\' '\'
- // (0 0 0 0 \
- // E E E E 'foo' ''
- // (0 0 0 0 \
- // 1 1 1 1 'a[]b' 'a[]b'
- // (0 0 0 0 \
- // 1 1 1 1 'ab[' 'ab['
- // (0 0 1 1 \
- // 1 1 1 1 foo/bba/arr 'foo**'
-}
-
-#[test]
-fn brackets() {
- let (_pattern, actual) = multi_match(r"[B-a]", "A");
- assert!(!actual.any_panicked());
- assert_eq!(actual, expect_multi(0, 1, 0, 1));
-}
-
-fn multi_match(pattern_text: &str, text: &str) -> (Pattern, MultiMatch) {
- let pattern = gix_glob::Pattern::from_bytes(pattern_text.as_bytes()).expect("valid (enough) pattern");
- let actual_path_match: MatchResult = catch_unwind(|| match_file_path(&pattern, text, Case::Sensitive)).into();
- let actual_path_imatch: MatchResult = catch_unwind(|| match_file_path(&pattern, text, Case::Fold)).into();
- let actual_glob_match: MatchResult =
- catch_unwind(|| gix_glob::wildmatch(pattern.text.as_bstr(), text.into(), wildmatch::Mode::empty())).into();
- let actual_glob_imatch: MatchResult =
- catch_unwind(|| gix_glob::wildmatch(pattern.text.as_bstr(), text.into(), wildmatch::Mode::IGNORE_CASE)).into();
- let actual = MultiMatch {
- path_match: actual_path_match,
- path_imatch: actual_path_imatch,
- glob_match: actual_glob_match,
- glob_imatch: actual_glob_imatch,
- };
- (pattern, actual)
-}
-
-fn expect_multi(path_match: u8, path_imatch: u8, glob_match: u8, glob_imatch: u8) -> MultiMatch {
- (path_match, path_imatch, glob_match, glob_imatch).into()
-}
-
-#[derive(Eq, PartialEq)]
-struct MultiMatch {
- path_match: MatchResult,
- path_imatch: MatchResult,
- glob_match: MatchResult,
- glob_imatch: MatchResult,
-}
-
-impl MultiMatch {
- fn all_panicked(&self) -> bool {
- use MatchResult::Panic;
- matches!(self.path_match, Panic)
- && matches!(self.path_imatch, Panic)
- && matches!(self.glob_match, Panic)
- && matches!(self.glob_imatch, Panic)
- }
- fn any_panicked(&self) -> bool {
- use MatchResult::Panic;
- matches!(self.path_match, Panic)
- || matches!(self.path_imatch, Panic)
- || matches!(self.glob_match, Panic)
- || matches!(self.glob_imatch, Panic)
- }
-}
-
-impl From<(u8, u8, u8, u8)> for MultiMatch {
- fn from(t: (u8, u8, u8, u8)) -> Self {
- MultiMatch {
- path_match: t.0.into(),
- path_imatch: t.1.into(),
- glob_match: t.2.into(),
- glob_imatch: t.3.into(),
- }
- }
-}
-
-impl Debug for MultiMatch {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- write!(
- f,
- "({} {} {} {})",
- self.path_match, self.path_imatch, self.glob_match, self.glob_imatch
- )
- }
-}
-
-enum MatchResult {
- Match,
- NoMatch,
- Panic,
-}
-
-impl PartialEq<Self> for MatchResult {
- fn eq(&self, other: &Self) -> bool {
- use MatchResult::*;
- match (self, other) {
- (Panic, _) | (_, Panic) => true,
- (Match, NoMatch) | (NoMatch, Match) => false,
- (Match, Match) | (NoMatch, NoMatch) => true,
- }
- }
-}
-
-impl std::cmp::Eq for MatchResult {}
-
-impl From<std::thread::Result<bool>> for MatchResult {
- fn from(v: std::thread::Result<bool>) -> Self {
- use MatchResult::*;
- match v {
- Ok(v) if v => Match,
- Ok(_) => NoMatch,
- Err(_) => Panic,
- }
- }
-}
-
-impl From<u8> for MatchResult {
- fn from(v: u8) -> Self {
- use MatchResult::*;
- match v {
- 1 => Match,
- 0 => NoMatch,
- _ => unreachable!("BUG: only use 0 or 1 for expected values"),
- }
- }
-}
-
-impl Display for MatchResult {
- fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
- use MatchResult::*;
- f.write_str(match self {
- Match => "✔️",
- NoMatch => "⨯",
- Panic => "E",
- })
- }
-}
-
-fn match_file_path(pattern: &gix_glob::Pattern, path: &str, case: Case) -> bool {
- pattern.matches_repo_relative_path(
- path.into(),
- basename_of(path),
- false.into(), /* is_dir */
- case,
- gix_glob::wildmatch::Mode::NO_MATCH_SLASH_LITERAL,
- )
-}
-fn basename_of(path: &str) -> Option<usize> {
- path.rfind('/').map(|pos| pos + 1)
-}