1
0
mirror of https://github.com/git/git synced 2024-07-02 15:48:44 +00:00
git/tree.h
Linus Torvalds 42ea9cb286 Be more careful about tree entry modes.
The tree object parsing used to get the executable bit wrong,
and didn't know about symlinks. Also, fsck really wants the
full mode value so that it can verify the other bits for sanity,
so save it all in struct tree_entry.
2005-05-05 16:18:48 -07:00

31 lines
489 B
C

#ifndef TREE_H
#define TREE_H
#include "object.h"
extern const char *tree_type;
struct tree_entry_list {
struct tree_entry_list *next;
unsigned directory : 1;
unsigned executable : 1;
unsigned symlink : 1;
unsigned int mode;
char *name;
union {
struct tree *tree;
struct blob *blob;
} item;
};
struct tree {
struct object object;
struct tree_entry_list *entries;
};
struct tree *lookup_tree(unsigned char *sha1);
int parse_tree(struct tree *tree);
#endif /* TREE_H */