diff --git a/asyncgit/src/sync/commit_files.rs b/asyncgit/src/sync/commit_files.rs
index 772b910e..aff11001 100644
--- a/asyncgit/src/sync/commit_files.rs
+++ b/asyncgit/src/sync/commit_files.rs
@@ -3,10 +3,10 @@
use super::{diff::DiffOptions, CommitId, RepoPath};
use crate::{
error::Result,
- sync::{get_stashes, repository::repo},
- StatusItem, StatusItemType,
+ sync::{get_stashes, repository::repo, utils::bytes2string},
+ Error, StatusItem, StatusItemType,
};
-use git2::{Diff, Repository};
+use git2::{Diff, DiffFindOptions, Repository};
use scopetime::scope_time;
use std::{cmp::Ordering, collections::HashSet};
@@ -153,14 +153,94 @@ pub(crate) fn get_commit_diff<'a>(
Ok(diff)
}
+///
+pub(crate) fn commit_contains_file(
+ repo: &Repository,
+ id: CommitId,
+ pathspec: &str,
+) -> Result