summaryrefslogtreecommitdiff
path: root/helix-term/build.rs
diff options
context:
space:
mode:
authorMichael Davis2022-02-18 04:05:12 +0000
committerGitHub2022-02-18 04:05:12 +0000
commita8cf0c6b90bd469047ac8fc294dbf90fcff71c7a (patch)
tree12e04164168d237a65f2e86be0ad73531a95d12b /helix-term/build.rs
parent368064e316ef75076b037af893af3c4eb483c594 (diff)
filter git revision on git command success exit code (#1674)
The unwrap (or '.ok()' rather) triggers for some errors but not negative status codes. In the case where helix is being packaged in an empty git repository, the existing mechanism will fail because git init git rev-parse HEAD gives a negative exit code and prints to stderr stderr: "fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.... with a stdout of "HEAD\n" (too short to slice with [..8]).
Diffstat (limited to 'helix-term/build.rs')
-rw-r--r--helix-term/build.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/helix-term/build.rs b/helix-term/build.rs
index 21dd5612..b5d62b28 100644
--- a/helix-term/build.rs
+++ b/helix-term/build.rs
@@ -6,6 +6,7 @@ fn main() {
.args(&["rev-parse", "HEAD"])
.output()
.ok()
+ .filter(|output| output.status.success())
.and_then(|x| String::from_utf8(x.stdout).ok());
let version: Cow<_> = match git_hash {