diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-30 18:31:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-30 18:31:44 +0000 |
commit | c23a457e72abe608715ac76f076f47dc42af07a5 (patch) | |
tree | 2772049aaf84b5c9d0ed12ec8d86812f7a7904b6 /vendor/gix-revwalk | |
parent | Releasing progress-linux version 1.73.0+dfsg1-1~progress7.99u1. (diff) | |
download | rustc-c23a457e72abe608715ac76f076f47dc42af07a5.tar.xz rustc-c23a457e72abe608715ac76f076f47dc42af07a5.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.json | 2 | ||||
-rw-r--r-- | vendor/gix-revwalk/CHANGELOG.md | 226 | ||||
-rw-r--r-- | vendor/gix-revwalk/Cargo.toml | 17 | ||||
-rw-r--r-- | vendor/gix-revwalk/src/graph/commit.rs | 24 | ||||
-rw-r--r-- | vendor/gix-revwalk/src/graph/mod.rs | 58 | ||||
-rw-r--r-- | vendor/gix-revwalk/src/lib.rs | 3 | ||||
-rw-r--r-- | vendor/gix-revwalk/src/queue.rs | 5 |
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)) |