using System; 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); /// /// Returns the list of commits of the repository representing the history of a file beyond renames. /// /// The file's path. /// A list of file history entries, ready to be enumerated. IEnumerable QueryBy(string path); /// /// Returns the list of commits of the repository representing the history of a file beyond renames. /// /// The file's path. /// The options used to control which commits will be returned. /// A list of file history entries, ready to be enumerated. IEnumerable QueryBy(string path, FollowFilter filter); /// /// Find the best possible merge base given two s. /// /// The first . /// The second . /// The merge base or null if none found. [Obsolete("This method will be removed in the next release. Please use ObjectDatabase.FindMergeBase() instead.")] 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. [Obsolete("This method will be removed in the next release. Please use ObjectDatabase.FindMergeBase() instead.")] Commit FindMergeBase(IEnumerable commits, MergeBaseFindingStrategy strategy); } }