git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2/3] builtin/fetch: parse recurse-submodules-default at default options parsing

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 24, 2017, 00:51 UTC
Message-ID
<xmqq1sqab436.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<CAGZ79ka+va5bRNQL3x3fvn+738iAfJXJfD2PKpt2hmGEg09mTQ@mail.gmail.com>
Stefan Beller <sbeller@google.com> writes:
Show 20 quoted lines
>>>       if (recurse_submodules != RECURSE_SUBMODULES_OFF) {
>>> -             if (recurse_submodules_default) {
>>> -                     int arg = parse_fetch_recurse_submodules_arg("--recurse-submodules-default", recurse_submodules_default);
>>> -                     set_config_fetch_recurse_submodules(arg);
>>> -             }
>>> +             if (recurse_submodules_default != RECURSE_SUBMODULES_DEFAULT)
>>> +                     set_config_fetch_recurse_submodules(recurse_submodules_default);
>>
>> This is not a new thing, and it may not even be a problem, but I
>> have to wonder why this needs to be done conditionally.  "The
>> ...
>
> As far as I suspect, the original author considered
> evaluating the additional config too expensive.
>
>     gitmodules_config(); // <- this specifically?
>     git_config(submodule_config, NULL);
>
> And that is why we only react if any switch is
> given to recurse. 
I am not talking about the outer "if" condition.  
The inner 
    "if (recurse_submodules_default != RECURSE_SUBMODULES_DEFAULT)"

block, is what I am questioning, i.e. I am wondering why set_config_fetch_recurse_submodules() need to be conditionally called.

The two statement you quoted above will be executed either way, regardless of the value of recurse_submodule_default.

Unless --recurse-submodules=off is given, in which case the outer "if" condition rejects. And I think you are explaining that part, but that was not what I am questioning.

Previous: Stefan BellerNext: Stefan Beller
Message 7 of 10 in “pull: optionally rebase submodules”
  1. 0/3 pull: optionally rebase submodulesStefan Beller, Jun 23, 2017
  2. 1/3 builtin/fetch: factor submodule recurse parsing out to submodule configStefan Beller, Jun 23, 2017
  3. Junio C HamanoJun 23, 2017
  4. 2/3 builtin/fetch: parse recurse-submodules-default at default options parsingStefan Beller, Jun 23, 2017
  5. Junio C HamanoJun 23, 2017
  6. Stefan BellerJun 23, 2017
  7. Junio C HamanoJun 24, 2017
  8. Stefan BellerJun 27, 2017
  9. builtin/fetch cleanup: always set default value for submodule recursingStefan Beller, Jun 27, 2017
  10. 3/3 pull: optionally rebase submodules (remote submodule changes only)Stefan Beller, Jun 23, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.