using System; namespace ExtensiblePortfolioSite.SDK.Git { /// /// A Git Repository /// public interface IRepository : IGitObject { /// /// Name of the repository /// public String Name { get; } /// /// Owner of the repository /// public IUser Owner { get; } /// /// Get a commit from the repository, defaults to latest /// /// How far to go back in the commit tree (default 0) /// A commit public ICommit? GetCommit(uint HeadOffset = 0); /// /// Get a commit from the repository, defaults to latest /// /// How far to go back in the commit tree (default 0) /// Reference to the commit /// If the commit could be found public bool TryGetCommit(uint HeadOffset, out ICommit? Commit); /// /// Get a commit from the repository by it's hash /// /// Which commit to get from the repo /// A commit public ICommit? GetCommitByRef(string Reference); /// /// Get a commit from the repository, defaults to latest /// /// Which commit to get from the repo /// Reference to the commit /// If the commit could be found public bool TryGetCommitByRef(string Reference, out ICommit? Commit); } }