protected virtual Process Start(string [] command, Action<ProcessStartInfo> initialize) { var startInfo = new ProcessStartInfo(); startInfo.FileName = "git"; startInfo.SetArguments(command); startInfo.CreateNoWindow = true; startInfo.UseShellExecute = false; startInfo.RedirectStandardError = true; initialize(startInfo); Trace.WriteLine("Starting process: " + startInfo.FileName + " " + startInfo.Arguments, "git command"); var process = Process.Start(startInfo); process.ErrorDataReceived += StdErrReceived; process.BeginErrorReadLine(); return process; }
public void ShouldSetProcessStartInfoArguments() { var info = new ProcessStartInfo(); info.SetArguments("a", "b", "c"); Assert.Equal("a b c", info.Arguments); }
public void ShouldQuoteSpacesInProcessStartInfoArguments() { var info = new ProcessStartInfo(); info.SetArguments("a", "b c"); Assert.Equal("a \"b c\"", info.Arguments); }
protected virtual GitProcess Start(string [] command, Action<ProcessStartInfo> initialize) { var startInfo = new ProcessStartInfo(); startInfo.FileName = "git"; startInfo.SetArguments(command); startInfo.CreateNoWindow = true; startInfo.UseShellExecute = false; startInfo.EnvironmentVariables["GIT_PAGER"] = "cat"; RedirectStderr(startInfo); initialize(startInfo); Trace.WriteLine("Starting process: " + startInfo.FileName + " " + startInfo.Arguments, "git command"); var process = new GitProcess(Process.Start(startInfo)); process.ConsumeStandardError(); return process; }