diff --git a/plugins/git4idea/src/git4idea/push/GitPushDialog.java b/plugins/git4idea/src/git4idea/push/GitPushDialog.java index bb460d6c0d70..c4172595676b 100644 --- a/plugins/git4idea/src/git4idea/push/GitPushDialog.java +++ b/plugins/git4idea/src/git4idea/push/GitPushDialog.java @@ -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 getRepositoriesWithRemotes() { + List repositories = new ArrayList(); + for (GitRepository repository : myRepositoryManager.getRepositories()) { + if (!repository.getRemotes().isEmpty()) { + repositories.add(repository); + } + } + return repositories; + } + @Override protected JComponent createCenterPanel() { JPanel optionsPanel = new JPanel(new BorderLayout());