diff options
Diffstat (limited to 'vendor/gix-negotiate')
-rw-r--r-- | vendor/gix-negotiate/.cargo-checksum.json | 2 | ||||
-rw-r--r-- | vendor/gix-negotiate/CHANGELOG.md | 350 | ||||
-rw-r--r-- | vendor/gix-negotiate/Cargo.toml | 16 | ||||
-rw-r--r-- | vendor/gix-negotiate/LICENSE-MIT | 2 | ||||
-rw-r--r-- | vendor/gix-negotiate/src/lib.rs | 2 | ||||
-rw-r--r-- | vendor/gix-negotiate/tests/baseline/mod.rs | 226 | ||||
-rw-r--r-- | vendor/gix-negotiate/tests/fixtures/generated-archives/make_repos.tar.xz | bin | 92828 -> 0 bytes | |||
-rwxr-xr-x | vendor/gix-negotiate/tests/fixtures/make_repos.sh | 146 | ||||
-rw-r--r-- | vendor/gix-negotiate/tests/negotiate.rs | 46 |
9 files changed, 12 insertions, 778 deletions
diff --git a/vendor/gix-negotiate/.cargo-checksum.json b/vendor/gix-negotiate/.cargo-checksum.json index a0342841a..f3956d0ec 100644 --- a/vendor/gix-negotiate/.cargo-checksum.json +++ b/vendor/gix-negotiate/.cargo-checksum.json @@ -1 +1 @@ -{"files":{"CHANGELOG.md":"ca3a515b955ac5cf91d9c76e55022f370ba4f2e2dc2c1cbe654effd855f6666f","Cargo.toml":"8228c34fa73ef927645083a97989037cfb258e2143959c701388c80523b58b33","LICENSE-APACHE":"cb4780590812826851ba250f90bed0ed19506ec98f6865a0e2e20bbf62391ff9","LICENSE-MIT":"49df47913ab2beafe8dc45607877ae64198bf0eee64aaad3e82ed9e4d27424e8","src/consecutive.rs":"04760aa71a0cec31c019911000e13e7aa4d0b2b83dac740060a28276912c777d","src/lib.rs":"af465ffa6f78c00e219426906f589712f0e3f91a0b199411d09d1687df9ce253","src/noop.rs":"448f0ee6e34eec63037009bdfcaf6e50cd3c0139540899e3e004d7825af7139a","src/skipping.rs":"3014e6a0174a476b3d7b021afdc3af94f293cebb61f03edd6636e3136dda03fb","tests/baseline/mod.rs":"9b0fb3ce68c07548305da2555b4c95adb447ea2978d9edd459d067c10697de30","tests/fixtures/generated-archives/make_repos.tar.xz":"dcfe215bf6f1db2f757b9201c5c3682ddc4340a627832a03a70d5768fe192beb","tests/fixtures/make_repos.sh":"03145c0e92e14f55b9d4b3500de8736f77ab4cfb04184aa6b87dc043e16a44fb","tests/negotiate.rs":"1755d692580e5781548cf92368055f1f2aa797780ffc00aa74621d525c46d0da"},"package":"2a5cdcf491ecc9ce39dcc227216c540355fe0024ae7c38e94557752ca5ebb67f"}
\ No newline at end of file +{"files":{"Cargo.toml":"f6ae712a9de10ed165bf3c487967916bbb17cb7b303ab9a1f5a414d39c979e1d","LICENSE-APACHE":"cb4780590812826851ba250f90bed0ed19506ec98f6865a0e2e20bbf62391ff9","LICENSE-MIT":"6f610e51b59dfbcbee281f58cc6d963bf716199dc7384dbaa94ccc3a6e343ce6","src/consecutive.rs":"04760aa71a0cec31c019911000e13e7aa4d0b2b83dac740060a28276912c777d","src/lib.rs":"7e5ae4fa779704b056980ed865f73b9509ef4801085873080d0251a3509d49cc","src/noop.rs":"448f0ee6e34eec63037009bdfcaf6e50cd3c0139540899e3e004d7825af7139a","src/skipping.rs":"3014e6a0174a476b3d7b021afdc3af94f293cebb61f03edd6636e3136dda03fb"},"package":"979f6accd9c051b3dd018b50adf29c0a2459edddf6105cc70b767976cd6f8014"}
\ No newline at end of file diff --git a/vendor/gix-negotiate/CHANGELOG.md b/vendor/gix-negotiate/CHANGELOG.md deleted file mode 100644 index 756f11ff8..000000000 --- a/vendor/gix-negotiate/CHANGELOG.md +++ /dev/null @@ -1,350 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## 0.9.0 (2023-10-12) - -A maintenance release without user-facing changes. - -### Commit Statistics - -<csr-read-only-do-not-edit/> - - - 1 commit contributed to the release. - - 17 days passed between releases. - - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - - 0 issues like '(#ID)' were seen in commit messages - -### Commit Details - -<csr-read-only-do-not-edit/> - -<details><summary>view details</summary> - - * **Uncategorized** - - Prepare changelogs prior to release ([`1347a54`](https://github.com/Byron/gitoxide/commit/1347a54f84599d8f0aa935d6e64b16c2298d25cf)) -</details> - -## 0.8.0 (2023-09-24) - -A maintenance release without user-facing changes. - -### Commit Statistics - -<csr-read-only-do-not-edit/> - - - 2 commits contributed to the release. - - 16 days passed between releases. - - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - - 0 issues like '(#ID)' were seen in commit messages - -### Commit Details - -<csr-read-only-do-not-edit/> - -<details><summary>view details</summary> - - * **Uncategorized** - - Release gix-features v0.35.0, gix-actor v0.27.0, gix-object v0.37.0, gix-glob v0.13.0, gix-attributes v0.19.0, gix-filter v0.5.0, gix-fs v0.7.0, gix-commitgraph v0.21.0, gix-revwalk v0.8.0, gix-traverse v0.33.0, gix-worktree-stream v0.5.0, gix-archive v0.5.0, gix-tempfile v10.0.0, gix-lock v10.0.0, gix-ref v0.37.0, gix-config v0.30.0, gix-url v0.24.0, gix-credentials v0.20.0, gix-diff v0.36.0, gix-discover v0.25.0, gix-ignore v0.8.0, gix-index v0.25.0, gix-mailmap v0.19.0, gix-negotiate v0.8.0, gix-pack v0.43.0, gix-odb v0.53.0, gix-pathspec v0.3.0, gix-transport v0.37.0, gix-protocol v0.40.0, gix-revision v0.22.0, gix-refspec v0.18.0, gix-status v0.1.0, gix-submodule v0.4.0, gix-worktree v0.26.0, gix-worktree-state v0.3.0, gix v0.54.0, gitoxide-core v0.32.0, gitoxide v0.30.0, safety bump 37 crates ([`7891fb1`](https://github.com/Byron/gitoxide/commit/7891fb17348ec2f4c997665f9a25be36e2713da4)) - - Prepare changelogs prior to release ([`8a60d5b`](https://github.com/Byron/gitoxide/commit/8a60d5b80877c213c3b646d3061e8a33e0e433ec)) -</details> - -## 0.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/> - - - 7 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 'adjustments-for-cargo' ([`b7560a2`](https://github.com/Byron/gitoxide/commit/b7560a2445b62f888bf5aa2ba4c5a47ae037cb23)) - - Release gix-date v0.7.4, gix-index v0.23.0, safety bump 5 crates ([`3be2b1c`](https://github.com/Byron/gitoxide/commit/3be2b1ccfe30eeae45711c64b88efc522a2b51b7)) - - 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/> - - - 6 commits contributed to the release over the course of 18 calendar days. - - 30 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-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 ([`6c62e74`](https://github.com/Byron/gitoxide/commit/6c62e748240ac0980fc23fdf30f8477dea8b9bc3)) - - 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)) - - 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)) - - Merge branch 'dev-on-linux' ([`6b4a303`](https://github.com/Byron/gitoxide/commit/6b4a30330fe49fc97daa73f55bf56580cc0597aa)) - - Fix various tests to run properly on linux ([`ef8ccd9`](https://github.com/Byron/gitoxide/commit/ef8ccd9d16143d37155d063747c69cade80f162d)) -</details> - -## 0.5.1 (2023-07-22) - -A maintenance release without user-facing changes. - -### Commit Statistics - -<csr-read-only-do-not-edit/> - - - 7 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-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 ([`0062971`](https://github.com/Byron/gitoxide/commit/00629710dffeb10fda340665530353703cf5d129)) - - Release gix-tempfile v7.0.2, 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 ([`107a64e`](https://github.com/Byron/gitoxide/commit/107a64e734580ad9e2c4142db96394529d8072df)) - - 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.5.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.4.0 (2023-06-29) - -A maintenance release without user-facing changes. - -### Commit Statistics - -<csr-read-only-do-not-edit/> - - - 2 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)) -</details> - -## 0.3.0 (2023-06-22) - -<csr-id-bcad5c22049d56a25ef69d6c7a3344e78f9a1d4d/> - -### Chore - - - <csr-id-bcad5c22049d56a25ef69d6c7a3344e78f9a1d4d/> Add `clippy::redundant-closure-for-method-calls` lint - -### New Features - - - <csr-id-d0ff6bcb01a545bfe95759a1d4d0ef8ac327a47f/> Add type to identify the kind of map we use in `Graph`. - -### Bug Fixes - - - <csr-id-2536f49a6fdbb21e3f1a9fcbfd5df94e0dcc7efc/> add `Debug` impl for `Metadata` - -### Commit Statistics - -<csr-read-only-do-not-edit/> - - - 11 commits contributed to the release over the course of 11 calendar days. - - 12 days passed between releases. - - 3 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)) - - Add type to identify the kind of map we use in `Graph`. ([`d0ff6bc`](https://github.com/Byron/gitoxide/commit/d0ff6bcb01a545bfe95759a1d4d0ef8ac327a47f)) - - Add `Debug` impl for `Metadata` ([`2536f49`](https://github.com/Byron/gitoxide/commit/2536f49a6fdbb21e3f1a9fcbfd5df94e0dcc7efc)) - - Merge branch 'help-874-redundant-closures' ([`fe59956`](https://github.com/Byron/gitoxide/commit/fe59956ad667303a923d7cfd9ffd72283df41d78)) - - Add `clippy::redundant-closure-for-method-calls` lint ([`bcad5c2`](https://github.com/Byron/gitoxide/commit/bcad5c22049d56a25ef69d6c7a3344e78f9a1d4d)) - - Merge branch 'future-dates' ([`8d2e6a9`](https://github.com/Byron/gitoxide/commit/8d2e6a91ac92a033e9e3daad5cffa90263075536)) - - Adapt to changes in `gix-revision`/`gix-revwalk` ([`1fdaf71`](https://github.com/Byron/gitoxide/commit/1fdaf71d32eb60ad056376d27837ff37d4d314cd)) -</details> - -## 0.2.1 (2023-06-10) - -A maintenance release without user-facing changes. - -### Commit Statistics - -<csr-read-only-do-not-edit/> - - - 4 commits contributed to the release. - - 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-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)) - - Adapt to changes in `gix-revwalk` ([`f7d95d1`](https://github.com/Byron/gitoxide/commit/f7d95d189af1422a7ba48db1857452e32e1d9db9)) -</details> - -## 0.2.0 (2023-06-06) - -<csr-id-1571528f8779330aa1d077b1452aa00d9b419033/> - -### New Features - - - <csr-id-1bd93bedd2f184510239c50c345d3dbc41d7d13b/> allow graph sharing by unifying `Flags` type. - This makes the graph used in `gix-negotiate` shareable by callers, which can - do their own traversal and store their own flags. The knowlege of this traversal - can be kept using such shared flags, like the `PARSED` bit which should be set whenever - parents are traversed. - - That way we are able to emulate the algorithms git uses perfectly, as we keep exactly the - same state. - - <csr-id-4aad40d6b6ddee0bc01b222cc2426c61c61d0b1a/> implement `skipping` negotiation algorithm - - <csr-id-01aba9e92941240eefa898890f1b8b8d824db509/> implement `consecutive` algorithm. - This is the default negotiation algorithm. - - <csr-id-1f6e6d8aeb512b2afcd1911cf32e4f7e622bf73d/> introduce the `noop` negotiator to establish a basic trait for negotiators. - -### Other - - - <csr-id-1571528f8779330aa1d077b1452aa00d9b419033/> try to change test-suite from --negotiate-only to the more realistic fetch with --dry-run. - This means we will have to reproduce what git does naturally, to fill in common refs - and also provide tips. - - Unfortunately this doesn't work as it's apparently not really dry-running, but modifying - the repository underneath. This means it's not idempotent when running it multiple times. - -### Commit Statistics - -<csr-read-only-do-not-edit/> - - - 17 commits contributed to the release over the course of 17 calendar days. - - 18 days passed between releases. - - 5 commits were understood as [conventional](https://www.conventionalcommits.org). - - 0 issues like '(#ID)' were seen in commit messages - -### Commit Details - -<csr-read-only-do-not-edit/> - -<details><summary>view details</summary> - - * **Uncategorized** - - Release gix-date v0.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)) - - Allow graph sharing by unifying `Flags` type. ([`1bd93be`](https://github.com/Byron/gitoxide/commit/1bd93bedd2f184510239c50c345d3dbc41d7d13b)) - - Merge branch 'main' into auto-clippy ([`3ef5c90`](https://github.com/Byron/gitoxide/commit/3ef5c90aebce23385815f1df674c1d28d58b4b0d)) - - Merge branch 'blinxen/main' ([`9375cd7`](https://github.com/Byron/gitoxide/commit/9375cd75b01aa22a0e2eed6305fe45fabfd6c1ac)) - - Include license files in all crates ([`facaaf6`](https://github.com/Byron/gitoxide/commit/facaaf633f01c857dcf2572c6dbe0a92b7105c1c)) - - Merge branch 'consecutive-negotiation' ([`97b3f7e`](https://github.com/Byron/gitoxide/commit/97b3f7e2eaddea20c98f2f7ab6a0d2e2117b0793)) - - Try to change test-suite from --negotiate-only to the more realistic fetch with --dry-run. ([`1571528`](https://github.com/Byron/gitoxide/commit/1571528f8779330aa1d077b1452aa00d9b419033)) - - Add a test to also validate interaction with known_common/remote refs ([`5bdd071`](https://github.com/Byron/gitoxide/commit/5bdd0716f359683060bab0f0695245a653bb6775)) - - Figure out what's wrong with 'skipping' and fix it ([`1b19ab1`](https://github.com/Byron/gitoxide/commit/1b19ab11c0928f26443d22ecfb6f211f4cdb5946)) - - Attempt to figure out what 'consecutive' needs to pass the tests ([`1809a99`](https://github.com/Byron/gitoxide/commit/1809a994c9d8a50bc73d283fd20ac825bfa6e92d)) - - Implement `skipping` negotiation algorithm ([`4aad40d`](https://github.com/Byron/gitoxide/commit/4aad40d6b6ddee0bc01b222cc2426c61c61d0b1a)) - - Implement `consecutive` algorithm. ([`01aba9e`](https://github.com/Byron/gitoxide/commit/01aba9e92941240eefa898890f1b8b8d824db509)) - - A baseline test for the noop negotiator ([`5cd7748`](https://github.com/Byron/gitoxide/commit/5cd7748279fd502f3651e37150f60a785f972a48)) - - Introduce the `noop` negotiator to establish a basic trait for negotiators. ([`1f6e6d8`](https://github.com/Byron/gitoxide/commit/1f6e6d8aeb512b2afcd1911cf32e4f7e622bf73d)) -</details> - -## v0.1.0 (2023-05-19) - -Initial release with a single function to calculate the window size for `HAVE` lines. - -### Commit Statistics - -<csr-read-only-do-not-edit/> - - - 2 commits contributed to the release. - - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - - 0 issues like '(#ID)' were seen in commit messages - -### Commit Details - -<csr-read-only-do-not-edit/> - -<details><summary>view details</summary> - - * **Uncategorized** - - Release gix-commitgraph v0.15.0, gix-revision v0.14.0, gix-negotiate v0.1.0, safety bump 7 crates ([`92832ca`](https://github.com/Byron/gitoxide/commit/92832ca2899cd2f222f4c7b1cc9e766178f55806)) - - Add new crate for implementing and testing git negotiation logic. ([`372ba09`](https://github.com/Byron/gitoxide/commit/372ba09bb00e3fab674f0251f697aab11c5559f8)) -</details> - diff --git a/vendor/gix-negotiate/Cargo.toml b/vendor/gix-negotiate/Cargo.toml index e4ac882b0..c80547ebe 100644 --- a/vendor/gix-negotiate/Cargo.toml +++ b/vendor/gix-negotiate/Cargo.toml @@ -13,8 +13,12 @@ edition = "2021" rust-version = "1.65" name = "gix-negotiate" -version = "0.9.0" +version = "0.10.0" authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"] +include = [ + "src/**/*", + "LICENSE-*", +] description = "A crate of the gitoxide project implementing negotiation algorithms" license = "MIT OR Apache-2.0" repository = "https://github.com/Byron/gitoxide" @@ -27,19 +31,19 @@ doctest = false version = "2" [dependencies.gix-commitgraph] -version = "^0.22.0" +version = "^0.22.1" [dependencies.gix-date] -version = "^0.8.0" +version = "^0.8.1" [dependencies.gix-hash] -version = "^0.13.1" +version = "^0.13.2" [dependencies.gix-object] -version = "^0.38.0" +version = "^0.39.0" [dependencies.gix-revwalk] -version = "^0.9.0" +version = "^0.10.0" [dependencies.smallvec] version = "1.10.0" diff --git a/vendor/gix-negotiate/LICENSE-MIT b/vendor/gix-negotiate/LICENSE-MIT index b58e818f1..97c2fa7d8 100644 --- a/vendor/gix-negotiate/LICENSE-MIT +++ b/vendor/gix-negotiate/LICENSE-MIT @@ -1,5 +1,3 @@ -MIT License - Copyright (c) 2018-2021 Sebastian Thiel, and [contributors](https://github.com/byron/gitoxide/contributors). Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/vendor/gix-negotiate/src/lib.rs b/vendor/gix-negotiate/src/lib.rs index 24b76cf69..bb488816f 100644 --- a/vendor/gix-negotiate/src/lib.rs +++ b/vendor/gix-negotiate/src/lib.rs @@ -144,4 +144,4 @@ pub trait Negotiator { } /// An error that happened during any of the methods on a [`Negotiator`]. -pub type Error = gix_revwalk::graph::lookup::commit::Error; +pub type Error = gix_revwalk::graph::try_lookup_or_insert_default::Error; diff --git a/vendor/gix-negotiate/tests/baseline/mod.rs b/vendor/gix-negotiate/tests/baseline/mod.rs deleted file mode 100644 index f4ba0449f..000000000 --- a/vendor/gix-negotiate/tests/baseline/mod.rs +++ /dev/null @@ -1,226 +0,0 @@ -use std::cell::RefCell; - -use gix_negotiate::Algorithm; -use gix_object::{bstr, bstr::ByteSlice}; -use gix_odb::{Find, FindExt}; -use gix_ref::{file::ReferenceExt, store::WriteReflog}; - -#[test] -fn run() -> crate::Result { - let root = gix_testtools::scripted_fixture_read_only("make_repos.sh")?; - for case in [ - "no_parents", - "clock_skew", - "two_colliding_skips", - "multi_round", - "advertisement_as_filter", - ] { - let base = root.join(case); - - for (algo_name, algo) in [ - ("noop", Algorithm::Noop), - ("consecutive", Algorithm::Consecutive), - ("skipping", Algorithm::Skipping), - ] { - let obj_buf = RefCell::new(Vec::new()); - let buf = std::fs::read(base.join(format!("baseline.{algo_name}")))?; - let store = gix_odb::at(base.join("client").join(".git/objects"))?; - let refs = gix_ref::file::Store::at( - base.join("client").join(".git"), - WriteReflog::Disable, - gix_hash::Kind::Sha1, - ); - let lookup_names = |names: &[&str]| -> Vec<gix_hash::ObjectId> { - names - .iter() - .filter_map(|name| { - refs.try_find(*name).expect("one tag per commit").map(|mut r| { - r.peel_to_id_in_place(&refs, &mut |id, buf| { - store.try_find(&id, buf).map(|d| d.map(|d| (d.kind, d.data))) - }) - .expect("works"); - r.target.into_id() - }) - }) - .collect() - }; - let message = |id: gix_hash::ObjectId| { - store - .find_commit(&id, obj_buf.borrow_mut().as_mut()) - .expect("present") - .message - .trim() - .as_bstr() - .to_owned() - }; - - let debug = false; - for use_cache in [false, true] { - let cache = use_cache - .then(|| gix_commitgraph::at(store.store_ref().path().join("info")).ok()) - .flatten(); - let mut graph = gix_revwalk::Graph::new( - |id, buf| { - store - .try_find(id, buf) - .map(|r| r.and_then(gix_object::Data::try_into_commit_iter)) - }, - cache, - ); - let mut negotiator = algo.into_negotiator(); - if debug { - eprintln!("ALGO {algo_name} CASE {case}"); - } - // // In --negotiate-only mode, which seems to be the only thing that's working after trying --dry-run, we unfortunately - // // don't get to see what happens if known-common commits are added as git itself doesn't do that in this mode - // // for some reason. - // for common in lookup_names(&["origin/main"]) { - // eprintln!("COMMON {name} {common}", name = message(common)); - // negotiator.known_common(common)?; - // } - for tip in lookup_names(&["HEAD"]).into_iter().chain( - refs.iter()? - .prefixed("refs/heads".as_ref())? - .filter_map(Result::ok) - .map(|r| r.target.into_id()), - ) { - if debug { - eprintln!("TIP {name} {tip}", name = message(tip)); - } - negotiator.add_tip(tip, &mut graph)?; - } - for (round, Round { mut haves, common }) in ParseRounds::new(buf.lines()).enumerate() { - if algo == Algorithm::Skipping { - if case == "clock_skew" { - // Here for some reason the prio-queue of git manages to not sort the parent of C2, which is in the future, to be - // ahead of old4 that is in the past. In the git version of this test, they say to expect exactly this sequence - // as well even though it's not actually happening (but that they can't see due to the way they are testing). - haves = lookup_names(&["c2", "c1", "old4", "old2", "old1"]); - } else if case == "two_colliding_skips" { - // The same thing, we actually get exactly the right order, whereas git for some reason doesn't. - // This is the order expected in the git tests. - haves = lookup_names(&["c5side", "c11", "c9", "c6", "c1"]); - } else if case == "multi_round" && round == 1 { - // Here, probably also because of priority queue quirks, `git` emits the commits out of order, with only one - // branch, b5 I think, being out of place. This list puts the expectation in the right order, which is ordered - // by commit date. - haves = lookup_names(&[ - "b8.c14", "b7.c14", "b6.c14", "b5.c14", "b4.c14", "b3.c14", "b2.c14", "b8.c9", "b7.c9", - "b6.c9", "b5.c9", "b4.c9", "b3.c9", "b2.c9", "b8.c1", "b7.c1", "b6.c1", "b5.c1", - "b4.c1", "b3.c1", "b2.c1", "b8.c0", "b7.c0", "b6.c0", "b5.c0", "b4.c0", "b3.c0", - "b2.c0", - ]); - } else if case == "advertisement_as_filter" { - haves = lookup_names(&["c2side", "c5", "origin/main"]) - .into_iter() - .chain(Some( - gix_hash::ObjectId::from_hex(b"f36cefa0be2ac180d360a54b1cc4214985cea60a").unwrap(), - )) - .collect(); - } - } - for have in haves { - let actual = negotiator.next_have(&mut graph).unwrap_or_else(|| { - panic!("{algo_name}:cache={use_cache}: one have per baseline: {have} missing or in wrong order", have = message(have)) - })?; - assert_eq!( - actual, - have, - "{algo_name}:cache={use_cache}: order and commit matches exactly, wanted {expected}, got {actual}, commits left: {:?}", - std::iter::from_fn(|| negotiator.next_have(&mut graph)).map(|id| message(id.unwrap())).collect::<Vec<_>>(), - actual = message(actual), - expected = message(have) - ); - if debug { - eprintln!("have {}", message(actual)); - } - } - for common_revision in common { - if debug { - eprintln!("ACK {}", message(common_revision)); - } - negotiator.in_common_with_remote(common_revision, &mut graph)?; - } - } - assert!( - negotiator.next_have(&mut graph).is_none(), - "{algo_name}:cache={use_cache}: negotiator should be depleted after all recorded baseline rounds" - ); - } - } - } - Ok(()) -} - -struct ParseRounds<'a> { - lines: bstr::Lines<'a>, -} - -impl<'a> ParseRounds<'a> { - pub fn new(mut lines: bstr::Lines<'a>) -> Self { - parse::command(&mut lines, parse::Command::Incoming).expect("handshake"); - Self { lines } - } -} - -impl<'a> Iterator for ParseRounds<'a> { - type Item = Round; - - fn next(&mut self) -> Option<Self::Item> { - let haves = parse::object_ids("have", parse::command(&mut self.lines, parse::Command::Outgoing)?); - let common = parse::object_ids("ACK", parse::command(&mut self.lines, parse::Command::Incoming)?); - if haves.is_empty() { - assert!(common.is_empty(), "cannot ack what's not there"); - return None; - } - Round { haves, common }.into() - } -} - -struct Round { - pub haves: Vec<gix_hash::ObjectId>, - pub common: Vec<gix_hash::ObjectId>, -} - -mod parse { - use gix_object::{ - bstr, - bstr::{BStr, ByteSlice}, - }; - - #[derive(Debug, Eq, PartialEq, Copy, Clone)] - pub enum Command { - Incoming, - Outgoing, - } - - pub fn object_ids(prefix: &str, lines: impl IntoIterator<Item = impl AsRef<[u8]>>) -> Vec<gix_hash::ObjectId> { - lines - .into_iter() - .filter_map(|line| { - line.as_ref() - .strip_prefix(prefix.as_bytes()) - .map(|id| gix_hash::ObjectId::from_hex(id.trim()).expect("valid hash")) - }) - .collect() - } - - pub fn command<'a>(lines: &mut bstr::Lines<'a>, wanted: Command) -> Option<Vec<&'a BStr>> { - let mut out = Vec::new(); - for line in lines { - let pos = line.find(b"fetch").expect("fetch token"); - let line_mode = match &line[pos + 5..][..2] { - b"< " => Command::Incoming, - b"> " => Command::Outgoing, - invalid => unreachable!("invalid fetch token: {:?}", invalid.as_bstr()), - }; - assert_eq!(line_mode, wanted, "command with unexpected mode"); - let line = line[pos + 7..].as_bstr(); - if line == "0000" { - break; - } - out.push(line); - } - (!out.is_empty()).then_some(out) - } -} diff --git a/vendor/gix-negotiate/tests/fixtures/generated-archives/make_repos.tar.xz b/vendor/gix-negotiate/tests/fixtures/generated-archives/make_repos.tar.xz Binary files differdeleted file mode 100644 index 93e836931..000000000 --- a/vendor/gix-negotiate/tests/fixtures/generated-archives/make_repos.tar.xz +++ /dev/null diff --git a/vendor/gix-negotiate/tests/fixtures/make_repos.sh b/vendor/gix-negotiate/tests/fixtures/make_repos.sh deleted file mode 100755 index b1b96527d..000000000 --- a/vendor/gix-negotiate/tests/fixtures/make_repos.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/bash -set -eu -o pipefail - -function tick () { - if test -z "${tick+set}" - then - tick=1112911993 - else - tick=$(($tick + 60)) - fi - GIT_COMMITTER_DATE="$tick -0700" - GIT_AUTHOR_DATE="$tick -0700" - export GIT_COMMITTER_DATE GIT_AUTHOR_DATE -} - -tick -function commit() { - local message=${1:?first argument is the commit message} - local file="$message.t" - echo "$1" > "$file" - git add -- "$file" - tick - git commit -m "$message" - git tag "$message" -} - -function negotiation_tips () { - local tips="" - for arg in "$@"; do - tips+=" --negotiation-tip=$arg" - done - echo "$tips" -} - -function trace_fetch_baseline () { - local remote="${1:?need remote url}"; shift - git -C client commit-graph write --no-progress --reachable - git -C client repack -adq - - for algo in noop consecutive skipping; do - GIT_TRACE_PACKET="$PWD/baseline.$algo" \ - git -C client -c fetch.negotiationAlgorithm="$algo" fetch --negotiate-only $(negotiation_tips "$@") \ - --upload-pack 'unset GIT_TRACE_PACKET; git-upload-pack' \ - "$remote" || : - done -} - - -(mkdir no_parents && cd no_parents - git init -q server && cd server - commit to_fetch - cd .. - - (git init -q client && cd client - for i in $(seq 7); do - commit c$i - done - ) - - trace_fetch_baseline file://$PWD/server main -) - -(mkdir two_colliding_skips && cd two_colliding_skips - git init -q server && cd server - commit to_fetch - cd .. - - (git init -q client && cd client - for i in $(seq 11); do - commit c$i - done - git checkout c5 - commit c5side - ) - - trace_fetch_baseline file://$PWD/server HEAD main -) - -(mkdir advertisement_as_filter && cd advertisement_as_filter - git init -q server && cd server - commit c1 - commit c2 - commit c3 - git tag -d c1 c2 c3 - cd .. - git clone server client && cd client - commit c4 - commit c5 - git checkout c4^^ - commit c2side - cd .. - (cd server - git checkout --orphan anotherbranch - commit to_fetch - ) - - trace_fetch_baseline origin HEAD main -) - - -(mkdir multi_round && cd multi_round - git init -q server && cd server - commit to_fetch - cd .. - - git init -q client && cd client - for i in $(seq 8); do - git checkout --orphan b$i && - commit b$i.c0 - done - - for j in $(seq 19); do - for i in $(seq 8); do - git checkout b$i && - commit b$i.c$j - done - done - cd .. - (cd server - git fetch --no-tags "$PWD/../client" b1:refs/heads/b1 - git checkout b1 - commit commit-on-b1 - ) - trace_fetch_baseline file://$PWD/server $(ls client/.git/refs/heads | sort) -) - -(mkdir clock_skew && cd clock_skew - git init -q server && cd server - commit to_fetch - cd .. - - (git init -q client && cd client - tick=2000000000 - commit c1 - commit c2 - - tick=1000000000 - git checkout c1 - commit old1 - commit old2 - commit old3 - commit old4 - ) - - trace_fetch_baseline file://$PWD/server HEAD main -) diff --git a/vendor/gix-negotiate/tests/negotiate.rs b/vendor/gix-negotiate/tests/negotiate.rs deleted file mode 100644 index bb56d06bf..000000000 --- a/vendor/gix-negotiate/tests/negotiate.rs +++ /dev/null @@ -1,46 +0,0 @@ -use gix_testtools::Result; - -mod window_size { - use gix_negotiate::window_size; - - #[test] - fn initial_value_without_previous_window_size() { - assert_eq!(window_size(false, None), 16); - assert_eq!(window_size(true, None), 16); - } - - #[test] - fn transport_is_stateless() { - let mut ws = window_size(true, None); - for expected in [32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 18022, 19824] { - ws = window_size(true, Some(ws)); - assert_eq!(ws, expected); - } - } - - #[test] - fn transport_is_not_stateless() { - let mut ws = window_size(false, None); - for expected in [32, 64, 96] { - ws = window_size(false, Some(ws)); - assert_eq!(ws, expected); - } - - let mut ws = 4; - for expected in [8, 16, 32, 64, 96] { - ws = window_size(false, Some(ws)); - assert_eq!(ws, expected); - } - } -} - -mod baseline; - -#[test] -fn size_of_entry() { - assert_eq!( - std::mem::size_of::<gix_revwalk::graph::Commit<gix_negotiate::Metadata>>(), - 56, - "we may keep a lot of these, so let's not let them grow unnoticed" - ); -} |