Skip to content

2026-13: Global config option to not update submodules recursively turns back on #2451

@LightCC

Description

@LightCC

Environment

This is with 2026.13 on Ubuntu 24.04 installed in WSL2, serving via WSLg graphics bridge.

Image

Description/Details of Issue

This is regarding the new global config option for submodule recursion.

  • The text reads: "Enable --recursive when auto-" (the text is cut off, see Visual UI issue with config for new submodule recursion option in 2026-13 #2450)
    • Image
  • When using the sub-module update button/window on the left side next to the submodule list, with the "update nested submodules" option unchecked, it correctly only initializes the first level (and brings that up unchecked by default if the global option is off, or on if the global config is checked).
    • Image
    • Image
    • To be clear - this part of the feature seems to be working completely as expected.
  • However, when cloning a repo, a few unexpected things happen:
    1. First, if the global config option to not recurse was original not set (checkmark is not present), it will be turned on as part of cloning a repo.
      • This appears to happen whether you check the box to "Initialize & update submodules" or not
      • This doesn't happen just by entering the cloning window - it happens only after hitting "OK" to start the cloning process. If you cancel it doesn't change the config option to make it be set.
      • Expected Behavior: The global config should not be updated, remaining unchecked if it was originally unchecked.
    2. If the "Initialize & update submodules" checkbox in the cloning window is unset, the submodules are not initialized as expected. However, if it is checked, they are initialized recursively, regardless of how the global init for recursion was set
      • Instead, if the global recursive option is not set, then the submodules should be initialized if that box is set, but they should not be initialized recursively.
      • It's possible this behavior is occuring because the config option is being changed from unset to set, rather than another issue with the code logic.
    3. Also, mousing over the "Initialize & update submodules" box, the tooltip says "--recurse-submodules", which doesn't really describe the function, but also is incorrect if the global recursive option is not set.
      • Image

User notes

The core function to use the global option and present checkboxes in the windows all appear to be working correctly except for this issue during cloning. Thanks for the feature - very helpful for our company's git workflow!

Metadata

Metadata

Assignees

Labels

by-designThis is intentionally designed this way.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions