108 references to GitCommandMode
aspire (44)
Configuration\ConfigSourceService.cs (10)
562
var size = await git.GetObjectSizeAsync(repositoryDirectory, version,
GitCommandMode
.Interactive, timeout.Token);
568
var json = await git.ReadBlobAsync(repositoryDirectory, version,
GitCommandMode
.Interactive, timeout.Token);
634
var
mode = allowInteractive ?
GitCommandMode
.Interactive :
GitCommandMode
.Unattended;
649
resolvedCommit.Length == 64 ? "sha256" : "sha1",
GitCommandMode
.Interactive, cancellationToken);
654
allowInteractive ?
GitCommandMode
.Interactive :
GitCommandMode
.Unattended, cancellationToken);
655
var commit = await git.GetCommitAsync(repositoryDirectory, "FETCH_HEAD^{commit}",
GitCommandMode
.Interactive, cancellationToken);
656
var entry = await git.GetFileAsync(repositoryDirectory, commit, source.Path,
GitCommandMode
.Interactive, cancellationToken);
Git\GitClient.cs (9)
13
public async Task<string> ResolveReferenceAsync(string repository, string? reference, DirectoryInfo workingDirectory,
GitCommandMode
mode, CancellationToken cancellationToken)
53
public Task InitializeAsync(DirectoryInfo workingDirectory, GitRepositoryLocation repository, string? objectFormat,
GitCommandMode
mode, CancellationToken cancellationToken)
73
public Task FetchAsync(GitRepositoryLocation destination, string repository, string reference,
GitCommandMode
mode, CancellationToken cancellationToken) =>
76
public Task CheckoutAsync(GitRepositoryLocation repository,
GitCommandMode
mode, CancellationToken cancellationToken) =>
79
public async Task<string> GetCommitAsync(GitRepositoryLocation repository, string reference,
GitCommandMode
mode, CancellationToken cancellationToken) =>
82
public async Task<GitTreeEntry?> GetFileAsync(GitRepositoryLocation repository, string commit, string path,
GitCommandMode
mode, CancellationToken cancellationToken)
94
public async Task<long?> GetObjectSizeAsync(GitRepositoryLocation repository, string objectId,
GitCommandMode
mode, CancellationToken cancellationToken)
100
public Task<string> ReadBlobAsync(GitRepositoryLocation repository, string objectId,
GitCommandMode
mode, CancellationToken cancellationToken) =>
103
private Task<string> RunAsync(GitRepositoryLocation repository, string[] arguments,
GitCommandMode
mode, CancellationToken cancellationToken)
Git\GitCommandRunner.cs (12)
15
Task<string> RunAsync(DirectoryInfo workingDirectory, string[] arguments,
GitCommandMode
mode, CancellationToken cancellationToken);
32
public async Task<string> RunAsync(DirectoryInfo workingDirectory, string[] arguments,
GitCommandMode
mode, CancellationToken cancellationToken)
37
return await RunProcessAsync(startInfo, captureCancellationOutput: command is "fetch" or "ls-remote" && mode !=
GitCommandMode
.Captured && startInfo.RedirectStandardOutput,
41
internal ProcessStartInfo CreateStartInfo(string directory, string[] arguments,
GitCommandMode
mode)
43
var interactive = mode ==
GitCommandMode
.Interactive && hostEnvironment.SupportsInteractiveInput;
52
RedirectStandardInput = mode ==
GitCommandMode
.Captured,
61
if (!interactive && mode !=
GitCommandMode
.Captured)
73
internal static void FilterEnvironment(IDictionary<string, string?> environment,
GitCommandMode
mode)
75
if (mode !=
GitCommandMode
.Captured)
94
internal async Task<string> RunProcessAsync(ProcessStartInfo startInfo, bool captureCancellationOutput,
GitCommandMode
mode, CancellationToken cancellationToken)
149
internal static GitCommandException CreateCommandException(string stderr, int exitCode,
GitCommandMode
mode)
154
|| (mode ==
GitCommandMode
.Captured && stderr.Contains("could not read Password", StringComparison.OrdinalIgnoreCase));
Git\IGitClient.cs (8)
8
Task<string> ResolveReferenceAsync(string repository, string? reference, DirectoryInfo workingDirectory,
GitCommandMode
mode, CancellationToken cancellationToken);
9
Task InitializeAsync(DirectoryInfo workingDirectory, GitRepositoryLocation repository, string? objectFormat,
GitCommandMode
mode, CancellationToken cancellationToken);
10
Task FetchAsync(GitRepositoryLocation destination, string repository, string reference,
GitCommandMode
mode, CancellationToken cancellationToken);
11
Task CheckoutAsync(GitRepositoryLocation repository,
GitCommandMode
mode, CancellationToken cancellationToken);
12
Task<string> GetCommitAsync(GitRepositoryLocation repository, string reference,
GitCommandMode
mode, CancellationToken cancellationToken);
13
Task<GitTreeEntry?> GetFileAsync(GitRepositoryLocation repository, string commit, string path,
GitCommandMode
mode, CancellationToken cancellationToken);
14
Task<long?> GetObjectSizeAsync(GitRepositoryLocation repository, string objectId,
GitCommandMode
mode, CancellationToken cancellationToken);
15
Task<string> ReadBlobAsync(GitRepositoryLocation repository, string objectId,
GitCommandMode
mode, CancellationToken cancellationToken);
Templating\TemplateEngineFactory.cs (5)
124
token => git.ResolveReferenceAsync(repository, reference, executionContext.WorkingDirectory,
GitCommandMode
.Captured, token), cancellationToken));
198
commitSha.Length == 64 ? "sha256" : "sha1",
GitCommandMode
.Captured, token);
199
await git.FetchAsync(location, repository, commitSha,
GitCommandMode
.Captured, token);
200
await git.CheckoutAsync(location,
GitCommandMode
.Captured, token);
201
var actualSha = await git.GetCommitAsync(location, "HEAD",
GitCommandMode
.Captured, token);
Aspire.Cli.Tests (64)
Configuration\ConfigSourceServiceGitTests.cs (10)
226
startInfo, captureTimeoutOutput,
GitCommandMode
.Unattended, cancellation.Token);
289
var startInfo = client.CreateStartInfo(workspace.Path, ["fetch"],
GitCommandMode
.Unattended);
314
var startInfo = client.CreateStartInfo(workspace.Path, ["fetch", "--depth", "1", "--", "https://example.com/configuration", "HEAD"],
GitCommandMode
.Interactive);
339
var startInfo = runner.CreateStartInfo(workspace.Path, ["ls-remote", "--", "repository", "HEAD"],
GitCommandMode
.Interactive);
358
var startInfo = client.CreateStartInfo(workspace.Path, [command],
GitCommandMode
.Interactive);
718
GitCommandMode
[] expectedResolutionModes = selector == "commit" ? []
719
: [
GitCommandMode
.Interactive,
GitCommandMode
.Unattended,
GitCommandMode
.Interactive,
GitCommandMode
.Unattended];
Git\GitClientTests.cs (20)
31
var resolved = await client.ResolveReferenceAsync("-repository with spaces", reference, workspace.WorkspaceRoot,
GitCommandMode
.Captured, TestContext.Current.CancellationToken);
41
Assert.Equal(
GitCommandMode
.Captured, command.Mode);
55
await client.ResolveReferenceAsync("repository", "same", workspace.WorkspaceRoot,
GitCommandMode
.Captured, TestContext.Current.CancellationToken));
59
[InlineData(nameof(
GitCommandMode
.Captured), 40)]
60
[InlineData(nameof(
GitCommandMode
.Interactive), 64)]
61
[InlineData(nameof(
GitCommandMode
.Unattended), 64)]
68
var
interactionMode = Enum.Parse<
GitCommandMode
>(mode);
88
client.ResolveReferenceAsync("repository", "missing", workspace.WorkspaceRoot,
GitCommandMode
.Captured, TestContext.Current.CancellationToken));
102
var resolved = await client.ResolveReferenceAsync("repository", new string('A', length), workspace.WorkspaceRoot,
GitCommandMode
.Captured, TestContext.Current.CancellationToken);
117
await client.InitializeAsync(workspace.WorkspaceRoot, repository, objectFormat: null,
GitCommandMode
.Interactive, token);
118
await client.FetchAsync(repository, "repository with spaces", "refs/heads/main",
GitCommandMode
.Unattended, token);
119
Assert.Equal(TestGitCommandRunner.DefaultCommitSha, await client.GetCommitAsync(repository, "FETCH_HEAD^{commit}",
GitCommandMode
.Interactive, token));
126
Assert.Equal(
GitCommandMode
.Interactive, command.Mode);
132
Assert.Equal(
GitCommandMode
.Unattended, command.Mode);
137
Assert.Equal(
GitCommandMode
.Interactive, command.Mode);
155
var entry = await client.GetFileAsync(repository, objectId, path,
GitCommandMode
.Interactive, TestContext.Current.CancellationToken);
173
Assert.Null(await client.GetFileAsync(repository, TestGitCommandRunner.DefaultCommitSha, "file",
GitCommandMode
.Interactive, TestContext.Current.CancellationToken));
189
Assert.Equal(23, await client.GetObjectSizeAsync(repository, objectId,
GitCommandMode
.Interactive, TestContext.Current.CancellationToken));
190
Assert.Equal(content, await client.ReadBlobAsync(repository, objectId,
GitCommandMode
.Interactive, TestContext.Current.CancellationToken));
Git\GitCommandRunnerTests.cs (20)
28
["fetch", "--", "-repository with spaces", "HEAD"],
GitCommandMode
.Captured);
61
GitCommandRunner.FilterEnvironment(environment,
GitCommandMode
.Captured);
68
[InlineData(nameof(
GitCommandMode
.Interactive))]
69
[InlineData(nameof(
GitCommandMode
.Unattended))]
80
GitCommandRunner.FilterEnvironment(environment, Enum.Parse<
GitCommandMode
>(mode));
91
[InlineData(nameof(
GitCommandMode
.Interactive), false)]
92
[InlineData(nameof(
GitCommandMode
.Interactive), true)]
93
[InlineData(nameof(
GitCommandMode
.Unattended), false)]
94
[InlineData(nameof(
GitCommandMode
.Unattended), true)]
109
GitCommandRunner.FilterEnvironment(environment, Enum.Parse<
GitCommandMode
>(mode));
141
runner.RunProcessAsync(startInfo, captureCancellationOutput: false,
GitCommandMode
.Captured, TestContext.Current.CancellationToken));
158
[InlineData(nameof(
GitCommandMode
.Captured), nameof(GitFailure.AuthenticationFailed))]
159
[InlineData(nameof(
GitCommandMode
.Interactive), nameof(GitFailure.CommandFailed))]
160
[InlineData(nameof(
GitCommandMode
.Unattended), nameof(GitFailure.CommandFailed))]
163
var exception = GitCommandRunner.CreateCommandException("fatal: could not read Password", 128, Enum.Parse<
GitCommandMode
>(mode));
179
CreateRunner().RunProcessAsync(startInfo, captureCancellationOutput: false,
GitCommandMode
.Captured, TestContext.Current.CancellationToken));
193
CreateRunner().RunProcessAsync(startInfo, captureCancellationOutput: false,
GitCommandMode
.Captured, new CancellationToken(canceled: true)));
201
var output = await CreateRunner().RunProcessAsync(startInfo, captureCancellationOutput: false,
GitCommandMode
.Captured, TestContext.Current.CancellationToken);
211
var startInfo = runner.CreateStartInfo(workspace.Path, ["fetch"],
GitCommandMode
.Captured);
224
var output = await runner.RunProcessAsync(startInfo, captureCancellationOutput: false,
GitCommandMode
.Captured, cancellation.Token);
Templating\TemplateEngineFactoryGitTests.cs (1)
48
Assert.All(commands.Commands, command => Assert.Equal(
GitCommandMode
.Captured, command.Mode));
TestServices\TestConfigSourceServices.cs (11)
102
GitCommandMode
mode, CancellationToken cancellationToken) => Task.CompletedTask;
104
public Task FetchAsync(GitRepositoryLocation destination, string repository, string reference,
GitCommandMode
mode, CancellationToken cancellationToken)
110
public Task<string> GetCommitAsync(GitRepositoryLocation repository, string reference,
GitCommandMode
mode, CancellationToken cancellationToken) =>
113
public async Task<GitTreeEntry?> GetFileAsync(GitRepositoryLocation repository, string commit, string path,
GitCommandMode
mode, CancellationToken cancellationToken)
124
if (state.Mode ==
GitCommandMode
.Unattended)
139
public Task<long?> GetObjectSizeAsync(GitRepositoryLocation repository, string objectId,
GitCommandMode
mode, CancellationToken cancellationToken) =>
142
public Task<string> ReadBlobAsync(GitRepositoryLocation repository, string objectId,
GitCommandMode
mode, CancellationToken cancellationToken) =>
145
public Task<string> ResolveReferenceAsync(string repository, string? reference, DirectoryInfo workingDirectory,
GitCommandMode
mode, CancellationToken cancellationToken) =>
148
public Task CheckoutAsync(GitRepositoryLocation repository,
GitCommandMode
mode, CancellationToken cancellationToken) =>
151
private sealed class RepositoryState(string repository, string reference,
GitCommandMode
mode)
155
public
GitCommandMode
Mode { get; } = mode;
TestServices\TestGitCommandRunner.cs (2)
42
public async Task<string> RunAsync(DirectoryInfo workingDirectory, string[] arguments,
GitCommandMode
mode, CancellationToken cancellationToken)
53
internal sealed record GitCommandInvocation(DirectoryInfo WorkingDirectory, string[] Arguments,
GitCommandMode
Mode);