IJPL-82026 git: fix 'git submodule update' being called multiple times for recursively included submodules

GitOrigin-RevId: 0c55e917f01fddf1db4b48634abec536027b9b39
This commit is contained in:
Aleksey Pivovarov
2024-09-30 18:31:26 +00:00
committed by intellij-monorepo-bot
parent 4545769e32
commit e37c8502a9
@@ -311,10 +311,14 @@ public final class GitUpdateProcess {
}
}
for (GitRepository repository : mySubmodulesInDetachedHead.keySet()) {
GitUpdater updater = new GitSubmoduleUpdater(myProject, myGit, mySubmodulesInDetachedHead.get(repository).getParent(), repository,
for (GitSubmodule submodule : mySubmodulesInDetachedHead.values()) {
GitRepository submoduleRepository = submodule.getRepository();
GitRepository parentRepository = submodule.getParent();
if (mySubmodulesInDetachedHead.containsKey(parentRepository)) continue; // updated recursively
GitUpdater updater = new GitSubmoduleUpdater(myProject, myGit, parentRepository, submoduleRepository,
myProgressIndicator, myUpdatedFiles);
updaters.put(repository, updater);
updaters.put(submoduleRepository, updater);
}
LOG.info("Updaters: " + updaters);