From e091c36f3f6a3ba34e04555f62702c6ba0809e5b Mon Sep 17 00:00:00 2001 From: Andrey Loskutov Date: Sun, 16 Aug 2015 09:20:54 +0200 Subject: [PATCH] Do not iterate over all staged view entries if not needed If index has no submodules or no links, we do not need to loop over all staging view entries to set submodule or link status. Change-Id: I448e9d208dbff1653d2cf989208855cebe67152e Signed-off-by: Andrey Loskutov --- .../egit/ui/internal/staging/StagingViewContentProvider.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingViewContentProvider.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingViewContentProvider.java index 0daf9455c..ff4831ab0 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingViewContentProvider.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingViewContentProvider.java @@ -420,6 +420,9 @@ public class StagingViewContentProvider extends WorkbenchContentProvider { private void setSymlinkFileMode(IndexDiffData indexDiff, Collection entries) { final Set symlinks = indexDiff.getSymlinks(); + if (symlinks.isEmpty()) { + return; + } for (StagingEntry stagingEntry : entries) { if (symlinks.contains(stagingEntry.getPath())) stagingEntry.setSymlink(true); @@ -438,6 +441,9 @@ public class StagingViewContentProvider extends WorkbenchContentProvider { private void setSubmoduleFileMode(IndexDiffData indexDiff, Collection entries) { final Set submodules = indexDiff.getSubmodules(); + if (submodules.isEmpty()) { + return; + } for (StagingEntry stagingEntry : entries) { if (submodules.contains(stagingEntry.getPath())) stagingEntry.setSubmodule(true); -- 2.11.4.GIT