From a9bc03fb01b5d1ac41bf5592f384d22df5425aa4 Mon Sep 17 00:00:00 2001 From: Melodi <62381002+Melodi17@users.noreply.github.com> Date: Sun, 6 Sep 2026 09:02:31 +1000 Subject: feat: vcs and secret management support --- src/marlin.core/functional/IGitCredential.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/marlin.core/functional/IGitCredential.cs (limited to 'src/marlin.core/functional/IGitCredential.cs') diff --git a/src/marlin.core/functional/IGitCredential.cs b/src/marlin.core/functional/IGitCredential.cs new file mode 100644 index 0000000..cf96804 --- /dev/null +++ b/src/marlin.core/functional/IGitCredential.cs @@ -0,0 +1,18 @@ +namespace marlin.core.functional; + +using System.Diagnostics; + +/// +/// 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. +/// +public interface IGitCredential +{ + /// + /// Configures 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. + /// + Task ApplyAsync(ProcessStartInfo psi); +} -- cgit v1.3.1