diff --git a/config.c b/config.c index a30cb5c07db18a5ac16c1c98b6600c9fe6dc1b73..491a9050aebdeff2ca081cf6d6652188c0a77e1d 100644 --- a/config.c +++ b/config.c @@ -826,9 +826,13 @@ static int git_default_core_config(const char *var, const char *value) if (!strcmp(var, "core.commentchar")) { const char *comment; int ret = git_config_string(&comment, var, value); - if (!ret) + if (ret) + return ret; + else if (comment[0] && !comment[1]) { comment_line_char = comment[0]; - return ret; + } else + return error("core.commentChar should only be one character"); + return 0; } if (!strcmp(var, "core.askpass")) diff --git a/t/t7508-status.sh b/t/t7508-status.sh index c987b5ed652b977cc2169bdd4c64f42eccdf63db..148ab9ebc2fe24fff055d7af9662ef6bde5c6414 100755 --- a/t/t7508-status.sh +++ b/t/t7508-status.sh @@ -1350,8 +1350,7 @@ test_expect_success "status (core.commentchar with submodule summary)" ' test_expect_success "status (core.commentchar with two chars with submodule summary)" ' test_config core.commentchar ";;" && - git -c status.displayCommentPrefix=true status >output && - test_i18ncmp expect output + test_must_fail git -c status.displayCommentPrefix=true status ' test_expect_success "--ignore-submodules=all suppresses submodule summary" '