Subject: Re: [PATCH/RFC 0/5] add "unset.variable" for unsetting previously set variables

From: Jeff King <[email-masked]>
Date: Fri, 10 Oct 2014 04:11:07 -0400

On Wed, Oct 08, 2014 at 12:52:24PM -0700, Junio C Hamano wrote:

> The whole reason why the actualy diff.*.command and textconv
> commands are defined in .git/config while the filetype label is
> assigned by in-tree .gitattributes is because these commands are
> platform dependant.  So textconv on Linux, BSD and Windows may want
> to be different commands, and the project that ships an in-tree
> .gitconfig to be safe-included may want to not "set" the variable to
> one specific value, but stop at offering a suggestion, i.e. "there
> are these possibilities, perhaps you may want to pick one of them?"
> without actually making the choice for the user.

Or it could even auto-detect a sensible version based on the user's
filesystem. Which makes me wonder if safe-include is really helping that
much versus a project shipping a shell script that munges the repository
config. The latter is less safe (you are, after all, running code, but
you would at least have the chance to examine it), but is way more
flexible. And the safety is comparable to running "make" on a cloned
project.

I dunno. I do not have anything against the safe-include idea, but each
time it comes up, I think we are often left guessing about exactly which
config options projects would want to set, and to what values.

-Peff