diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-24 14:17:13 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-24 14:17:13 -0700 |
commit | d32987be618181db1f435a5c0a1bea85e90c7c7d (patch) | |
tree | 000a0382e736b024de1581ca3781b561a2ab1942 | |
parent | 4728b861ace127dc39c648f3bea64c3b86bbabc5 (diff) | |
download | git-d32987be618181db1f435a5c0a1bea85e90c7c7d.tar.gz |
Set object type at object creation time, not object parse time.
Otherwise we can have objects without a type, which is not good.
-rw-r--r-- | commit.c | 2 | ||||
-rw-r--r-- | tree.c | 2 |
2 files changed, 2 insertions, 2 deletions
@@ -12,6 +12,7 @@ struct commit *lookup_commit(unsigned char *sha1) struct commit *ret = malloc(sizeof(struct commit)); memset(ret, 0, sizeof(struct commit)); created_object(sha1, &ret->object); + ret->object.type = commit_type; return ret; } if (obj->parsed && obj->type != commit_type) { @@ -56,7 +57,6 @@ int parse_commit(struct commit *item) if (strcmp(type, commit_type)) return error("Object %s not a commit", sha1_to_hex(item->object.sha1)); - item->object.type = commit_type; get_sha1_hex(bufptr + 5, parent); item->tree = lookup_tree(parent); add_ref(&item->object, &item->tree->object); @@ -77,6 +77,7 @@ struct tree *lookup_tree(unsigned char *sha1) struct tree *ret = malloc(sizeof(struct tree)); memset(ret, 0, sizeof(struct tree)); created_object(sha1, &ret->object); + ret->object.type = tree_type; return ret; } if (obj->parsed && obj->type != tree_type) { @@ -96,7 +97,6 @@ int parse_tree(struct tree *item) if (item->object.parsed) return 0; item->object.parsed = 1; - item->object.type = tree_type; buffer = bufptr = read_sha1_file(item->object.sha1, type, &size); if (!buffer) return error("Could not read %s", |