Subject: Re: [PATCH v6 6/7] config: add `git_die_config()` to the config-set API

From: Tanay Abhra <[email-masked]>
Date: Thu, 31 Jul 2014 22:14:49 +0530

On 7/31/2014 9:25 PM, Matthieu Moy wrote:
> Tanay Abhra <[email-masked]> writes:
> 
>> +void git_die_config(const char *key)
>> +{
>> +	const struct string_list *values;
>> +	struct key_value_info *kv_info;
>> +	values = git_config_get_value_multi(key);
>> +	kv_info = values->items[values->nr - 1].util;
>> +	if (!kv_info->linenr)
>> +		die(_("unable to parse '%s' from command-line config"), key);
>> +	else
>> +		die(_("bad config variable '%s' at file line %d in %s"),
>> +			key,
>> +			kv_info->linenr,
>> +			kv_info->filename);
>> + }
> 
> Extra whitespace before }.
> 
> Also, didn't we agree that it was a good thing to factor this
> if/then/else into a helper function?
> 

I have been thinking about it, wouldn't it be better to give users
a function like,

git_config_die_exact(key, value);

where user supplies key & value both and it would print the correct message based
on that. git_die_config() will be a wrapper over it, supplying the last value.
It will also replace the redundant code in git_config_raw() and help in the
multi value case. If the idea sounds okay, I will send a reroll.