Jeff King <peff@xxxxxxxx> writes: >> Puzzled. > > ...and the answer is that we don't need to parse it. The tag object > mentions the type of what it points to, and we use lookup_commit(), etc, > to create the object pointed to by its "tagged" field. Ahh, parse_object() on the outer tag, when instantiating the in-core obj, allocated an in-core object and that instance is already given a type from the tag object and .taggeed member points at that object, so it is not an "unknown" object (tag.c::parse_tag_buffer()). Totally forgot about that one; thanks.