@ 261027.5

250919.41 · 00e501b529fc709806a413a88c2f32487e7958cb

build: emit warning if git is missing during build

Closes #3057

reading declarations

Changes to build.rs. All files

build.rs

@@ -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}"); }