Bug 65415 [Progress] Animation error refreshing branches using RC1
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RefreshRemoteProjectWizard.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RefreshRemoteProjectWizard.java
index 5e7f3a6..ee95dee 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RefreshRemoteProjectWizard.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RefreshRemoteProjectWizard.java
@@ -102,20 +102,27 @@
 		try {
 			getContainer().run(true, true, new IRunnableWithProgress() {
 				public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-					monitor.beginTask(null, 100 * selectedFolders.length);
-					try {
-						RepositoryManager manager = CVSUIPlugin.getPlugin().getRepositoryManager();
-						for (int i = 0; i < selectedFolders.length; i++) {
-							ICVSRemoteResource resource = selectedFolders[i];
-							if (resource instanceof ICVSFolder) {
-								manager.refreshDefinedTags((ICVSFolder)resource, true /* replace */, true, Policy.subMonitorFor(monitor, 100));
+					final RepositoryManager manager = CVSUIPlugin.getPlugin().getRepositoryManager();
+					// Run in the manager to avoid multiple repo view updates
+					manager.run(new IRunnableWithProgress() {
+						public void run(IProgressMonitor monitor)
+								throws InvocationTargetException,
+								InterruptedException {
+							monitor.beginTask(null, 100 * selectedFolders.length);
+							try {
+								for (int i = 0; i < selectedFolders.length; i++) {
+									ICVSRemoteResource resource = selectedFolders[i];
+									if (resource instanceof ICVSFolder) {
+										manager.refreshDefinedTags((ICVSFolder)resource, true /* replace */, true, Policy.subMonitorFor(monitor, 100));
+									}
+								}
+							} catch (TeamException e) {
+								throw new InvocationTargetException(e);
+							} finally {
+								monitor.done();
 							}
 						}
-					} catch (TeamException e) {
-						throw new InvocationTargetException(e);
-					} finally {
-						monitor.done();
-					}
+					}, monitor);
 				}
 			});
 			return true;