On Fri, Apr 06, 2018 at 05:57:39PM +0100, Rafael Ascensao wrote:
> On Fri, Apr 6, 2018 at 4:55 PM, Olaf Hering <o...@aepfle.de> wrote:
> > This does not work. Initially I copied the global config into the
> > repo and set all unwanted values to <empty>, like 'smtpuser='.
> > Perhaps the config parser recognized that fact, but the consumer
> > does not?
> Today someone asked on #git for a way to disable diff.external for a
> single command.
> Without thinking much I suggested $git -c diff.external= diff; which fails
> `fatal: cannot run : No such file or directory`
> In this particular case there was `--no-ext-diff` to get around this
> and the case was promptly resolved.
> Just another another example where setting configuration values to
> "empty" doesn't translate to "disable this option".
Yeah, I think it would make sense in that case to reset
external_diff_cmd_cfg to NULL. I'd almost say that git_config_string()
should recognize and handle this case, but I suspect there are some
callers who need special behavior (e.g., to set it back to some