diff options
Diffstat (limited to 'src/marlin.core/functional')
| -rw-r--r-- | src/marlin.core/functional/GitBinaryClient.cs | 9 | ||||
| -rw-r--r-- | src/marlin.core/functional/IGitClient.cs | 1 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/marlin.core/functional/GitBinaryClient.cs b/src/marlin.core/functional/GitBinaryClient.cs index 3a703da..b2751c0 100644 --- a/src/marlin.core/functional/GitBinaryClient.cs +++ b/src/marlin.core/functional/GitBinaryClient.cs @@ -41,6 +41,13 @@ public class GitBinaryClient : IGitClient await this.RunAsync(authenticate: true, args.ToArray()); } + public async Task Checkout(string repoPath, string remote, string branch, string commit) + { + await this.RunAsync(authenticate: true, "clone", "--revision", branch, remote, repoPath); + // await this.RunAsync(authenticate: true, "clone", "--branch", branch, remote, repoPath); + await this.RunAsync(authenticate: false, "-C", repoPath, "checkout", commit); + } + public async Task<string[]> ListTree(string repoPath, string hash, string filterPath = ".") { string stdout = await this.RunAsync( @@ -84,7 +91,7 @@ public class GitBinaryClient : IGitClient foreach (string arg in arguments) psi.ArgumentList.Add(arg); - + psi.Environment["GIT_TERMINAL_PROMPT"] = "0"; IAsyncDisposable? credentialScope = authenticate && this._credential != null diff --git a/src/marlin.core/functional/IGitClient.cs b/src/marlin.core/functional/IGitClient.cs index 69cffa3..69476d3 100644 --- a/src/marlin.core/functional/IGitClient.cs +++ b/src/marlin.core/functional/IGitClient.cs @@ -5,6 +5,7 @@ public interface IGitClient Task<Dictionary<string, string>> GetRemoteRefs(string remote); Task Init(string repoPath); Task FetchTrees(string repoPath, string remote, IEnumerable<string> refs, bool skipBlobs = false); + Task Checkout(string repoPath, string remote, string branch, string commit); Task<string[]> ListTree(string repoPath, string hash, string filterPath = "."); Task<byte[]> CatFile(string repoPath, string hash, string fileName); }
\ No newline at end of file |
