summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
authorFelix Obenhuber <flxo@users.noreply.github.com>2023-03-22 09:02:16 +0100
committerGitHub <noreply@github.com>2023-03-22 09:02:16 +0100
commit26f4321a5e9eb56b905ca9eee9cf52422c7ff859 (patch)
treefcf5657962f86bf4a6e0b9e64814e74cd655c51f /cli
parent9fc432a41d9970dfff360fec225a926b5ab8f2ab (diff)
Fix build if not on a git checkout (#119)
Check the exit status of the `git` invocation before parsing the output. If there's no `.git` the output may look like: ``` fatal: not a git repository (or any of the parent directories): .git ``` and the version shall be set to unknown.
Diffstat (limited to 'cli')
-rw-r--r--cli/build.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/cli/build.rs b/cli/build.rs
index afaed657..7c1e1dc8 100644
--- a/cli/build.rs
+++ b/cli/build.rs
@@ -5,6 +5,7 @@ fn main() {
.args(&["rev-parse", "HEAD"])
.output()
.ok()
+ .and_then(|output| output.status.success().then(|| output))
.and_then(|output| String::from_utf8(output.stdout[..8].into()).ok())
.unwrap_or_else(|| "(unknown version)".into());
println!("cargo:rustc-env=TYPST_VERSION={version}");