Thread (6 messages) flat view 6 messages, 1 author, 2016-06-15
DORMANTno replies

[EGIT PATCH 1/5] Remove the pointless GitProjectData resource change listener

From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:45:06
Subsystem: the rest · Maintainer: Linus Torvalds

Apparently on any IResourceChangeEvent.POST_CHANGE we just burn some
CPU time and generate some garbage for the GC to clean out later.  I
cannot see a reason why this code is still here.  My memory says we
did this in the past to notify the resource decorator that it needs
to update, or we used it for our cache tree invalidation.

Since this code has no side effect other than to waste time we can
safely remove it, and cut our project down a little bit.

Signed-off-by: Shawn O. Pearce <redacted>
---
 .../spearce/egit/core/project/GitProjectData.java  |   64 --------------------
 1 files changed, 0 insertions(+), 64 deletions(-)
diff --git a/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java b/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java
index 8754bd1..3d5424c 100644
--- a/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java
+++ b/org.spearce.egit.core/src/org/spearce/egit/core/project/GitProjectData.java
@@ -29,8 +29,6 @@ import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.IResourceChangeEvent;
 import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.Preferences;
@@ -61,10 +59,6 @@ public class GitProjectData {
 		@SuppressWarnings("synthetic-access")
 		public void resourceChanged(final IResourceChangeEvent event) {
 			switch (event.getType()) {
-			case IResourceChangeEvent.POST_CHANGE:
-				projectsChanged(event.getDelta().getAffectedChildren(
-						IResourceDelta.CHANGED));
-				break;
 			case IResourceChangeEvent.PRE_CLOSE:
 				uncache((IProject) event.getResource());
 				break;
@@ -182,16 +176,6 @@ public class GitProjectData {
 		Activator.trace("(GitProjectData) " + m);
 	}
 
-	private static void projectsChanged(final IResourceDelta[] projDeltas) {
-		for (int k = 0; k < projDeltas.length; k++) {
-			final IResource r = projDeltas[k].getResource();
-			final GitProjectData d = get((IProject) r);
-			if (d != null) {
-				d.notifyChanged(projDeltas[k]);
-			}
-		}
-	}
-
 	private synchronized static void cache(final IProject p,
 			final GitProjectData d) {
 		projectDataCache.put(p, d);
@@ -380,54 +364,6 @@ public class GitProjectData {
 		}
 	}
 
-	private void notifyChanged(final IResourceDelta projDelta) {
-//		final Set affectedMappings = new HashSet();
-		try {
-			projDelta.accept(new IResourceDeltaVisitor() {
-				public boolean visit(final IResourceDelta d)
-						throws CoreException {
-					final int f = d.getFlags();
-					IResource res = d.getResource();
-					IResource r = res;
-					if ((f & IResourceDelta.CONTENT) != 0
-							|| (f & IResourceDelta.ENCODING) != 0
-							|| r instanceof IContainer) {
-						String s = null;
-						RepositoryMapping m = null;
-
-						while (r != null) {
-							m = getRepositoryMapping(r);
-							if (m != null) {
-								break;
-							}
-
-							if (s != null) {
-								s = r.getName() + "/" + s;
-							} else {
-								s = r.getName();
-							}
-
-							r = r.getParent();
-						}
-
-						if (m == null) {
-							return false;
-						} else if (s == null) {
-							return true;
-						}
-					}
-					return false;
-				}
-			});
-		} catch (CoreException ce) {
-			// We are in deep trouble. This should NOT have happend. Detach
-			// our listeners and forget it ever did.
-			//
-			detachFromWorkspace();
-			Activator.logError(CoreText.GitProjectData_notifyChangedFailed, ce);
-		}
-	}
-
 	private File propertyFile() {
 		return new File(getProject()
 				.getWorkingLocation(Activator.getPluginId()).toFile(),
-- 
1.6.0.rc1.250.g9b5e2
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help