summaryrefslogtreecommitdiff
path: root/tree.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@osdl.org>2006-05-29 19:16:46 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-05-30 02:05:06 (GMT)
commit3a7c352bd0ecac4b4c96c0995d61de9ef8d814f9 (patch)
tree3ced54e201e6968c284baea7f996a4a45554caec /tree.h
parent136f2e548a34f1f504b0f062f87ddf33e8d6e83b (diff)
downloadgit-3a7c352bd0ecac4b4c96c0995d61de9ef8d814f9.zip
git-3a7c352bd0ecac4b4c96c0995d61de9ef8d814f9.tar.gz
git-3a7c352bd0ecac4b4c96c0995d61de9ef8d814f9.tar.bz2
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. 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.h8
1 files changed, 2 insertions, 6 deletions
diff --git a/tree.h b/tree.h
index 066ac5d..a27bae4 100644
--- a/tree.h
+++ b/tree.h
@@ -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,