pub trait PatchRepository {
// Required methods
fn to_patch(
&self,
tree: Option<Tree<'_>>,
max_token_count: usize,
model: Model,
) -> Result<String>;
fn to_diff(&self, tree: Option<Tree<'_>>) -> Result<Diff<'_>>;
fn to_commit_diff(&self, tree: Option<Tree<'_>>) -> Result<Diff<'_>>;
fn configure_diff_options(&self, opts: &mut DiffOptions);
fn configure_commit_diff_options(&self, opts: &mut DiffOptions);
}