diff options
author | Sam Vilain <sam.vilain@catalyst.net.nz> | 2007-06-06 22:25:17 +1200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-06-06 15:43:18 -0700 |
commit | e2ac7cb5fbcf1407003aa07cdcd14141527ea2e3 (patch) | |
tree | bcdce634d9bb7632aa6c3c7677bcf4d2209e0aa4 /object.c | |
parent | 23fcdc79713c47a6a0d50762b9311c9933a60d3f (diff) | |
download | git-e2ac7cb5fbcf1407003aa07cdcd14141527ea2e3.tar.gz |
Don't assume tree entries that are not dirs are blobs
When scanning the trees in track_tree_refs() there is a "lazy" test
that assumes that entries are either directories or files. Don't do
that.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'object.c')
-rw-r--r-- | object.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -160,8 +160,11 @@ struct object *parse_object_buffer(const unsigned char *sha1, enum object_type t parse_tag_buffer(tag, buffer, size); obj = &tag->object; } else { + warning("object %s has unknown type id %d\n", sha1_to_hex(sha1), type); obj = NULL; } + if (obj && obj->type == OBJ_NONE) + obj->type = type; *eaten_p = eaten; return obj; } |