summaryrefslogtreecommitdiff
path: root/cache.h
diff options
context:
space:
mode:
authorTanay Abhra <tanayabh@gmail.com>2014-08-07 04:59:16 -0700
committerJunio C Hamano <gitster@pobox.com>2014-08-07 11:40:25 -0700
commit5a80e97c827e9d73884dbe4119bf97f6dd84b237 (patch)
tree46564b16273d2524672680afd0a1dc61e561595e /cache.h
parentaace4385027b0366f43961a94c8ed95ac9b3bd53 (diff)
downloadgit-5a80e97c827e9d73884dbe4119bf97f6dd84b237.tar.gz
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>
Diffstat (limited to 'cache.h')
-rw-r--r--cache.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/cache.h b/cache.h
index f11ce41956..89a0d51515 100644
--- a/cache.h
+++ b/cache.h
@@ -1388,6 +1388,9 @@ struct key_value_info {
int linenr;
};
+extern NORETURN void git_die_config(const char *key, const char *err, ...) __attribute__((format(printf, 2, 3)));
+extern NORETURN void git_die_config_linenr(const char *key, const char *filename, int linenr);
+
extern int committer_ident_sufficiently_given(void);
extern int author_ident_sufficiently_given(void);