diff --git a/build.rs b/build.rs index b8632bc4024..6ab24b70cc4 100644 --- a/build.rs +++ b/build.rs @@ -5,13 +5,18 @@ fn main() { .args(["describe", r"--match=v*\.*\.*"]) .output() .ok() - .and_then(|out| parse_describe(&out.stdout)) + .and_then(|out| { + if !out.status.success() { + return None; + } + try_parse_describe(&out.stdout) + }) .unwrap_or_else(|| env!("CARGO_PKG_VERSION").into()); - println!("cargo:rustc-env=GIX_VERSION={version}"); } -fn parse_describe(input: &[u8]) -> Option { +fn try_parse_describe(input: &[u8]) -> Option { let input = std::str::from_utf8(input).ok()?; - input.trim().to_owned().into() + let trimmed = input.trim(); + (!trimmed.is_empty()).then(|| trimmed.to_owned()) }