我已经克隆了一个远程 git repo 并从该main
分支创建了一个新分支。现在我想在编译时获取最新的 repo 标签(如果存在)。我能够在编译时获取最新的提交哈希。以下是我的代码
// build.rs
use std::process::Command;
fn main() {
let output = Command::new("git").args(&["rev-parse", "HEAD"]).output().unwrap();
let git_hash = String::from_utf8(output.stdout).unwrap();
println!("cargo:rustc-env=GIT_HASH={}", git_hash);
}
// main.rs
fn main() {
println!("{}", env!("GIT_HASH"));
}