diff options
-rw-r--r-- | org.eclipse.egit.core/src/org/eclipse/egit/core/project/RepositoryMapping.java | 6 | ||||
-rw-r--r-- | org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceAdapter.java | 7 |
2 files changed, 10 insertions, 3 deletions
diff --git a/org.eclipse.egit.core/src/org/eclipse/egit/core/project/RepositoryMapping.java b/org.eclipse.egit.core/src/org/eclipse/egit/core/project/RepositoryMapping.java index b131e2cfb8..c0c0b200d2 100644 --- a/org.eclipse.egit.core/src/org/eclipse/egit/core/project/RepositoryMapping.java +++ b/org.eclipse.egit.core/src/org/eclipse/egit/core/project/RepositoryMapping.java @@ -178,10 +178,14 @@ public class RepositoryMapping { * * @param rsrc * @return the path relative to the Git repository, including base name. + * <code>null</code> if the path cannot be determined. */ public String getRepoRelativePath(final IResource rsrc) { final int pfxLen = workdirPrefix.length(); - final String p = rsrc.getLocation().toString(); + IPath location = rsrc.getLocation(); + if (location == null) + return null; + final String p = location.toString(); final int pLen = p.length(); if (pLen > pfxLen) return p.substring(pfxLen); diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceAdapter.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceAdapter.java index b36f8bc670..d27a9b2fd8 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceAdapter.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/DecoratableResourceAdapter.java @@ -392,8 +392,11 @@ class DecoratableResourceAdapter implements IDecoratableResource { */ private boolean addResourceFilter(final TreeWalk treeWalk, final IResource resourceToFilterBy) { - Set<String> repositoryPaths = Collections.singleton(mapping - .getRepoRelativePath(resourceToFilterBy)); + String repoRelativePath = mapping + .getRepoRelativePath(resourceToFilterBy); + if (repoRelativePath==null) + return false; + Set<String> repositoryPaths = Collections.singleton(repoRelativePath); if (repositoryPaths.isEmpty()) return false; |