summaryrefslogtreecommitdiff
path: root/tree.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-05 23:18:48 (GMT)
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-05 23:18:48 (GMT)
commit42ea9cb286423c949d42ad33823a5221182f84bf (patch)
tree599757cc3e6a2bf3ab29d22246662460c1537393 /tree.h
parentd5a72fd622ecedaea272cd6292abb7138a49e460 (diff)
downloadgit-42ea9cb286423c949d42ad33823a5221182f84bf.zip
git-42ea9cb286423c949d42ad33823a5221182f84bf.tar.gz
git-42ea9cb286423c949d42ad33823a5221182f84bf.tar.bz2
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.
Diffstat (limited to 'tree.h')
-rw-r--r--tree.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/tree.h b/tree.h
index 96cf429..e1c94c0 100644
--- a/tree.h
+++ b/tree.h
@@ -9,6 +9,8 @@ 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;