use std::path::PathBuf;
use iced::Task;
use crate::macros::StringErr;
use crate::message::Message;
pub(crate) fn checkout_branch(path: PathBuf, branch_name: String) -> Task<Message> {
git_task!(
Message::BranchCheckedOut,
(|| {
let repo = open_repo!(&path);
gitkraft_core::features::branches::checkout_branch(&repo, &branch_name).str_err()
})()
)
}
pub(crate) fn create_branch(path: PathBuf, branch_name: String) -> Task<Message> {
git_task!(
Message::BranchCreated,
(|| {
let repo = open_repo!(&path);
gitkraft_core::features::branches::create_branch(&repo, &branch_name)
.map(|_| ())
.str_err()
})()
)
}
pub(crate) fn delete_branch(path: PathBuf, branch_name: String) -> Task<Message> {
git_task!(
Message::BranchDeleted,
(|| {
let repo = open_repo!(&path);
gitkraft_core::features::branches::delete_branch(&repo, &branch_name).str_err()
})()
)
}