-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(deps): update tar to 0.4.42 #14632
Conversation
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @epage (or someone else) some time within the next two weeks. Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (
|
benches/capture/src/main.rs
Outdated
@@ -48,6 +48,7 @@ fn capture(source_root: &Path, dest: &Path, force: bool) { | |||
.write(dst, Compression::best()); | |||
let mut ar = tar::Builder::new(encoder); | |||
ar.mode(tar::HeaderMode::Deterministic); | |||
ar.sparse(false); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is for internal benchmark only, so should be fine with sparse as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure what this bench exactly does, but my thought was that it should be closer to the real-world scenario as checking each file to sparseness might (or might not) affect performance.
Reverted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These tarballs are snapshots of some real world Cargo workspaces, we don't benchmark on tar/untar of them.
cargo/benches/capture/src/main.rs
Lines 1 to 5 in b5d44db
//! This tool helps to capture the `Cargo.toml` files of a workspace. | |
//! | |
//! Run it by passing a list of workspaces to capture. | |
//! Use the `-f` flag to allow it to overwrite existing captures. | |
//! The workspace will be saved in a `.tgz` file in the `../workspaces` directory. |
Anyhow, thanks for the revert!
Thanks for posting this PR! |
The new version of tar enables the creation of sparse tar archives by default. The ability to read such sparse entries was added in tar 0.4.6, which has been in use starting from Cargo 0.13 and Rust 1.12. Additionally, `docker cp` doesn't support sparse tar entries in the GNU format. For compatibility with older versions of Rust and Cargo, as well as with `docker cp`, this commit disables sparse archive creation in the corresponding cases where the `tar::Builder` is used. See rust-lang#14594.
Thank you! @bors r+ |
☀️ Test successful - checks-actions |
Update cargo 17 commits in 80d82ca22abbee5fb7b51fa1abeb1ae34e99e88a..ad074abe3a18ce8444c06f962ceecfd056acfc73 2024-09-27 17:56:01 +0000 to 2024-10-04 18:18:15 +0000 - test: Remove the last of our custom json assertions (rust-lang/cargo#14576) - docs(ref): Expand on MSRV (rust-lang/cargo#14636) - docs: Minor re-grouping of pages (rust-lang/cargo#14620) - docs(ref): Highleft whats left for msrv-policy (rust-lang/cargo#14638) - Fix `cargo:version_number` - has only one `:` (rust-lang/cargo#14637) - docs: Declare support level for each crate in our Charter / docs (rust-lang/cargo#14600) - chore(deps): update tar to 0.4.42 (rust-lang/cargo#14632) - docs(charter): Declare new Intentional Artifacts as 'small' changes (rust-lang/cargo#14599) - fix: Remove implicit feature removal (rust-lang/cargo#14630) - docs(config): make `--config <PATH>` more prominent (rust-lang/cargo#14631) - chore(deps): update rust crate unicode-width to 0.2.0 (rust-lang/cargo#14624) - chore(deps): update embarkstudios/cargo-deny-action action to v2 (rust-lang/cargo#14628) - docs(ref): Clean up language for `package.rust-version` (rust-lang/cargo#14619) - docs: clarify `target.'cfg(...)'` doesnt respect cfg from build script (rust-lang/cargo#14312) - test: relax compiler panic assertions (rust-lang/cargo#14618) - refactor(compiler): zero-copy deserialization when possible (rust-lang/cargo#14608) - test: add support for features in the sat resolver (rust-lang/cargo#14583)
The new version of tar enables the creation of sparse tar archives by default. The ability to read such sparse entries was added in tar 0.4.6, which has been in use starting from Cargo 0.13 and Rust 1.12. Additionally,
docker cp
doesn't support sparse tar entries in the GNU format. For compatibility with older versions of Rust and Cargo, as well as withdocker cp
, this commit disables sparse archive creation everywhere thetar::Builder
is used.Closes #14594. CC: @weihanglo, @alexcrichton.