250919.41 · 00e501b529fc709806a413a88c2f32487e7958cb
build: emit warning if git is missing during build
Closes #3057
reading declarations
Changes to build.rs. All files
@@ -37,10 +37,25 @@ fn set_git_revision_hash() { use std::process::Command; let args = &["rev-parse", "--short=10", "HEAD"];- let Ok(output) = Command::new("git").args(args).output() else { return };- let rev = String::from_utf8_lossy(&output.stdout).trim().to_string();- if rev.is_empty() {- return;+ let output = Command::new("git").args(args).output();+ match output {+ Ok(output) => {+ let rev =+ String::from_utf8_lossy(&output.stdout).trim().to_string();+ if rev.is_empty() {+ println!(+ "cargo:warning=output from `git rev-parse` is empty, \+ so skipping embedding of commit hash"+ );+ return;+ }+ println!("cargo:rustc-env=RIPGREP_BUILD_GIT_HASH={rev}");+ }+ Err(e) => {+ println!(+ "cargo:warning=failed to run `git rev-parse`, \+ so skipping embedding of commit hash: {e}"+ );+ } }- println!("cargo:rustc-env=RIPGREP_BUILD_GIT_HASH={rev}"); }