On 4/18/2022 1:23 PM, Ævar Arnfjörð Bjarmason wrote: > -static struct commit *deref_without_lazy_fetch(const struct object_id *oid, > - int mark_tags_complete) > +static struct commit *deref_without_lazy_fetch_extended(const struct object_id *oid, > + int mark_tags_complete, > + enum object_type *type, > + unsigned int oi_flags) > { > - enum object_type type; > - struct object_info info = { .typep = &type }; > + struct object_info info = { .typep = type }; > struct commit *commit; Since we now dereference 'type', should we have a BUG() statement here if type is NULL? > > commit = lookup_commit_in_graph(the_repository, oid); > @@ -128,9 +129,9 @@ static struct commit *deref_without_lazy_fetch(const struct object_id *oid, > > while (1) { > if (oid_object_info_extended(the_repository, oid, &info, > - OBJECT_INFO_SKIP_FETCH_OBJECT | OBJECT_INFO_QUICK)) > + oi_flags)) > return NULL; > - if (type == OBJ_TAG) { > + if (*type == OBJ_TAG) { > struct tag *tag = (struct tag *) > parse_object(the_repository, oid); > > @@ -144,7 +145,7 @@ static struct commit *deref_without_lazy_fetch(const struct object_id *oid, > } > } > > - if (type == OBJ_COMMIT) { > + if (*type == OBJ_COMMIT) { > struct commit *commit = lookup_commit(the_repository, oid); > if (!commit || repo_parse_commit(the_repository, commit)) > return NULL; > @@ -154,6 +155,16 @@ static struct commit *deref_without_lazy_fetch(const struct object_id *oid, > return NULL; > } > > + nit: extraneous newline. > +static struct commit *deref_without_lazy_fetch(const struct object_id *oid, > + int mark_tags_complete) Thanks, -Stolee