use std::path::PathBuf;
use anyhow::Result;
use crate::common::{clone_git_repo, RepoRef};
pub struct CloneTemplate {
pub clone_tmp: PathBuf,
pub repo_url: String,
pub sub_folder: Option<String>,
pub repo_branch: String,
}
pub async fn clone_git_template(
CloneTemplate {
clone_tmp,
repo_url,
sub_folder,
repo_branch,
}: CloneTemplate,
) -> Result<()> {
clone_git_repo(
None,
&clone_tmp,
repo_url,
sub_folder,
Some(RepoRef::Branch(repo_branch)),
)
.await
}
#[allow(dead_code)]
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum GitReference {
Tag(String),
Branch(String),
Rev(String),
DefaultBranch,
}