From 847c27fbee8c98faacfd8bc69cc34809b02f6a9d Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Tue, 20 Jul 2021 12:29:23 +0200 Subject: [PATCH] build.rs: factor out getting git command output into helper fn Signed-off-by: Thomas Lamprecht --- build.rs | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/build.rs b/build.rs index 754966b6..037b3904 100644 --- a/build.rs +++ b/build.rs @@ -2,22 +2,19 @@ use std::env; use std::process::Command; +fn git_command(args: &[&str]) -> String { + match Command::new("git").args(args).output() { + Ok(output) => String::from_utf8(output.stdout).unwrap().trim_end().to_string(), + Err(err) => { + panic!("git {:?} failed: {}", args, err); + } + } +} + 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); - } - } - } + Err(_) => git_command(&["rev-parse", "HEAD"]), }; println!("cargo:rustc-env=REPOID={}", repoid);