From b5798a9be80a239b54b69a6a750a8aeeaadbf1fc Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Sat, 11 Mar 2017 18:46:31 -0800 Subject: Update Cargo to fix nightly channel This commit updates Cargo with rust-lang/cargo#3820 which includes a fix for rust-lang/cargo#3819. At the same time this also slightly tweaks how rustbuild builds cargo to ensure that all the build information (including git info and such) makes its way into the binary. Closes rust-lang/cargo#3820 --- src/bootstrap/channel.rs | 15 ++++++++++++++- src/bootstrap/lib.rs | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/bootstrap/channel.rs b/src/bootstrap/channel.rs index c126c076a3d..2607ce412f1 100644 --- a/src/bootstrap/channel.rs +++ b/src/bootstrap/channel.rs @@ -42,9 +42,22 @@ struct Info { impl GitInfo { pub fn new(dir: &Path) -> GitInfo { - if !dir.join(".git").is_dir() { + // See if this even begins to look like a git dir + if !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 } + } + + // Ok, let's scrape some info let ver_date = output(Command::new("git").current_dir(dir) .arg("log").arg("-1") .arg("--date=short") diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs index 618e4d67705..72aec15e532 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs @@ -232,7 +232,7 @@ impl Build { None => false, }; let rust_info = channel::GitInfo::new(&src); - let cargo_info = channel::GitInfo::new(&src.join("src/tools/cargo")); + let cargo_info = channel::GitInfo::new(&src.join("cargo")); Build { flags: flags, -- cgit 1.4.1-3-g733a5