projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make "tree_entry" have a SHA1 instead of a union of object pointers
[git.git]
/
tree.h
diff --git
a/tree.h
b/tree.h
index
330ab64
..
a27bae4
100644
(file)
--- a/
tree.h
+++ b/
tree.h
@@
-12,16
+12,14
@@
struct tree_entry_list {
unsigned symlink : 1;
unsigned zeropad : 1;
unsigned int mode;
unsigned symlink : 1;
unsigned zeropad : 1;
unsigned int mode;
- char *name;
- union {
- struct object *any;
- struct tree *tree;
- struct blob *blob;
- } item;
+ const char *name;
+ const unsigned char *sha1;
};
struct tree {
struct object object;
};
struct tree {
struct object object;
+ void *buffer;
+ unsigned long size;
struct tree_entry_list *entries;
};
struct tree_entry_list *entries;
};
@@
-35,7
+33,7
@@
int parse_tree(struct tree *tree);
struct tree *parse_tree_indirect(const unsigned char *sha1);
#define READ_TREE_RECURSIVE 1
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,
extern int read_tree_recursive(struct tree *tree,
const char *base, int baselen,