summaryrefslogtreecommitdiff
path: root/tree.h
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-06-04 06:59:27 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-06-04 06:59:27 (GMT)
commit16a4c6ee0d9a3d07d4d0afbbc4e3467e78065eca (patch)
treee76b6ce43feac1834a88737554392cbf3eba04ee /tree.h
parentf0679f474a884df13ce032d81dde34175c0fa343 (diff)
parent6f9012b62517ca490e4131f24e03ff842527f1b9 (diff)
downloadgit-16a4c6ee0d9a3d07d4d0afbbc4e3467e78065eca.zip
git-16a4c6ee0d9a3d07d4d0afbbc4e3467e78065eca.tar.gz
git-16a4c6ee0d9a3d07d4d0afbbc4e3467e78065eca.tar.bz2
Merge branch 'lt/tree-2'
* lt/tree-2: fetch.c: do not call process_tree() from process_tree(). tree_entry(): new tree-walking helper function adjust to the rebased series by Linus. Remove "tree->entries" tree-entry list from tree parser Switch "read_tree_recursive()" over to tree-walk functionality Make "tree_entry" have a SHA1 instead of a union of object pointers Add raw tree buffer info to "struct tree" Remove last vestiges of generic tree_entry_list Convert fetch.c: process_tree() to raw tree walker Convert "mark_tree_uninteresting()" to raw tree walker Remove unused "zeropad" entry from tree_list_entry fsck-objects: avoid unnecessary tree_entry_list usage Remove "tree->entries" tree-entry list from tree parser builtin-read-tree.c: avoid tree_entry_list in prime_cache_tree_rec() Switch "read_tree_recursive()" over to tree-walk functionality Make "tree_entry" have a SHA1 instead of a union of object pointers Make "struct tree" contain the pointer to the tree buffer
Diffstat (limited to 'tree.h')
-rw-r--r--tree.h20
1 files changed, 3 insertions, 17 deletions
diff --git a/tree.h b/tree.h
index 330ab64..dd25c53 100644
--- a/tree.h
+++ b/tree.h
@@ -5,24 +5,10 @@
extern const char *tree_type;
-struct tree_entry_list {
- struct tree_entry_list *next;
- unsigned directory : 1;
- unsigned executable : 1;
- unsigned symlink : 1;
- unsigned zeropad : 1;
- unsigned int mode;
- char *name;
- union {
- struct object *any;
- struct tree *tree;
- struct blob *blob;
- } item;
-};
-
struct tree {
struct object object;
- struct tree_entry_list *entries;
+ void *buffer;
+ unsigned long size;
};
struct tree *lookup_tree(const unsigned char *sha1);
@@ -35,7 +21,7 @@ int parse_tree(struct tree *tree);
struct tree *parse_tree_indirect(const unsigned char *sha1);
#define READ_TREE_RECURSIVE 1
-typedef int (*read_tree_fn_t)(unsigned char *, const char *, int, const char *, unsigned int, int);
+typedef int (*read_tree_fn_t)(const unsigned char *, const char *, int, const char *, unsigned int, int);
extern int read_tree_recursive(struct tree *tree,
const char *base, int baselen,