diff options
author | Julian Honnen | 2016-12-21 09:13:21 +0000 |
---|---|---|
committer | Lars Vogel | 2018-08-27 13:38:05 +0000 |
commit | f05d5c4526225094bcab1a574db3c68a9713f033 (patch) | |
tree | 1234218d6cfda7b257c40687f729e24f7e8d65a7 | |
parent | 16d8a00906026e396e48804df2a9d0a2b415700e (diff) | |
download | eclipse.platform.team-f05d5c4526225094bcab1a574db3c68a9713f033.tar.gz eclipse.platform.team-f05d5c4526225094bcab1a574db3c68a9713f033.tar.xz eclipse.platform.team-f05d5c4526225094bcab1a574db3c68a9713f033.zip |
Bug 509561 - only fire one change for all SyncInfos added to the root setY20180829-2200S4_9_0_RC2S4_9_0_RC1R4_9I20180906-0745I20180905-2000I20180905-0800I20180904-2000I20180904-0800I20180903-2000I20180903-1305I20180903-1125I20180903-0945I20180903-0800I20180902-2000I20180902-0800I20180901-1500I20180901-0800I20180831-2000I20180831-0815I20180830-1030I20180829-2000I20180829-0800I20180828-2000I20180828-0800I20180827-2000R4_9_maintenance
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.java | 2 |
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) { |