[dvcs] split repo processing and commit data loading on push

Stops the safe push actions from being on top when disabled

GitOrigin-RevId: 6d65bb3f4eacf309833d37bb13b4b6c12c335ee2
This commit is contained in:
Ivan Semenov
2025-06-10 13:16:29 +02:00
committed by intellij-monorepo-bot
parent b6f0dd4d32
commit bf40526002

View File

@@ -57,6 +57,8 @@ public final class PushController implements Disposable {
private final @NonNls ExecutorService myExecutorService = SequentialTaskExecutor.createSequentialApplicationPoolExecutor("DVCS Push");
private final Map<RepositoryNode, MyRepoModel<Repository, PushSource, PushTarget>> myView2Model = new TreeMap<>();
private @NotNull Map<RepositoryNode, MyRepoModel<?, ?, ?>> myPriorityRepositories;
private @NotNull Map<RepositoryNode, MyRepoModel<?, ?, ?>> myOtherRepositories;
private boolean myHasCommitWarning;
@@ -85,6 +87,7 @@ public final class PushController implements Disposable {
myDialog.enableOkActions(!(Boolean)evt.getNewValue());
}
});
processRepositories();
Disposer.register(dialog.getDisposable(), this);
}
@@ -105,7 +108,7 @@ public final class PushController implements Disposable {
});
}
public void startLoadingCommits() {
private void processRepositories() {
Map<RepositoryNode, MyRepoModel<?, ?, ?>> priorityLoading = new LinkedHashMap<>();
Map<RepositoryNode, MyRepoModel<?, ?, ?>> others = new LinkedHashMap<>();
RepositoryNode nodeForCurrentEditor = findNodeByRepo(myCurrentlyOpenedRepository);
@@ -134,8 +137,13 @@ public final class PushController implements Disposable {
boolean shouldScrollTo = myView2Model.values().stream().noneMatch(MyRepoModel::isSelected);
myPushLog.highlightNodeOrFirst(nodeForCurrentEditor, shouldScrollTo);
}
loadCommitsFromMap(priorityLoading);
loadCommitsFromMap(others);
myPriorityRepositories = priorityLoading;
myOtherRepositories = others;
}
public void startLoadingCommits() {
loadCommitsFromMap(myPriorityRepositories);
loadCommitsFromMap(myOtherRepositories);
}
private boolean isPreChecked(@NotNull MyRepoModel<?, ?, ?> model) {