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; }
public Command GetQueryConfigCommand(QueryConfigParameters parameters) { Assert.IsNotNull(parameters); var args = new List<ICommandArgument>(3); args.Add(ConfigCommand.NullTerminate()); args.Add(ConfigCommand.List()); InsertConfigFileSpecifier(args, parameters); return new ConfigCommand(args); }