/// <summary> /// 获取本地设置的用户和密码 /// </summary> /// <param name="url"></param> /// <param name="username"></param> /// <param name="password"></param> /// <param name="error"></param> /// <returns></returns> public bool TryGetCredential(string url, out string username, out string password, out string error) { username = null; password = null; error = null; Result gitCredentialOutput = this.Process.InvokeGitAgainstDotGitFolder( GenerateCredentialVerbCommand("fill"), stdin => stdin.Write($"url={url}\n\n"), parseStdOutLine: null); if (gitCredentialOutput.ExitCodeIsFailure) { EventMetadata errorData = new EventMetadata(); error = gitCredentialOutput.Errors; return(false); } username = MessageDecoder.ParseValue(gitCredentialOutput.Output, "username="******"password="******"Success", success); if (!success) { metadata.Add("Output", gitCredentialOutput.Output); } return(success); }