diff options
author | Linus Torvalds <torvalds@osdl.org> | 2006-05-28 15:10:04 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-05-28 19:40:18 -0700 |
commit | a755dfe45c10ccd9f180d3c267602ad18d127d6a (patch) | |
tree | 2693d3d277325ab3ff792259d939d96402e2db72 /tree.h | |
parent | Add raw tree buffer info to "struct tree" (diff) | |
download | tgif-a755dfe45c10ccd9f180d3c267602ad18d127d6a.tar.xz |
Make "tree_entry" have a SHA1 instead of a union of object pointers
This is preparatory work for further cleanups, where we try to make
tree_entry look more like the more efficient tree-walk descriptor.
Instead of having a union of pointers to blob/tree/objects, this just
makes "struct tree_entry" have the raw SHA1, and makes all the users use
that instead (often that implies adding a "lookup_tree(..)" on the sha1,
but sometimes the user just wanted the SHA1 in the first place, and it
just avoids an unnecessary indirection).
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'tree.h')
-rw-r--r-- | tree.h | 8 |
1 files changed, 2 insertions, 6 deletions
@@ -13,11 +13,7 @@ struct tree_entry_list { unsigned zeropad : 1; unsigned int mode; const char *name; - union { - struct object *any; - struct tree *tree; - struct blob *blob; - } item; + const unsigned char *sha1; }; struct tree { @@ -37,7 +33,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, |