Skip to content

Commit 6194cc8

Browse files
committed
Don't default to submodules = true unless the rust repo has a .git directory
1 parent e742158 commit 6194cc8

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

src/bootstrap/config.rs

+8-3
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ use std::path::{Path, PathBuf};
1313
use std::str::FromStr;
1414

1515
use crate::cache::{Interned, INTERNER};
16+
use crate::channel::GitInfo;
1617
pub use crate::flags::Subcommand;
1718
use crate::flags::{Color, Flags};
1819
use crate::util::exe;
@@ -48,7 +49,7 @@ pub struct Config {
4849
/// Call Build::ninja() instead of this.
4950
pub ninja_in_file: bool,
5051
pub verbose: usize,
51-
pub submodules: bool,
52+
pub submodules: Option<bool>,
5253
pub fast_submodules: bool,
5354
pub compiler_docs: bool,
5455
pub docs_minification: bool,
@@ -552,7 +553,7 @@ impl Config {
552553
config.backtrace = true;
553554
config.rust_optimize = true;
554555
config.rust_optimize_tests = true;
555-
config.submodules = true;
556+
config.submodules = None;
556557
config.fast_submodules = true;
557558
config.docs = true;
558559
config.docs_minification = true;
@@ -658,11 +659,11 @@ impl Config {
658659
config.npm = build.npm.map(PathBuf::from);
659660
config.gdb = build.gdb.map(PathBuf::from);
660661
config.python = build.python.map(PathBuf::from);
662+
config.submodules = build.submodules;
661663
set(&mut config.low_priority, build.low_priority);
662664
set(&mut config.compiler_docs, build.compiler_docs);
663665
set(&mut config.docs_minification, build.docs_minification);
664666
set(&mut config.docs, build.docs);
665-
set(&mut config.submodules, build.submodules);
666667
set(&mut config.fast_submodules, build.fast_submodules);
667668
set(&mut config.locked_deps, build.locked_deps);
668669
set(&mut config.vendor, build.vendor);
@@ -1075,6 +1076,10 @@ impl Config {
10751076
pub fn llvm_enabled(&self) -> bool {
10761077
self.rust_codegen_backends.contains(&INTERNER.intern_str("llvm"))
10771078
}
1079+
1080+
pub fn submodules(&self, rust_info: &GitInfo) -> bool {
1081+
self.submodules.unwrap_or(rust_info.is_git())
1082+
}
10781083
}
10791084

10801085
fn set<T>(field: &mut T, val: Option<T>) {

src/bootstrap/lib.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -486,7 +486,7 @@ impl Build {
486486
t!(std::fs::read_dir(dir)).next().is_none()
487487
}
488488

489-
if !self.config.submodules {
489+
if !self.config.submodules(&self.rust_info) {
490490
return;
491491
}
492492

@@ -562,7 +562,7 @@ impl Build {
562562
"library/stdarch",
563563
];
564564
// Avoid running git when there isn't a git checkout.
565-
if !self.config.submodules {
565+
if !self.config.submodules(&self.rust_info) {
566566
return;
567567
}
568568
let output = output(

0 commit comments

Comments
 (0)