summaryrefslogtreecommitdiffstats
path: root/vendor/gix-fs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gix-fs')
-rw-r--r--vendor/gix-fs/.cargo-checksum.json2
-rw-r--r--vendor/gix-fs/CHANGELOG.md177
-rw-r--r--vendor/gix-fs/Cargo.toml8
-rw-r--r--vendor/gix-fs/src/capabilities.rs11
-rw-r--r--vendor/gix-fs/src/dir/create.rs14
-rw-r--r--vendor/gix-fs/src/dir/remove.rs3
-rw-r--r--vendor/gix-fs/src/lib.rs18
-rw-r--r--vendor/gix-fs/src/snapshot.rs26
-rw-r--r--vendor/gix-fs/src/stack.rs10
-rw-r--r--vendor/gix-fs/tests/dir/remove.rs2
-rw-r--r--vendor/gix-fs/tests/stack/mod.rs20
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 {