Esempio n. 1
0
        public IList<ConfigParameterData> ParseQueryConfigResults(QueryConfigParameters parameters, GitOutput output)
        {
            Assert.IsNotNull(parameters);
            Assert.IsNotNull(output);

            if(output.ExitCode != 0 && parameters.ConfigFile != ConfigFile.Other)
            {
                return new ConfigParameterData[0];
            }
            HandleConfigResults(output);
            var res = new List<ConfigParameterData>();
            var parser = new GitParser(output.Output);
            while(!parser.IsAtEndOfString)
            {
                var name = parser.ReadStringUpTo(parser.FindNewLineOrEndOfString(), 1);
                var value = parser.ReadStringUpTo(parser.FindNullOrEndOfString(), 1);
                if(parameters.ConfigFile != ConfigFile.Other)
                {
                    res.Add(new ConfigParameterData(name, value, parameters.ConfigFile));
                }
                else
                {
                    res.Add(new ConfigParameterData(name, value, parameters.FileName));
                }
            }
            return res;
        }
Esempio n. 2
0
        public IList<string> ParseFilesToClean(GitOutput output)
        {
            Assert.IsNotNull(output);

            output.ThrowOnBadReturnCode();
            var files = output.Output;
            var res = new List<string>();
            var parser = new GitParser(files);
            while(!parser.IsAtEndOfString)
            {
                if(parser.CheckValue("Would remove "))
                {
                    parser.Skip(13);
                    res.Add(parser.DecodeEscapedString(parser.FindNewLineOrEndOfString(), 1));
                }
                else
                {
                    parser.SkipLine();
                }
            }
            return res;
        }