git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v7 5/8] config: add `git_die_config()` to the config-set API

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 4, 2014, 20:52 UTC
Message-ID
<xmqqiom8q8ob.fsf@gitster.dls.corp.google.com>
In-Reply-To
<53DFD729.8090307@gmail.com>
Tanay Abhra <tanayabh@gmail.com> writes:
Show 26 quoted lines
> On 8/4/2014 11:37 PM, Junio C Hamano wrote:
>> Tanay Abhra <tanayabh@gmail.com> writes:
>> 
>>> Add `git_die_config` that dies printing the line number and the file name
>>> of the highest priority value for the configuration variable `key`.
>>>
>>> It has usage in non-callback based config value retrieval where we can
>>> raise an error and die if there is a semantic error.
>>> For example,
>>>
>>> 	if (!git_config_get_value(key, &value)) {
>>> 		/* NULL values not allowed */
>>> 		if (!value)
>>> 			git_config_die(key);
>>> 		else
>>> 			/* do work */
>>> 	}
>> 
>> It feels a bit unnatural at the API level that this does not take
>> 'value'; I do understand that it is not a big deal in the error code
>> path to locate again the value from the configuration using the key,
>> but still.
>>
>
> But, we don't have a use for "value" as it is not denoted in the error
> string, that is why I left it out.

That is my point. Why doesn't the error message talk about what value the caller found was offensive, and in what way?

Show 7 quoted lines
>>> +	else
>>> +		die(_("bad config variable '%s' at file line %d in %s"),
>> 
>> At least, quote the last '%s'.
>>
>
> Noted. Thanks.

Actually, "at file line" sounded very strange, at least to me, hence the suggested reword in the part you did not quote.

Previous: Junio C HamanoNext: Tanay Abhra
Message 14 of 19 in “Rewrite `git_config()` using config-set API”
  1. 0/8 Rewrite `git_config()` using config-set APITanay Abhra, Aug 1, 2014
  2. 1/8 config.c: mark error and warnings strings for translationTanay Abhra, Aug 1, 2014
  3. 2/8 config.c: fix accuracy of line number in errorsTanay Abhra, Aug 1, 2014
  4. Matthieu MoyAug 4, 2014
  5. 3/8 add line number and file name info to `config_set`Tanay Abhra, Aug 1, 2014
  6. 4/8 change `git_config()` return value to voidTanay Abhra, Aug 1, 2014
  7. 5/8 config: add `git_die_config()` to the config-set APITanay Abhra, Aug 1, 2014
  8. Junio C HamanoAug 4, 2014
  9. Tanay AbhraAug 4, 2014
  10. Matthieu MoyAug 4, 2014
  11. Tanay AbhraAug 5, 2014
  12. Matthieu MoyAug 5, 2014
  13. Junio C HamanoAug 5, 2014
  14. Junio C HamanoAug 4, 2014
  15. 6/8 rewrite git_config() to use the config-set APITanay Abhra, Aug 1, 2014
  16. 7/8 add a test for semantic errors in config filesTanay Abhra, Aug 1, 2014
  17. Junio C HamanoAug 4, 2014
  18. 8/8 add tests for `git_config_get_string_const()`Tanay Abhra, Aug 1, 2014
  19. Matthieu MoyAug 4, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.