From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: git@vger.kernel.org, Duy Nguyen <pclouds@gmail.com>,
Jacob Keller <jacob.keller@gmail.com>,
Guilherme <guibufolo@gmail.com>
Subject: Re: [PATCH] credential: let empty credential specs reset helper list
Date: Fri, 26 Feb 2016 11:34:12 -0800 [thread overview]
Message-ID: <xmqqk2lrjmff.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <xmqqa8mnl71v.fsf@gitster.mtv.corp.google.com> (Junio C. Hamano's message of "Fri, 26 Feb 2016 09:23:24 -0800")
Junio C Hamano <gitster@pobox.com> writes:
> Jeff King <peff@peff.net> writes:
>
>> Sine the credential.helper key is a multi-valued config
>
> s/Sine/Since/;
>
>> diff --git a/credential.c b/credential.c
>> index 7d6501d..aa99666 100644
>> --- a/credential.c
>> +++ b/credential.c
>> @@ -63,9 +63,12 @@ static int credential_config_callback(const char *var, const char *value,
>> key = dot + 1;
>> }
>>
>> - if (!strcmp(key, "helper"))
>> - string_list_append(&c->helpers, value);
>> - else if (!strcmp(key, "username")) {
>> + if (!strcmp(key, "helper")) {
>> + if (*value)
>> + string_list_append(&c->helpers, value);
>> + else
>> + string_list_clear(&c->helpers, 0);
>> + } else if (!strcmp(key, "username")) {
>
> I wondered why neither the existing code nor the updated one has a
> check for !value, but this callback assumes no credential
> configuration variable will ever be a boolean and rejects it
> upfront, so this code before or after the change is safe.
>
> Not pointing out anything that needs to be changed; demonstrating
> that I did read this sufficiently well to say that I have reviewed
> it ;-)
This reminds me of one thing. The only reason why we are hesitant
to introduce a new syntax like
[credential]
!helper ;# clear
helper = ...
to allow explicit clearing of accumulated values so far IIRC is
because such a _file_ will not be readable by existing versions of
Git. Am I correct?
If that is the case, then that reasoning will still not prevent us
from adding corresponding support for a command-line overide, i.e.
either one or both of these:
$ git -c credential.!helper cmd
$ git -c !credential.helper cmd
no?
Of course, the code in the configuration subsystem for updated
version of Git needs to become aware of the new syntax, and those
that deal with the multi-value variables need custom code, which is
similar to the way you special cased an empty value in the above
patch, so I am not sure how much this would help.
next prev parent reply other threads:[~2016-02-26 19:34 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-26 10:51 [PATCH] credential: let empty credential specs reset helper list Jeff King
2016-02-26 17:23 ` Junio C Hamano
2016-02-26 19:34 ` Junio C Hamano [this message]
2016-02-26 22:13 ` Jacob Keller
2016-02-26 22:37 ` Jeff King
2016-02-26 23:26 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqk2lrjmff.fsf@gitster.mtv.corp.google.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=guibufolo@gmail.com \
--cc=jacob.keller@gmail.com \
--cc=pclouds@gmail.com \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.