summaryrefslogtreecommitdiffstats
path: root/vendor/gix-tempfile
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
commitdc0db358abe19481e475e10c32149b53370f1a1c (patch)
treeab8ce99c4b255ce46f99ef402c27916055b899ee /vendor/gix-tempfile
parentReleasing progress-linux version 1.71.1+dfsg1-2~progress7.99u1. (diff)
downloadrustc-dc0db358abe19481e475e10c32149b53370f1a1c.tar.xz
rustc-dc0db358abe19481e475e10c32149b53370f1a1c.zip
Merging upstream version 1.72.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/gix-tempfile')
-rw-r--r--vendor/gix-tempfile/.cargo-checksum.json2
-rw-r--r--vendor/gix-tempfile/CHANGELOG.md55
-rw-r--r--vendor/gix-tempfile/Cargo.lock227
-rw-r--r--vendor/gix-tempfile/Cargo.toml5
-rw-r--r--vendor/gix-tempfile/src/fs/create_dir.rs202
-rw-r--r--vendor/gix-tempfile/src/fs/mod.rs2
-rw-r--r--vendor/gix-tempfile/src/fs/remove_dir.rs108
-rw-r--r--vendor/gix-tempfile/src/lib.rs5
-rw-r--r--vendor/gix-tempfile/src/signal.rs2
9 files changed, 240 insertions, 368 deletions
diff --git a/vendor/gix-tempfile/.cargo-checksum.json b/vendor/gix-tempfile/.cargo-checksum.json
index fd7123668..e0cdc6a94 100644
--- a/vendor/gix-tempfile/.cargo-checksum.json
+++ b/vendor/gix-tempfile/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"CHANGELOG.md":"c267c2f8504463eb58f3bd849e39df4bafb4a8219cab3507338e6e032f0248c7","Cargo.lock":"5fb6b706b580009265b5fb75126305488ea14b93e8864456088aaf0881ef027c","Cargo.toml":"999ef3299e50c75ddd8bbd51eba364d9b7ecfcc41e7b8f85a21dbe5d81a6977d","LICENSE-APACHE":"cb4780590812826851ba250f90bed0ed19506ec98f6865a0e2e20bbf62391ff9","LICENSE-MIT":"49df47913ab2beafe8dc45607877ae64198bf0eee64aaad3e82ed9e4d27424e8","README.md":"48a31dad99a7ea256f4b0eb80726e12c77d3796069d3d40c0dada3790520617c","src/forksafe.rs":"654a2309e91e9e3761b9354ef2ffbc88bae65befb63deff5d7103b76613c043d","src/fs/create_dir.rs":"f06c1b0166b841b86ffb1bf443cdbfbde68f7b77b7f846f4ada106a1b9bc5578","src/fs/mod.rs":"3fb683d1373f4839b6e0e0440f59b208246b79a2d997906cd125bae42e9615ec","src/fs/remove_dir.rs":"0e4f9236826598a7c048476c2f8c6674bb6dbdb9b6ae7d6373ac97f38aa7bf4b","src/handle.rs":"77c242edd62d576e266c9bd2472037a535a732d6826d91ba75d835f9a0e6d387","src/lib.rs":"a05189e31944403fea993dbdc17b11feaa7134c16c40d1d191b4b085423d5b1c","src/registry.rs":"5f65f5c454e5a0c186839f0e25b99d6c352c1ed094b2859a170a5de6e66ecf09","src/signal.rs":"1b75c794b61848765ecf4ca74007305080e97cdde2463c24986690c9bde1fbc7"},"package":"c2ceb30a610e3f5f2d5f9a5114689fde507ba9417705a8cf3429604275b2153c"} \ No newline at end of file
+{"files":{"CHANGELOG.md":"54f9eb5893cd12193da6c9689c068008479346b44ae8ac1b5c547c8f9a8af655","Cargo.lock":"99251113f59b6b936c96b54aa8713a6552c4dc2fb58eceea4a2722efc2db7b7b","Cargo.toml":"c42f4a96f0095fb8d002374aa48ba908274869359eadbaa89edaca6cb2a343bc","LICENSE-APACHE":"cb4780590812826851ba250f90bed0ed19506ec98f6865a0e2e20bbf62391ff9","LICENSE-MIT":"49df47913ab2beafe8dc45607877ae64198bf0eee64aaad3e82ed9e4d27424e8","README.md":"48a31dad99a7ea256f4b0eb80726e12c77d3796069d3d40c0dada3790520617c","src/forksafe.rs":"654a2309e91e9e3761b9354ef2ffbc88bae65befb63deff5d7103b76613c043d","src/handle.rs":"77c242edd62d576e266c9bd2472037a535a732d6826d91ba75d835f9a0e6d387","src/lib.rs":"868c6d2bea6e2faa1e553e29cae06e752fa5b1d09cd6f82f8d2b86960044467c","src/registry.rs":"5f65f5c454e5a0c186839f0e25b99d6c352c1ed094b2859a170a5de6e66ecf09","src/signal.rs":"ce4145c7bdd3ce1e1b8a8c5cf43b8f0c99f932daadcea873ea2d5ed11dbd839d"},"package":"b3785cb010e9dc5c446dfbf02bc1119fc17d3a48a27c029efcb3a3c32953eb10"} \ No newline at end of file
diff --git a/vendor/gix-tempfile/CHANGELOG.md b/vendor/gix-tempfile/CHANGELOG.md
index 34392137d..05fbd9e42 100644
--- a/vendor/gix-tempfile/CHANGELOG.md
+++ b/vendor/gix-tempfile/CHANGELOG.md
@@ -5,6 +5,58 @@ 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).
+## 6.0.0 (2023-06-06)
+
+A maintenance release without user-facing changes.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 3 commits contributed to the release over the course of 11 calendar days.
+ - 40 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 ([`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))
+</details>
+
+## 5.0.3 (2023-04-26)
+
+A maintenance release without user-facing changes.
+
+### Commit Statistics
+
+<csr-read-only-do-not-edit/>
+
+ - 5 commits contributed to the release over the course of 10 calendar days.
+ - 31 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-hash v0.11.1, gix-path v0.7.4, gix-glob v0.6.0, gix-attributes v0.11.0, gix-config-value v0.11.0, gix-fs v0.1.1, gix-tempfile v5.0.3, gix-utils v0.1.1, gix-lock v5.0.1, gix-object v0.29.1, gix-ref v0.28.0, gix-sec v0.7.0, gix-config v0.21.0, gix-prompt v0.4.0, gix-url v0.17.0, gix-credentials v0.13.0, gix-diff v0.29.0, gix-discover v0.17.0, gix-hashtable v0.2.0, gix-ignore v0.1.0, gix-bitmap v0.2.3, gix-traverse v0.25.0, gix-index v0.16.0, gix-mailmap v0.12.0, gix-pack v0.34.0, gix-odb v0.44.0, gix-packetline v0.16.0, gix-transport v0.30.0, gix-protocol v0.31.0, gix-revision v0.13.0, gix-refspec v0.10.0, gix-worktree v0.16.0, gix v0.44.0, safety bump 7 crates ([`91134a1`](https://github.com/Byron/gitoxide/commit/91134a11c8ba0e942f692488ec9bce9fa1086324))
+ - Prepare changelogs prior to release ([`30a1a71`](https://github.com/Byron/gitoxide/commit/30a1a71f36f24faac0e0b362ffdfedea7f9cdbf1))
+ - Release gix-utils v0.1.0, gix-hash v0.11.0, gix-date v0.5.0, gix-features v0.29.0, gix-actor v0.20.0, gix-object v0.29.0, gix-archive v0.1.0, gix-fs v0.1.0, safety bump 25 crates ([`8dbd0a6`](https://github.com/Byron/gitoxide/commit/8dbd0a60557a85acfa231800a058cbac0271a8cf))
+ - Make fmt ([`5d2b5d0`](https://github.com/Byron/gitoxide/commit/5d2b5d02c3869e07dc2507a8f2519ee1df633df7))
+ - Create new `gix-fs` crate to consolidate all filesystem utilities ([`f8cc33c`](https://github.com/Byron/gitoxide/commit/f8cc33cb372dd2b4bbe4a09cf4f64916681ab1dd))
+</details>
+
## 5.0.2 (2023-03-26)
A maintenance release without any user-facing changes.
@@ -13,7 +65,7 @@ A maintenance release without any user-facing changes.
<csr-read-only-do-not-edit/>
- - 2 commits contributed to the release over the course of 3 calendar days.
+ - 3 commits contributed to the release over the course of 3 calendar days.
- 11 days passed between releases.
- 0 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' were seen in commit messages
@@ -25,6 +77,7 @@ A maintenance release without any user-facing changes.
<details><summary>view details</summary>
* **Uncategorized**
+ - Release gix-tempfile v5.0.2, gix-validate v0.7.4, gix-config v0.20.0, gix-prompt v0.3.3, gix-diff v0.28.1, gix-discover v0.16.1, gix-pack v0.33.2, gix-transport v0.29.1, gix-protocol v0.30.1, gix-revision v0.12.1, gix-worktree v0.15.1, gix v0.43.0, safety bump gix v0.43.0 ([`5dc1f9f`](https://github.com/Byron/gitoxide/commit/5dc1f9f2bcb8b3e147115fcb6f76558e8f48ffef))
- Prepare changelogs prior to release ([`3016a28`](https://github.com/Byron/gitoxide/commit/3016a285f566bdfe7de2774fa6f2254c1b1a2c51))
- Correct more typos with `typos` tool. ([`2321eb9`](https://github.com/Byron/gitoxide/commit/2321eb971c2b89551506e2016a3495fafd15b47d))
</details>
diff --git a/vendor/gix-tempfile/Cargo.lock b/vendor/gix-tempfile/Cargo.lock
index da192d93e..a2fa9828d 100644
--- a/vendor/gix-tempfile/Cargo.lock
+++ b/vendor/gix-tempfile/Cargo.lock
@@ -50,13 +50,13 @@ dependencies = [
[[package]]
name = "errno"
-version = "0.2.8"
+version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
+checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
dependencies = [
"errno-dragonfly",
"libc",
- "winapi",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -79,11 +79,41 @@ dependencies = [
]
[[package]]
+name = "gix-features"
+version = "0.30.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3a8c493409bf6060d408eec9bbdd1b12ea351266b50012e2a522f75dfc7b8314"
+dependencies = [
+ "gix-hash",
+ "libc",
+]
+
+[[package]]
+name = "gix-fs"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30da8997008adb87f94e15beb7ee229f8a48e97af585a584bfee4a5a1880aab5"
+dependencies = [
+ "gix-features",
+]
+
+[[package]]
+name = "gix-hash"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee181c85d3955f54c4426e6bfaeeada4428692e1a39b8788c2ac7785fc301dd8"
+dependencies = [
+ "hex",
+ "thiserror",
+]
+
+[[package]]
name = "gix-tempfile"
-version = "5.0.2"
+version = "6.0.0"
dependencies = [
"dashmap",
"document-features",
+ "gix-fs",
"libc",
"once_cell",
"parking_lot",
@@ -105,6 +135,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
name = "instant"
version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -115,26 +151,26 @@ dependencies = [
[[package]]
name = "io-lifetimes"
-version = "1.0.9"
+version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09270fd4fa1111bc614ed2246c7ef56239a3063d5be0d1ec3b589c505d400aeb"
+checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220"
dependencies = [
"hermit-abi",
"libc",
- "windows-sys 0.45.0",
+ "windows-sys 0.48.0",
]
[[package]]
name = "libc"
-version = "0.2.140"
+version = "0.2.142"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c"
+checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317"
[[package]]
name = "linux-raw-sys"
-version = "0.1.4"
+version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
+checksum = "9b085a4f2cde5781fc4b1717f2e86c62f5cda49de7ba99a7c2eae02b61c9064c"
[[package]]
name = "litrs"
@@ -176,12 +212,30 @@ checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
dependencies = [
"cfg-if",
"libc",
- "redox_syscall",
+ "redox_syscall 0.2.16",
"smallvec",
"windows-sys 0.45.0",
]
[[package]]
+name = "proc-macro2"
+version = "1.0.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
name = "redox_syscall"
version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -191,17 +245,26 @@ dependencies = [
]
[[package]]
+name = "redox_syscall"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
name = "rustix"
-version = "0.36.11"
+version = "0.37.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db4165c9963ab29e422d6c26fbc1d37f15bace6b2810221f9d925023480fcf0e"
+checksum = "f79bef90eb6d984c72722595b5b1348ab39275a5e5123faca6863bf07d75a4e0"
dependencies = [
"bitflags",
"errno",
"io-lifetimes",
"libc",
"linux-raw-sys",
- "windows-sys 0.45.0",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -236,62 +299,71 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
[[package]]
+name = "syn"
+version = "2.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
name = "tempfile"
-version = "3.4.0"
+version = "3.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95"
+checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
dependencies = [
"cfg-if",
"fastrand",
- "redox_syscall",
+ "redox_syscall 0.3.5",
"rustix",
- "windows-sys 0.42.0",
+ "windows-sys 0.45.0",
]
[[package]]
-name = "winapi"
-version = "0.3.9"
+name = "thiserror"
+version = "1.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
+ "thiserror-impl",
]
[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
+name = "thiserror-impl"
+version = "1.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
+name = "unicode-ident"
+version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
[[package]]
name = "windows-sys"
-version = "0.42.0"
+version = "0.45.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows-targets 0.42.2",
]
[[package]]
name = "windows-sys"
-version = "0.45.0"
+version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
- "windows-targets",
+ "windows-targets 0.48.0",
]
[[package]]
@@ -300,13 +372,28 @@ version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows_aarch64_gnullvm 0.42.2",
+ "windows_aarch64_msvc 0.42.2",
+ "windows_i686_gnu 0.42.2",
+ "windows_i686_msvc 0.42.2",
+ "windows_x86_64_gnu 0.42.2",
+ "windows_x86_64_gnullvm 0.42.2",
+ "windows_x86_64_msvc 0.42.2",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+dependencies = [
+ "windows_aarch64_gnullvm 0.48.0",
+ "windows_aarch64_msvc 0.48.0",
+ "windows_i686_gnu 0.48.0",
+ "windows_i686_msvc 0.48.0",
+ "windows_x86_64_gnu 0.48.0",
+ "windows_x86_64_gnullvm 0.48.0",
+ "windows_x86_64_msvc 0.48.0",
]
[[package]]
@@ -316,37 +403,79 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+
+[[package]]
name = "windows_aarch64_msvc"
version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+
+[[package]]
name = "windows_i686_gnu"
version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
[[package]]
+name = "windows_i686_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+
+[[package]]
name = "windows_i686_msvc"
version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
[[package]]
+name = "windows_i686_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+
+[[package]]
name = "windows_x86_64_gnu"
version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+
+[[package]]
name = "windows_x86_64_gnullvm"
version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+
+[[package]]
name = "windows_x86_64_msvc"
version = "0.42.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
diff --git a/vendor/gix-tempfile/Cargo.toml b/vendor/gix-tempfile/Cargo.toml
index 4b1888082..0c18ddf0a 100644
--- a/vendor/gix-tempfile/Cargo.toml
+++ b/vendor/gix-tempfile/Cargo.toml
@@ -13,7 +13,7 @@
edition = "2021"
rust-version = "1.64"
name = "gix-tempfile"
-version = "5.0.2"
+version = "6.0.0"
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
include = [
"src/**/*",
@@ -61,6 +61,9 @@ optional = true
version = "0.2.0"
optional = true
+[dependencies.gix-fs]
+version = "^0.2.0"
+
[dependencies.once_cell]
version = "1.8.0"
features = [
diff --git a/vendor/gix-tempfile/src/fs/create_dir.rs b/vendor/gix-tempfile/src/fs/create_dir.rs
deleted file mode 100644
index 65efdb2b8..000000000
--- a/vendor/gix-tempfile/src/fs/create_dir.rs
+++ /dev/null
@@ -1,202 +0,0 @@
-//!
-use std::path::Path;
-
-/// The amount of retries to do during various aspects of the directory creation.
-#[derive(Debug, Clone, Copy, Ord, PartialOrd, Eq, PartialEq)]
-pub struct Retries {
- /// How many times the whole directory can be created in the light of racy interference.
- /// This count combats racy situations where another process is trying to remove a directory that we want to create,
- /// and is deliberately higher than those who do deletion. That way, creation usually wins.
- pub to_create_entire_directory: usize,
- /// The amount of times we can try to create a directory because we couldn't as the parent didn't exist.
- /// This amounts to the maximum subdirectory depth we allow to be created. Counts once per attempt to create the entire directory.
- pub on_create_directory_failure: usize,
- /// How often to retry to create a single directory if an interrupt happens, as caused by signals.
- pub on_interrupt: usize,
-}
-
-impl Default for Retries {
- fn default() -> Self {
- Retries {
- on_interrupt: 10,
- to_create_entire_directory: 5,
- on_create_directory_failure: 25,
- }
- }
-}
-
-mod error {
- use std::{fmt, path::Path};
-
- use crate::fs::create_dir::Retries;
-
- /// The error returned by [all()][super::all()].
- #[allow(missing_docs)]
- #[derive(Debug)]
- pub enum Error<'a> {
- /// A failure we will probably recover from by trying again.
- Intermediate { dir: &'a Path, kind: std::io::ErrorKind },
- /// A failure that ends the operation.
- Permanent {
- dir: &'a Path,
- err: std::io::Error,
- /// The retries left after running the operation
- retries_left: Retries,
- /// The original amount of retries to allow determining how many were actually used
- retries: Retries,
- },
- }
-
- impl<'a> fmt::Display for Error<'a> {
- fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
- match self {
- Error::Intermediate { dir, kind } => write!(
- f,
- "Intermediae failure creating {:?} with error: {:?}",
- dir.display(),
- kind
- ),
- Error::Permanent {
- err: _,
- dir,
- retries_left,
- retries,
- } => write!(
- f,
- "Permanently failing to create directory {dir:?} ({retries_left:?} of {retries:?})",
- ),
- }
- }
- }
-
- impl<'a> std::error::Error for Error<'a> {
- fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
- match self {
- Error::Permanent { err, .. } => Some(err),
- _ => None,
- }
- }
- }
-}
-pub use error::Error;
-
-enum State {
- CurrentlyCreatingDirectories,
- SearchingUpwardsForExistingDirectory,
-}
-
-/// A special iterator which communicates its operation through results where…
-///
-/// * `Some(Ok(created_directory))` is yielded once or more success, followed by `None`
-/// * `Some(Err(Error::Intermediate))` is yielded zero or more times while trying to create the directory.
-/// * `Some(Err(Error::Permanent))` is yielded exactly once on failure.
-pub struct Iter<'a> {
- cursors: Vec<&'a Path>,
- retries: Retries,
- original_retries: Retries,
- state: State,
-}
-
-/// Construction
-impl<'a> Iter<'a> {
- /// Create a new instance that creates `target` when iterated with the default amount of [`Retries`].
- pub fn new(target: &'a Path) -> Self {
- Self::new_with_retries(target, Default::default())
- }
-
- /// Create a new instance that creates `target` when iterated with the specified amount of `retries`.
- pub fn new_with_retries(target: &'a Path, retries: Retries) -> Self {
- Iter {
- cursors: vec![target],
- original_retries: retries,
- retries,
- state: State::SearchingUpwardsForExistingDirectory,
- }
- }
-}
-
-impl<'a> Iter<'a> {
- fn pernanent_failure(
- &mut self,
- dir: &'a Path,
- err: impl Into<std::io::Error>,
- ) -> Option<Result<&'a Path, Error<'a>>> {
- self.cursors.clear();
- Some(Err(Error::Permanent {
- err: err.into(),
- dir,
- retries_left: self.retries,
- retries: self.original_retries,
- }))
- }
-
- fn intermediate_failure(&self, dir: &'a Path, err: std::io::Error) -> Option<Result<&'a Path, Error<'a>>> {
- Some(Err(Error::Intermediate { dir, kind: err.kind() }))
- }
-}
-
-impl<'a> Iterator for Iter<'a> {
- type Item = Result<&'a Path, Error<'a>>;
-
- fn next(&mut self) -> Option<Self::Item> {
- use std::io::ErrorKind::*;
- match self.cursors.pop() {
- Some(dir) => match std::fs::create_dir(dir) {
- Ok(()) => {
- self.state = State::CurrentlyCreatingDirectories;
- Some(Ok(dir))
- }
- Err(err) => match err.kind() {
- AlreadyExists if dir.is_dir() => {
- self.state = State::CurrentlyCreatingDirectories;
- Some(Ok(dir))
- }
- AlreadyExists => self.pernanent_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);
- }
- 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);
- };
- self.cursors.push(dir);
- self.cursors.push(match dir.parent() {
- None => return self.pernanent_failure(dir, InvalidInput),
- Some(parent) => parent,
- });
- self.intermediate_failure(dir, err)
- }
- Interrupted => {
- self.retries.on_interrupt -= 1;
- if self.retries.on_interrupt <= 1 {
- return self.pernanent_failure(dir, Interrupted);
- };
- self.cursors.push(dir);
- self.intermediate_failure(dir, err)
- }
- _unexpected_kind => self.pernanent_failure(dir, err),
- },
- },
- None => None,
- }
- }
-}
-
-/// Create all directories leading to `dir` including `dir` itself with the specified amount of `retries`.
-/// Returns the input `dir` on success that make it useful in expressions.
-pub fn all(dir: &Path, retries: Retries) -> std::io::Result<&Path> {
- for res in Iter::new_with_retries(dir, retries) {
- match res {
- Err(Error::Permanent { err, .. }) => return Err(err),
- Err(Error::Intermediate { .. }) | Ok(_) => continue,
- }
- }
- Ok(dir)
-}
diff --git a/vendor/gix-tempfile/src/fs/mod.rs b/vendor/gix-tempfile/src/fs/mod.rs
deleted file mode 100644
index bf26d819b..000000000
--- a/vendor/gix-tempfile/src/fs/mod.rs
+++ /dev/null
@@ -1,2 +0,0 @@
-pub mod create_dir;
-pub mod remove_dir;
diff --git a/vendor/gix-tempfile/src/fs/remove_dir.rs b/vendor/gix-tempfile/src/fs/remove_dir.rs
deleted file mode 100644
index ac7b212fa..000000000
--- a/vendor/gix-tempfile/src/fs/remove_dir.rs
+++ /dev/null
@@ -1,108 +0,0 @@
-//!
-use std::path::{Path, PathBuf};
-
-/// A special iterator which communicates its operation through results where…
-///
-/// * `Some(Ok(removed_directory))` is yielded once or more success, followed by `None`
-/// * `Some(Err(std::io::Error))` is yielded exactly once on failure.
-pub struct Iter<'a> {
- cursor: Option<&'a Path>,
- boundary: &'a Path,
-}
-
-/// Construction
-impl<'a> Iter<'a> {
- /// Create a new instance that deletes `target` but will stop at `boundary`, without deleting the latter.
- /// Returns an error if `boundary` doesn't contain `target`
- ///
- /// **Note** that we don't canonicalize the path for performance reasons.
- pub fn new(target: &'a Path, boundary: &'a Path) -> std::io::Result<Self> {
- if !target.starts_with(boundary) {
- return Err(std::io::Error::new(
- std::io::ErrorKind::InvalidInput,
- format!("Removal target {target:?} must be contained in boundary {boundary:?}"),
- ));
- }
- let cursor = if target == boundary {
- None
- } else if target.exists() {
- Some(target)
- } else {
- None
- };
- Ok(Iter { cursor, boundary })
- }
-}
-
-impl<'a> Iterator for Iter<'a> {
- type Item = std::io::Result<&'a Path>;
-
- fn next(&mut self) -> Option<Self::Item> {
- match self.cursor.take() {
- Some(dir) => {
- let next = match std::fs::remove_dir(dir) {
- Ok(()) => Some(Ok(dir)),
- Err(err) => match err.kind() {
- std::io::ErrorKind::NotFound => Some(Ok(dir)),
- _other_error_kind => return Some(Err(err)),
- },
- };
- self.cursor = match dir.parent() {
- Some(parent) => (parent != self.boundary).then_some(parent),
- None => {
- unreachable!("directory {:?} ran out of parents, this really shouldn't happen before hitting the boundary {:?}", dir, self.boundary)
- }
- };
- next
- }
- None => None,
- }
- }
-}
-
-/// Delete all empty directories from `delete_dir` upward and until (not including) the `boundary_dir`.
-///
-/// Note that `boundary_dir` must contain `delete_dir` or an error is returned, otherwise `delete_dir` is returned on success.
-pub fn empty_upward_until_boundary<'a>(delete_dir: &'a Path, boundary_dir: &'a Path) -> std::io::Result<&'a Path> {
- for item in Iter::new(delete_dir, boundary_dir)? {
- match item {
- Ok(_dir) => continue,
- Err(err) => return Err(err),
- }
- }
- Ok(delete_dir)
-}
-
-/// Delete all empty directories reachable from `delete_dir` from empty leaves moving upward to and including `delete_dir`.
-///
-/// 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();
- if let Ok(()) = std::fs::remove_dir(&delete_dir) {
- return Ok(());
- }
-
- let mut stack = vec![delete_dir];
- let mut next_to_push = Vec::new();
- while let Some(dir_to_delete) = stack.pop() {
- let mut num_entries = 0;
- for entry in std::fs::read_dir(&dir_to_delete)? {
- num_entries += 1;
- let entry = entry?;
- if entry.file_type()?.is_dir() {
- next_to_push.push(entry.path());
- } else {
- return Err(std::io::Error::new(std::io::ErrorKind::Other, "Directory not empty"));
- }
- }
- if num_entries == 0 {
- std::fs::remove_dir(&dir_to_delete)?;
- } else {
- stack.push(dir_to_delete);
- stack.append(&mut next_to_push);
- }
- }
- Ok(())
-}
diff --git a/vendor/gix-tempfile/src/lib.rs b/vendor/gix-tempfile/src/lib.rs
index 4d13d94b8..8af5ad7a5 100644
--- a/vendor/gix-tempfile/src/lib.rs
+++ b/vendor/gix-tempfile/src/lib.rs
@@ -13,7 +13,7 @@
//! This also allows to control how `git-tempfiles` integrates with other handlers under application control.
//!
//! As a general rule of thumb, use `Default::default()` as argument to emulate the default behaviour and
-//! abort the process after cleaning temporary files. Read more about options in [signal::handler::Mode].
+//! abort the process after cleaning temporary files. Read more about options in [`signal::handler::Mode`].
//!
//! # Limitations
//!
@@ -94,8 +94,7 @@ mod hashmap {
#[cfg(not(feature = "hp-hashmap"))]
type HashMap<K, V> = hashmap::Concurrent<K, V>;
-mod fs;
-pub use fs::{create_dir, remove_dir};
+pub use gix_fs::dir::{create as create_dir, remove as remove_dir};
#[cfg(feature = "signals")]
/// signal setup and reusable handlers.
diff --git a/vendor/gix-tempfile/src/signal.rs b/vendor/gix-tempfile/src/signal.rs
index 79d9229ec..d7c0f8368 100644
--- a/vendor/gix-tempfile/src/signal.rs
+++ b/vendor/gix-tempfile/src/signal.rs
@@ -8,7 +8,7 @@ use crate::REGISTRY;
/// Only has an effect the first time it is called.
///
/// Note that it is possible to not call this function and instead call
-/// [registry::cleanup_tempfiles_signal_safe()][crate::registry::cleanup_tempfiles_signal_safe()]
+/// [`registry::cleanup_tempfiles_signal_safe()`][crate::registry::cleanup_tempfiles_signal_safe()]
/// from a signal handler under the application's control.
pub fn setup(mode: handler::Mode) {
handler::MODE.store(mode as usize, std::sync::atomic::Ordering::SeqCst);