Thread (1 message) 1 message, 1 author, 2016-06-15

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

From: Matthieu Moy <hidden>
Date: 2016-06-15 23:02:08

Tanay Abhra [off-list ref] writes:
Matthieu, I have finished the new version, but instead of flooding the mailing list with
a series again, I wanted to confirm if the new git_config_die() is alright.

	NORETURN __attribute__((format(printf, 2, 3)))
	void git_die_config(const char *key, const char *err, ...)
	{
		const struct string_list *values;
		struct key_value_info *kv_info;

		if (err) {
			va_list params;
			va_start(params, err);
			vreportf("error: ", err, params);
			va_end(params);
		}
		values = git_config_get_value_multi(key);
		kv_info = values->items[values->nr - 1].util;
		git_die_config_linenr(key, kv_info->filename, kv_info->linenr);
	}

Currently works like the old git_config() error reporting path. If err is set to "NULL",
it would print no error message and just the die message. If given something like,

	 git_config_die(key, "value '%s' is not allowed", value);

it would print,

	error: value '3' is not allowed
	fatal: bad config variable 'core.frotz' at file line 15 in .git/config
That seems to be a good step forward.

I think we would also want to improve the error message, but that
shouldn't block your series from inclusion: we can do that later without
API change.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help