Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulian Honnen2016-12-21 09:13:21 +0000
committerLars Vogel2018-08-27 13:38:05 +0000
commitf05d5c4526225094bcab1a574db3c68a9713f033 (patch)
tree1234218d6cfda7b257c40687f729e24f7e8d65a7
parent16d8a00906026e396e48804df2a9d0a2b415700e (diff)
downloadeclipse.platform.team-R4_9_maintenance.tar.gz
eclipse.platform.team-R4_9_maintenance.tar.xz
eclipse.platform.team-R4_9_maintenance.zip
This optimizes the case where many SyncInfos are added to the root set. Instead of firing a change for every single added SyncInfo (which may cause many selection changes), just fire one change per batch. This issue is particularly important when many artifacts under version control are changed during a build. Change-Id: I79cdd54d39e53e83e1a7dd994c8d0f3baa3a51ea Signed-off-by: Julian Honnen <julian.honnen@vector.com>
-rw-r--r--bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ActiveChangeSetCollector.java2
1 files changed, 2 insertions, 0 deletions
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ActiveChangeSetCollector.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ActiveChangeSetCollector.java
index aad068726..3195a0ac2 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ActiveChangeSetCollector.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/ActiveChangeSetCollector.java
@@ -235,6 +235,7 @@ public class ActiveChangeSetCollector implements IDiffChangeListener {
}
protected void add(SyncInfo[] infos) {
+ rootSet.beginInput();
for (int i = 0; i < infos.length; i++) {
SyncInfo info = infos[i];
if (isLocalChange(info) && select(info)) {
@@ -255,6 +256,7 @@ public class ActiveChangeSetCollector implements IDiffChangeListener {
}
}
}
+ rootSet.endInput(null);
}
private ChangeSet[] findChangeSets(SyncInfo info) {

Back to the top