]> git.ipfire.org Git - thirdparty/git.git/commitdiff
config: be strict on core.commentChar
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Sat, 17 May 2014 01:52:22 +0000 (08:52 +0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 19 May 2014 20:37:07 +0000 (13:37 -0700)
We don't support comment _strings_ (at least not yet). And multi-byte
character encoding could also be misinterpreted.

The test with two commas is updated because it violates this. It's
added with the patch that introduces core.commentChar in eff80a9
(Allow custom "comment char" - 2013-01-16). It's not clear to me _why_
that behavior is wanted.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
config.c
t/t7508-status.sh

index a30cb5c07db18a5ac16c1c98b6600c9fe6dc1b73..491a9050aebdeff2ca081cf6d6652188c0a77e1d 100644 (file)
--- 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"))
index c987b5ed652b977cc2169bdd4c64f42eccdf63db..148ab9ebc2fe24fff055d7af9662ef6bde5c6414 100755 (executable)
@@ -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" '