Confused about git-config's description of escaping
- From
Kyle Meyer <kyle@kyleam.com>
- Date
- Aug 3, 2020, 19:24 UTC
- Message-ID
- <878sevwn0g.fsf@kyleam.com>
When describing the configuration syntax, the git-config manpage says this about the value:
Inside double quotes, double quote " and backslash \ characters must
be escaped: use \" for " and \\ for \.I find the "Inside double quotes" part confusing because escaping these characters appears to also be needed when there are no enclosing double quotes:
$ nl .git/config | tail -n2
6 [a]
7 b = c"d $ git config a.b
fatal: bad config line 7 in file .git/config $ git version
git version 2.28.0.236.gb10cc79966I was going to suggest dropping the "Inside double quotes" qualifier. Perhaps
Double quote " and backslash \ characters in the value must
be escaped: use \" for " and \\ for \.But it looks like that's pretty close to how this sentence was written before ff5507ed2a (Documentation/config.txt: describe the structure first and then meaning, 2015-03-04), which makes me think that I'm misreading the description or otherwise missing something.
What's gained by specifying "Inside double quotes"? Are there any cases where a value, whether enclosed in double quotes or not, doesn't need " or \ characters escaped?