diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-30 03:57:31 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-30 03:57:31 +0000 |
commit | dc0db358abe19481e475e10c32149b53370f1a1c (patch) | |
tree | ab8ce99c4b255ce46f99ef402c27916055b899ee /vendor/gix-tempfile | |
parent | Releasing progress-linux version 1.71.1+dfsg1-2~progress7.99u1. (diff) | |
download | rustc-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.json | 2 | ||||
-rw-r--r-- | vendor/gix-tempfile/CHANGELOG.md | 55 | ||||
-rw-r--r-- | vendor/gix-tempfile/Cargo.lock | 227 | ||||
-rw-r--r-- | vendor/gix-tempfile/Cargo.toml | 5 | ||||
-rw-r--r-- | vendor/gix-tempfile/src/fs/create_dir.rs | 202 | ||||
-rw-r--r-- | vendor/gix-tempfile/src/fs/mod.rs | 2 | ||||
-rw-r--r-- | vendor/gix-tempfile/src/fs/remove_dir.rs | 108 | ||||
-rw-r--r-- | vendor/gix-tempfile/src/lib.rs | 5 | ||||
-rw-r--r-- | vendor/gix-tempfile/src/signal.rs | 2 |
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); |