summaryrefslogtreecommitdiff
path: root/src/marlin.core/functional/GitBinaryClient.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/marlin.core/functional/GitBinaryClient.cs')
-rw-r--r--src/marlin.core/functional/GitBinaryClient.cs9
1 files changed, 8 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