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); }