예제 #1
0
        public static List <BranchInfo> Parse(List <string> lines)
        {
            List <BranchInfo> output = new List <BranchInfo>();

            foreach (string line in lines)
            {
                BranchInfo branchInfo = ParseLine(line);
                output.Add(branchInfo);
            }
            return(output);
        }
예제 #2
0
        public static BranchInfo ParseLine(string line)
        {
            Regex      regex      = new Regex(@"([\s\*])\s(\S+)\s+(\S+)");
            BranchInfo branchInfo = new BranchInfo();

            Match match = regex.Match(line);

            if (match.Success == false)
            {
                return(null);
            }
            branchInfo.IsCurrent = (match.Groups[1].Value == "*");
            branchInfo.Name      = match.Groups[2].Value;
            branchInfo.CommitId  = match.Groups[3].Value;

            return(branchInfo);
        }