diff --git a/Cargo.toml b/Cargo.toml index 648200b..d36b088 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rust_util" -version = "0.6.28" +version = "0.6.29" authors = ["Hatter Jiang "] edition = "2018" description = "Hatter's Rust Util" diff --git a/src/util_git.rs b/src/util_git.rs index 8f1f5c9..e635a5f 100644 --- a/src/util_git.rs +++ b/src/util_git.rs @@ -25,6 +25,15 @@ pub fn git_status_change(working_dir: Option<&str>) -> XResult parse_git_status_change(&git_status) } +pub fn git_rev_parse_head(working_dir: Option<&str>) -> XResult { + let mut cmd = new_git_command(working_dir); + cmd.args(vec!["rev-parse", "HEAD"]); + util_msg::print_info(&format!("Exec: {:?}", cmd)); + let output = cmd.output()?; + let rev_parse_head = String::from_utf8(output.stdout)?; + Ok(rev_parse_head.trim().to_string()) +} + pub fn git_fetch_dry_run(working_dir: Option<&str>) -> XResult { let mut cmd = new_git_command(working_dir); cmd.args(vec!["fetch", "--dry-run"]);