pub trait GitIntegration: Send + Sync {
// Required methods
fn is_git_repository<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 Path,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_file_status<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
files: &'life1 [&'life2 Path],
) -> Pin<Box<dyn Future<Output = Result<Vec<GitStatus>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn get_repo_info<'life0, 'life1, 'async_trait>(
&'life0 self,
root_path: &'life1 Path,
) -> Pin<Box<dyn Future<Output = Result<GitRepositoryInfo>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn analyze_churn<'life0, 'life1, 'async_trait>(
&'life0 self,
root_path: &'life1 Path,
depth: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<ChurnInfo>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn should_ignore<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
file_path: &'life1 Path,
root_path: &'life2 Path,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
}
Expand description
Trait for git integration implementations
Required Methods§
Sourcefn is_git_repository<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 Path,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn is_git_repository<'life0, 'life1, 'async_trait>(
&'life0 self,
path: &'life1 Path,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Check if path is in a git repository
Sourcefn get_file_status<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
files: &'life1 [&'life2 Path],
) -> Pin<Box<dyn Future<Output = Result<Vec<GitStatus>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn get_file_status<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
files: &'life1 [&'life2 Path],
) -> Pin<Box<dyn Future<Output = Result<Vec<GitStatus>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Get git status for files
Sourcefn get_repo_info<'life0, 'life1, 'async_trait>(
&'life0 self,
root_path: &'life1 Path,
) -> Pin<Box<dyn Future<Output = Result<GitRepositoryInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_repo_info<'life0, 'life1, 'async_trait>(
&'life0 self,
root_path: &'life1 Path,
) -> Pin<Box<dyn Future<Output = Result<GitRepositoryInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get repository information
Sourcefn analyze_churn<'life0, 'life1, 'async_trait>(
&'life0 self,
root_path: &'life1 Path,
depth: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<ChurnInfo>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn analyze_churn<'life0, 'life1, 'async_trait>(
&'life0 self,
root_path: &'life1 Path,
depth: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<ChurnInfo>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Analyze file churn (commit history)
Sourcefn should_ignore<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
file_path: &'life1 Path,
root_path: &'life2 Path,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn should_ignore<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
file_path: &'life1 Path,
root_path: &'life2 Path,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Check if file should be ignored by git