Files
git-tfs/GitTfs/Core/IGitRepository.cs
T
2011-08-03 13:21:20 +03:00

31 lines
1.5 KiB
C#

using System.Collections.Generic;
using System.IO;
using Sep.Git.Tfs.Commands;
namespace Sep.Git.Tfs.Core
{
public interface IGitRepository : IGitHelpers
{
string GitDir { get; set; }
IEnumerable<IGitTfsRemote> ReadAllTfsRemotes();
IGitTfsRemote ReadTfsRemote(string remoteId);
void /*or IGitTfsRemote*/ CreateTfsRemote(string remoteId, string tfsUrl, string tfsRepositoryPath, RemoteOptions remoteOptions);
void /*or IGitTfsRemote*/ CreateTfsRemote(string remoteId, TfsChangesetInfo tfsHead, RemoteOptions remoteOptions);
bool HasRemote(string remoteId);
void MoveTfsRefForwardIfNeeded(IGitTfsRemote remote);
IEnumerable<TfsChangesetInfo> GetLastParentTfsCommits(string head);
IEnumerable<TfsChangesetInfo> GetLastParentTfsCommits(string head, bool includeStubRemotes);
IDictionary<string, GitObject> GetObjects(string commit);
string HashAndInsertObject(string filename);
string HashAndInsertObject(Stream data);
string HashAndInsertObject(Stream data, long length);
IEnumerable<IGitChangedFile> GetChangedFiles(string from, string to);
string GetChangeSummary(string from, string to);
bool WorkingCopyHasUnstagedOrUncommitedChanges { get; }
void GetBlob(string sha, string outputFile);
GitCommit GetCommit(string commitish);
Dictionary<string, GitObject> GetObjects();
string GetCommitMessage(string head, string parentCommitish);
}
}