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]).
commita8cf0c6b90bd469047ac8fc294dbf90fcff71c7a
authorMichael Davis <mcarsondavis@gmail.com>
dateThu 17 Feb 2022, 22:05 (5 years ago)
parent368064e
helix-term/build.rs+1
@@ -6,6 +6,7 @@ fn main() {
66 .args(&["rev-parse", "HEAD"])
77 .output()
88 .ok()
9+ .filter(|output| output.status.success())
910 .and_then(|x| String::from_utf8(x.stdout).ok());
1011
1112 let version: Cow<_> = match git_hash {