diff options
author | Stefan Beller <sbeller@google.com> | 2018-08-08 12:50:20 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-08-08 13:26:48 -0700 |
commit | bff7df7a87a775d931dc40e6f7058966f53f1fc8 (patch) | |
tree | cdb064a784e9a0effc2b59ac83123e8bdb2a9a1d | |
parent | config: fix case sensitive subsection names on writing (diff) | |
download | tgif-bff7df7a87a775d931dc40e6f7058966f53f1fc8.tar.xz |
git-config: document accidental multi-line setting in deprecated syntax
The bug was noticed when writing the previous patch; a fix for this bug
is not easy though: If we choose to ignore the case of the subsection
(and revert most of the code of the previous patch, just keeping
s/strncasecmp/strcmp/), then we'd introduce new sections using the
new syntax, such that
--------
[section.subsection]
key = value1
--------
git config section.Subsection.key value2
would result in
--------
[section.subsection]
key = value1
[section.Subsection]
key = value2
--------
which is even more confusing. A proper fix would replace the first
occurrence of 'key'. As the syntax is deprecated, let's prefer to not
spend time on fixing the behavior and just document it instead.
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | Documentation/git-config.txt | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Documentation/git-config.txt b/Documentation/git-config.txt index 14da5fc157..1ac2eab948 100644 --- a/Documentation/git-config.txt +++ b/Documentation/git-config.txt @@ -430,6 +430,27 @@ http.sslverify false include::config.txt[] +BUGS +---- +When using the deprecated `[section.subsection]` syntax, changing a value +will result in adding a multi-line key instead of a change, if the subsection +is given with at least one uppercase character. For example when the config +looks like + +-------- + [section.subsection] + key = value1 +-------- + +and running `git config section.Subsection.key value2` will result in + +-------- + [section.subsection] + key = value1 + key = value2 +-------- + + GIT --- Part of the linkgit:git[1] suite |