summaryrefslogtreecommitdiffstats
path: root/vendor/gix-actor
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gix-actor')
-rw-r--r--vendor/gix-actor/.cargo-checksum.json2
-rw-r--r--vendor/gix-actor/CHANGELOG.md243
-rw-r--r--vendor/gix-actor/Cargo.toml19
-rw-r--r--vendor/gix-actor/src/identity.rs11
-rw-r--r--vendor/gix-actor/src/lib.rs10
-rw-r--r--vendor/gix-actor/src/signature/decode.rs179
-rw-r--r--vendor/gix-actor/src/signature/mod.rs11
7 files changed, 361 insertions, 114 deletions
diff --git a/vendor/gix-actor/.cargo-checksum.json b/vendor/gix-actor/.cargo-checksum.json
index ad17a30a9..eade43f4d 100644
--- a/vendor/gix-actor/.cargo-checksum.json
+++ b/vendor/gix-actor/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"CHANGELOG.md":"0e28749a4f3f85707934f8bc27305d2eca9986ead76a4f2cbc5f6a02ac97dce5","Cargo.toml":"d1bcd9de1bba9000c2cfdb6126398c03d609051ff42b84e6674df2a51bae8386","LICENSE-APACHE":"cb4780590812826851ba250f90bed0ed19506ec98f6865a0e2e20bbf62391ff9","LICENSE-MIT":"49df47913ab2beafe8dc45607877ae64198bf0eee64aaad3e82ed9e4d27424e8","src/identity.rs":"65370a68e4d93c88b1a6357cda3c58e7552f19af13e8284abd6d13b50ddabdb5","src/lib.rs":"074810c17d052cfcb0f71849832add5cefa5cf59f4abad5c521b86893aab023e","src/signature/decode.rs":"df5bea6fe45904c69e75f511920e3177019ddfb2ac776b1813e661a2f6460a78","src/signature/mod.rs":"b6213976ede00ea917a0553bd8755ac2801538c41d3e4f5ff2f8a0f77883f7b5"},"package":"9fe73f9f6be1afbf1bd5be919a9636fa560e2f14d42262a934423ed6760cd838"} \ No newline at end of file
+{"files":{"CHANGELOG.md":"4d23bfab2ce24229b157e40c25be6935b117101f3a4b9657c8d480ae35328f0b","Cargo.toml":"39cf3cbf5b769647a7e0e3b3f8dec6cdf36d768e89da649c1de2a8cd927ecfb7","LICENSE-APACHE":"cb4780590812826851ba250f90bed0ed19506ec98f6865a0e2e20bbf62391ff9","LICENSE-MIT":"49df47913ab2beafe8dc45607877ae64198bf0eee64aaad3e82ed9e4d27424e8","src/identity.rs":"1534f25898efc4aec271b743279952f1b5a222bddfacc4023291354c846afcd3","src/lib.rs":"b544f690c01d0fe6db17bcfa6c2e1e9a0e1f55f61bd8e8511243d65b035a2608","src/signature/decode.rs":"b0cebe96df024207fe2182d45f2895e264da964952530be96c31ff4f5e58a7fe","src/signature/mod.rs":"fcb0fb7662b0b2283919f959bc15c6a2a793085d3c96643dc27188ea216e5545"},"package":"08c60e982c5290897122d4e2622447f014a2dadd5a18cb73d50bb91b31645e27"} \ No newline at end of file
diff --git a/vendor/gix-actor/CHANGELOG.md b/vendor/gix-actor/CHANGELOG.md
index 2ce60274b..08c2f7896 100644
--- a/vendor/gix-actor/CHANGELOG.md
+++ b/vendor/gix-actor/CHANGELOG.md
@@ -5,6 +5,246 @@ 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.27.0 (2023-09-24)
+
+A maintenance release without user-facing changes.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 1 commit 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**
+ - Prepare changelogs prior to release ([`8a60d5b`](https://github.com/Byron/gitoxide/commit/8a60d5b80877c213c3b646d3061e8a33e0e433ec))
+</details>
+
+## 0.26.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.25.0 (2023-08-22)
+
+<csr-id-ef54aab9e5521add4154ee8d902d62612a9d8d4a/>
+
+### Chore
+
+ - <csr-id-ef54aab9e5521add4154ee8d902d62612a9d8d4a/> switch `nom` to `winnow` in remaining uses in `gix-object`, `gix-ref`, and `gix-actor` for ~20% more performance.
+ It's likely that over time, these parsers will get even faster due to improvements to `winnow`.
+ Thanks, Ed Page, for single-handedly performing this transition.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 19 commits contributed to the release over the course of 4 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-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))
+ - Just fmt ([`0d258f4`](https://github.com/Byron/gitoxide/commit/0d258f40afcd848509e2b0c7c264e9f346ed1726))
+ - Switch `nom` to `winnow` in remaining uses in `gix-object`, `gix-ref`, and `gix-actor` for ~20% more performance. ([`ef54aab`](https://github.com/Byron/gitoxide/commit/ef54aab9e5521add4154ee8d902d62612a9d8d4a))
+ - Upgrade `winnow` to latest patch release ([`8c41848`](https://github.com/Byron/gitoxide/commit/8c4184817e4e4364c34badc8ff0a71c6ae952efd))
+ - Speed up timezone offset parsing ([`80d7991`](https://github.com/Byron/gitoxide/commit/80d799177ac89741fd04625e1a1e091d0bcc9362))
+ - Switch errors to StrContext ([`df226dd`](https://github.com/Byron/gitoxide/commit/df226dd31df2c591c6470ed70098202112e13dae))
+ - Show more error details in parse tests failures ([`266864f`](https://github.com/Byron/gitoxide/commit/266864f35dc9ee96b81d22281c8f267fd7c059a4))
+ - Upgrade to Winnow 0.5 ([`3f8c91f`](https://github.com/Byron/gitoxide/commit/3f8c91fa463fbb53d54b2bf359e0dee7387afa00))
+ - Simplify parsers ([`12f03db`](https://github.com/Byron/gitoxide/commit/12f03db6475b92f492f5a14bda472c139c3511e0))
+ - Resolve 0.4 not-quite deprecations ([`f0cbf81`](https://github.com/Byron/gitoxide/commit/f0cbf81a346e087a622b0e2a6a37593861d0010f))
+ - Resolve 0.4 deprecations ([`9ed7df0`](https://github.com/Byron/gitoxide/commit/9ed7df0a17deed08759dc29fc0089cdea100e433))
+ - Upgrade to Winnow 0.4 ([`86ea47f`](https://github.com/Byron/gitoxide/commit/86ea47f28079c51f874b0d662867040b92f88d14))
+ - Parse explicitly in prep for 0.4 ([`b3f0418`](https://github.com/Byron/gitoxide/commit/b3f041829881e881ad4eeeacaeea31064c523340))
+ - Resolve remaining winnow 0.3 deprecations ([`fee441d`](https://github.com/Byron/gitoxide/commit/fee441da875d52b1a0cb557d2fa58cee9c29e16a))
+ - Prefer Parser inherent parsers ([`b37a909`](https://github.com/Byron/gitoxide/commit/b37a909a5c344201a985262351e0fb67757572a4))
+ - Prefer built-in Winnow parsers ([`ac0e81c`](https://github.com/Byron/gitoxide/commit/ac0e81c41f8c8a33ede9a0d8b7bffcd04bb97dc3))
+ - Simplify winnow ErrMode construction ([`86d7fd1`](https://github.com/Byron/gitoxide/commit/86d7fd18487626d30f6d5478864819a3d7428085))
+ - Switch gix to winnow 0.3 ([`ee75de1`](https://github.com/Byron/gitoxide/commit/ee75de1e6035305fc23bdef2522ae5081272ac82))
+</details>
+
+## 0.24.2 (2023-08-02)
+
+### Bug Fixes
+
+ - <csr-id-d3f65d8361244f48e5ad79f034c05b6623cf7312/> allow parsing double-dash date offsets
+ Negative date offsets seem to occour with double-dashes, too.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 5 commits contributed to the release.
+ - 11 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-actor v0.24.2, gix-object v0.33.2, gix-ref v0.33.3, gix-config v0.26.2, gix-prompt v0.5.5, gix-odb v0.50.2, gix-transport v0.34.2, gix-protocol v0.37.0, gix-worktree v0.23.1, gix v0.51.0, safety bump 3 crates ([`231ac1c`](https://github.com/Byron/gitoxide/commit/231ac1c6ad5ca9a84dbeb0dee14bfbf2fef1ae1e))
+ - Prepare additional changelogs ([`db63815`](https://github.com/Byron/gitoxide/commit/db6381522395a0de047118e81df5cd3cbeb862b9))
+ - Prepare changelogs ([`e4d2890`](https://github.com/Byron/gitoxide/commit/e4d2890a85bf60e9cdb4016dddfab3c4dccbe75e))
+ - Merge branch 'fixes-and-improvements' ([`f8b1f55`](https://github.com/Byron/gitoxide/commit/f8b1f553371f25b1bea6bce7cbb2ff1f01194856))
+ - Allow parsing double-dash date offsets ([`d3f65d8`](https://github.com/Byron/gitoxide/commit/d3f65d8361244f48e5ad79f034c05b6623cf7312))
+</details>
+
+## 0.24.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.24.0 (2023-07-19)
+
+A maintenance release without user-facing changes.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 3 commits contributed to the release.
+ - 19 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.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))
+</details>
+
+## 0.23.0 (2023-06-29)
+
+A maintenance release without user-facing changes.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 4 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-date v0.7.0, gix-trace v0.1.2, gix-actor v0.23.0, gix-commitgraph v0.17.1, gix-utils v0.1.4, gix-object v0.32.0, gix-ref v0.32.0, gix-config v0.25.0, gix-diff v0.32.0, gix-discover v0.21.0, gix-hashtable v0.2.3, gix-revwalk v0.3.0, gix-traverse v0.29.0, gix-index v0.20.0, gix-mailmap v0.15.0, gix-negotiate v0.4.0, gix-pack v0.39.0, gix-odb v0.49.0, gix-protocol v0.35.0, gix-revision v0.17.0, gix-refspec v0.13.0, gix-worktree v0.21.0, gix v0.48.0, safety bump 20 crates ([`27e8c18`](https://github.com/Byron/gitoxide/commit/27e8c18db5a9a21843381c116a8ed6d9f681b3f8))
+ - Prepare changelogs prior to release ([`00f96fb`](https://github.com/Byron/gitoxide/commit/00f96fb3110a8f81a1bd0d74c757c15b8773c6f6))
+ - Merge branch 'i64-times' ([`b407461`](https://github.com/Byron/gitoxide/commit/b407461d8991db67a5bdb2ab13f518f78a85ed40))
+ - Add a test to see what happens if negative dates are used in commits ([`57a5cd1`](https://github.com/Byron/gitoxide/commit/57a5cd1ca2f8153568c366cd1709be7d4ebec972))
+</details>
+
+## 0.22.0 (2023-06-22)
+
+### Changed (BREAKING)
+
+ - <csr-id-d288e3ad0cb0f275f81c2c49a7737928095514a1/> re-export the entire `date` crate instead of its individual types.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 8 commits contributed to the release over the course of 11 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))
+ - `just fmt` ([`871dd0b`](https://github.com/Byron/gitoxide/commit/871dd0b977caf17159092a4739ba5408403cdb2c))
+ - 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 'future-dates' ([`8d2e6a9`](https://github.com/Byron/gitoxide/commit/8d2e6a91ac92a033e9e3daad5cffa90263075536))
+ - Re-export the entire `date` crate instead of its individual types. ([`d288e3a`](https://github.com/Byron/gitoxide/commit/d288e3ad0cb0f275f81c2c49a7737928095514a1))
+ - Adapt to changes in `gix-date` ([`d575336`](https://github.com/Byron/gitoxide/commit/d575336c26e6026e463cd06d88266bb2bdd3e162))
+</details>
+
## 0.21.0 (2023-06-06)
### New Features (BREAKING)
@@ -20,7 +260,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
<csr-read-only-do-not-edit/>
- - 10 commits contributed to the release over the course of 12 calendar days.
+ - 11 commits contributed to the release over the course of 12 calendar days.
- 48 days passed between releases.
- 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' were seen in commit messages
@@ -38,6 +278,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
<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))
- `just fmt` ([`ffc1276`](https://github.com/Byron/gitoxide/commit/ffc1276e0c991ac33ce842f5dca0b45ac69680c0))
- Prepare changelogs prior to release ([`8f15cec`](https://github.com/Byron/gitoxide/commit/8f15cec1ec7d5a9d56bb158f155011ef2bb3539b))
- Merge branch 'integrate-gix-negotiate' ([`ae845de`](https://github.com/Byron/gitoxide/commit/ae845dea6cee6523c88a23d7a14293589cf8092f))
diff --git a/vendor/gix-actor/Cargo.toml b/vendor/gix-actor/Cargo.toml
index e42d02eac..3c656e23c 100644
--- a/vendor/gix-actor/Cargo.toml
+++ b/vendor/gix-actor/Cargo.toml
@@ -11,9 +11,9 @@
[package]
edition = "2021"
-rust-version = "1.64"
+rust-version = "1.65"
name = "gix-actor"
-version = "0.21.0"
+version = "0.27.0"
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
include = [
"src/**/*",
@@ -21,7 +21,7 @@ include = [
"CHANGELOG.md",
]
description = "A way to identify git actors"
-license = "MIT/Apache-2.0"
+license = "MIT OR Apache-2.0"
repository = "https://github.com/Byron/gitoxide"
[package.metadata.docs.rs]
@@ -51,20 +51,15 @@ version = "0.2.0"
optional = true
[dependencies.gix-date]
-version = "^0.5.1"
+version = "^0.8.0"
[dependencies.gix-features]
-version = "^0.30.0"
+version = "^0.35.0"
optional = true
[dependencies.itoa]
version = "1.0.1"
-[dependencies.nom]
-version = "7"
-features = ["std"]
-default-features = false
-
[dependencies.serde]
version = "1.0.114"
features = ["derive"]
@@ -74,6 +69,10 @@ default-features = false
[dependencies.thiserror]
version = "1.0.38"
+[dependencies.winnow]
+version = "0.5.14"
+features = ["simd"]
+
[dev-dependencies.pretty_assertions]
version = "1.0.0"
diff --git a/vendor/gix-actor/src/identity.rs b/vendor/gix-actor/src/identity.rs
index 0e7c0e6d5..e6d8fcb52 100644
--- a/vendor/gix-actor/src/identity.rs
+++ b/vendor/gix-actor/src/identity.rs
@@ -1,14 +1,15 @@
use bstr::ByteSlice;
+use winnow::{error::StrContext, prelude::*};
use crate::{signature::decode, Identity, IdentityRef};
impl<'a> IdentityRef<'a> {
/// Deserialize an identity from the given `data`.
- pub fn from_bytes<E>(data: &'a [u8]) -> Result<Self, nom::Err<E>>
+ pub fn from_bytes<E>(mut data: &'a [u8]) -> Result<Self, winnow::error::ErrMode<E>>
where
- E: nom::error::ParseError<&'a [u8]> + nom::error::ContextError<&'a [u8]>,
+ E: winnow::error::ParserError<&'a [u8]> + winnow::error::AddContext<&'a [u8], StrContext>,
{
- decode::identity(data).map(|(_, t)| t)
+ decode::identity.parse_next(&mut data)
}
/// Create an owned instance from this shared one.
@@ -34,14 +35,14 @@ mod write {
/// Output
impl Identity {
/// Serialize this instance to `out` in the git serialization format for signatures (but without timestamp).
- pub fn write_to(&self, out: impl std::io::Write) -> std::io::Result<()> {
+ pub fn write_to(&self, out: &mut dyn std::io::Write) -> std::io::Result<()> {
self.to_ref().write_to(out)
}
}
impl<'a> IdentityRef<'a> {
/// Serialize this instance to `out` in the git serialization format for signatures (but without timestamp).
- pub fn write_to(&self, mut out: impl std::io::Write) -> std::io::Result<()> {
+ pub fn write_to(&self, out: &mut dyn std::io::Write) -> std::io::Result<()> {
out.write_all(validated_token(self.name)?)?;
out.write_all(b" ")?;
out.write_all(b"<")?;
diff --git a/vendor/gix-actor/src/lib.rs b/vendor/gix-actor/src/lib.rs
index 93d8bdb0f..5a4d078be 100644
--- a/vendor/gix-actor/src/lib.rs
+++ b/vendor/gix-actor/src/lib.rs
@@ -9,8 +9,16 @@
#![deny(missing_docs, rust_2018_idioms)]
#![forbid(unsafe_code)]
+/// The re-exported `bstr` crate.
+///
+/// For convenience to allow using `bstr` without adding it to own cargo manifest.
+pub use bstr;
use bstr::{BStr, BString};
-pub use gix_date::{time::Sign, Time};
+/// The re-exported `gix-date` crate.
+///
+/// For convenience to allow using `gix-date` without adding it to own cargo manifest.
+pub use gix_date as date;
+use gix_date::Time;
mod identity;
///
diff --git a/vendor/gix-actor/src/signature/decode.rs b/vendor/gix-actor/src/signature/decode.rs
index 6bd7bfed6..e8d14d3cd 100644
--- a/vendor/gix-actor/src/signature/decode.rs
+++ b/vendor/gix-actor/src/signature/decode.rs
@@ -1,90 +1,74 @@
pub(crate) mod function {
use bstr::ByteSlice;
use btoi::btoi;
- use nom::{
- branch::alt,
- bytes::complete::{tag, take, take_until, take_while_m_n},
- character::is_digit,
- error::{context, ContextError, ParseError},
- sequence::{terminated, tuple},
- IResult,
+ use gix_date::{time::Sign, OffsetInSeconds, SecondsSinceUnixEpoch, Time};
+ use winnow::{
+ combinator::{alt, separated_pair, terminated},
+ error::{AddContext, ParserError, StrContext},
+ prelude::*,
+ stream::AsChar,
+ token::{take, take_until0, take_while},
};
- use crate::{IdentityRef, Sign, SignatureRef, Time};
+ use crate::{IdentityRef, SignatureRef};
const SPACE: &[u8] = b" ";
/// Parse a signature from the bytes input `i` using `nom`.
- pub fn decode<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>(
- i: &'a [u8],
- ) -> IResult<&'a [u8], SignatureRef<'a>, E> {
- let (i, (identity, _, time, tzsign, hours, minutes)) = context(
- "<name> <<email>> <timestamp> <+|-><HHMM>",
- tuple((
- identity,
- tag(b" "),
- context("<timestamp>", |i| {
- terminated(take_until(SPACE), take(1usize))(i).and_then(|(i, v)| {
- btoi::<u32>(v)
- .map(|v| (i, v))
- .map_err(|_| nom::Err::Error(E::from_error_kind(i, nom::error::ErrorKind::MapRes)))
- })
+ pub fn decode<'a, E: ParserError<&'a [u8]> + AddContext<&'a [u8], StrContext>>(
+ i: &mut &'a [u8],
+ ) -> PResult<SignatureRef<'a>, E> {
+ separated_pair(
+ identity,
+ b" ",
+ (
+ terminated(take_until0(SPACE), take(1usize))
+ .verify_map(|v| btoi::<SecondsSinceUnixEpoch>(v).ok())
+ .context(StrContext::Expected("<timestamp>".into())),
+ alt((
+ take_while(1.., b'-').map(|_| Sign::Minus),
+ take_while(1.., b'+').map(|_| Sign::Plus),
+ ))
+ .context(StrContext::Expected("+|-".into())),
+ take_while(2, AsChar::is_dec_digit)
+ .verify_map(|v| btoi::<OffsetInSeconds>(v).ok())
+ .context(StrContext::Expected("HH".into())),
+ take_while(1..=2, AsChar::is_dec_digit)
+ .verify_map(|v| btoi::<OffsetInSeconds>(v).ok())
+ .context(StrContext::Expected("MM".into())),
+ )
+ .map(|(time, sign, hours, minutes)| {
+ let offset = (hours * 3600 + minutes * 60) * if sign == Sign::Minus { -1 } else { 1 };
+ Time {
+ seconds: time,
+ offset,
+ sign,
+ }
}),
- context("+|-", alt((tag(b"-"), tag(b"+")))),
- context("HH", |i| {
- take_while_m_n(2usize, 2, is_digit)(i).and_then(|(i, v)| {
- btoi::<i32>(v)
- .map(|v| (i, v))
- .map_err(|_| nom::Err::Error(E::from_error_kind(i, nom::error::ErrorKind::MapRes)))
- })
- }),
- context("MM", |i| {
- take_while_m_n(2usize, 2, is_digit)(i).and_then(|(i, v)| {
- btoi::<i32>(v)
- .map(|v| (i, v))
- .map_err(|_| nom::Err::Error(E::from_error_kind(i, nom::error::ErrorKind::MapRes)))
- })
- }),
- )),
- )(i)?;
-
- debug_assert!(tzsign[0] == b'-' || tzsign[0] == b'+', "parser assure it's +|- only");
- let sign = if tzsign[0] == b'-' { Sign::Minus } else { Sign::Plus }; //
- let offset = (hours * 3600 + minutes * 60) * if sign == Sign::Minus { -1 } else { 1 };
-
- Ok((
- i,
- SignatureRef {
- name: identity.name,
- email: identity.email,
- time: Time {
- seconds_since_unix_epoch: time,
- offset_in_seconds: offset,
- sign,
- },
- },
- ))
+ )
+ .context(StrContext::Expected("<name> <<email>> <timestamp> <+|-><HHMM>".into()))
+ .map(|(identity, time)| SignatureRef {
+ name: identity.name,
+ email: identity.email,
+ time,
+ })
+ .parse_next(i)
}
/// Parse an identity from the bytes input `i` (like `name <email>`) using `nom`.
- pub fn identity<'a, E: ParseError<&'a [u8]> + ContextError<&'a [u8]>>(
- i: &'a [u8],
- ) -> IResult<&'a [u8], IdentityRef<'a>, E> {
- let (i, (name, email)) = context(
- "<name> <<email>>",
- tuple((
- context("<name>", terminated(take_until(&b" <"[..]), take(2usize))),
- context("<email>", terminated(take_until(&b">"[..]), take(1usize))),
- )),
- )(i)?;
-
- Ok((
- i,
- IdentityRef {
+ pub fn identity<'a, E: ParserError<&'a [u8]> + AddContext<&'a [u8], StrContext>>(
+ i: &mut &'a [u8],
+ ) -> PResult<IdentityRef<'a>, E> {
+ (
+ terminated(take_until0(&b" <"[..]), take(2usize)).context(StrContext::Expected("<name>".into())),
+ terminated(take_until0(&b">"[..]), take(1usize)).context(StrContext::Expected("<email>".into())),
+ )
+ .map(|(name, email): (&[u8], &[u8])| IdentityRef {
name: name.as_bstr(),
email: email.as_bstr(),
- },
- ))
+ })
+ .context(StrContext::Expected("<name> <<email>>".into()))
+ .parse_next(i)
}
}
pub use function::identity;
@@ -93,37 +77,37 @@ pub use function::identity;
mod tests {
mod parse_signature {
use bstr::ByteSlice;
+ use gix_date::{time::Sign, OffsetInSeconds, SecondsSinceUnixEpoch};
use gix_testtools::to_bstr_err;
- use nom::IResult;
+ use winnow::prelude::*;
- use crate::{signature, Sign, SignatureRef, Time};
+ use crate::{signature, SignatureRef, Time};
- fn decode(i: &[u8]) -> IResult<&[u8], SignatureRef<'_>, nom::error::VerboseError<&[u8]>> {
- signature::decode(i)
+ fn decode<'i>(
+ i: &mut &'i [u8],
+ ) -> PResult<SignatureRef<'i>, winnow::error::TreeError<&'i [u8], winnow::error::StrContext>> {
+ signature::decode.parse_next(i)
}
fn signature(
name: &'static str,
email: &'static str,
- time: u32,
+ seconds: SecondsSinceUnixEpoch,
sign: Sign,
- offset: i32,
+ offset: OffsetInSeconds,
) -> SignatureRef<'static> {
SignatureRef {
name: name.as_bytes().as_bstr(),
email: email.as_bytes().as_bstr(),
- time: Time {
- seconds_since_unix_epoch: time,
- offset_in_seconds: offset,
- sign,
- },
+ time: Time { seconds, offset, sign },
}
}
#[test]
fn tz_minus() {
assert_eq!(
- decode(b"Sebastian Thiel <byronimo@gmail.com> 1528473343 -0230")
+ decode
+ .parse_peek(b"Sebastian Thiel <byronimo@gmail.com> 1528473343 -0230")
.expect("parse to work")
.1,
signature("Sebastian Thiel", "byronimo@gmail.com", 1528473343, Sign::Minus, -9000)
@@ -133,7 +117,8 @@ mod tests {
#[test]
fn tz_plus() {
assert_eq!(
- decode(b"Sebastian Thiel <byronimo@gmail.com> 1528473343 +0230")
+ decode
+ .parse_peek(b"Sebastian Thiel <byronimo@gmail.com> 1528473343 +0230")
.expect("parse to work")
.1,
signature("Sebastian Thiel", "byronimo@gmail.com", 1528473343, Sign::Plus, 9000)
@@ -143,7 +128,8 @@ mod tests {
#[test]
fn negative_offset_0000() {
assert_eq!(
- decode(b"Sebastian Thiel <byronimo@gmail.com> 1528473343 -0000")
+ decode
+ .parse_peek(b"Sebastian Thiel <byronimo@gmail.com> 1528473343 -0000")
.expect("parse to work")
.1,
signature("Sebastian Thiel", "byronimo@gmail.com", 1528473343, Sign::Minus, 0)
@@ -151,9 +137,20 @@ mod tests {
}
#[test]
+ fn negative_offset_double_dash() {
+ assert_eq!(
+ decode
+ .parse_peek(b"name <name@example.com> 1288373970 --700")
+ .expect("parse to work")
+ .1,
+ signature("name", "name@example.com", 1288373970, Sign::Minus, -252000)
+ );
+ }
+
+ #[test]
fn empty_name_and_email() {
assert_eq!(
- decode(b" <> 12345 -1215").expect("parse to work").1,
+ decode.parse_peek(b" <> 12345 -1215").expect("parse to work").1,
signature("", "", 12345, Sign::Minus, -44100)
);
}
@@ -161,22 +158,22 @@ mod tests {
#[test]
fn invalid_signature() {
assert_eq!(
- decode(b"hello < 12345 -1215")
+ decode.parse_peek(b"hello < 12345 -1215")
.map_err(to_bstr_err)
.expect_err("parse fails as > is missing")
.to_string(),
- "Parse error:\nTakeUntil at: 12345 -1215\nin section '<email>', at: 12345 -1215\nin section '<name> <<email>>', at: hello < 12345 -1215\nin section '<name> <<email>> <timestamp> <+|-><HHMM>', at: hello < 12345 -1215\n"
+ "in slice at ' 12345 -1215'\n 0: expected `<email>` at ' 12345 -1215'\n 1: expected `<name> <<email>>` at ' 12345 -1215'\n 2: expected `<name> <<email>> <timestamp> <+|-><HHMM>` at ' 12345 -1215'\n"
);
}
#[test]
fn invalid_time() {
assert_eq!(
- decode(b"hello <> abc -1215")
+ decode.parse_peek(b"hello <> abc -1215")
.map_err(to_bstr_err)
.expect_err("parse fails as > is missing")
.to_string(),
- "Parse error:\nMapRes at: -1215\nin section '<timestamp>', at: abc -1215\nin section '<name> <<email>> <timestamp> <+|-><HHMM>', at: hello <> abc -1215\n"
+ "in predicate verification at 'abc -1215'\n 0: expected `<timestamp>` at 'abc -1215'\n 1: expected `<name> <<email>> <timestamp> <+|-><HHMM>` at 'abc -1215'\n"
);
}
}
diff --git a/vendor/gix-actor/src/signature/mod.rs b/vendor/gix-actor/src/signature/mod.rs
index 8634ba595..057d4293e 100644
--- a/vendor/gix-actor/src/signature/mod.rs
+++ b/vendor/gix-actor/src/signature/mod.rs
@@ -1,15 +1,16 @@
mod _ref {
use bstr::ByteSlice;
+ use winnow::{error::StrContext, prelude::*};
use crate::{signature::decode, IdentityRef, Signature, SignatureRef};
impl<'a> SignatureRef<'a> {
/// Deserialize a signature from the given `data`.
- pub fn from_bytes<E>(data: &'a [u8]) -> Result<SignatureRef<'a>, nom::Err<E>>
+ pub fn from_bytes<E>(mut data: &'a [u8]) -> Result<SignatureRef<'a>, winnow::error::ErrMode<E>>
where
- E: nom::error::ParseError<&'a [u8]> + nom::error::ContextError<&'a [u8]>,
+ E: winnow::error::ParserError<&'a [u8]> + winnow::error::AddContext<&'a [u8], StrContext>,
{
- decode(data).map(|(_, t)| t)
+ decode.parse_next(&mut data)
}
/// Create an owned instance from this shared one.
@@ -94,7 +95,7 @@ pub(crate) mod write {
/// Output
impl Signature {
/// Serialize this instance to `out` in the git serialization format for actors.
- pub fn write_to(&self, out: impl std::io::Write) -> std::io::Result<()> {
+ pub fn write_to(&self, out: &mut dyn std::io::Write) -> std::io::Result<()> {
self.to_ref().write_to(out)
}
/// Computes the number of bytes necessary to serialize this signature
@@ -105,7 +106,7 @@ pub(crate) mod write {
impl<'a> SignatureRef<'a> {
/// Serialize this instance to `out` in the git serialization format for actors.
- pub fn write_to(&self, mut out: impl std::io::Write) -> std::io::Result<()> {
+ pub fn write_to(&self, out: &mut dyn std::io::Write) -> std::io::Result<()> {
out.write_all(validated_token(self.name)?)?;
out.write_all(b" ")?;
out.write_all(b"<")?;