diff options
author | Junio C Hamano <junkio@cox.net> | 2006-06-04 06:59:27 (GMT) |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-06-04 06:59:27 (GMT) |
commit | 16a4c6ee0d9a3d07d4d0afbbc4e3467e78065eca (patch) | |
tree | e76b6ce43feac1834a88737554392cbf3eba04ee /tree.h | |
parent | f0679f474a884df13ce032d81dde34175c0fa343 (diff) | |
parent | 6f9012b62517ca490e4131f24e03ff842527f1b9 (diff) | |
download | git-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.h | 20 |
1 files changed, 3 insertions, 17 deletions
@@ -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, |