config: add `git_die_config()` to the config-set API
commit5a80e97c827e9d73884dbe4119bf97f6dd84b237
authorTanay Abhra <tanayabh@gmail.com>
Thu, 7 Aug 2014 11:59:16 +0000 (7 04:59 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 7 Aug 2014 18:40:25 +0000 (7 11:40 -0700)
tree46564b16273d2524672680afd0a1dc61e561595e
parentaace4385027b0366f43961a94c8ed95ac9b3bd53
config: add `git_die_config()` to the config-set API

Add `git_die_config` that dies printing the line number and the file name
of the highest priority value for the configuration variable `key`. A custom
error message is also printed before dying, specified by the caller, which can
be skipped if `err` argument is set to NULL.

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)){
if (!strcmp(value, "foo"))
git_config_die(key, "value: `%s` is illegal", value);
else
/* do work */
}

Signed-off-by: Tanay Abhra <tanayabh@gmail.com>
Reviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/technical/api-config.txt
cache.h
config.c