]> git.lizzy.rs Git - rust.git/commitdiff
Don't ignore git for LLVM info
authorJosh Stone <jistone@redhat.com>
Sat, 30 Mar 2019 18:14:02 +0000 (11:14 -0700)
committerJosh Stone <jistone@redhat.com>
Sat, 30 Mar 2019 18:14:02 +0000 (11:14 -0700)
src/bootstrap/channel.rs
src/bootstrap/lib.rs
src/bootstrap/tool.rs

index aa683161b6547fe5a47f102c9b6eb1078998bda4..e42b073322e2883e38ffa8f44c0a3b7c5ebeeabd 100644 (file)
@@ -11,7 +11,6 @@
 use build_helper::output;
 
 use crate::Build;
-use crate::config::Config;
 
 // The version number
 pub const CFG_RELEASE_NUM: &str = "1.35.0";
@@ -27,20 +26,20 @@ struct Info {
 }
 
 impl GitInfo {
-    pub fn new(config: &Config, dir: &Path) -> GitInfo {
+    pub fn new(ignore_git: bool, dir: &Path) -> GitInfo {
         // See if this even begins to look like a git dir
-        if config.ignore_git || !dir.join(".git").exists() {
+        if ignore_git || !dir.join(".git").exists() {
             return GitInfo { inner: None }
         }
 
         // Make sure git commands work
-        let out = Command::new("git")
-                          .arg("rev-parse")
-                          .current_dir(dir)
-                          .output()
-                          .expect("failed to spawn git");
-        if !out.status.success() {
-            return GitInfo { inner: None }
+        match Command::new("git")
+            .arg("rev-parse")
+            .current_dir(dir)
+            .output()
+        {
+            Ok(ref out) if out.status.success() => {}
+            _ => return GitInfo { inner: None },
         }
 
         // Ok, let's scrape some info
index 167455af1f2e64815ee0257223ef378e52449b4a..2394ae7fb79139292a312c7dbc4d8997d02ecb7b 100644 (file)
@@ -360,14 +360,18 @@ pub fn new(config: Config) -> Build {
             }
             None => false,
         };
-        let rust_info = channel::GitInfo::new(&config, &src);
-        let cargo_info = channel::GitInfo::new(&config, &src.join("src/tools/cargo"));
-        let rls_info = channel::GitInfo::new(&config, &src.join("src/tools/rls"));
-        let clippy_info = channel::GitInfo::new(&config, &src.join("src/tools/clippy"));
-        let miri_info = channel::GitInfo::new(&config, &src.join("src/tools/miri"));
-        let rustfmt_info = channel::GitInfo::new(&config, &src.join("src/tools/rustfmt"));
-        let in_tree_llvm_info = channel::GitInfo::new(&config, &src.join("src/llvm-project"));
-        let emscripten_llvm_info = channel::GitInfo::new(&config, &src.join("src/llvm-emscripten"));
+
+        let ignore_git = config.ignore_git;
+        let rust_info = channel::GitInfo::new(ignore_git, &src);
+        let cargo_info = channel::GitInfo::new(ignore_git, &src.join("src/tools/cargo"));
+        let rls_info = channel::GitInfo::new(ignore_git, &src.join("src/tools/rls"));
+        let clippy_info = channel::GitInfo::new(ignore_git, &src.join("src/tools/clippy"));
+        let miri_info = channel::GitInfo::new(ignore_git, &src.join("src/tools/miri"));
+        let rustfmt_info = channel::GitInfo::new(ignore_git, &src.join("src/tools/rustfmt"));
+
+        // we always try to use git for LLVM builds
+        let in_tree_llvm_info = channel::GitInfo::new(false, &src.join("src/llvm-project"));
+        let emscripten_llvm_info = channel::GitInfo::new(false, &src.join("src/llvm-emscripten"));
 
         let mut build = Build {
             initial_rustc: config.initial_rustc.clone(),
index 35e0e24014633e906dfc7d4ff565fa8972b74ebe..23775a91e4ce00622a95463cbc2552b324d33f91 100644 (file)
@@ -235,7 +235,7 @@ pub fn prepare_tool_cargo(
     cargo.env("CFG_VERSION", builder.rust_version());
     cargo.env("CFG_RELEASE_NUM", channel::CFG_RELEASE_NUM);
 
-    let info = GitInfo::new(&builder.config, &dir);
+    let info = GitInfo::new(builder.config.ignore_git, &dir);
     if let Some(sha) = info.sha() {
         cargo.env("CFG_COMMIT_HASH", sha);
     }