예제 #1
0
파일: TreeEntry.cs 프로젝트: Xornent/simula
        internal unsafe TreeEntry(TreeEntryHandle entry, ObjectId parentTreeId, Repository repo, string parentPath)
        {
            this.parentTreeId = parentTreeId;
            this.repo         = repo;
            targetOid         = Proxy.git_tree_entry_id(entry);

            GitObjectType treeEntryTargetType = Proxy.git_tree_entry_type(entry);

            TargetType = treeEntryTargetType.ToTreeEntryTargetType();

            target = new Lazy <GitObject>(RetrieveTreeEntryTarget);

            Mode = Proxy.git_tree_entry_attributes(entry);
            Name = Proxy.git_tree_entry_name(entry);
            path = new Lazy <string>(() => Tree.CombinePath(parentPath, Name));
        }
예제 #2
0
        internal TreeEntry(SafeHandle obj, ObjectId parentTreeId, Repository repo, FilePath parentPath)
        {
            this.parentTreeId = parentTreeId;
            this.repo         = repo;
            targetOid         = Proxy.git_tree_entry_id(obj);

            GitObjectType treeEntryTargetType = Proxy.git_tree_entry_type(obj);

            TargetType = treeEntryTargetType.ToTreeEntryTargetType();

            target = new Lazy <GitObject>(RetrieveTreeEntryTarget);

            Mode = Proxy.git_tree_entry_attributes(obj);
            Name = Proxy.git_tree_entry_name(obj);
            path = new Lazy <string>(() => System.IO.Path.Combine(parentPath.Native, Name));
        }