Subject: Re: [PATCH v2 1/2] var: do not print usage() with a correct invocation

From: Sean Allred <[email-masked]>
Date: Sat, 26 Nov 2022 07:19:35 -0600

Ævar Arnfjörð Bjarmason <[email-masked]> writes:
> I honestly don't still don't grok what was different here before/after,
> whatever we are now/should be doing here, a test as part of this change
> asserting the new behavior would be really useful.

Sadly I don't think there are any logical variables that could be tested
for this behavior until the second patch in the series (where quite a
few tests are added). I did some brief testing with GIT_COMMITTER_IDENT
as the most obvious candidate, but it will still die early if
GIT_COMMITTER_NAME is unset, so it's not a good test case.

If you've got a test case that'll work before the second patch, I'd be
happy to include it here.

>>  {
>> +	const struct git_var *git_var = NULL;
>
> This assignment to "NULL" can be dropped, i.e....
>
>>  	const char *val = NULL;
>>  	if (argc != 2)
>>  		usage(var_usage);
>> @@ -91,10 +89,15 @@ int cmd_var(int argc, const char **argv, const char *prefix)
>>  		return 0;
>>  	}
>>  	git_config(git_default_config, NULL);
>> -	val = read_var(argv[1]);
>> -	if (!val)
>> +
>> +	git_var = get_git_var(argv[1]);
>
> ...we first assign to it here, and if we use it uninit'd before the
> compiler will tell us.

Nice catch! I've removed the premature assignment to both `git_var` and
`val`. I've updated my branch with this change; I'll send out a v3 later
today.

--
Sean Allred