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

Re: [PATCH v3 0/3] submodule: port subcommand add from shell to C

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 15, 2020, 21:44 UTC
Message-ID
<xmqqlfdy7niy.fsf@gitster.c.googlers.com>
In-Reply-To
<20201214231939.644175-1-periperidip@gmail.com>
Shourya Shukla <periperidip@gmail.com> writes:
Show 15 quoted lines
>     3. In the following segment:
>         /*
>          * NEEDSWORK: In a multi-working-tree world, this needs to be
>          * set in the per-worktree config.
>          */
>         if (!git_config_get_string("submodule.active", &var) && var) {
>
>         There was a comment: "What if this were a valueless true
>         ("[submodule] active\n" without "= true")?  Wouldn't get_string()
>         fail?"
>
>         I was under the impression that even if the above failed, it
>         will not really affect the big picture since at the we will set
>         'submodule.name.active" as true irrespective of the above value.
>         Is this correct?

Let's see what kind of value the "submodule.active" variable is meant to be set to. Documentation/config/submodule.txt has this:

    submodule.active::
            A repeated field which contains a pathspec used to match against a
            submodule's path to determine if the submodule is of interest to git
            commands. See linkgit:gitsubmodules[7] for details.

It definitely is a string value, and making it a valueless true is an error in the configuration. I wonder if we want to diagnose such an error, or can we just pretend we didn't see it and keep going?

Also the "var" (one of the values set for this multi-valued variable) is never used in the body of the "if" statement. The other user of "submodule.active" in module_init() seems to use config_get_value_multi() on it. The new code may deserve a comment to explain why that is OK to (1) grab just a single value out of the multi-valued variable, and (2) not even look at its value.

Previous: Shourya ShuklaNext: Shourya Shukla
Message 7 of 10 in “submodule: port subcommand add from shell to C”
  1. 0/3 submodule: port subcommand add from shell to CShourya Shukla, Dec 14, 2020
  2. 1/3 dir: change the scope of function 'directory_exists_in_index()'Shourya Shukla, Dec 14, 2020
  3. Johannes SchindelinDec 19, 2020
  4. Junio C HamanoDec 19, 2020
  5. 2/3 submodule: port submodule subcommand 'add' from shell to CShourya Shukla, Dec 14, 2020
  6. 3/3 t7400: add test to check 'submodule add' for tracked pathsShourya Shukla, Dec 14, 2020
  7. Junio C HamanoDec 15, 2020
  8. Shourya ShuklaDec 17, 2020
  9. Junio C HamanoDec 17, 2020
  10. Junio C HamanoDec 22, 2020

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.