Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProvider.java')
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProvider.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProvider.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProvider.java
index d6b09d5ea..306b1c5fc 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProvider.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProvider.java
@@ -190,7 +190,17 @@ public class CVSProvider implements ICVSProvider {
RemoteFolder resource = (RemoteFolder)resources[i];
if (projects != null)
project = projects[i];
- checkout(resource.getRepository(), project, resource.getRepositoryRelativePath(), resource.getTag(), Policy.subMonitorFor(pm, 1000));
+
+ // delete the project in the workbench first, this will allow us to retreive a clean
+ // copy of the project.
+ if(project != null && project.exists()) {
+ if(!project.isOpen()) {
+ project.open(Policy.subMonitorFor(pm, 10));
+ }
+ project.delete(true, true, Policy.subMonitorFor(pm, 90));
+ }
+
+ checkout(resource.getRepository(), project, resource.getRepositoryRelativePath(), resource.getTag(), Policy.subMonitorFor(pm, 900));
}
}
catch (TeamException e) {

Back to the top