From 5e0c006b3733a0dafde0495123b418329f487e06 Mon Sep 17 00:00:00 2001 From: Matthias Sohn Date: Mon, 27 Feb 2023 17:17:25 +0100 Subject: [PATCH] Skip virtual resources when auto-ignoring derived resources This fixes an NPE which happens when ConnectProviderOperation#findDerivedResources tries to get the path of a virtual resource which doesn't have a path. Bug: 581603 Change-Id: I50b450e9ded3201a7cf14379378b3e8b22e0b73c --- .../src/org/eclipse/egit/core/op/ConnectProviderOperation.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/org.eclipse.egit.core/src/org/eclipse/egit/core/op/ConnectProviderOperation.java b/org.eclipse.egit.core/src/org/eclipse/egit/core/op/ConnectProviderOperation.java index ea59fc7d3..7ceee4b4c 100644 --- a/org.eclipse.egit.core/src/org/eclipse/egit/core/op/ConnectProviderOperation.java +++ b/org.eclipse.egit.core/src/org/eclipse/egit/core/op/ConnectProviderOperation.java @@ -303,10 +303,14 @@ public class ConnectProviderOperation implements IEGitOperation { List derived = new ArrayList<>(); IResource[] members = c.members(IContainer.INCLUDE_HIDDEN); for (IResource r : members) { - if (r.isDerived()) + if (r.isVirtual()) { + continue; + } + if (r.isDerived()) { derived.add(r.getLocation()); - else if (r instanceof IContainer) + } else if (r instanceof IContainer) { derived.addAll(findDerivedResources((IContainer) r)); + } } return derived; } -- 2.11.4.GIT