using System.Collections.Generic;
namespace LibGit2Sharp
{
///
/// A log of commits in a that can be filtered with queries.
///
public interface IQueryableCommitLog : ICommitLog
{
///
/// Returns the list of commits of the repository matching the specified .
///
/// The options used to control which commits will be returned.
/// A list of commits, ready to be enumerated.
ICommitLog QueryBy(CommitFilter filter);
///
/// Find the best possible merge base given two s.
///
/// The first .
/// The second .
/// The merge base or null if none found.
Commit FindMergeBase(Commit first, Commit second);
///
/// Find the best possible merge base given two or more according to the .
///
/// The s for which to find the merge base.
/// The strategy to leverage in order to find the merge base.
/// The merge base or null if none found.
Commit FindMergeBase(IEnumerable commits, MergeBaseFindingStrategy strategy);
}
}