-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Don't clone LLVM submodule when download-ci-llvm is set #81520
Conversation
Previously, `downloading_llvm` would check `self.build` while it was still an empty string, and think it was always false. This fixes the check.
(rust-highfive has picked a reviewer for you, use r? to override) |
Hm, do we need to be careful around LLVM submodule being out of date locally perhaps as well? I am worried it'll be a pain point for contributors that already have it checked out and now x.py will not update it for them. But maybe we handle that case? |
When would they need to use src/llvm-project when downloading CI llvm? If you're changing anything there, I'd expect you to be building LLVM from source. |
Also, if they really do need the old behavior, they can always use |
I'm saying they don't need it but already have it checked out. If they're used to x.py keeping submodules up to date, then figuring out how to avoid the change to the submodule is going to be difficult for most people. Can we make sure that we keep it updated if it exists, even if download-llvm is set? |
Ok, I see, because git will start marking it as out of date. Sure, seems reasonable. You actually added that when you wrote the feature originally, I don't think it needs further changes: rust/src/bootstrap/bootstrap.py Lines 935 to 939 in db115f1
|
Reading the source code is a quite relevant use-case here. Maybe introduce another option and/or value for this behaviour so that we don't need to guess? |
@nagisa right, but you can do that with |
Heh, ok, sounds like past me did the right thing already :) @bors r+ |
📌 Commit db115f1 has been approved by |
Rollup of 16 pull requests Successful merges: - rust-lang#79023 (Add `core::stream::Stream`) - rust-lang#80562 (Consider Scalar to be a bool only if its unsigned) - rust-lang#80886 (Stabilize raw ref macros) - rust-lang#80959 (Stabilize `unsigned_abs`) - rust-lang#81291 (Support FRU pattern with `[feature(capture_disjoint_fields)]`) - rust-lang#81409 (Slight simplification of chars().count()) - rust-lang#81468 (cfg(version): treat nightlies as complete) - rust-lang#81473 (Warn write-only fields) - rust-lang#81495 (rustdoc: Remove unnecessary optional) - rust-lang#81499 (Updated Vec::splice documentation) - rust-lang#81501 (update rustfmt to v1.4.34) - rust-lang#81505 (`fn cold_path` doesn't need to be pub) - rust-lang#81512 (Add missing variants in match binding) - rust-lang#81515 (Fix typo in pat.rs) - rust-lang#81519 (Don't print error output from rustup when detecting default build triple) - rust-lang#81520 (Don't clone LLVM submodule when download-ci-llvm is set) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Previously,
downloading_llvm
would checkself.build
while it wasstill an empty string, and think it was always false. This fixes the
check.
This addresses the worst part of #76653. There are still some large submodules being downloaded (in particular,
rustc-by-example
is 146 MB, and all the submodules combined are 311 MB), but this is a lot better than the whopping 1.4 GB before.