Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 3
0
        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);
        }