-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
High
-
None
-
Affects Version/s: None
-
Component/s: Git
-
None
-
Environment:
Problem persists across multiple versions on both Windows and Mac.
-
Severity 2 - Major
Even with "Perform submodule actions recursively" turned off, performing a Discard/Reset on a submodule edit in the main project performs a recursive call. If you have nestled dependencies, this will become a much larger operation than desired, and forces you to use the terminal or accept a "christmas tree" filestructure where several submodules are stored multiple times, which makes the repo far larger than it needs to be. In our case we have 6 submodules with interdependencies, which leads to 47 submodules when fully "expanded".
The fix should be as simple as removing the --recursive flag if it's off in options. There might be other places where this flag is ignored, so might be worth checking all usages of --recursive in your code.
I'm demonstrating the bug in the two attached screenshots.