Re: Local unset override global options
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Apr 12, 2010, 08:53 UTC
- Message-ID
- <m3pr25f3ye.fsf@localhost.localdomain>
- In-Reply-To
- <4BC2D9B5.6070400@drmicha.warpmail.net>
Michael J Gruber <git@drmicha.warpmail.net> writes:
Show 27 quoted lines
> Stefan Hajnoczi venit, vidit, dixit 12.04.2010 16:23:
>> On Mon, Apr 12, 2010 at 9:13 AM, Michael J Gruber
>> <git@drmicha.warpmail.net> wrote:
>>
>>> have you tried setting it to an empty value?
>>
>> Yes I have tried it. An empty string causes the SMTP auth Perl module
>> to choke. It expects a non-empty username and exits with an error.
>>
>> On my system I have patched git-send-email to perform this check:
>>
>> if (defined $smtp_authuser and length $smtp_authuser) {
>>
>> This works but feels like a hack. I think unset override could be
>> useful for any git config option, not just sendemail.smtpuser.
>>
>> I'm not familiar with git internals; do you have other suggestions for
>> solving this issue?
>
> I don't think it's possible to ignore/unset a specific global config
> value right now, you can only change the path where that is looked for.
> I see two ways to go forward:
>
> - Change users of the config (such as git-send-email) to treat empty
> values as unset values.
>
> - Introduce a special value "unset" for config options.How does special case of no value, i.e.
[sendemail]
smtpuserrather than using empty value
[sendemail]
smtpuser = ""work?
Also if we assume that nobody needs to have support for sendemail.smtpuser = 0, the condition could be simplified to
if ($smtp_authuser) {-- Jakub Narebski Poland ShadeHawk on #git