blob: cf968046ce5ba934984e7365fded43fe2e91fad8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
namespace marlin.core.functional;
using System.Diagnostics;
/// <summary>
/// Supplies whatever git needs to authenticate a single invocation — an HTTP header,
/// an SSH key, etc. Credentials are applied per-process via environment variables only;
/// nothing is written to git config, argv, or any credential store.
/// </summary>
public interface IGitCredential
{
/// <summary>
/// Configures <paramref name="psi"/> so the git process it starts can authenticate.
/// Returns a disposable that tears down anything ephemeral (e.g. a temp key file)
/// once that process has exited.
/// </summary>
Task<IAsyncDisposable> ApplyAsync(ProcessStartInfo psi);
}
|