Beispiel #1
0
 private void GetIgnoreInfo()
 {
     if (File.Exists(IgnorePath))
     {
         IgnoreInfo = P.ProcessIgnoreFile(IgnorePath);
     }
     else
     {
         Console.WriteLine("{0} is not a valid .gitignore file path.", IgnorePath);
     }
 }
Beispiel #2
0
        public IgnoreInfo ProcessIgnoreFile(string path)
        {
            IgnoreInfo ii = new IgnoreInfo();

            string[] allLines = File.ReadAllLines(path);
            Regex    reg      = new Regex(@"\.git");

            ii.DirectoriesToIgnore.Add(reg);
            foreach (string line in allLines)
            {
                if (line == "" || line[0] == '#')
                {
                    continue;
                }
                else if (line[line.Length - 1] == '/')
                {
                    string l = line.Replace("/", "");
                    l = l.Replace(".", "\\.");
                    l = l.Replace("*", ".*");
                    Regex re = new Regex(l);
                    ii.DirectoriesToIgnore.Add(re);
                }
                else if (!line.Contains('/'))
                {
                    string l = line;
                    l = l.Replace(".", "\\.");
                    l = l.Replace("*", ".*");
                    Regex re = new Regex(l);
                    ii.FilesToIgnore.Add(re);
                }
                else
                {
                    string l = line;
                    l = l.Replace(".", "\\.");
                    l = l.Replace("*", ".*");
                    Regex re = new Regex(l);
                    ii.ToIgnore.Add(re);
                }
            }
            return(ii);
        }