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

Re: [PATCHv8 5/9] submodule-config: introduce parse_generic_submodule_config

From
Stefan Beller <sbeller@google.com>
Date
Feb 6, 2016, 01:36 UTC
Message-ID
<CAGZ79kY4=wQvK1nn0Nv+qbR+n1=aqtY31EGwoHszG=jHP-iNTg@mail.gmail.com>
In-Reply-To
<20160206012306.GD28749@google.com>
On Fri, Feb 5, 2016 at 5:23 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 12 quoted lines
> Hi,
>
> Stefan Beller wrote:
>
>> This rewrites parse_config to distinguish between configs specific to
>> one submodule and configs which apply generically to all submodules.
>> We do not have generic submodule configs yet, but the next patch will
>> introduce "submodule.fetchJobs".
>
> Does this mean that options like submodule.fetchJobs can be specified
> in either .gitmodules or .git/config, like the submodule.<name>.*
> options?
oops, yes that would work.

I was diving down the stack when looking where to put the code for submodule.fetchJobs, and as submodule.c::submodule_config missguided me to submodule-config.c as it told me 'anything starting with "submodule." will be parsed in the submodule-config file', so at the time of writing that felt natural to put it there as well.

So generalizing from there, would we expect to have any submodule options with no section in .gitmodules?

>
> I would expect a good value for fetchJobs to be machine-specific.
> Would it work to put the submodule.fetchJobs handling in
> submodule.c::submodule_config alongside fetch.recurseModules instead?

Sure that's possible. Although I would not mind having a preset default from a project. Would it be possible for a project to be malicious with that?

(Answer yes it can, a superproject including itself multiple times and having parallel set to >=2 behaves similar like a fork bomb when the parallelism is not overwritten in the actual .git/config, I would think)

>
> Thanks,
> Jonathan

Thanks, Stefan

Previous: Jonathan NiederNext: Stefan Beller
Message 16 of 23 in “[PATCHv8 0/9] Expose submodule parallelism to the user”
  1. Stefan BellerFeb 4, 2016
  2. 1/9 submodule-config: keep update strategy aroundStefan Beller, Feb 4, 2016
  3. Jonathan NiederFeb 5, 2016
  4. Stefan BellerFeb 5, 2016
  5. Jonathan NiederFeb 5, 2016
  6. Stefan BellerFeb 5, 2016
  7. 2/9 submodule-config: drop check against NULLStefan Beller, Feb 4, 2016
  8. Jonathan NiederFeb 5, 2016
  9. 3/9 submodule-config: remove name_and_item_from_varStefan Beller, Feb 4, 2016
  10. Jonathan NiederFeb 6, 2016
  11. Stefan BellerFeb 6, 2016
  12. 4/9 submodule-config: slightly simplify lookup_or_create_by_nameStefan Beller, Feb 4, 2016
  13. Jonathan NiederFeb 6, 2016
  14. 5/9 submodule-config: introduce parse_generic_submodule_configStefan Beller, Feb 4, 2016
  15. Jonathan NiederFeb 6, 2016
  16. Stefan BellerFeb 6, 2016
  17. 6/9 fetching submodules: respect `submodule.fetchJobs` config optionStefan Beller, Feb 4, 2016
  18. Junio C HamanoFeb 5, 2016
  19. Stefan BellerFeb 5, 2016
  20. Junio C HamanoFeb 5, 2016
  21. 7/9 git submodule update: have a dedicated helper for cloningStefan Beller, Feb 4, 2016
  22. 8/9 submodule update: expose parallelism to the userStefan Beller, Feb 4, 2016
  23. 9/9 clone: allow an explicit argument for parallel submodule clonesStefan Beller, Feb 4, 2016

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.