#![allow(clippy::unwrap_used)]
#![allow(dead_code)]
use git2::{Repository, Signature};
use tempfile::TempDir;
pub fn create_test_repo() -> (TempDir, Repository) {
let dir = TempDir::new().unwrap();
let repo = Repository::init(dir.path()).unwrap();
let mut config = repo.config().unwrap();
config.set_str("user.name", "Test User").unwrap();
config.set_str("user.email", "test@example.com").unwrap();
(dir, repo)
}
pub fn create_commit(repo: &Repository, message: &str) {
let mut index = repo.index().unwrap();
let tree_id = index.write_tree().unwrap();
let tree = repo.find_tree(tree_id).unwrap();
let sig = Signature::now("Test User", "test@example.com").unwrap();
let parent_commit = repo.head().ok().and_then(|h| h.peel_to_commit().ok());
if let Some(parent) = parent_commit {
repo.commit(Some("HEAD"), &sig, &sig, message, &tree, &[&parent])
.unwrap();
} else {
repo.commit(Some("HEAD"), &sig, &sig, message, &tree, &[])
.unwrap();
}
}