コード例 #1
0
ファイル: WorkDirCheckout.cs プロジェクト: dev218/GitSharp
        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;
                }
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
            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;
                }
            }
コード例 #4
0
ファイル: FileTreeIterator.cs プロジェクト: dev218/GitSharp
            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;
            }