private void CheckConflictsWithFile(FileSystemInfo file) { if (file.IsDirectory()) { List<string> childFiles = ListFiles(file); Conflicts.AddRange(childFiles); } else { FileSystemInfo parent = Directory.GetParent(file.FullName); if (parent == null) return; while (!parent.Equals(_root)) { if (parent.IsDirectory()) { break; } if (parent.IsFile()) { Conflicts.Add(Repository.StripWorkDir(_root, parent)); break; } parent = Directory.GetParent(parent.FullName); if (parent == null) return; } } }
public static FileSystemSearchResult CreateFrom(IResultProvider provider, FileSystemInfo fileSystemInfo) { if (fileSystemInfo.IsDirectory()) return new DirectorySearchResult(provider, (DirectoryInfo)fileSystemInfo); if (fileSystemInfo.Extension == ".lnk") return new ShortcutSearchResult(provider, (FileInfo)fileSystemInfo); return new FileSearchResult(provider, (FileInfo)fileSystemInfo); }
public FileEntry(FileSystemInfo f) { _file = f; _fileLength = -1; if (_file.IsDirectory()) { _mode = PathUtil.CombineDirectoryPath((DirectoryInfo)_file, Constants.DOT_GIT).Exists ? FileMode.GitLink : FileMode.Tree; } else if (_file.IsFile()) { _mode = FS.canExecute(_file) ? FileMode.ExecutableFile : FileMode.RegularFile; } }
public FileEntry(FileSystemInfo f) { _file = f; if (f.IsDirectory()) { _isADirectory = true; if (PathUtil.CombineDirectoryPath((DirectoryInfo)f, Constants.DOT_GIT).IsDirectory()) _mode = FileMode.GitLink; else _mode = FileMode.Tree; } else if (FS.canExecute(_file)) _mode = FileMode.ExecutableFile; else _mode = FileMode.RegularFile; }