use crate::templ_data::repo::RepoData; use git2::{Oid, Repository, Tree}; /// Represents a repo in libgit2 pub(crate) struct Repo { pub(crate) inner: Repository, } impl Repo { pub(crate) fn new(path: &str) -> Self { Self { inner: Repository::open(path).expect(&format!("`{}` is not a valid git repo", path)), } } } pub(crate) fn get_tree<'r>(repo: &'r Repository, rev: &str) -> Tree<'r> { repo.revparse_single(rev).unwrap().peel_to_tree().unwrap() }