public static ITask <GitStatus> GetGitStatus(this IProcessManager processManager, NPath workingDirectory, IEnvironment environment, NPath?gitPath = null) { var gitStatusEntryFactory = new GitObjectFactory(environment); var processor = new GitStatusOutputProcessor(gitStatusEntryFactory); return(new GitStatusTask(null, CancellationToken.None, processor) .Configure(processManager, workingDirectory: workingDirectory)); }
public static ITask <GitStatus> GetGitStatus(this IProcessManager processManager, NPath workingDirectory, IEnvironment environment, IProcessEnvironment gitEnvironment, NPath?gitPath = null) { var gitStatusEntryFactory = new GitObjectFactory(environment); var processor = new GitStatusOutputProcessor(gitStatusEntryFactory); NPath path = gitPath ?? defaultGitPath; return(new ProcessTask <GitStatus>(CancellationToken.None, processor) .Configure(processManager, path, "status -b -u --porcelain", workingDirectory, false)); }
public static async Task <GitStatus> GetGitStatus(this ProcessManager processManager, NPath workingDirectory, IEnvironment environment, IFileSystem filesystem, IProcessEnvironment gitEnvironment, NPath?gitPath = null) { var gitStatusEntryFactory = new GitObjectFactory(environment); var processor = new GitStatusOutputProcessor(gitStatusEntryFactory); NPath path = gitPath ?? defaultGitPath; var results = await new ProcessTask <GitStatus>(CancellationToken.None, processor) .Configure(processManager, path, "status -b -u --porcelain", workingDirectory, false) .Start() .Task; return(results); }
private void AssertProcessOutput(IEnumerable <string> lines, GitStatus expected) { var gitObjectFactory = SubstituteFactory.CreateGitObjectFactory(TestRootPath); GitStatus?result = null; var outputProcessor = new GitStatusOutputProcessor(gitObjectFactory); outputProcessor.OnEntry += status => { result = status; }; foreach (var line in lines) { outputProcessor.LineReceived(line); } Assert.IsTrue(result.HasValue); result.Value.AssertEqual(expected); }