mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-79870 Git push dialog: allow to push when some repositories don't have remotes
Just don't count repositories without remotes: don't add them to the list, don't query them when looking for common remotes. (cherry picked from commit 90298e61c590b44ea38539b9348132f2b9fc9d90)
This commit is contained in:
@@ -31,14 +31,14 @@ import git4idea.branch.GitBranchUtil;
|
||||
import git4idea.history.browser.GitCommit;
|
||||
import git4idea.repo.GitRemote;
|
||||
import git4idea.repo.GitRepository;
|
||||
import git4idea.repo.GitRepositoryManager;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
/**
|
||||
@@ -50,6 +50,7 @@ public class GitPushDialog extends DialogWrapper {
|
||||
private static final String DEFAULT_REMOTE = "origin";
|
||||
|
||||
private Project myProject;
|
||||
private final GitRepositoryManager myRepositoryManager;
|
||||
private final GitPusher myPusher;
|
||||
private final GitPushLog myListPanel;
|
||||
private GitCommitsByRepoAndBranch myGitCommitsToPush;
|
||||
@@ -66,8 +67,9 @@ public class GitPushDialog extends DialogWrapper {
|
||||
super(project);
|
||||
myProject = project;
|
||||
myPusher = new GitPusher(myProject, new EmptyProgressIndicator());
|
||||
myRepositoryManager = GitUtil.getRepositoryManager(myProject);
|
||||
|
||||
myRepositories = GitUtil.getRepositoryManager(myProject).getRepositories();
|
||||
myRepositories = getRepositoriesWithRemotes();
|
||||
|
||||
myLoadingPanel = new JBLoadingPanel(new BorderLayout(), this.getDisposable());
|
||||
|
||||
@@ -89,6 +91,17 @@ public class GitPushDialog extends DialogWrapper {
|
||||
setTitle("Git Push");
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private List<GitRepository> getRepositoriesWithRemotes() {
|
||||
List<GitRepository> repositories = new ArrayList<GitRepository>();
|
||||
for (GitRepository repository : myRepositoryManager.getRepositories()) {
|
||||
if (!repository.getRemotes().isEmpty()) {
|
||||
repositories.add(repository);
|
||||
}
|
||||
}
|
||||
return repositories;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected JComponent createCenterPanel() {
|
||||
JPanel optionsPanel = new JPanel(new BorderLayout());
|
||||
|
||||
Reference in New Issue
Block a user