diff options
Diffstat (limited to 'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/AddCommand.java')
-rw-r--r-- | org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/AddCommand.java | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/AddCommand.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/AddCommand.java index c0aed4086b..4eb3f75f6a 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/AddCommand.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/repository/tree/command/AddCommand.java @@ -12,8 +12,8 @@ package org.eclipse.egit.ui.internal.repository.tree.command; import java.io.File; -import java.util.Collection; import java.util.HashMap; +import java.util.List; import java.util.Map; import org.eclipse.core.commands.ExecutionEvent; @@ -91,10 +91,15 @@ public class AddCommand extends RepositoryFinder f = new RepositoryFinder(project); f.setFindInChildren(false); try { - Collection<RepositoryMapping> mappings = f + List<RepositoryMapping> mappings = f .find(new NullProgressMonitor()); - if (mappings.size() == 1) - connections.put(project, repositoryDir); + if (!mappings.isEmpty()) { + // Connect to the first one; it's the innermost. + IPath gitDir = mappings.get(0).getGitDirAbsolutePath(); + if (gitDir != null) { + connections.put(project, gitDir.toFile()); + } + } } catch (CoreException e) { // Ignore this project in that case continue; |