Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.egit.core/src/org/eclipse/egit/core/project/RepositoryFinder.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/org.eclipse.egit.core/src/org/eclipse/egit/core/project/RepositoryFinder.java b/org.eclipse.egit.core/src/org/eclipse/egit/core/project/RepositoryFinder.java
index aa2ecf9ece..7dc550f82c 100644
--- a/org.eclipse.egit.core/src/org/eclipse/egit/core/project/RepositoryFinder.java
+++ b/org.eclipse.egit.core/src/org/eclipse/egit/core/project/RepositoryFinder.java
@@ -3,6 +3,7 @@
* Copyright (C) 2007, Shawn O. Pearce <spearce@spearce.org>
* Copyright (C) 2008, Google Inc.
* Copyright (C) 2012, François Rey <eclipse.org_@_francois_._rey_._name>
+ * Copyright (C) 2013, Carsten Pfeiffer <carsten.pfeiffer@gebit.de>
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -29,6 +30,8 @@ import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.egit.core.internal.CoreText;
import org.eclipse.egit.core.internal.trace.GitTraceLocation;
import org.eclipse.jgit.lib.Constants;
+import org.eclipse.jgit.lib.RepositoryCache.FileKey;
+import org.eclipse.jgit.util.FS;
import org.eclipse.jgit.util.SystemReader;
/**
@@ -128,8 +131,10 @@ public class RepositoryFinder {
assert fsLoc.isAbsolute();
final File ownCfg = configFor(fsLoc);
final IResource[] children;
+ final FS fs = FS.detect();
- if (ownCfg.isFile()) {
+ if (ownCfg.isFile()
+ && FileKey.isGitRepository(ownCfg.getParentFile(), fs)) {
register(c, ownCfg.getParentFile());
}
if (c instanceof IProject) {
@@ -142,7 +147,9 @@ public class RepositoryFinder {
"Looking at candidate dir: " //$NON-NLS-1$
+ p);
final File pCfg = configFor(p);
- if (pCfg.isFile()) {
+ if (pCfg.isFile()
+ && FileKey.isGitRepository(
+ pCfg.getParentFile(), fs)) {
register(c, pCfg.getParentFile());
}
if (ceilingDirectories.contains(p.getPath()))

Back to the top