summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2024-03-27 08:19:22 (GMT)
committerJunio C Hamano <gitster@pobox.com>2024-03-27 15:48:54 (GMT)
commit9ccf3e9b22b6843892319b189fd7aed37c451420 (patch)
treeaaf233162df938b5609b1961318d14d154e04f46 /Documentation
parent8b311478ad16b2fe9d2f5b5febec9f5e8f7fd52d (diff)
downloadgit-9ccf3e9b22b6843892319b189fd7aed37c451420.zip
git-9ccf3e9b22b6843892319b189fd7aed37c451420.tar.gz
git-9ccf3e9b22b6843892319b189fd7aed37c451420.tar.bz2
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 'Documentation')
-rw-r--r--Documentation/config/core.txt19
1 files changed, 16 insertions, 3 deletions
diff --git a/Documentation/config/core.txt b/Documentation/config/core.txt
index c86b8c8..bbe869c 100644
--- a/Documentation/config/core.txt
+++ b/Documentation/config/core.txt
@@ -520,15 +520,28 @@ core.editor::
`GIT_EDITOR` is not set. See linkgit:git-var[1].
core.commentChar::
+core.commentString::
Commands such as `commit` and `tag` that let you edit
messages consider a line that begins with this character
commented, and removes them after the editor returns
- (default '#'). Note that this option can take values larger than
- a byte (whether a single multi-byte character, or you
- could even go wild with a multi-character sequence).
+ (default '#').
+
If set to "auto", `git-commit` would select a character that is not
the beginning character of any line in existing commit messages.
++
+Note that these two variables are aliases of each other, and in modern
+versions of Git you are free to use a string (e.g., `//` or `⁑⁕⁑`) with
+`commentChar`. Versions of Git prior to v2.45.0 will ignore
+`commentString` but will reject a value of `commentChar` that consists
+of more than a single ASCII byte. If you plan to use your config with
+older and newer versions of Git, you may want to specify both:
++
+ [core]
+ # single character for older versions
+ commentChar = "#"
+ # string for newer versions (which will override commentChar
+ # because it comes later in the file)
+ commentString = "//"
core.filesRefLockTimeout::
The length of time, in milliseconds, to retry when trying to