projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Clean up git-diff-tree 'header' generation
[git.git]
/
tree.c
diff --git
a/tree.c
b/tree.c
index
ca800a8
..
2432f09
100644
(file)
--- a/
tree.c
+++ b/
tree.c
@@
-73,7
+73,7
@@
int read_tree(void *buffer, unsigned long size, int stage)
return read_tree_recursive(buffer, size, "", 0, stage);
}
return read_tree_recursive(buffer, size, "", 0, stage);
}
-struct tree *lookup_tree(unsigned char *sha1)
+struct tree *lookup_tree(
const
unsigned char *sha1)
{
struct object *obj = lookup_object(sha1);
if (!obj) {
{
struct object *obj = lookup_object(sha1);
if (!obj) {
@@
-83,6
+83,8
@@
struct tree *lookup_tree(unsigned char *sha1)
ret->object.type = tree_type;
return ret;
}
ret->object.type = tree_type;
return ret;
}
+ if (!obj->type)
+ obj->type = tree_type;
if (obj->type != tree_type) {
error("Object %s is a %s, not a tree",
sha1_to_hex(sha1), obj->type);
if (obj->type != tree_type) {
error("Object %s is a %s, not a tree",
sha1_to_hex(sha1), obj->type);
@@
-131,7
+133,7
@@
int parse_tree_buffer(struct tree *item, void *buffer, unsigned long size)
}
if (obj)
add_ref(&item->object, obj);
}
if (obj)
add_ref(&item->object, obj);
-
+ entry->parent = NULL; /* needs to be filled by the user */
*list_p = entry;
list_p = &entry->next;
}
*list_p = entry;
list_p = &entry->next;
}