private void CopyWithIgnores(DirectoryInfo source, DirectoryInfo target, IgnoreParser parser) { Directory.CreateDirectory(target.FullName); foreach (var file in source.GetFiles().Where(f => !parser.IsIgnore(f, LogIgnore))) { file.CopyTo(Path.Combine(target.FullName, file.Name), true); } foreach (var subDir in source.GetDirectories().Where(d => !parser.IsIgnore(d, LogIgnore))) { CopyWithIgnores(subDir, target.CreateSubdirectory(subDir.Name), parser); } }
public static void AddIgnoreFile(this IgnoreParser ignoreParser, string filePath, IEnumerable <string> rules) { ignoreParser.IgnoreFiles.Add(new IgnoreFile(rules, filePath, ignoreParser.Options)); }