Re: [RFC PATCH v2 03/36] fetch-pack: add a deref_without_lazy_fetch_extended()
- From
Derrick Stolee <derrickstolee@github.com>
- Date
- Apr 21, 2022, 17:28 UTC
- Message-ID
- <de4a440c-3358-6756-f7fd-144a90fa476a@github.com>
- In-Reply-To
- <RFC-patch-v2-03.36-7823a177fd7-20220418T165545Z-avarab@gmail.com>
On 4/18/2022 1:23 PM, Ævar Arnfjörð Bjarmason wrote:
Show 11 quoted lines
> -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?
Show 28 quoted lines
>
> 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