diff --git a/src/app.rs b/src/app.rs index cc5571d..45970ce 100644 --- a/src/app.rs +++ b/src/app.rs @@ -13,6 +13,7 @@ use bomper::{ }, }; use console::{style, Style}; +use gix::refs::transaction::PreviousValue; use similar::{ChangeTag, TextDiff}; use std::{fmt, io::Write, path::PathBuf}; @@ -57,12 +58,13 @@ impl App { if let Some(changes) = apply_changes(file_changes, &self.args)? { let new_tree = prepare_commit(&repo, changes)?; let object_id = repo.write_object(&new_tree)?; - repo.commit( + let commit = repo.commit( "HEAD", format!("chore(version): {new_version}"), object_id, vec![repo.head_id()?], )?; + repo.tag_reference(new_version.to_string(), commit, PreviousValue::MustNotExist)?; } Ok(()) diff --git a/src/error.rs b/src/error.rs index 17a200e..e029bb3 100644 --- a/src/error.rs +++ b/src/error.rs @@ -37,6 +37,8 @@ pub enum Error { #[error(transparent)] GixRefInit(#[from] gix::reference::iter::init::Error), #[error(transparent)] + GixRefEdit(#[from] gix::reference::edit::Error), + #[error(transparent)] GixReferenceHeadId(#[from] gix::reference::head_id::Error), #[error(transparent)] GixHeadCommit(#[from] gix::reference::head_commit::Error),