diff options
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.java | 12 |
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) { |