about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--config.toml.example5
-rw-r--r--src/bootstrap/config.rs7
2 files changed, 10 insertions, 2 deletions
diff --git a/config.toml.example b/config.toml.example
index 962be2e6085..bae36ed925f 100644
--- a/config.toml.example
+++ b/config.toml.example
@@ -259,7 +259,10 @@
 #codegen-tests = true
 
 # Flag indicating whether git info will be retrieved from .git automatically.
-#ignore-git = false
+# Having the git information can cause a lot of rebuilds during development.
+# Note: If this attribute is not explicity set (e.g. it left commented out) it
+# will default to true if channel = "dev", but will default to false otherwise.
+#ignore-git = true
 
 # =============================================================================
 # Options for specific targets
diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs
index aa688fc66e2..f284bafd2d6 100644
--- a/src/bootstrap/config.rs
+++ b/src/bootstrap/config.rs
@@ -296,7 +296,7 @@ impl Config {
         config.rust_codegen_units = 1;
         config.channel = "dev".to_string();
         config.codegen_tests = true;
-        config.ignore_git = false;
+        config.ignore_git = true;
         config.rust_dist_src = true;
 
         config.on_fail = flags.on_fail;
@@ -419,7 +419,12 @@ impl Config {
             set(&mut config.use_jemalloc, rust.use_jemalloc);
             set(&mut config.backtrace, rust.backtrace);
             set(&mut config.channel, rust.channel.clone());
+
+            // on the dev channel, ignore_git should be true by default
+            // on other channels it should be false by default
+            config.ignore_git = config.channel == "dev";
             set(&mut config.ignore_git, rust.ignore_git);
+
             config.rustc_default_linker = rust.default_linker.clone();
             config.rustc_default_ar = rust.default_ar.clone();
             config.musl_root = rust.musl_root.clone().map(PathBuf::from);