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

Re: [PATCH v7 2/2] submodule: skip redundant active entries when pattern covers path

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 4, 2025, 04:22 UTC
Message-ID
<xmqqh60wf850.fsf@gitster.g>
In-Reply-To
<CA+rGoLfpj2tepMSWLfNeVkwXfzHZB7Vc8_GJ+_=bWkQSzZ+Sjg@mail.gmail.com>
JAYATHEERTH K <jayatheerthkulkarni2005@gmail.com> writes:
Show 9 quoted lines
>> The new helper is a maintenance burden to keep in sync with
>> submodule.c:is_tree_submodule_active(); if we really want to go this
>> route, the patch should extract that "ah, submodule.active is set so
>> let's turn it into pathspec and see if the path matches" part of the
>> logic to make sure the logic is shared.  But I am wondering if we
>> can do this without any new helper.
>
> I've actually done something like this, but I've wrapped the core logic within
> the if else after checking [1]
I do not think I follow what you want to say here.  Care to rephrase?
Show 23 quoted lines
>> I.e.  Can we replace this if() condition with something like this?
>>
>>         /*
>>          * Explicitly set 'submodule.<name>.active' only if it is not
>>          * 'active' due to other reasons.
>>          */
>>         if (!is_submodule_active(the_repository, add_data->sm_path)) {
>>
>> That is, we ask if the submodule is already active (we are before
>> adding submodule.<name>.active for this thing---if may be active due
>> to submodule.active or submodule.<name>.url) and enter the block
>> only when it is not yet.
>>
>> That way, this codepath does not have to worry about the exact logic
>> that determines if a submodule is 'active' even when its .active
>> configuration variable is not set.
>>
>> >               key = xstrfmt("submodule.%s.active", add_data->sm_name);
>> >               git_config_set_gently(key, "true");
>> >               free(key);
>
>
> I've done the exact thing in a bit different way

I am confused again, as this reads as if it is an oxymoron --- did you write the exactly the same thing as suggested above, or did you write something different?

Previous: JAYATHEERTH KNext: JAYATHEERTH K
Message 7 of 19 in “Avoid submodule overwritten and skip redundant active entries”
  1. 0/2 Avoid submodule overwritten and skip redundant active entriesK Jayatheerth, May 24, 2025
  2. 1/2 submodule: prevent overwriting .gitmodules entry on path reuseK Jayatheerth, May 24, 2025
  3. Junio C HamanoMay 27, 2025
  4. 2/2 submodule: skip redundant active entries when pattern covers pathK Jayatheerth, May 24, 2025
  5. Junio C HamanoMay 27, 2025
  6. JAYATHEERTH KMay 29, 2025
  7. Junio C HamanoJun 4, 2025
  8. JAYATHEERTH KJun 6, 2025
  9. 0/2 Avoid submodule overwritten and skip redundant active entriesK Jayatheerth, Jun 8, 2025
  10. 1/2 submodule: prevent overwriting .gitmodules entry on path reuseK Jayatheerth, Jun 8, 2025
  11. D. Ben KnobleJul 9, 2025
  12. JAYATHEERTH KJul 20, 2025
  13. Ben KnobleJul 25, 2025
  14. 2/2 submodule: skip redundant active entries when pattern covers pathK Jayatheerth, Jun 8, 2025
  15. D. Ben KnobleJul 9, 2025
  16. Junio C HamanoJul 9, 2025
  17. Junio C HamanoJul 17, 2025
  18. JAYATHEERTH KJul 18, 2025
  19. Junio C HamanoJul 7, 2025

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.