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>
This commit is contained in:
committed by
Junio C Hamano
parent
2d84f13dcb
commit
bff7df7a87
@ -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
|
||||
|
||||
Reference in New Issue
Block a user