Sourcetree does a recursive call when reverting submodule edits even when recursive is turned off

XMLWordPrintable

    • 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.

            Assignee:
            Unassigned
            Reporter:
            Jesper Norberg
            Votes:
            3 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:

                Estimated:
                Original Estimate - 2h
                2h
                Remaining:
                Remaining Estimate - 2h
                2h
                Logged:
                Time Spent - Not Specified
                Not Specified