diff options
Diffstat (limited to 'vendor/gix-fs')
-rw-r--r-- | vendor/gix-fs/.cargo-checksum.json | 2 | ||||
-rw-r--r-- | vendor/gix-fs/CHANGELOG.md | 177 | ||||
-rw-r--r-- | vendor/gix-fs/Cargo.toml | 8 | ||||
-rw-r--r-- | vendor/gix-fs/src/capabilities.rs | 11 | ||||
-rw-r--r-- | vendor/gix-fs/src/dir/create.rs | 14 | ||||
-rw-r--r-- | vendor/gix-fs/src/dir/remove.rs | 3 | ||||
-rw-r--r-- | vendor/gix-fs/src/lib.rs | 18 | ||||
-rw-r--r-- | vendor/gix-fs/src/snapshot.rs | 26 | ||||
-rw-r--r-- | vendor/gix-fs/src/stack.rs | 10 | ||||
-rw-r--r-- | vendor/gix-fs/tests/dir/remove.rs | 2 | ||||
-rw-r--r-- | vendor/gix-fs/tests/stack/mod.rs | 20 |
11 files changed, 247 insertions, 44 deletions
diff --git a/vendor/gix-fs/.cargo-checksum.json b/vendor/gix-fs/.cargo-checksum.json index 76f0a8fae..45a24bb07 100644 --- a/vendor/gix-fs/.cargo-checksum.json +++ b/vendor/gix-fs/.cargo-checksum.json @@ -1 +1 @@ -{"files":{"CHANGELOG.md":"5c419c8f81af675613f9b4e2dc2fcd66ae32e5ac25c2cd41fb0278aad7ce35ce","Cargo.toml":"8b4a504ac7a7e425592a215838c09c4dc1e858ed777c1be62cae59a9cdfdfbce","LICENSE-APACHE":"cb4780590812826851ba250f90bed0ed19506ec98f6865a0e2e20bbf62391ff9","LICENSE-MIT":"49df47913ab2beafe8dc45607877ae64198bf0eee64aaad3e82ed9e4d27424e8","src/capabilities.rs":"2a3856a55cf4df3cd5313bee18bc38e09f1b6b9aa6e22e4c80f246b07608f190","src/dir/create.rs":"36d24b9390eda5fbed67c2caf4caa9f5514382d8da17e2cf64f0fa958a6e3c2d","src/dir/mod.rs":"bf7413a8cc754d8921159d830d8df5b532e9b50aac708c24d6865b4e4b39c788","src/dir/remove.rs":"0e4f9236826598a7c048476c2f8c6674bb6dbdb9b6ae7d6373ac97f38aa7bf4b","src/lib.rs":"ba177fec41b8a3eceb6f9da128bafb88962194130da61157538b9afbc7c07cd4","src/snapshot.rs":"b112638a5da73a724925bb0a28fdcf5edc644dde384d204825dfa2fb5efe70b6","src/stack.rs":"6ab506d520d0a2fc2bcd99956d4d05c057fac429eed2c7898ca4be264aebdcda","src/symlink.rs":"8e69a221190d82cf97ebbbdf7acc1443e1329aaa9d5ec614d49f13388f253bdf","tests/capabilities/mod.rs":"5925cb271fc616225c0b0ef7f1c03247e33b10bc799c50774f29891bd5b2dde0","tests/dir/create.rs":"6943308c9509b3dfffa0fafd633ecf531d95ca2a6b5893ec54ae9a3f9bf2d91e","tests/dir/mod.rs":"0655b7cfcce3dc4e28e9e854564ab2532942582ff4da2f375a930888615651da","tests/dir/remove.rs":"573a0c958e729821084482fd499cf9ed4c03f1ec48c7e5431f8db5e033949dd3","tests/fs.rs":"313928b6aef5f194231f40c93aea015ef44d27d356eb6979fc8cfa34126160ca","tests/stack/mod.rs":"f986ae13f4230483845548d37711c2c49f4e7be3c4db2f9d2021b8a29671c797"},"package":"30da8997008adb87f94e15beb7ee229f8a48e97af585a584bfee4a5a1880aab5"}
\ No newline at end of file +{"files":{"CHANGELOG.md":"762c017435bf17e7ab4cf10d0f1ffa95d2268d220f1dd599ed24e25846253b62","Cargo.toml":"d7b80f493d90211c314b375425b430f2fa70fb2891d313ef678a0e9c7586b32f","LICENSE-APACHE":"cb4780590812826851ba250f90bed0ed19506ec98f6865a0e2e20bbf62391ff9","LICENSE-MIT":"49df47913ab2beafe8dc45607877ae64198bf0eee64aaad3e82ed9e4d27424e8","src/capabilities.rs":"a784f08597dbfed3f42c5ef028b288cf97fc6b64bcb75e6c8f4e43668c88d6fb","src/dir/create.rs":"a0684526b608bec00ec9bc77ac58cf8ae39a65678f6c4d1ad39b1c0801202923","src/dir/mod.rs":"bf7413a8cc754d8921159d830d8df5b532e9b50aac708c24d6865b4e4b39c788","src/dir/remove.rs":"baead58ddea10770a46cc0822572b8cb21f3085ec692efb1bcd27919b622e4c7","src/lib.rs":"42f5434fd415a9616773ac585a333be6b7cf894a92bf8620014e8c8881d9c842","src/snapshot.rs":"436c8c5b72bc0b10f22a58e80304ae8e479a877007f7acb7746ae278417d239a","src/stack.rs":"c431124f93d17b0984640ebdcba6d9b8662f0e9a36feda33bc6b74fa6df4b872","src/symlink.rs":"8e69a221190d82cf97ebbbdf7acc1443e1329aaa9d5ec614d49f13388f253bdf","tests/capabilities/mod.rs":"5925cb271fc616225c0b0ef7f1c03247e33b10bc799c50774f29891bd5b2dde0","tests/dir/create.rs":"6943308c9509b3dfffa0fafd633ecf531d95ca2a6b5893ec54ae9a3f9bf2d91e","tests/dir/mod.rs":"0655b7cfcce3dc4e28e9e854564ab2532942582ff4da2f375a930888615651da","tests/dir/remove.rs":"83b2c265820192946f0c429aeb59c9fc212247df99868578bd7f28730730320d","tests/fs.rs":"313928b6aef5f194231f40c93aea015ef44d27d356eb6979fc8cfa34126160ca","tests/stack/mod.rs":"9f6cb3a0c8bd75584c18b58811b1a264df6fed79f0d22ea39ffe08e68a3f15d1"},"package":"09815faba62fe9b32d918b75a554686c98e43f7d48c43a80df58eb718e5c6635"}
\ No newline at end of file diff --git a/vendor/gix-fs/CHANGELOG.md b/vendor/gix-fs/CHANGELOG.md index 993c02883..efa95ea09 100644 --- a/vendor/gix-fs/CHANGELOG.md +++ b/vendor/gix-fs/CHANGELOG.md @@ -5,6 +5,178 @@ 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.7.0 (2023-09-24) + +### New Features + + - <csr-id-7a96a258cc8a5bad6414367cdbce390b7ac88b19/> add `DerefMut` implementation for `FileSnapshot`. + This allows to leverage `make_mut()`. + +### Commit Statistics + +<csr-read-only-do-not-edit/> + + - 3 commits contributed to the release over the course of 1 calendar day. + - 16 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** + - Prepare changelogs prior to release ([`8a60d5b`](https://github.com/Byron/gitoxide/commit/8a60d5b80877c213c3b646d3061e8a33e0e433ec)) + - Merge branch 'reset' ([`54a8495`](https://github.com/Byron/gitoxide/commit/54a849545140f7f1c0c7564c418071c0a76a34e7)) + - Add `DerefMut` implementation for `FileSnapshot`. ([`7a96a25`](https://github.com/Byron/gitoxide/commit/7a96a258cc8a5bad6414367cdbce390b7ac88b19)) +</details> + +## 0.6.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.5.0 (2023-08-22) + +### New Features + + - <csr-id-2650843c19ba2f41fe188c7db93c3536e19b2507/> add `FileSnapshot::new()` to create free-floating instances. + +### Commit Statistics + +<csr-read-only-do-not-edit/> + + - 4 commits contributed to the release over the course of 1 calendar day. + - 30 days passed between releases. + - 1 commit was understood as [conventional](https://www.conventionalcommits.org). + - 0 issues like '(#ID)' were seen in commit messages + +### Commit Details + +<csr-read-only-do-not-edit/> + +<details><summary>view details</summary> + + * **Uncategorized** + - Release gix-date v0.7.3, gix-hash v0.12.0, gix-features v0.33.0, gix-actor v0.25.0, gix-object v0.35.0, gix-path v0.9.0, gix-glob v0.11.0, gix-quote v0.4.7, gix-attributes v0.17.0, gix-command v0.2.9, gix-packetline-blocking v0.16.5, gix-filter v0.3.0, gix-fs v0.5.0, gix-commitgraph v0.19.0, gix-hashtable v0.3.0, gix-revwalk v0.6.0, gix-traverse v0.31.0, gix-worktree-stream v0.3.0, gix-archive v0.3.0, gix-config-value v0.13.0, gix-tempfile v8.0.0, gix-lock v8.0.0, gix-ref v0.35.0, gix-sec v0.9.0, gix-config v0.28.0, gix-prompt v0.6.0, gix-url v0.22.0, gix-credentials v0.18.0, gix-diff v0.34.0, gix-discover v0.23.0, gix-ignore v0.6.0, gix-bitmap v0.2.7, gix-index v0.22.0, gix-mailmap v0.17.0, gix-negotiate v0.6.0, gix-pack v0.41.0, gix-odb v0.51.0, gix-pathspec v0.1.0, gix-packetline v0.16.5, gix-transport v0.35.0, gix-protocol v0.38.0, gix-revision v0.20.0, gix-refspec v0.16.0, gix-submodule v0.2.0, gix-worktree v0.24.0, gix-worktree-state v0.1.0, gix v0.52.0, gitoxide-core v0.31.0, gitoxide v0.29.0, safety bump 41 crates ([`30b2761`](https://github.com/Byron/gitoxide/commit/30b27615047692d3ced1b2d9c2ac15a80f79fbee)) + - Update changelogs prior to release ([`f23ea88`](https://github.com/Byron/gitoxide/commit/f23ea8828f2d9ba7559973daca388c9591bcc5fc)) + - Merge branch 'submodule-in-gix' ([`36f7b78`](https://github.com/Byron/gitoxide/commit/36f7b783c67b8a087076a130f5ee9b90b23bc3cc)) + - Add `FileSnapshot::new()` to create free-floating instances. ([`2650843`](https://github.com/Byron/gitoxide/commit/2650843c19ba2f41fe188c7db93c3536e19b2507)) +</details> + +## 0.4.1 (2023-07-22) + +### New Features + + - <csr-id-a9eab8d59442be19e05be4912c756188675b2bda/> add `is_executable()` function to determine if metadata of a file is executable. + +### 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. + - 1 commit was understood as [conventional](https://www.conventionalcommits.org). + - 0 issues like '(#ID)' were seen in commit messages + +### Commit Details + +<csr-read-only-do-not-edit/> + +<details><summary>view details</summary> + + * **Uncategorized** + - Release gix-features v0.32.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)) + - Merge branch 'gix-archive' ([`1dda48b`](https://github.com/Byron/gitoxide/commit/1dda48ba2fccb93ebac00fe3460e923af43c86ce)) + - Add `is_executable()` function to determine if metadata of a file is executable. ([`a9eab8d`](https://github.com/Byron/gitoxide/commit/a9eab8d59442be19e05be4912c756188675b2bda)) + - 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. + +### New Features + + - <csr-id-a9eab8d59442be19e05be4912c756188675b2bda/> add `is_executable()` function to determine if metadata of a file is executable. + +### Commit Statistics + +<csr-read-only-do-not-edit/> + + - 3 commits contributed to the release. + - 26 days passed between releases. + - 0 commits were understood as [conventional](https://www.conventionalcommits.org). + - 0 issues like '(#ID)' were seen in commit messages + +### Commit Details + +<csr-read-only-do-not-edit/> + +<details><summary>view details</summary> + + * **Uncategorized** + - Release gix-features v0.32.0, gix-actor v0.24.0, gix-glob v0.10.0, gix-attributes v0.15.0, gix-commitgraph v0.18.0, gix-config-value v0.12.4, gix-fs v0.4.0, gix-object v0.33.0, gix-ref v0.33.0, gix-config v0.26.0, gix-command v0.2.7, gix-url v0.21.0, gix-credentials v0.17.0, gix-diff v0.33.0, gix-discover v0.22.0, gix-filter v0.1.0, gix-ignore v0.5.0, gix-revwalk v0.4.0, gix-traverse v0.30.0, gix-index v0.21.0, gix-mailmap v0.16.0, gix-negotiate v0.5.0, gix-pack v0.40.0, gix-odb v0.50.0, gix-transport v0.34.0, gix-protocol v0.36.0, gix-revision v0.18.0, gix-refspec v0.14.0, gix-worktree v0.22.0, gix v0.49.0 ([`68ae3ff`](https://github.com/Byron/gitoxide/commit/68ae3ff9d642ec56f088a6a682a073dc16f4e8ca)) + - Adjust package versions (by cargo-smart-release) ([`c70e54f`](https://github.com/Byron/gitoxide/commit/c70e54f163c312c87753a506eeaad462e8579bfb)) + - Prepare changelogs prior to release ([`e4dded0`](https://github.com/Byron/gitoxide/commit/e4dded05138562f9737a7dcfb60570c55769486d)) +</details> + +## 0.3.0 (2023-06-22) + +A maintenance release without user-facing changes. + +### Commit Statistics + +<csr-read-only-do-not-edit/> + + - 4 commits contributed to the release over the course of 5 calendar days. + - 15 days passed between releases. + - 0 commits were understood as [conventional](https://www.conventionalcommits.org). + - 0 issues like '(#ID)' were seen in commit messages + +### Commit Details + +<csr-read-only-do-not-edit/> + +<details><summary>view details</summary> + + * **Uncategorized** + - Release gix-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)) +</details> + ## 0.2.0 (2023-06-06) <csr-id-dbc6cbb4363c2532f81b0bd6e351c4577bb9e9a3/> @@ -17,8 +189,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 <csr-read-only-do-not-edit/> - - 8 commits contributed to the release over the course of 12 calendar days. - - 40 days passed between releases. + - 9 commits contributed to the release over the course of 12 calendar days. + - 41 days passed between releases. - 1 commit was understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages @@ -29,6 +201,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 <details><summary>view details</summary> * **Uncategorized** + - Release gix-date v0.5.1, gix-hash v0.11.2, gix-features v0.30.0, gix-actor v0.21.0, gix-path v0.8.1, gix-glob v0.8.0, gix-quote v0.4.4, gix-attributes v0.13.0, gix-chunk v0.4.2, gix-commitgraph v0.16.0, gix-config-value v0.12.1, gix-fs v0.2.0, gix-tempfile v6.0.0, gix-utils v0.1.2, gix-lock v6.0.0, gix-validate v0.7.5, gix-object v0.30.0, gix-ref v0.30.0, gix-sec v0.8.1, gix-config v0.23.0, gix-command v0.2.5, gix-prompt v0.5.1, gix-url v0.19.0, gix-credentials v0.15.0, gix-diff v0.30.0, gix-discover v0.19.0, gix-hashtable v0.2.1, gix-ignore v0.3.0, gix-bitmap v0.2.4, gix-traverse v0.26.0, gix-index v0.17.0, gix-mailmap v0.13.0, gix-revision v0.15.0, gix-negotiate v0.2.0, gix-pack v0.36.0, gix-odb v0.46.0, gix-packetline v0.16.2, gix-transport v0.32.0, gix-protocol v0.33.0, gix-refspec v0.11.0, gix-worktree v0.18.0, gix v0.45.0, safety bump 29 crates ([`9a9fa96`](https://github.com/Byron/gitoxide/commit/9a9fa96fa8a722bddc5c3b2270b0edf8f6615141)) - Prepare changelogs prior to release ([`8f15cec`](https://github.com/Byron/gitoxide/commit/8f15cec1ec7d5a9d56bb158f155011ef2bb3539b)) - Merge branch 'fix-docs' ([`420553a`](https://github.com/Byron/gitoxide/commit/420553a10d780e0b2dc466cac120989298a5f187)) - Cleaning up documentation ([`2578e57`](https://github.com/Byron/gitoxide/commit/2578e576bfa365d194a23a1fb0bf09be230873de)) diff --git a/vendor/gix-fs/Cargo.toml b/vendor/gix-fs/Cargo.toml index 72cc01483..a1d382256 100644 --- a/vendor/gix-fs/Cargo.toml +++ b/vendor/gix-fs/Cargo.toml @@ -11,19 +11,19 @@ [package] edition = "2021" -rust-version = "1.64" +rust-version = "1.65" name = "gix-fs" -version = "0.2.0" +version = "0.7.0" authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"] description = "A crate providing file system specific utilities to `gitoxide`" -license = "MIT/Apache-2.0" +license = "MIT OR Apache-2.0" repository = "https://github.com/Byron/gitoxide" [lib] doctest = false [dependencies.gix-features] -version = "^0.30.0" +version = "^0.35.0" [dev-dependencies.tempfile] version = "3.5.0" diff --git a/vendor/gix-fs/src/capabilities.rs b/vendor/gix-fs/src/capabilities.rs index 2b51deacc..4c0d2f8d9 100644 --- a/vendor/gix-fs/src/capabilities.rs +++ b/vendor/gix-fs/src/capabilities.rs @@ -45,14 +45,13 @@ impl Capabilities { /// `git_dir` is a typical git repository, expected to be populated with the typical files like `config`. /// /// All errors are ignored and interpreted on top of the default for the platform the binary is compiled for. - pub fn probe(git_dir: impl AsRef<Path>) -> Self { - let root = git_dir.as_ref(); + pub fn probe(git_dir: &Path) -> Self { let ctx = Capabilities::default(); Capabilities { - symlink: Self::probe_symlink(root).unwrap_or(ctx.symlink), - ignore_case: Self::probe_ignore_case(root).unwrap_or(ctx.ignore_case), - precompose_unicode: Self::probe_precompose_unicode(root).unwrap_or(ctx.precompose_unicode), - executable_bit: Self::probe_file_mode(root).unwrap_or(ctx.executable_bit), + symlink: Self::probe_symlink(git_dir).unwrap_or(ctx.symlink), + ignore_case: Self::probe_ignore_case(git_dir).unwrap_or(ctx.ignore_case), + precompose_unicode: Self::probe_precompose_unicode(git_dir).unwrap_or(ctx.precompose_unicode), + executable_bit: Self::probe_file_mode(git_dir).unwrap_or(ctx.executable_bit), } } diff --git a/vendor/gix-fs/src/dir/create.rs b/vendor/gix-fs/src/dir/create.rs index 7c7c9a033..642629bfd 100644 --- a/vendor/gix-fs/src/dir/create.rs +++ b/vendor/gix-fs/src/dir/create.rs @@ -116,7 +116,7 @@ impl<'a> Iter<'a> { } impl<'a> Iter<'a> { - fn pernanent_failure( + fn permanent_failure( &mut self, dir: &'a Path, err: impl Into<std::io::Error>, @@ -151,24 +151,24 @@ impl<'a> Iterator for Iter<'a> { self.state = State::CurrentlyCreatingDirectories; Some(Ok(dir)) } - AlreadyExists => self.pernanent_failure(dir, err), // is non-directory + AlreadyExists => self.permanent_failure(dir, err), // is non-directory NotFound => { self.retries.on_create_directory_failure -= 1; if let State::CurrentlyCreatingDirectories = self.state { self.state = State::SearchingUpwardsForExistingDirectory; self.retries.to_create_entire_directory -= 1; if self.retries.to_create_entire_directory < 1 { - return self.pernanent_failure(dir, NotFound); + return self.permanent_failure(dir, NotFound); } self.retries.on_create_directory_failure = self.original_retries.on_create_directory_failure; } if self.retries.on_create_directory_failure < 1 { - return self.pernanent_failure(dir, NotFound); + return self.permanent_failure(dir, NotFound); }; self.cursors.push(dir); self.cursors.push(match dir.parent() { - None => return self.pernanent_failure(dir, InvalidInput), + None => return self.permanent_failure(dir, InvalidInput), Some(parent) => parent, }); self.intermediate_failure(dir, err) @@ -176,12 +176,12 @@ impl<'a> Iterator for Iter<'a> { Interrupted => { self.retries.on_interrupt -= 1; if self.retries.on_interrupt <= 1 { - return self.pernanent_failure(dir, Interrupted); + return self.permanent_failure(dir, Interrupted); }; self.cursors.push(dir); self.intermediate_failure(dir, err) } - _unexpected_kind => self.pernanent_failure(dir, err), + _unexpected_kind => self.permanent_failure(dir, err), }, }, None => None, diff --git a/vendor/gix-fs/src/dir/remove.rs b/vendor/gix-fs/src/dir/remove.rs index ac7b212fa..cb5bff47c 100644 --- a/vendor/gix-fs/src/dir/remove.rs +++ b/vendor/gix-fs/src/dir/remove.rs @@ -78,8 +78,7 @@ pub fn empty_upward_until_boundary<'a>(delete_dir: &'a Path, boundary_dir: &'a P /// If any encountered directory contains a file the entire operation is aborted. /// Please note that this is inherently racy and no attempts are made to counter that, which will allow creators to win /// as long as they retry. -pub fn empty_depth_first(delete_dir: impl Into<PathBuf>) -> std::io::Result<()> { - let delete_dir = delete_dir.into(); +pub fn empty_depth_first(delete_dir: PathBuf) -> std::io::Result<()> { if let Ok(()) = std::fs::remove_dir(&delete_dir) { return Ok(()); } diff --git a/vendor/gix-fs/src/lib.rs b/vendor/gix-fs/src/lib.rs index aa576c240..1a3168928 100644 --- a/vendor/gix-fs/src/lib.rs +++ b/vendor/gix-fs/src/lib.rs @@ -2,6 +2,8 @@ #![deny(rust_2018_idioms, missing_docs)] #![forbid(unsafe_code)] +use std::path::PathBuf; + /// Common knowledge about the worktree that is needed across most interactions with the work tree #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[derive(PartialEq, Eq, Debug, Hash, Ord, PartialOrd, Clone, Copy)] @@ -25,9 +27,6 @@ pub struct Capabilities { mod capabilities; mod snapshot; - -use std::path::PathBuf; - pub use snapshot::{FileSnapshot, SharedFileSnapshot, SharedFileSnapshotMut}; /// @@ -51,5 +50,18 @@ pub struct Stack { current_is_directory: bool, } +#[cfg(unix)] +/// Returns whether a a file has the executable permission set. +pub fn is_executable(metadata: &std::fs::Metadata) -> bool { + use std::os::unix::fs::MetadataExt; + (metadata.mode() & 0o100) != 0 +} + +#[cfg(not(unix))] +/// Returns whether a a file has the executable permission set. +pub fn is_executable(_metadata: &std::fs::Metadata) -> bool { + false +} + /// pub mod stack; diff --git a/vendor/gix-fs/src/snapshot.rs b/vendor/gix-fs/src/snapshot.rs index 02a0ec843..2b21d0d9f 100644 --- a/vendor/gix-fs/src/snapshot.rs +++ b/vendor/gix-fs/src/snapshot.rs @@ -10,6 +10,26 @@ pub struct FileSnapshot<T: std::fmt::Debug> { modified: std::time::SystemTime, } +/// Lifecycle +impl<T: std::fmt::Debug> FileSnapshot<T> { + /// A way for users to create 'fake' snapshot from `value` that isn't actually linked to a file on disk. + /// + /// This is useful if there are alternative ways of obtaining the contained instance as fallback to trying + /// to read it from disk. + pub fn new(value: T) -> Self { + FileSnapshot { + value, + modified: std::time::UNIX_EPOCH, + } + } +} + +impl<T: std::fmt::Debug> From<T> for FileSnapshot<T> { + fn from(value: T) -> Self { + FileSnapshot::new(value) + } +} + impl<T: Clone + std::fmt::Debug> Clone for FileSnapshot<T> { fn clone(&self) -> Self { Self { @@ -37,6 +57,12 @@ impl<T: std::fmt::Debug> Deref for FileSnapshot<T> { } } +impl<T: std::fmt::Debug> std::ops::DerefMut for FileSnapshot<T> { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.value + } +} + impl<T: std::fmt::Debug> Deref for SharedFileSnapshotMut<T> { type Target = MutableOnDemand<Option<SharedFileSnapshot<T>>>; diff --git a/vendor/gix-fs/src/stack.rs b/vendor/gix-fs/src/stack.rs index 163c14464..d90d662ca 100644 --- a/vendor/gix-fs/src/stack.rs +++ b/vendor/gix-fs/src/stack.rs @@ -42,8 +42,7 @@ pub trait Delegate { impl Stack { /// Create a new instance with `root` being the base for all future paths we handle, assuming it to be valid which includes /// symbolic links to be included in it as well. - pub fn new(root: impl Into<PathBuf>) -> Self { - let root = root.into(); + pub fn new(root: PathBuf) -> Self { Stack { current: root.clone(), current_relative: PathBuf::with_capacity(128), @@ -59,12 +58,7 @@ impl Stack { /// The full path to `relative` will be returned along with the data returned by `push_comp`. /// Note that this only works correctly for the delegate's `push_directory()` and `pop_directory()` methods if /// `relative` paths are terminal, so point to their designated file or directory. - pub fn make_relative_path_current( - &mut self, - relative: impl AsRef<Path>, - delegate: &mut impl Delegate, - ) -> std::io::Result<()> { - let relative = relative.as_ref(); + pub fn make_relative_path_current(&mut self, relative: &Path, delegate: &mut dyn Delegate) -> std::io::Result<()> { debug_assert!( relative.is_relative(), "only index paths are handled correctly here, must be relative" diff --git a/vendor/gix-fs/tests/dir/remove.rs b/vendor/gix-fs/tests/dir/remove.rs index 4b08e5147..079cf6834 100644 --- a/vendor/gix-fs/tests/dir/remove.rs +++ b/vendor/gix-fs/tests/dir/remove.rs @@ -115,7 +115,7 @@ mod empty_depth_first { create_dir_all(tree_parent.join("one").join("two").join("three")).unwrap(); create_dir_all(tree_parent.join("c")).unwrap(); for empty in &[nested_parent, single_parent, tree_parent] { - gix_fs::dir::remove::empty_depth_first(empty).unwrap(); + gix_fs::dir::remove::empty_depth_first(empty.into()).unwrap(); } } } diff --git a/vendor/gix-fs/tests/stack/mod.rs b/vendor/gix-fs/tests/stack/mod.rs index 43eeac057..3e8cb7ade 100644 --- a/vendor/gix-fs/tests/stack/mod.rs +++ b/vendor/gix-fs/tests/stack/mod.rs @@ -29,13 +29,13 @@ impl gix_fs::stack::Delegate for Record { #[test] fn delegate_calls_are_consistent() -> crate::Result { let root = PathBuf::from("."); - let mut s = Stack::new(&root); + let mut s = Stack::new(root.clone()); assert_eq!(s.current(), root); assert_eq!(s.current_relative(), Path::new("")); let mut r = Record::default(); - s.make_relative_path_current("a/b", &mut r)?; + s.make_relative_path_current("a/b".as_ref(), &mut r)?; let mut dirs = vec![root.clone(), root.join("a")]; assert_eq!( r, @@ -46,7 +46,7 @@ fn delegate_calls_are_consistent() -> crate::Result { } ); - s.make_relative_path_current("a/b2", &mut r)?; + s.make_relative_path_current("a/b2".as_ref(), &mut r)?; assert_eq!( r, Record { @@ -56,7 +56,7 @@ fn delegate_calls_are_consistent() -> crate::Result { } ); - s.make_relative_path_current("c/d/e", &mut r)?; + s.make_relative_path_current("c/d/e".as_ref(), &mut r)?; dirs.pop(); dirs.extend([root.join("c"), root.join("c").join("d")]); assert_eq!( @@ -69,7 +69,7 @@ fn delegate_calls_are_consistent() -> crate::Result { ); dirs.push(root.join("c").join("d").join("x")); - s.make_relative_path_current("c/d/x/z", &mut r)?; + s.make_relative_path_current("c/d/x/z".as_ref(), &mut r)?; assert_eq!( r, Record { @@ -80,7 +80,7 @@ fn delegate_calls_are_consistent() -> crate::Result { ); dirs.drain(dirs.len() - 3..).count(); - s.make_relative_path_current("f", &mut r)?; + s.make_relative_path_current("f".as_ref(), &mut r)?; assert_eq!(s.current_relative(), Path::new("f")); assert_eq!( r, @@ -92,7 +92,7 @@ fn delegate_calls_are_consistent() -> crate::Result { ); dirs.push(root.join("x")); - s.make_relative_path_current("x/z", &mut r)?; + s.make_relative_path_current("x/z".as_ref(), &mut r)?; assert_eq!( r, Record { @@ -103,7 +103,7 @@ fn delegate_calls_are_consistent() -> crate::Result { ); dirs.push(root.join("x").join("z")); - s.make_relative_path_current("x/z/a", &mut r)?; + s.make_relative_path_current("x/z/a".as_ref(), &mut r)?; assert_eq!( r, Record { @@ -115,7 +115,7 @@ fn delegate_calls_are_consistent() -> crate::Result { dirs.push(root.join("x").join("z").join("a")); dirs.push(root.join("x").join("z").join("a").join("b")); - s.make_relative_path_current("x/z/a/b/c", &mut r)?; + s.make_relative_path_current("x/z/a/b/c".as_ref(), &mut r)?; assert_eq!( r, Record { @@ -126,7 +126,7 @@ fn delegate_calls_are_consistent() -> crate::Result { ); dirs.drain(dirs.len() - 2..).count(); - s.make_relative_path_current("x/z", &mut r)?; + s.make_relative_path_current("x/z".as_ref(), &mut r)?; assert_eq!( r, Record { |