diff options
author | Jeff King <peff@peff.net> | 2024-03-27 04:19:22 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-03-27 08:48:54 -0700 |
commit | 9ccf3e9b22b6843892319b189fd7aed37c451420 (patch) | |
tree | aaf233162df938b5609b1961318d14d154e04f46 /config.c | |
parent | 8b311478ad16b2fe9d2f5b5febec9f5e8f7fd52d (diff) | |
download | git-9ccf3e9b22b6843892319b189fd7aed37c451420.tar.gz |
config: add core.commentString
The core.commentChar code recently learned to accept more than a
single ASCII character. But using it is annoying with multiple versions
of Git, since older ones will reject it outright:
$ git.v2.44.0 -c core.commentchar=foo stripspace -s
error: core.commentChar should only be one ASCII character
fatal: unable to parse 'core.commentchar' from command-line config
Let's add an alias core.commentString. That's arguably a better name
anyway, since we now can handle strings, and it makes it possible to
have a config that works reasonably with both old and new versions of
Git (see the example in the documentation).
This is strictly an alias, so there's not much point in adding duplicate
tests; I added a single one to t0030 that exercises the alias code.
Note also that the error messages for invalid values will now show the
variable the config parser handed us, and thus will be normalized to
lowercase (rather than camelcase). A few tests in t0030 are adjusted to
match.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'config.c')
-rw-r--r-- | config.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -1560,18 +1560,19 @@ static int git_default_core_config(const char *var, const char *value, if (!strcmp(var, "core.editor")) return git_config_string(&editor_program, var, value); - if (!strcmp(var, "core.commentchar")) { + if (!strcmp(var, "core.commentchar") || + !strcmp(var, "core.commentstring")) { if (!value) return config_error_nonbool(var); else if (!strcasecmp(value, "auto")) auto_comment_line_char = 1; else if (value[0]) { if (strchr(value, '\n')) - return error(_("core.commentChar cannot contain newline")); + return error(_("%s cannot contain newline"), var); comment_line_str = xstrdup(value); auto_comment_line_char = 0; } else - return error(_("core.commentChar must have at least one character")); + return error(_("%s must have at least one character"), var); return 0; } |