summaryrefslogtreecommitdiffstats
path: root/vendor/gix-revwalk
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 18:31:36 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 18:31:36 +0000
commite02c5b5930c2c9ba3e5423fe12e2ef0155017297 (patch)
treefd60ebbbb5299e16e5fca8c773ddb74f764760db /vendor/gix-revwalk
parentAdding debian version 1.73.0+dfsg1-1. (diff)
downloadrustc-e02c5b5930c2c9ba3e5423fe12e2ef0155017297.tar.xz
rustc-e02c5b5930c2c9ba3e5423fe12e2ef0155017297.zip
Merging upstream version 1.74.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/gix-revwalk')
-rw-r--r--vendor/gix-revwalk/.cargo-checksum.json2
-rw-r--r--vendor/gix-revwalk/CHANGELOG.md226
-rw-r--r--vendor/gix-revwalk/Cargo.toml17
-rw-r--r--vendor/gix-revwalk/src/graph/commit.rs24
-rw-r--r--vendor/gix-revwalk/src/graph/mod.rs58
-rw-r--r--vendor/gix-revwalk/src/lib.rs3
-rw-r--r--vendor/gix-revwalk/src/queue.rs5
7 files changed, 289 insertions, 46 deletions
diff --git a/vendor/gix-revwalk/.cargo-checksum.json b/vendor/gix-revwalk/.cargo-checksum.json
index cf283fcff..c1733154f 100644
--- a/vendor/gix-revwalk/.cargo-checksum.json
+++ b/vendor/gix-revwalk/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"CHANGELOG.md":"3c1a2e0f720b671163182b18d7e1b32f07f5e64c42f5b140b8b94f3a7748f1d9","Cargo.toml":"f59b4689046d339936e9a18c24ad7542598ef4da69a9870682ada2f93a2734fe","LICENSE-APACHE":"cb4780590812826851ba250f90bed0ed19506ec98f6865a0e2e20bbf62391ff9","LICENSE-MIT":"49df47913ab2beafe8dc45607877ae64198bf0eee64aaad3e82ed9e4d27424e8","src/graph/commit.rs":"6ede08a41a98f9d590633ed2a7ef9d391676e93509994d85b8ef9056b46cf887","src/graph/errors.rs":"5b76551bae0cea85ca3d21fd1a1c86453d96cd49692159b822f403e92eb1a2b4","src/graph/mod.rs":"b642c705befec29b9fb128bb576e01eb5595ff7d146866f49ff7e15b4728c7f1","src/lib.rs":"d776108c321ffb0d218ebc410f1afd4c05bdf851205283ba726c4b6d17af5eae","src/queue.rs":"82cecd24646e25732342e950f00f28c16521d82d45562dc0aa558cf07a269885"},"package":"bc2623ba8747914f151f5e12b65adac576ab459dbed5f50a36c7a3e9cbf2d3ca"} \ No newline at end of file
+{"files":{"CHANGELOG.md":"a83a435b02523ec39e8b3e8726445dfb53664d5a6518fd3bc85caf84a249c408","Cargo.toml":"b0ed7bf94a3077ecf3e1d40b27b8a1ad96622ea253deaadd86f5d4d7946ea193","LICENSE-APACHE":"cb4780590812826851ba250f90bed0ed19506ec98f6865a0e2e20bbf62391ff9","LICENSE-MIT":"49df47913ab2beafe8dc45607877ae64198bf0eee64aaad3e82ed9e4d27424e8","src/graph/commit.rs":"c80c4947dad34f09ce6b4c93f047e5ffb20c4ccd921d835a0f28000959082510","src/graph/errors.rs":"5b76551bae0cea85ca3d21fd1a1c86453d96cd49692159b822f403e92eb1a2b4","src/graph/mod.rs":"ba3278e12630a6a060470f00b4b4a9355acd952993488a2a65c977c95f71fa8a","src/lib.rs":"af9a314a8a1bdbc7eda8732803dfb6aaa4364a378911d8374c559ac037673a6f","src/queue.rs":"463474cc20d698211f4b9efa593d015b7aa904c3e5660dda97bb0e3d72bd1c70"},"package":"e9870c6b1032f2084567710c3b2106ac603377f8d25766b8a6b7c33e6e3ca279"} \ No newline at end of file
diff --git a/vendor/gix-revwalk/CHANGELOG.md b/vendor/gix-revwalk/CHANGELOG.md
index 8939887c3..496b1036e 100644
--- a/vendor/gix-revwalk/CHANGELOG.md
+++ b/vendor/gix-revwalk/CHANGELOG.md
@@ -5,6 +5,229 @@ 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.8.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.7.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.6.0 (2023-08-22)
+
+A maintenance release without user-facing changes.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 2 commits contributed to the release.
+ - 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-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))
+</details>
+
+## 0.5.0 (2023-08-07)
+
+A maintenance release without user-facing changes.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 2 commits contributed to the release.
+ - 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))
+</details>
+
+## 0.4.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.4.0 (2023-07-19)
+
+A maintenance release without user-facing changes.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 4 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-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 ([`4aca8c2`](https://github.com/Byron/gitoxide/commit/4aca8c2ae2ec588fb65ec4faa0c07c19d219569f))
+ - 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.3.0 (2023-06-29)
+
+### New Features
+
+ - <csr-id-e22ed826a94463e2095a9817fded52e3a8756a34/> add `Queue.len()`.
+ Knowing the number of items on the queue can help estimate how long something takes.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 5 commits contributed to the release over the course of 6 calendar days.
+ - 6 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.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))
+ - Adapt to changes in `gix-date` ([`fba45c6`](https://github.com/Byron/gitoxide/commit/fba45c68d57d5f73070a6949556a04187d42e427))
+ - Add `Queue.len()`. ([`e22ed82`](https://github.com/Byron/gitoxide/commit/e22ed826a94463e2095a9817fded52e3a8756a34))
+</details>
+
+## 0.2.0 (2023-06-22)
+
+### New Features
+
+ - <csr-id-e4a77aab6ba47b7e89d1f020ea500ea7ae057ffe/> Allow turning a `Graph` into the underlying map.
+ The map associates commit ids with data.
+
+### Changed (BREAKING)
+
+ - <csr-id-f4b0195375db31cc2736fcab9665a0dc2637e74b/> Remove custom `graph::CommitterTimestamp` in favor of `gix-date::SecondsSinceUnixEpoch`.
+ After all, these are meant to be the same.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 9 commits contributed to the release over the course of 11 calendar days.
+ - 12 days passed between releases.
+ - 2 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.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 'gix-revision-graph' ([`036e60a`](https://github.com/Byron/gitoxide/commit/036e60a3ad39ba9b018c0b56454f12fad455c7bb))
+ - Allow turning a `Graph` into the underlying map. ([`e4a77aa`](https://github.com/Byron/gitoxide/commit/e4a77aab6ba47b7e89d1f020ea500ea7ae057ffe))
+ - Merge branch 'future-dates' ([`8d2e6a9`](https://github.com/Byron/gitoxide/commit/8d2e6a91ac92a033e9e3daad5cffa90263075536))
+ - Remove custom `graph::CommitterTimestamp` in favor of `gix-date::SecondsSinceUnixEpoch`. ([`f4b0195`](https://github.com/Byron/gitoxide/commit/f4b0195375db31cc2736fcab9665a0dc2637e74b))
+ - Adapt to changes in `gix-date` ([`d575336`](https://github.com/Byron/gitoxide/commit/d575336c26e6026e463cd06d88266bb2bdd3e162))
+</details>
+
## 0.1.0 (2023-06-10)
### Bug Fixes (BREAKING)
@@ -16,7 +239,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
<csr-read-only-do-not-edit/>
- - 4 commits contributed to the release.
+ - 5 commits contributed to the release.
- 1 commit was understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' were seen in commit messages
@@ -27,6 +250,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
<details><summary>view details</summary>
* **Uncategorized**
+ - Release gix-attributes v0.13.1, gix-diff v0.30.1, gix-revwalk v0.1.0, gix-traverse v0.27.0, gix-index v0.18.0, gix-revision v0.15.2, gix-negotiate v0.2.1, gix-pack v0.37.0, gix-odb v0.47.0, gix-protocol v0.33.2, gix-worktree v0.19.0, gix v0.46.0, safety bump 7 crates ([`2560a2c`](https://github.com/Byron/gitoxide/commit/2560a2cc3e1d8c60cd812e15696fa4761d036e19))
- Prepare changelogs prior to release ([`298f3d7`](https://github.com/Byron/gitoxide/commit/298f3d7359c5b183314d8c584e45dcdd559d88b3))
- Merge branch 'walk-with-commitgraph' ([`fdee9a2`](https://github.com/Byron/gitoxide/commit/fdee9a22873a13ae644d3dc92f8fe93f8f0266c0))
- Rename `PriorityQueue::pop()` to `::pop_value()` and add `::pop()` that also pops the key. ([`e920567`](https://github.com/Byron/gitoxide/commit/e9205679ab017699fd2605d4211d7ac2528dbc4b))
diff --git a/vendor/gix-revwalk/Cargo.toml b/vendor/gix-revwalk/Cargo.toml
index aa131055f..82c90bfea 100644
--- a/vendor/gix-revwalk/Cargo.toml
+++ b/vendor/gix-revwalk/Cargo.toml
@@ -11,9 +11,9 @@
[package]
edition = "2021"
-rust-version = "1.64"
+rust-version = "1.65"
name = "gix-revwalk"
-version = "0.1.0"
+version = "0.8.0"
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
include = [
"src/**/*",
@@ -21,23 +21,26 @@ include = [
"CHANGELOG.md",
]
description = "A crate providing utilities for walking the revision graph"
-license = "MIT/Apache-2.0"
+license = "MIT OR Apache-2.0"
repository = "https://github.com/Byron/gitoxide"
[lib]
doctest = false
[dependencies.gix-commitgraph]
-version = "^0.16.0"
+version = "^0.21.0"
+
+[dependencies.gix-date]
+version = "^0.8.0"
[dependencies.gix-hash]
-version = "^0.11.2"
+version = "^0.13.0"
[dependencies.gix-hashtable]
-version = "^0.2.1"
+version = "^0.4.0"
[dependencies.gix-object]
-version = "^0.30.0"
+version = "^0.37.0"
[dependencies.smallvec]
version = "1.10.0"
diff --git a/vendor/gix-revwalk/src/graph/commit.rs b/vendor/gix-revwalk/src/graph/commit.rs
index e11a28e36..8bfc8afc8 100644
--- a/vendor/gix-revwalk/src/graph/commit.rs
+++ b/vendor/gix-revwalk/src/graph/commit.rs
@@ -1,7 +1,8 @@
+use gix_date::SecondsSinceUnixEpoch;
use smallvec::SmallVec;
use super::LazyCommit;
-use crate::graph::{Commit, CommitterTimestamp, Either, Generation};
+use crate::graph::{Commit, Either, Generation};
impl<'graph> LazyCommit<'graph> {
/// Return an iterator over the parents of this commit.
@@ -17,15 +18,10 @@ impl<'graph> LazyCommit<'graph> {
///
/// This is the single-most important date for determining recency of commits.
/// Note that this can only fail if the commit is backed by the object database *and* parsing fails.
- pub fn committer_timestamp(&self) -> Result<CommitterTimestamp, gix_object::decode::Error> {
+ pub fn committer_timestamp(&self) -> Result<SecondsSinceUnixEpoch, gix_object::decode::Error> {
Ok(match &self.backing {
- Either::Left(buf) => {
- gix_object::CommitRefIter::from_bytes(buf)
- .committer()?
- .time
- .seconds_since_unix_epoch as CommitterTimestamp
- }
- Either::Right((cache, pos)) => cache.commit_at(*pos).committer_timestamp(),
+ Either::Left(buf) => gix_object::CommitRefIter::from_bytes(buf).committer()?.time.seconds,
+ Either::Right((cache, pos)) => cache.commit_at(*pos).committer_timestamp() as SecondsSinceUnixEpoch, // a cast as we cannot represent the error and trying seems overkill
})
}
@@ -53,7 +49,7 @@ impl<'graph> LazyCommit<'graph> {
Token::Parent { id } => parents.push(id),
Token::Author { .. } => {}
Token::Committer { signature } => {
- timestamp = Some(signature.time.seconds_since_unix_epoch as CommitterTimestamp);
+ timestamp = Some(signature.time.seconds);
break;
}
_ => {
@@ -79,7 +75,11 @@ impl<'graph> LazyCommit<'graph> {
}
Commit {
parents,
- commit_time: commit.committer_timestamp(),
+ commit_time: commit.committer_timestamp().try_into().map_err(|_| {
+ to_owned::Error::CommitGraphTime {
+ actual: commit.committer_timestamp(),
+ }
+ })?,
generation: Some(commit.generation()),
data,
}
@@ -145,5 +145,7 @@ pub mod to_owned {
Decode(#[from] gix_object::decode::Error),
#[error("Could not find commit position in graph when traversing parents")]
CommitGraphParent(#[from] gix_commitgraph::file::commit::Error),
+ #[error("Commit-graph time could not be presented as signed integer: {actual}")]
+ CommitGraphTime { actual: u64 },
}
}
diff --git a/vendor/gix-revwalk/src/graph/mod.rs b/vendor/gix-revwalk/src/graph/mod.rs
index cf7e1629e..619a2bf7f 100644
--- a/vendor/gix-revwalk/src/graph/mod.rs
+++ b/vendor/gix-revwalk/src/graph/mod.rs
@@ -5,14 +5,15 @@ use smallvec::SmallVec;
use crate::Graph;
+/// A mapping between an object id and arbitrary data, and produced when calling [`Graph::detach`].
+pub type IdMap<T> = gix_hashtable::HashMap<gix_hash::ObjectId, T>;
+
///
pub mod commit;
mod errors;
pub use errors::{insert_parents, lookup};
-
-/// The time in seconds since unix epoch at which a commit was created.
-pub type CommitterTimestamp = u64;
+use gix_date::SecondsSinceUnixEpoch;
/// The generation away from the HEAD of graph, useful to limit algorithms by topological depth as well.
///
@@ -22,7 +23,7 @@ pub type Generation = u32;
impl<'find, T: std::fmt::Debug> std::fmt::Debug for Graph<'find, T> {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- std::fmt::Debug::fmt(&self.set, f)
+ std::fmt::Debug::fmt(&self.map, f)
}
}
@@ -44,27 +45,27 @@ impl<'find, T: Default> Graph<'find, T> {
impl<'find, T> Graph<'find, T> {
/// Returns true if `id` has data associated with it, meaning that we processed it already.
pub fn contains(&self, id: &gix_hash::oid) -> bool {
- self.set.contains_key(id.as_ref())
+ self.map.contains_key(id.as_ref())
}
/// Returns the data associated with `id` if available.
pub fn get(&self, id: &gix_hash::oid) -> Option<&T> {
- self.set.get(id)
+ self.map.get(id)
}
/// Returns the data associated with `id` if available as mutable reference.
pub fn get_mut(&mut self, id: &gix_hash::oid) -> Option<&mut T> {
- self.set.get_mut(id)
+ self.map.get_mut(id)
}
/// Insert `id` into the graph and associate it with `value`, returning the previous value associated with it if it existed.
pub fn insert(&mut self, id: gix_hash::ObjectId, value: T) -> Option<T> {
- self.set.insert(id, value)
+ self.map.insert(id, value)
}
/// Remove all data from the graph to start over.
pub fn clear(&mut self) {
- self.set.clear();
+ self.map.clear();
}
/// Insert the parents of commit named `id` to the graph and associate new parents with data
@@ -74,15 +75,15 @@ impl<'find, T> Graph<'find, T> {
pub fn insert_parents(
&mut self,
id: &gix_hash::oid,
- mut new_parent_data: impl FnMut(gix_hash::ObjectId, CommitterTimestamp) -> T,
- mut update_existing: impl FnMut(gix_hash::ObjectId, &mut T),
+ new_parent_data: &mut dyn FnMut(gix_hash::ObjectId, SecondsSinceUnixEpoch) -> T,
+ update_existing: &mut dyn FnMut(gix_hash::ObjectId, &mut T),
first_parent: bool,
) -> Result<(), insert_parents::Error> {
let commit = self.lookup(id)?;
let parents: SmallVec<[_; 2]> = commit.iter_parents().collect();
for parent_id in parents {
let parent_id = parent_id?;
- match self.set.entry(parent_id) {
+ match self.map.entry(parent_id) {
gix_hashtable::hash_map::Entry::Vacant(entry) => {
let parent = match try_lookup(&parent_id, &mut self.find, self.cache.as_ref(), &mut self.parent_buf)
.map_err(|err| insert_parents::Error::Lookup(lookup::existing::Error::Find(err)))?
@@ -104,6 +105,11 @@ impl<'find, T> Graph<'find, T> {
}
Ok(())
}
+
+ /// Turn ourselves into the underlying graph structure, which is a mere mapping between object ids and their data.
+ pub fn detach(self) -> IdMap<T> {
+ self.map
+ }
}
/// Initialization
@@ -116,18 +122,20 @@ impl<'find, T> Graph<'find, T> {
/// most recently used commits.
/// Furthermore, **none-existing commits should not trigger the pack-db to be refreshed.** Otherwise, performance may be sub-optimal
/// in shallow repositories as running into non-existing commits will trigger a refresh of the `packs` directory.
- pub fn new<Find, E>(mut find: Find, cache: impl Into<Option<gix_commitgraph::Graph>>) -> Self
+ pub fn new<Find>(find: Find, cache: impl Into<Option<gix_commitgraph::Graph>>) -> Self
where
- Find:
- for<'a> FnMut(&gix_hash::oid, &'a mut Vec<u8>) -> Result<Option<gix_object::CommitRefIter<'a>>, E> + 'find,
- E: std::error::Error + Send + Sync + 'static,
+ Find: for<'a> FnMut(
+ &gix_hash::oid,
+ &'a mut Vec<u8>,
+ ) -> Result<
+ Option<gix_object::CommitRefIter<'a>>,
+ Box<dyn std::error::Error + Send + Sync + 'static>,
+ > + 'find,
{
Graph {
- find: Box::new(move |id, buf| {
- find(id, buf).map_err(|err| Box::new(err) as Box<dyn std::error::Error + Send + Sync + 'static>)
- }),
+ find: Box::new(find),
cache: cache.into(),
- set: gix_hashtable::HashMap::default(),
+ map: gix_hashtable::HashMap::default(),
buf: Vec::new(),
parent_buf: Vec::new(),
}
@@ -147,7 +155,7 @@ impl<'find, T> Graph<'find, Commit<T>> {
new_data: impl FnOnce() -> T,
update_data: impl FnOnce(&mut T),
) -> Result<Option<&mut Commit<T>>, lookup::commit::Error> {
- match self.set.entry(id) {
+ match self.map.entry(id) {
gix_hashtable::hash_map::Entry::Vacant(entry) => {
let res = try_lookup(&id, &mut self.find, self.cache.as_ref(), &mut self.buf)?;
let commit = match res {
@@ -162,7 +170,7 @@ impl<'find, T> Graph<'find, Commit<T>> {
update_data(&mut entry.get_mut().data);
}
};
- Ok(self.set.get_mut(&id))
+ Ok(self.map.get_mut(&id))
}
}
@@ -204,7 +212,7 @@ impl<'find, T> Graph<'find, T> {
) -> Result<Option<LazyCommit<'_>>, lookup::Error> {
let res = try_lookup(&id, &mut self.find, self.cache.as_ref(), &mut self.buf)?;
Ok(res.map(|commit| {
- match self.set.entry(id) {
+ match self.map.entry(id) {
gix_hashtable::hash_map::Entry::Vacant(entry) => {
let mut data = default();
update_data(&mut data);
@@ -257,7 +265,7 @@ impl<'a, 'find, T> Index<&'a gix_hash::oid> for Graph<'find, T> {
type Output = T;
fn index(&self, index: &'a oid) -> &Self::Output {
- &self.set[index]
+ &self.map[index]
}
}
@@ -266,7 +274,7 @@ pub struct Commit<T> {
/// The parents of the commit.
pub parents: SmallVec<[gix_hash::ObjectId; 1]>,
/// The time at which the commit was created.
- pub commit_time: CommitterTimestamp,
+ pub commit_time: SecondsSinceUnixEpoch,
/// The generation of the commit, if available.
pub generation: Option<u32>,
/// Any kind of data to associate with this commit.
diff --git a/vendor/gix-revwalk/src/lib.rs b/vendor/gix-revwalk/src/lib.rs
index 44c5ca3e7..9348d9e16 100644
--- a/vendor/gix-revwalk/src/lib.rs
+++ b/vendor/gix-revwalk/src/lib.rs
@@ -31,12 +31,13 @@ pub struct Graph<'find, T> {
/// A way to speedup commit access, essentially a multi-file commit database.
cache: Option<gix_commitgraph::Graph>,
/// The set of cached commits that we have seen once, along with data associated with them.
- set: gix_hashtable::HashMap<gix_hash::ObjectId, T>,
+ map: graph::IdMap<T>,
/// A buffer for writing commit data into.
buf: Vec<u8>,
/// Another buffer we typically use to store parents.
parent_buf: Vec<u8>,
}
+
///
pub mod graph;
diff --git a/vendor/gix-revwalk/src/queue.rs b/vendor/gix-revwalk/src/queue.rs
index 1c7938965..4a1fba9fd 100644
--- a/vendor/gix-revwalk/src/queue.rs
+++ b/vendor/gix-revwalk/src/queue.rs
@@ -97,6 +97,11 @@ impl<K: Ord, T> PriorityQueue<K, T> {
self.0.is_empty()
}
+ /// Return true the amount of items on the queue.
+ pub fn len(&self) -> usize {
+ self.0.len()
+ }
+
/// Returns the greatest item `(K, T)` tuple, as ordered by `K`, if the queue is not empty, without removing it.
pub fn peek(&self) -> Option<(&K, &T)> {
self.0.peek().map(|e| (&e.key, &e.value))