Eu clonei um repositório git remoto e criei uma nova ramificação a partir da main
ramificação. Agora eu quero obter a tag de repositório mais recente (se existir) em tempo de compilação. Eu consegui obter o hash de commit mais recente em tempo de compilação. Abaixo está meu código
// 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"));
}