Subject: Re: [PATCH v3 0/6] git_config callers rewritten with the new config cache API

From: Tanay Abhra <[email-masked]>
Date: Mon, 21 Jul 2014 19:30:47 +0530

On 7/21/2014 7:15 PM, Matthieu Moy wrote:
> Tanay Abhra <[email-masked]> writes:
> 
>> On 7/21/2014 6:21 PM, Matthieu Moy wrote:
>>> 2) Add a by-address parameter to git_configset_get_value that allows the
>>>    user to get the file and line information. In your previous patch,
>>>    that would mean returning a pointer to the corresponding struct
>>>    key_source.
>>
>> Will this extra complexity be good for "git_configset_get_value"?
>> Instead can we provide a function like die_config(char *key)
>> which prints
>> 	die("bad config file line %d in %s", linenr, filename);?
> 
> Where would you call this function, and where would you take linenr and
> filename?
>

Usage can be like this,

if(!git_config_get_value(k, &v)) {
	if (!v) {
		config_error_nonbool(k);
		die_config(k);
		/* die_config calls git_config_get_value_multi for 'k',
		 * gets the string list with the util pointer containing
		 * the linenr and the file name, dies printing the message.
		 */
	} else
		/* do work */
}

Above example works just like the current code. Currently the callbacks
does not have the access to the linenr and file name anyway.