Re: git silently ignores include directive with single quotes
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 10, 2018, 18:30 UTC
- Message-ID
- <xmqqa7optdbs.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <20180910171422.GA26356@aiede.svl.corp.google.com>
Jonathan Nieder <jrnieder@gmail.com> writes:
Show 8 quoted lines
> 1. Treat single-quote as worth quoting in config.c::write_pair (line > 2516). This would already help with the original issue, since the > config would say > > [foo] > bar = \'baz\' > > allowing a quick diagnosis.
I am mildly against this, as long as you feel that all the remaining steps need to be marked with "(optional)", because this will give readers an impression that somehow single-quote is special. If we do not intend to make it special at all, we shouldn't.
If we do commit to make it special, then this is a very sensible first step that is backward compatible, of course, and I find that the following steps form a reasonable transition plan, if we intend to follow all the way through.
Show 17 quoted lines
> 2. (optional) Warn if a value is surrounded in single-quotes, > encouraging using backslash to disambiguate. > > 3. (optional) Error out if a value is surrounded in single-quotes, > encouraging using double-quote or backslash, depending on the > user's intention. > > 4. (optional) Start treating wrapping single-quotes specially > somehow. > > I think step 1 is a good idea, but I'm not convinced about any of the > later steps. > > I also agree with the comments upthread about wanting a way to do a > '[include] path' that errors out if the file doesn't exist, and maybe > even starting a transition to repurpose standard [include] path to do > that.