From: Matthieu Moy <Matthieu.Moy@grenoble-inp•fr>
To: Tanay Abhra <tanayabh@gmail•com>
Cc: Eric Sunshine <sunshine@sunshineco•com>,
Git List <git@vger•kernel.org>,
Ramkumar Ramachandra <artagnon@gmail•com>
Subject: Re: [PATCH 02/11] http-backend.c: replace `git_config()` with `git_config_get_bool()` family
Date: Wed, 06 Aug 2014 17:44:10 +0200 [thread overview]
Message-ID: <vpqfvh9tygl.fsf@anie.imag.fr> (raw)
In-Reply-To: <53E24750.4000602@gmail.com> (Tanay Abhra's message of "Wed, 06 Aug 2014 20:48:40 +0530")
Tanay Abhra <tanayabh@gmail•com> writes:
> On 8/5/2014 12:29 AM, Eric Sunshine wrote:
>> On Mon, Aug 4, 2014 at 2:33 PM, Tanay Abhra <tanayabh@gmail•com> wrote:
>>> - if (skip_prefix(var, "http.", &p)) {
>>> - int i;
>>> -
>>> - for (i = 0; i < ARRAY_SIZE(rpc_service); i++) {
>>> - struct rpc_service *svc = &rpc_service[i];
>>> - if (!strcmp(p, svc->config_name)) {
>>> - svc->enabled = git_config_bool(var, value);
>>> - return 0;
>>> - }
>>> - }
>>> + for (i = 0; i < ARRAY_SIZE(rpc_service); i++) {
>>> + struct rpc_service *svc = &rpc_service[i];
>>> + strbuf_addf(&var, "http.%s", svc->config_name);
>>> + if (!git_config_get_bool(var.buf, &value))
>>> + svc->enabled = value;
>>> + strbuf_reset(&var);
>>> }
>>
>> There is a behavior change here. The original code set svc->enabled to
>> the first matching rpc_service[] entry, whereas the new code sets it
>> to the last matching entry. Is this change intentional?
>>
>
> I was preparing the reroll and I saw that I had missed your mail.
> I think that I haven't changed the behaviour, the original one is
> written in callback form so it has to go through the array every time for each
> new value.
> When there are multiple entries for a service say,
>
> http.receivepack = 1
> http.receivepack = 0
I first got convinced by Eric, but I now think you're right.
Eric's point was (I think) not about multiple entries for the same
variable, but about multiple entries for different services, like
http.receivepack = 1
http.uploadpack = 0
The order of assignments to svn->enabled change, but it doesn't matter
because svc is just a local variable pointing to the right element of
rpc_service[i]. So in both cases, you'll assign
rpc_service[<index of service>].enabled = <last occurence of variable http.<service> >
even though the order of assignments will change.
Eric, am I interpreting right?
--
Matthieu Moy
http://www-verimag.imag.fr/~moy/
next prev parent reply other threads:[~2014-08-06 15:44 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-04 18:33 [PATCH 00/11] git_config callers rewritten with the new config-set API Tanay Abhra
2014-08-04 18:33 ` [PATCH 01/11] daemon.c: replace `git_config()` with `git_config_get_bool()` family Tanay Abhra
2014-08-04 20:23 ` Matthieu Moy
2014-08-04 18:33 ` [PATCH 02/11] http-backend.c: " Tanay Abhra
2014-08-04 18:59 ` Eric Sunshine
2014-08-06 15:18 ` Tanay Abhra
2014-08-06 15:44 ` Matthieu Moy [this message]
2014-08-06 20:04 ` Eric Sunshine
2014-08-04 18:33 ` [PATCH 03/11] read-cache.c: replace `git_config()` with `git_config_get_*()` family Tanay Abhra
2014-08-04 18:33 ` [PATCH 04/11] archive.c: replace `git_config()` with `git_config_get_bool()` family Tanay Abhra
2014-08-04 18:33 ` [PATCH 05/11] fetchpack.c: replace `git_config()` with `git_config_get_*()` family Tanay Abhra
2014-08-04 18:33 ` [PATCH 06/11] rerere.c: " Tanay Abhra
2014-08-04 18:33 ` [PATCH 07/11] builtin/gc.c: " Tanay Abhra
2014-08-04 20:41 ` Matthieu Moy
2014-08-04 18:33 ` [PATCH 08/11] pager.c: replace `git_config()` with `git_config_get_value()` Tanay Abhra
2014-08-04 20:36 ` Matthieu Moy
2014-08-04 18:33 ` [PATCH 09/11] imap-send.c: replace `git_config()` with `git_config_get_*()` family Tanay Abhra
2014-08-04 18:33 ` [PATCH 10/11] alias.c: replace `git_config()` with `git_config_get_string()` Tanay Abhra
2014-08-04 18:33 ` [PATCH 11/11] branch.c: replace `git_config()` with `git_config_get_string() Tanay Abhra
2014-08-04 20:42 ` [PATCH 00/11] git_config callers rewritten with the new config-set API Matthieu Moy
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=vpqfvh9tygl.fsf@anie.imag.fr \
--to=matthieu.moy@grenoble-inp$(echo .)fr \
--cc=artagnon@gmail$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
--cc=sunshine@sunshineco$(echo .)com \
--cc=tanayabh@gmail$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox