From e248523d2aaff6c74919baada18934a19e997509 Mon Sep 17 00:00:00 2001 From: Tuna Date: Tue, 20 Sep 2022 06:29:34 +0300 Subject: [PATCH] Update src/bootstrap/config.rs Co-authored-by: Bruno Kolenbrander <59372212+mejrs@users.noreply.github.com> --- src/bootstrap/config.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs index b8e776485e6..8b657788a68 100644 --- a/src/bootstrap/config.rs +++ b/src/bootstrap/config.rs @@ -821,7 +821,14 @@ impl Config { .and_then(|output| if output.status.success() { Some(output) } else { None }); if let Some(output) = output { let git_root = String::from_utf8(output.stdout).unwrap(); - config.src = PathBuf::from(git_root.trim().to_owned()) + let git_root = PathBuf::from(git_root.trim()).canonicalize().unwrap(); + let s = git_root.to_str().unwrap(); + + // Bootstrap is quite bad at handling /? in front of paths + config.src = match s.strip_prefix("\\\\?\\") { + Some(p) => PathBuf::from(p), + None => PathBuf::from(git_root), + }; } else { // We're building from a tarball, not git sources. // We don't support pre-downloaded bootstrap in this case.