Re: [PATCH/RFC 0/5] add "unset.variable" for unsetting previously set variables
- From
Matthieu Moy <matthieu.moy@grenoble-inp.fr>
- Date
- Oct 8, 2014, 05:46 UTC
- Message-ID
- <vpqzjd7kta6.fsf@anie.imag.fr>
- In-Reply-To
- <xmqq1tqjkexe.fsf@gitster.dls.corp.google.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 16 quoted lines
> Jakub Narębski <jnareb@gmail.com> writes: > >> Junio C Hamano wrote: >> >>> - "[config] safe = section.variable" will list variables that can >>> be included with the config.safeInclude mechanism. Any variable >>> that is not marked as config.safe that appears in the file >>> included by the config.safeInclude mechanism will be ignored. >> >> Why user must know which variables are safe, why it cannot be left to >> Git to know which configuration variables can call external scripts? > > That's a fallback to let them take responsibility for variables we > do not mark as "safe"; and having that fallback mechanism lets us > keep the set of variables we by default mark as safe to the absolute > minimum.
Perhaps this would need a way to say "this value is safe for this variable" too. I don't have a real use-case, but one could say something like "I'm OK with the file overriding core.editor, but the only values I accept are nano, vim and emacs".
It doesn't seem to be a prerequisite to implement the safeInclude feature, but we should live room in the namespace for the day we want to add it.
I don't have really good idea for it. The first I could think of was
[config "safe"]
core.editor = nano
core.editor = vim
core.editor = emacsbut it's not accepted by the current parser, hence not backward compatible.
Emacs has such mechanism for -*- ... -*- local variables in files for example.
-- Matthieu Moy http://www-verimag.imag.fr/~moy/