summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGygaxis Vainhardt2021-11-14 15:09:02 +0000
committerGitHub2021-11-14 15:09:02 +0000
commit0949a0de7fec9e11f8011693f84b1939b0a6a548 (patch)
tree9b014515f97a3002d17053df431bb1cf4564f46e
parentb74912ea78079cde3e1ee3b2dc1a2a6d68568a36 (diff)
Add commit hash to version info, if present (#957)
* Add commit hash to version info, if present * Rename GIT_HASH to indicate that it includes version, fix linter error * Add whitespace after use statement Co-authored-by: Ivan Tham <pickfire@riseup.net> Co-authored-by: Ivan Tham <pickfire@riseup.net>
-rw-r--r--helix-term/build.rs12
-rw-r--r--helix-term/src/main.rs4
2 files changed, 14 insertions, 2 deletions
diff --git a/helix-term/build.rs b/helix-term/build.rs
new file mode 100644
index 00000000..61ffa6f4
--- /dev/null
+++ b/helix-term/build.rs
@@ -0,0 +1,12 @@
+use std::process::Command;
+
+fn main() {
+ let git_hash = Command::new("git")
+ .args(&["describe", "--dirty"])
+ .output()
+ .map(|x| String::from_utf8(x.stdout).ok())
+ .ok()
+ .flatten()
+ .unwrap_or_else(|| String::from(env!("CARGO_PKG_VERSION")));
+ println!("cargo:rustc-env=VERSION_AND_GIT_HASH={}", git_hash);
+}
diff --git a/helix-term/src/main.rs b/helix-term/src/main.rs
index e178b339..3ae4f7c9 100644
--- a/helix-term/src/main.rs
+++ b/helix-term/src/main.rs
@@ -66,7 +66,7 @@ FLAGS:
-V, --version Prints version information
",
env!("CARGO_PKG_NAME"),
- env!("CARGO_PKG_VERSION"),
+ env!("VERSION_AND_GIT_HASH"),
env!("CARGO_PKG_AUTHORS"),
env!("CARGO_PKG_DESCRIPTION"),
logpath.display(),
@@ -81,7 +81,7 @@ FLAGS:
}
if args.display_version {
- println!("helix {}", env!("CARGO_PKG_VERSION"));
+ println!("helix {}", env!("VERSION_AND_GIT_HASH"));
std::process::exit(0);
}