blob: 38e99d9005798aa9bb67f1343f52cdddb2950d96 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
use crate::errors::BumperError;
use log::{debug, info};
use std::process::Command;
pub fn tag(version: &str) -> Result<(), BumperError> {
debug!("git tag in {}", std::env::current_dir().unwrap().display());
let tag_name = format!("v{}", version);
info!("Create git tag {}", tag_name);
let output = Command::new("git")
.arg("tag")
.arg("-am")
.arg(format!("release version {}", version))
.arg(format!("v{}", version))
.output();
let output = match output {
Ok(output) => output,
Err(err) => {
return Err(BumperError::GitInvoke(err));
}
};
debug!("git exit code was {:?}", output.status.code());
if !output.status.success() {
return Err(BumperError::git_tag(&output.stderr));
}
Ok(())
}
|