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

Re: git-submodule.sh respects submodule.$name.update in .git/config but not .gitmodules

From
Jens Lehmann <jens.lehmann@web.de>
Date
Dec 11, 2013, 22:26 UTC
Message-ID
<52A8E689.80701@web.de>
In-Reply-To
<xmqqlhztvbi8.fsf@gitster.dls.corp.google.com>
Am 10.12.2013 00:40, schrieb Junio C Hamano:
Show 9 quoted lines
> Heiko Voigt <hvoigt@hvoigt.net> writes:
> 
>> This notion has changed in a way that only the url (by that the name)
>> should be copied on init. The default for everything else should come
>> from .gitmodules or gits own default.
> 
> I think you need to be a bit careful here.  I do not think
> everything should blindly default to .gitmodules (otherwise there
> are obvious security implications as well as usability ones).

I believe everything except the URL should default to .gitmodules, for the same reasons we already do that for fetch and ignore [1]. But it should not do so blindly and take precautions that this only happens for safe values.

The only current exception is the update setting, but I'd like to change that in two steps:

1) Teach git-submodule.sh to fall back to the update setting from
   .gitmodules if none is found in .git/config (more details below)
2) Wait some time and remove the copying on init later (to make
   life easier for people who are working on the same checkout
   with different versions of git).
Show 6 quoted lines
>> The update configuration option was implemented before we realized that.
>> So currently it is still copied when submodule init is called. The main
>> reason is that we have not found the time to change that.
> 
> And 'update', as it allows any custom way to run it, is unlikely to
> be allowed to be used blindly from .gitmodules, no?

Definitely not. And while thinking about it it might make sense to pass a list of allowed values for all configurations to the get_submodule_config() function, making sure that fallbacks are only used when they are safe.

[1] http://thread.gmane.org/gmane.comp.version-control.git/161193/focus=161357
Previous: Junio C HamanoNext: W. Trevor King
Message 4 of 10 in “git-submodule.sh respects submodule.$name.update in .git/config but not .gitmodules”
  1. Charlie DysonDec 6, 2013
  2. Heiko VoigtDec 9, 2013
  3. Junio C HamanoDec 9, 2013
  4. Jens LehmannDec 11, 2013
  5. W. Trevor KingDec 11, 2013
  6. Junio C HamanoDec 12, 2013
  7. Jens LehmannDec 12, 2013
  8. W. Trevor KingDec 12, 2013
  9. Jonathan NiederDec 12, 2013
  10. Junio C HamanoDec 12, 2013

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.