summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2014-05-17 08:52:22 +0700
committerJunio C Hamano <gitster@pobox.com>2014-05-19 13:37:07 -0700
commit50b54fd72a8776d628365c7760bc922902d29d11 (patch)
tree476d084a3724d7f1a92cb4feaf84377448c0f557
parent6308767f0bb58116cb405e1f4f77f5dfc1589920 (diff)
downloadgit-50b54fd72a8776d628365c7760bc922902d29d11.tar.gz
config: be strict on core.commentChar
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>
-rw-r--r--config.c8
-rwxr-xr-xt/t7508-status.sh3
2 files changed, 7 insertions, 4 deletions
diff --git a/config.c b/config.c
index a30cb5c07d..491a9050ae 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 c987b5ed65..148ab9ebc2 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" '