# HG changeset patch # User Raphaël Gomès # Date 1668440157 -3600 # Node ID a5447a4a8c5d0a06fa460d20d72b5a07d0f5cbf7 # Parent 4d729a98673d135602182cddc9ed5a0984f09c8e hg-core: upgrade `zstd` dependency Now that we support a newer version of Rust, we can update this dependency to get all the latest bugfixes and improvements. A slight API adjustment was needed. diff -r 4d729a98673d -r a5447a4a8c5d rust/Cargo.lock --- a/rust/Cargo.lock Mon Nov 14 15:43:05 2022 +0100 +++ b/rust/Cargo.lock Mon Nov 14 16:35:57 2022 +0100 @@ -417,12 +417,6 @@ ] [[package]] -name = "glob" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" - -[[package]] name = "hashbrown" version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -462,7 +456,7 @@ "hashbrown", "home", "im-rc", - "itertools 0.10.3", + "itertools", "lazy_static", "libc", "log", @@ -538,15 +532,6 @@ [[package]] name = "itertools" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3" @@ -1264,18 +1249,18 @@ [[package]] name = "zstd" -version = "0.5.4+zstd.1.4.7" +version = "0.11.2+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69996ebdb1ba8b1517f61387a883857818a66c8a295f487b1ffd8fd9d2c82910" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "2.0.6+zstd.1.4.7" +version = "5.0.2+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98aa931fb69ecee256d44589d19754e61851ae4769bf963b385119b1cc37a49e" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" dependencies = [ "libc", "zstd-sys", @@ -1283,12 +1268,10 @@ [[package]] name = "zstd-sys" -version = "1.4.18+zstd.1.4.7" +version = "2.0.1+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1e6e8778706838f43f771d80d37787cb2fe06dafe89dd3aebaf6721b9eaec81" +checksum = "9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b" dependencies = [ "cc", - "glob", - "itertools 0.9.0", "libc", ] diff -r 4d729a98673d -r a5447a4a8c5d rust/hg-core/Cargo.toml --- a/rust/hg-core/Cargo.toml Mon Nov 14 15:43:05 2022 +0100 +++ b/rust/hg-core/Cargo.toml Mon Nov 14 16:35:57 2022 +0100 @@ -34,7 +34,7 @@ micro-timer = "0.4.0" log = "0.4.8" memmap2 = { version = "0.5.3", features = ["stable_deref_trait"] } -zstd = "0.5.3" +zstd = "0.11.2" format-bytes = "0.3.0" # once_cell 1.15 uses edition 2021, while the heptapod CI # uses an old version of Cargo that doesn't support it. diff -r 4d729a98673d -r a5447a4a8c5d rust/hg-core/src/revlog/revlog.rs --- a/rust/hg-core/src/revlog/revlog.rs Mon Nov 14 15:43:05 2022 +0100 +++ b/rust/hg-core/src/revlog/revlog.rs Mon Nov 14 16:35:57 2022 +0100 @@ -517,7 +517,7 @@ } else { let cap = self.uncompressed_len.max(0) as usize; let mut buf = vec![0; cap]; - let len = zstd::block::decompress_to_buffer(self.bytes, &mut buf) + let len = zstd::bulk::decompress_to_buffer(self.bytes, &mut buf) .map_err(|e| corrupted(e.to_string()))?; if len != self.uncompressed_len as usize { Err(corrupted("uncompressed length does not match"))