public static async Task <string> GetGitCreds(this ProcessManager processManager, NPath workingDirectory, IEnvironment environment, IFileSystem filesystem, IProcessEnvironment gitEnvironment, NPath?gitPath = null) { var processor = new FirstNonNullLineOutputProcessor(); NPath path = gitPath ?? defaultGitPath; var task = new ProcessTask <string>(CancellationToken.None, processor) .Configure(processManager, path, "credential-wincred get", workingDirectory, true); task.OnStartProcess += p => { p.StandardInput.WriteLine("protocol=https"); p.StandardInput.WriteLine("host=github.com"); p.StandardInput.Close(); }; return(await task.StartAsAsync()); }