Files
gitcommiteditor/Services/ICommitAnalysisService.cs

19 lines
685 B
C#

using MarketAlly.GitCommitEditor.Models;
namespace MarketAlly.GitCommitEditor.Services;
/// <summary>
/// Provides commit analysis functionality.
/// </summary>
public interface ICommitAnalysisService
{
Task<IReadOnlyList<CommitAnalysis>> AnalyzeAllReposAsync(
bool onlyNeedsImprovement = true,
IProgress<(string Repo, int Processed)>? progress = null,
CancellationToken ct = default);
IEnumerable<CommitAnalysis> AnalyzeRepo(ManagedRepo repo);
CommitAnalysis AnalyzeCommit(string repoPath, string commitHash);
Task UpdateRepoAnalysisAsync(ManagedRepo repo, int totalCommits, int commitsNeedingImprovement, CancellationToken ct = default);
}