diff options
| author | Yuki Okushi <jtitor@2k36.org> | 2021-07-24 04:31:13 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-24 04:31:13 +0900 |
| commit | f709999161265cb0eb2754eb18852d69fa29e9a1 (patch) | |
| tree | 529d846b09870dd8826fca3c4cb7b5f31d89ebd4 | |
| parent | 1b9cd8bbb8c6c63bead5d278704f08b98a1b4eb6 (diff) | |
| parent | 6194cc8f485954b659c1f196b46fcb67fd73d455 (diff) | |
| download | rust-f709999161265cb0eb2754eb18852d69fa29e9a1.tar.gz rust-f709999161265cb0eb2754eb18852d69fa29e9a1.zip | |
Rollup merge of #87380 - jyn514:smarter-submodule-defaults, r=Mark-Simulacrum
Don't default to `submodules = true` unless the rust repo has a .git directory Should hopefully fix https://github.com/rust-lang/rust/pull/82653#issuecomment-885093033 - `@semarie` can you confirm? r? `@Mark-Simulacrum`
| -rw-r--r-- | src/bootstrap/config.rs | 11 | ||||
| -rw-r--r-- | src/bootstrap/lib.rs | 4 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs index 1769899a6cd..4b3c25b02c2 100644 --- a/src/bootstrap/config.rs +++ b/src/bootstrap/config.rs @@ -13,6 +13,7 @@ use std::path::{Path, PathBuf}; use std::str::FromStr; use crate::cache::{Interned, INTERNER}; +use crate::channel::GitInfo; pub use crate::flags::Subcommand; use crate::flags::{Color, Flags}; use crate::util::exe; @@ -48,7 +49,7 @@ pub struct Config { /// Call Build::ninja() instead of this. pub ninja_in_file: bool, pub verbose: usize, - pub submodules: bool, + pub submodules: Option<bool>, pub fast_submodules: bool, pub compiler_docs: bool, pub docs_minification: bool, @@ -552,7 +553,7 @@ impl Config { config.backtrace = true; config.rust_optimize = true; config.rust_optimize_tests = true; - config.submodules = true; + config.submodules = None; config.fast_submodules = true; config.docs = true; config.docs_minification = true; @@ -658,11 +659,11 @@ impl Config { config.npm = build.npm.map(PathBuf::from); config.gdb = build.gdb.map(PathBuf::from); config.python = build.python.map(PathBuf::from); + config.submodules = build.submodules; set(&mut config.low_priority, build.low_priority); set(&mut config.compiler_docs, build.compiler_docs); set(&mut config.docs_minification, build.docs_minification); set(&mut config.docs, build.docs); - set(&mut config.submodules, build.submodules); set(&mut config.fast_submodules, build.fast_submodules); set(&mut config.locked_deps, build.locked_deps); set(&mut config.vendor, build.vendor); @@ -1083,6 +1084,10 @@ impl Config { pub fn llvm_enabled(&self) -> bool { self.rust_codegen_backends.contains(&INTERNER.intern_str("llvm")) } + + pub fn submodules(&self, rust_info: &GitInfo) -> bool { + self.submodules.unwrap_or(rust_info.is_git()) + } } fn set<T>(field: &mut T, val: Option<T>) { diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs index 6bcdbe3e4bb..245f3eada2a 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs @@ -486,7 +486,7 @@ impl Build { t!(std::fs::read_dir(dir)).next().is_none() } - if !self.config.submodules { + if !self.config.submodules(&self.rust_info) { return; } @@ -562,7 +562,7 @@ impl Build { "library/stdarch", ]; // Avoid running git when there isn't a git checkout. - if !self.config.submodules { + if !self.config.submodules(&self.rust_info) { return; } let output = output( |
