提交 6194cc8f 编写于 作者: J Joshua Nelson

Don't default to `submodules = true` unless the rust repo has a .git directory

上级 e742158e
......@@ -13,6 +13,7 @@
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 @@ pub fn default_opts() -> 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 @@ pub fn parse(args: &[String]) -> 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);
......@@ -1075,6 +1076,10 @@ pub fn any_profiler_enabled(&self) -> bool {
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>) {
......
......@@ -486,7 +486,7 @@ fn dir_is_empty(dir: &Path) -> bool {
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 @@ pub fn maybe_update_submodules(&self) {
"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(
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册