use crate::Result;
use crate::hook_options::HookOptions;
#[derive(clap::Args)]
pub struct PostCheckout {
prev_head: String,
new_head: String,
is_branch_checkout: String,
#[clap(flatten)]
hook: HookOptions,
}
impl PostCheckout {
pub async fn run(mut self) -> Result<()> {
self.hook.tctx.insert("prev_head", &self.prev_head);
self.hook.tctx.insert("new_head", &self.new_head);
self.hook
.tctx
.insert("is_branch_checkout", &(self.is_branch_checkout == "1"));
self.hook.tctx.insert(
"hook_args",
&format!(
"{} {} {}",
self.prev_head, self.new_head, self.is_branch_checkout
),
);
self.hook.run("post-checkout").await
}
}