Subject: Re: [PATCH] refs: dereference the value of the required pointer

From: Junio C Hamano <[email-masked]>
Date: Fri, 19 Dec 2025 12:54:22 +0900

"AZero13 via GitGitGadget" <[email-masked]> writes:

> From: Greg Funni <[email-masked]>
>
> Currently, this always prints yes because required is non-null.
>
> This is the wrong behavior. The boolean must be
> dereferenced.

The line is blamed to f6c5ca38 (refs: add a `optimize_required`
field to `struct ref_storage_be`, 2025-11-08); the author CC'ed for
an Ack.

Thanks.

>
> Signed-off-by: Greg Funni <[email-masked]>
> ---
>     refs: dereference the value of the required pointer
>     
>     Currently, this always prints yes because required is non-null.
>     
>     This is the wrong behavior. The boolean must be dereferenced.
>     
>     Signed-off-by: Greg Funni [email-masked]
>
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2130%2FAZero13%2Fref-cache-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2130/AZero13/ref-cache-v1
> Pull-Request: https://github.com/git/git/pull/2130
>
>  refs/debug.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/refs/debug.c b/refs/debug.c
> index 3e31228c9a..639db0f26e 100644
> --- a/refs/debug.c
> +++ b/refs/debug.c
> @@ -139,7 +139,7 @@ static int debug_optimize_required(struct ref_store *ref_store,
>  	struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store;
>  	int res = drefs->refs->be->optimize_required(drefs->refs, opts, required);
>  	trace_printf_key(&trace_refs, "optimize_required: %s, res: %d\n",
> -			 required ? "yes" : "no", res);
> +			 *required ? "yes" : "no", res);
>  	return res;
>  }
>  
>
> base-commit: c4a0c8845e2426375ad257b6c221a3a7d92ecfda