Auto merge of #40450 - alexcrichton:fix-cargo, r=alexcrichton

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#3819
This commit is contained in:
bors 2017-03-12 19:24:24 +00:00
commit 824c9ebbd5
4 changed files with 21 additions and 8 deletions

View File

@ -47,7 +47,7 @@ matrix:
SRC=.
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
SCCACHE_ERROR_LOG=/tmp/sccache.log
RUST_LOG=sccache
RUST_LOG=sccache=debug
os: osx
osx_image: xcode8.2
install: &osx_install_sccache >
@ -59,7 +59,7 @@ matrix:
SRC=.
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
SCCACHE_ERROR_LOG=/tmp/sccache.log
RUST_LOG=sccache
RUST_LOG=sccache=debug
os: osx
osx_image: xcode8.2
install: *osx_install_sccache
@ -71,7 +71,7 @@ matrix:
DEPLOY=1
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
SCCACHE_ERROR_LOG=/tmp/sccache.log
RUST_LOG=sccache
RUST_LOG=sccache=debug
os: osx
osx_image: xcode8.2
install: >
@ -84,7 +84,7 @@ matrix:
DEPLOY=1
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
SCCACHE_ERROR_LOG=/tmp/sccache.log
RUST_LOG=sccache
RUST_LOG=sccache=debug
os: osx
osx_image: xcode8.2
install: *osx_install_sccache
@ -101,7 +101,7 @@ matrix:
DEPLOY_ALT=1
RUSTC_RETRY_LINKER_ON_SEGFAULT=1
SCCACHE_ERROR_LOG=/tmp/sccache.log
RUST_LOG=sccache
RUST_LOG=sccache=debug
os: osx
osx_image: xcode8.2
install: *osx_install_sccache

2
cargo

@ -1 +1 @@
Subproject commit 5f3b9c4c6a7be1f177d6024cb83d150b6479148a
Subproject commit 4a3c0a63b07e9a4feb41cb11de37c92a09db5a60

View File

@ -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")

View File

@ -232,7 +232,7 @@ pub fn new(flags: Flags, config: Config) -> 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,