Bug 33407 Internal Error message when selecting Team > Synchronize with Target...
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeEditorInput.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeEditorInput.java
index bdb35a6..7695c41 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeEditorInput.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeEditorInput.java
@@ -77,7 +77,7 @@
/*
* Override collectResourceChanges to only determine the true sync state for incomming changes
*/
- protected IDiffElement collectResourceChanges(IDiffContainer parent, IRemoteSyncElement tree, IProgressMonitor pm) {
+ protected IDiffElement collectResourceChanges(IDiffContainer parent, IRemoteSyncElement tree, IProgressMonitor pm) throws TeamException {
if ( ! tree.isContainer()) {
CVSRemoteSyncElement cvsTree = (CVSRemoteSyncElement)tree;
RemoteFile base = (RemoteFile)cvsTree.getBase();
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/SyncCompareInput.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/SyncCompareInput.java
index 7f21913..5747c94 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/SyncCompareInput.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/sync/SyncCompareInput.java
@@ -210,7 +210,7 @@
if (trees.length == 0) {
return null;
}
- final InterruptedException[] exceptions = new InterruptedException[1];
+ final TeamException[] exceptions = new TeamException[1];
IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
public void run(IProgressMonitor monitor) throws CoreException {
@@ -218,7 +218,7 @@
diffRoot = new DiffNode(0);
try {
doServerDelta(monitor);
- } catch (InterruptedException e) {
+ } catch (TeamException e) {
exceptions[0] = e;
}
}
@@ -247,7 +247,7 @@
}
}
- void doServerDelta(IProgressMonitor pm) throws InterruptedException {
+ void doServerDelta(IProgressMonitor pm) throws TeamException {
pm.beginTask(null, trees.length * 1000);
pm.setTaskName(Policy.bind("SyncCompareInput.taskTitle")); //$NON-NLS-1$
for (int i = 0; i < trees.length; i++) {
@@ -265,19 +265,15 @@
* and has enough ticks to allow 1 unit of work per resource in the tree and an additional
* unit for each folder.
*/
- protected IDiffElement collectResourceChanges(IDiffContainer parent, IRemoteSyncElement tree, IProgressMonitor pm) {
+ protected IDiffElement collectResourceChanges(IDiffContainer parent, IRemoteSyncElement tree, IProgressMonitor pm) throws TeamException {
int type = tree.getSyncKind(getSyncGranularity(), Policy.subMonitorFor(pm, 1));
MergeResource mergeResource = new MergeResource(tree);
if (tree.isContainer()) {
IDiffContainer element = new ChangedTeamContainer(parent, mergeResource, type);
- try {
- ILocalSyncElement[] children = tree.members(Policy.subMonitorFor(pm, 1));
- for (int i = 0; i < children.length; i++) {
- collectResourceChanges(element, (IRemoteSyncElement)children[i], pm);
- }
- } catch (TeamException e) {
- TeamUIPlugin.log(e.getStatus());
+ ILocalSyncElement[] children = tree.members(Policy.subMonitorFor(pm, 1));
+ for (int i = 0; i < children.length; i++) {
+ collectResourceChanges(element, (IRemoteSyncElement)children[i], pm);
}
return element;
} else {
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/target/TargetSyncCompareInput.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/target/TargetSyncCompareInput.java
index a9137cd..e5e4708 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/target/TargetSyncCompareInput.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/target/TargetSyncCompareInput.java
@@ -82,19 +82,15 @@
protected IDiffElement collectResourceChanges(
final IDiffContainer parent,
final IRemoteSyncElement tree,
- IProgressMonitor pm) {
+ IProgressMonitor pm) throws TeamException {
final IDiffElement[] result = new IDiffElement[] {null};
- try {
- TargetProvider provider = TargetManager.getProvider(tree.getLocal().getProject());
- provider.run(new ITargetRunnable() {
- public void run(IProgressMonitor monitor) throws TeamException {
- result[0] = TargetSyncCompareInput.super.collectResourceChanges(parent, tree, monitor);
- }
- }, pm);
- } catch (TeamException e) {
- TeamUIPlugin.log(e.getStatus());
- }
+ TargetProvider provider = TargetManager.getProvider(tree.getLocal().getProject());
+ provider.run(new ITargetRunnable() {
+ public void run(IProgressMonitor monitor) throws TeamException {
+ result[0] = TargetSyncCompareInput.super.collectResourceChanges(parent, tree, monitor);
+ }
+ }, pm);
return result[0];
}
}