// build.rs use std::env; use std::process::Command; fn main() { let repoid = match env::var("REPOID") { Ok(repoid) => repoid, Err(_) => { match Command::new("git") .args(&["rev-parse", "HEAD"]) .output() { Ok(output) => { String::from_utf8(output.stdout).unwrap() } Err(err) => { panic!("git rev-parse failed: {}", err); } } } }; println!("cargo:rustc-env=REPOID={}", repoid); }