Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does git submodule update --recursive override fetchRecurseSubmodules?

I have a submodule who's submodules I don't need. For example:

mainProject
  - usefulSubmodule
    - notNeededSubmodule

So in mainProject, I define my .gitmodules like so:

[submodule "usefulSubmodule"]
    path = lib/usefulSubmodule
    url = https://whatever
    fetchRecurseSubmodules = false

Then I run git submodule update --init --recursive after updating, and it seems that this is ignoring the value of fetchRecurseSubmodules (which I guess may be true according to the documentation https://git-scm.com/docs/gitmodules#Documentation/gitmodules.txt-submoduleltnamegtfetchRecurseSubmodules )

So therefore my question is, how do I disable this behavior without overriding it during update? What is the best way to update all my submodules while respecting that flag?

like image 399
yano Avatar asked Jul 06 '26 06:07

yano


1 Answers

So is on-demand the default for this property if it is not present?

Yes, that is what git config fetch.recurseSubmodules specifies:

When set to on-demand (the default value), fetch and pull will only recurse into a populated submodule when its superproject retrieves a commit that updates the submodule’s reference.

Note: if you want to override locally (for just one command) a configuration:

git -c fetch.recurseSubmodules=on-demand submodule update --init

But in this case, it is not needed (this is just to illustrate how one can set a config for one git command)

like image 53
VonC Avatar answered Jul 08 '26 19:07

VonC



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!