#![cfg_attr(docsrs, feature(doc_cfg))]
extern crate self as wang_utils_git;
mod git_commit;
mod git_status;
mod git_tag;
mod git_init;
pub use git_commit::*;
pub use git_status::*;
pub use git_tag::*;
pub use git_init::*;
use git2::{Config, IndexAddOption, Repository, Signature};
pub fn git_add(repo: &Repository) -> anyhow::Result<()> {
let mut index = repo.index()?;
index.add_all(&["."], IndexAddOption::DEFAULT, None)?;
index.write()?;
Ok(())
}
pub fn git_config_get(
repo: &Repository,
) -> anyhow::Result<(Config, String, String, Signature<'static>)> {
let config = repo.config()?;
let user_name = config.get_string("user.name")?;
let user_email = config.get_string("user.email")?;
let sig = Signature::now(&user_name, &user_email)?;
Ok((config, user_name, user_email, sig))
}