This commit was manufactured by cvs2svn to create tag 'I20080422'.

Sprout from master 2008-04-22 10:35:21 UTC Tomasz Zarna <tzarna> 'The map file has been updated for the following Bug changes:'
Cherrypick from master 2006-03-29 17:15:57 UTC Michael Valenta <mvalenta> 'Updated copyrights':
    bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/SubscriberResourceMappingContext.java
Delete:
    bundles/org.eclipse.jsch.core/.classpath
    bundles/org.eclipse.jsch.core/.cvsignore
    bundles/org.eclipse.jsch.core/.project
    bundles/org.eclipse.jsch.core/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.jsch.core/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.jsch.core/META-INF/MANIFEST.MF
    bundles/org.eclipse.jsch.core/about.html
    bundles/org.eclipse.jsch.core/build.properties
    bundles/org.eclipse.jsch.core/plugin.properties
    bundles/org.eclipse.jsch.core/plugin.xml
    bundles/org.eclipse.jsch.core/schema/authenticator.exsd
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/IJSchLocation.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/IJSchService.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/IPasswordStore.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/package.html
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/IConstants.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/IUserAuthenticator.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/IUserInfo.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchCorePlugin.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchLocation.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchProvider.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Messages.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/NullUserAuthenticator.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Policy.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceInitializer.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceModifyListener.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/ResponsiveSocketFactory.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/UserInfoImpl.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Utils.java
    bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/messages.properties
    bundles/org.eclipse.jsch.ui/.classpath
    bundles/org.eclipse.jsch.ui/.cvsignore
    bundles/org.eclipse.jsch.ui/.project
    bundles/org.eclipse.jsch.ui/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.jsch.ui/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.jsch.ui/META-INF/MANIFEST.MF
    bundles/org.eclipse.jsch.ui/about.html
    bundles/org.eclipse.jsch.ui/build.properties
    bundles/org.eclipse.jsch.ui/icons/full/wizban/keylock.gif
    bundles/org.eclipse.jsch.ui/plugin.properties
    bundles/org.eclipse.jsch.ui/plugin.xml
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/IHelpContextIds.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/IUIConstants.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/JSchUIPlugin.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/KeyboardInteractiveDialog.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/Messages.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/UserValidationDialog.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/IHelpContextIds.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/KeyboardInteractiveDialog.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/UserValidationDialog.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/WorkbenchUserAuthenticator.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/messages.properties
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/ExportDialog.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PassphraseDialog.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PixelConverter.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PreferencePage.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/SWTUtils.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/UserInfoPrompter.java
    bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/package.html
    bundles/org.eclipse.team.cvs.core/.classpath
    bundles/org.eclipse.team.cvs.core/.cvsignore
    bundles/org.eclipse.team.cvs.core/.options
    bundles/org.eclipse.team.cvs.core/.project
    bundles/org.eclipse.team.cvs.core/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.team.cvs.core/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.team.cvs.core/META-INF/MANIFEST.MF
    bundles/org.eclipse.team.cvs.core/about.html
    bundles/org.eclipse.team.cvs.core/about_files/NOTICE
    bundles/org.eclipse.team.cvs.core/about_files/asl-v20.txt
    bundles/org.eclipse.team.cvs.core/build.properties
    bundles/org.eclipse.team.cvs.core/doc/hglegal.htm
    bundles/org.eclipse.team.cvs.core/doc/ngibmcpy.gif
    bundles/org.eclipse.team.cvs.core/doc/org_eclipse_team_cvs_core.html
    bundles/org.eclipse.team.cvs.core/plugin.properties
    bundles/org.eclipse.team.cvs.core/plugin.xml
    bundles/org.eclipse.team.cvs.core/schema/authenticator.exsd
    bundles/org.eclipse.team.cvs.core/schema/connectionmethods.exsd
    bundles/org.eclipse.team.cvs.core/schema/filemodificationvalidator.exsd
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSAnnotateBlock.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSCompareSubscriber.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSCoreFileModificationValidator.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSException.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSubscriber.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSyncInfo.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMessages.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProjectSetCapability.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProviderPlugin.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSResourceRuleFactory.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSRevisionNumberCompareCriteria.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSStatus.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSSyncInfo.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSSyncTreeSubscriber.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTag.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProviderType.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSWorkspaceSubscriber.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/EditorsInfo.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSDecoratorEnablementListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFile.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFileModificationValidator.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFolder.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRemoteFile.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRemoteFolder.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRemoteResource.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRepositoryLocation.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSResource.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSResourceVisitor.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRunnable.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSStorage.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IConnectionMethod.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ILogEntry.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IResourceStateChangeListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IServerConnection.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IUserAuthenticator.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IUserInfo.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/Policy.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AbstractMessageCommand.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AbstractStructureVisitor.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Add.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AddStructureVisitor.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Admin.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Annotate.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ByteCountOutputStream.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CRLFDetectInputStream.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CheckedInHandler.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Checkout.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CheckoutWithOverwrite.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Command.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CommandOutputListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Commit.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ConsoleListeners.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CopyHandler.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Diff.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/DiffStructureVisitor.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Editors.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ExpandModules.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/FileStructureVisitor.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Import.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ImportStructureVisitor.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Log.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/MTHandler.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ModTimeHandler.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ModifiedFileSender.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ModuleExpansionHandler.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NOOPCommand.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NOOPVisitor.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NewEntryHandler.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NotifiedHandler.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/PruneFolderVisitor.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RDiff.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RLog.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RTag.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RemoteCommand.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Remove.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RemoveEntryHandler.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RemovedHandler.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Replace.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Request.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ResponseHandler.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Session.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/StaticHandler.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Status.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/StickyHandler.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/SyncUpdate.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Tag.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/TagFileSender.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/TemplateHandler.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Update.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/UpdateMergableOnly.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/UpdatedHandler.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ValidRequests.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ValidRequestsHandler.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Version.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/AdminKSubstListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/AnnotateListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/DiffListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/EditorsListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ICommandOutputListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/IConsoleListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ILogEntryListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/IMessagePatterns.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/IStatusListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/IUpdateMessageListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/LogEntry.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/LogListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ModuleDefinitionsListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/RDiffSummaryListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ServerMessageLineMatcher.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/StatusListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/TagListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/UpdateListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSAuthenticationException.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSCommunicationException.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSRepositoryLocation.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSServerException.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/Connection.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/ExtConnection.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/ExtConnectionMethod.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/PServerConnection.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/PServerConnectionMethod.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/UserInfo.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSFileHistory.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSFileHistoryProvider.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSFileRevision.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSLocalFileRevision.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSResourceVariantFileRevision.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSFileStore.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSFileSystem.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSFileTree.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSURI.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/LogEntryCache.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/RLogTreeBuilder.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/RemoteLogger.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/CVSActiveChangeSet.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/CVSActiveChangeSetCollector.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/CVSCheckedInChangeSet.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/ChangeSetAdapterFactory.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/ChangeSetModelProvider.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/ChangeSetResourceMapping.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/UnassignedDiffChangeSet.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/messages.properties
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSEntryLineTag.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSWorkspaceRoot.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseFile.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseFolder.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseResource.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/FileContentCachingService.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/FileModificationManager.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFile.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolder.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderMemberFetcher.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderSandbox.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderTree.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderTreeBuilder.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteModule.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteResource.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SyncInfoCache.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/UpdateContentCachingService.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/BaserevInfo.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSBaseResourceVariantTree.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSDescendantResourceVariantByteStore.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSResourceVariantTree.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/DeferredResourceChangeHandler.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/FolderSyncInfo.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/MultiTagResourceVariantTree.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/MutableFolderSyncInfo.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/MutableResourceSyncInfo.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/NotifyInfo.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ReentrantLock.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ResourceSyncInfo.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/BuildCleanupListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/CVSDateFormatter.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/FileNameMatcher.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/KnownRepositories.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/MoveDeleteHook.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/PrepareForReplaceVisitor.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/ResourceStateChangeListeners.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/ResponsiveSocketFactory.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/StringMatcher.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/SyncFileChangeListener.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/SyncFileWriter.java
    bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/Util.java
    bundles/org.eclipse.team.cvs.ssh/.classpath
    bundles/org.eclipse.team.cvs.ssh/.cvsignore
    bundles/org.eclipse.team.cvs.ssh/.options
    bundles/org.eclipse.team.cvs.ssh/.project
    bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.team.cvs.ssh/META-INF/MANIFEST.MF
    bundles/org.eclipse.team.cvs.ssh/about.html
    bundles/org.eclipse.team.cvs.ssh/build.properties
    bundles/org.eclipse.team.cvs.ssh/plugin.properties
    bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Blowfish.java
    bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/CVSSSHMessages.java
    bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Cipher.java
    bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Client.java
    bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/ClientPacket.java
    bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/KnownHosts.java
    bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Misc.java
    bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Packet.java
    bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Policy.java
    bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHMethod.java
    bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHPlugin.java
    bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHServerConnection.java
    bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/ServerPacket.java
    bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/messages.properties
    bundles/org.eclipse.team.cvs.ssh2/.classpath
    bundles/org.eclipse.team.cvs.ssh2/.cvsignore
    bundles/org.eclipse.team.cvs.ssh2/.project
    bundles/org.eclipse.team.cvs.ssh2/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.team.cvs.ssh2/.settings/org.eclipse.jdt.ui.prefs
    bundles/org.eclipse.team.cvs.ssh2/META-INF/MANIFEST.MF
    bundles/org.eclipse.team.cvs.ssh2/about.html
    bundles/org.eclipse.team.cvs.ssh2/build.properties
    bundles/org.eclipse.team.cvs.ssh2/plugin.properties
    bundles/org.eclipse.team.cvs.ssh2/plugin.xml
    bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/CVSSSH2Messages.java
    bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/CVSSSH2Method.java
    bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/CVSSSH2Plugin.java
    bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/CVSSSH2ServerConnection.java
    bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/JSchSession.java
    bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/PServerSSH2Method.java
    bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/PServerSSH2ServerConnection.java
    bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/messages.properties
    bundles/org.eclipse.ui.net/.classpath
    bundles/org.eclipse.ui.net/.cvsignore
    bundles/org.eclipse.ui.net/.project
    bundles/org.eclipse.ui.net/.settings/org.eclipse.jdt.core.prefs
    bundles/org.eclipse.ui.net/META-INF/MANIFEST.MF
    bundles/org.eclipse.ui.net/about.html
    bundles/org.eclipse.ui.net/build.properties
    bundles/org.eclipse.ui.net/plugin.properties
    bundles/org.eclipse.ui.net/plugin.xml
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/Activator.java
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NetUIMessages.java
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsComposite.java
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsContentProvider.java
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsLabelProvider.java
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/ProxyPreferencePage.java
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/Authentication.java
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/NetAuthenticator.java
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/UserValidationDialog.java
    bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/messages.properties
    examples/org.eclipse.compare.examples.xml/.classpath
    examples/org.eclipse.compare.examples.xml/.cvsignore
    examples/org.eclipse.compare.examples.xml/.project
    examples/org.eclipse.compare.examples.xml/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.compare.examples.xml/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.compare.examples.xml/IdMaps/ant_test.xml
    examples/org.eclipse.compare.examples.xml/IdMaps/idmap.dtd
    examples/org.eclipse.compare.examples.xml/about.html
    examples/org.eclipse.compare.examples.xml/build.properties
    examples/org.eclipse.compare.examples.xml/doc-html/CreateNewIDMapButton.gif
    examples/org.eclipse.compare.examples.xml/doc-html/EditCopy.gif
    examples/org.eclipse.compare.examples.xml/doc-html/IDMapContextMenu.gif
    examples/org.eclipse.compare.examples.xml/doc-html/IDMap_GeneralMatching.gif
    examples/org.eclipse.compare.examples.xml/doc-html/IDMap_MyPlugin.gif
    examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewIDMapScheme.gif
    examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewMapping_ContextMenu.gif
    examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewMapping_PreferencePage.gif
    examples/org.eclipse.compare.examples.xml/doc-html/IDMap_SelectMyPlugin.gif
    examples/org.eclipse.compare.examples.xml/doc-html/Ordered_MyANT.gif
    examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewIDMapScheme.gif
    examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewOrderedEntry_ContextMenu.gif
    examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewOrderedEntry_PreferencePage.gif
    examples/org.eclipse.compare.examples.xml/doc-html/Ordered_UnorderedScheme.gif
    examples/org.eclipse.compare.examples.xml/doc-html/PreferencePage.gif
    examples/org.eclipse.compare.examples.xml/doc-html/addidmap.gif
    examples/org.eclipse.compare.examples.xml/doc-html/idMapping.html
    examples/org.eclipse.compare.examples.xml/doc-html/smartmode_co.gif
    examples/org.eclipse.compare.examples.xml/doc-html/tutorial_and_examples.html
    examples/org.eclipse.compare.examples.xml/doc-html/ui_xmlcompare_ex.html
    examples/org.eclipse.compare.examples.xml/icons/full/obj16/addidmap.gif
    examples/org.eclipse.compare.examples.xml/icons/full/obj16/attribute_obj.gif
    examples/org.eclipse.compare.examples.xml/icons/full/obj16/element_obj.gif
    examples/org.eclipse.compare.examples.xml/icons/full/obj16/element_ordered_obj.gif
    examples/org.eclipse.compare.examples.xml/icons/full/obj16/smartmode_co.gif
    examples/org.eclipse.compare.examples.xml/icons/full/obj16/text_obj.gif
    examples/org.eclipse.compare.examples.xml/plugin.properties
    examples/org.eclipse.compare.examples.xml/plugin.xml
    examples/org.eclipse.compare.examples.xml/schema/idMapping.exsd
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AbstractMatching.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AttributesImpl.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ChooseMatcherDropDownAction.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/CreateNewIdMapAction.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/IdMap.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/Mapping.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/Messages.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/OrderedMatching.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/SWTUtil.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/SelectMatcherAction.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLChildren.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareAddIdMapDialog.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditCopyIdMapDialog.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditMappingDialog.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditOrderedDialog.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareMessages.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLComparePreferencePage.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLNode.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLPlugin.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureCreator.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureViewer.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureViewerCreator.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/MessageLine.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusDialog.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusInfo.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusUtil.java
    examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/xmlcompare.properties
    examples/org.eclipse.compare.examples.xml/tests/org/eclipse/compare/examples/xml/AllXMLCompareTests.java
    examples/org.eclipse.compare.examples.xml/tests/org/eclipse/compare/examples/xml/TestXMLStructureCreator.java
    examples/org.eclipse.compare.examples/.classpath
    examples/org.eclipse.compare.examples/.cvsignore
    examples/org.eclipse.compare.examples/.project
    examples/org.eclipse.compare.examples/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.compare.examples/.settings/org.eclipse.pde.prefs
    examples/org.eclipse.compare.examples/about.html
    examples/org.eclipse.compare.examples/build.properties
    examples/org.eclipse.compare.examples/doc-html/ui_structurecreator_ex.html
    examples/org.eclipse.compare.examples/plugin.properties
    examples/org.eclipse.compare.examples/plugin.xml
    examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/CompareExampleMessages.properties
    examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/KeyValuePairStructureCreator.java
    examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/TextMergeViewerCreator.java
    examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/Util.java
    examples/org.eclipse.team.examples.filesystem/.classpath
    examples/org.eclipse.team.examples.filesystem/.cvsignore
    examples/org.eclipse.team.examples.filesystem/.project
    examples/org.eclipse.team.examples.filesystem/.settings/org.eclipse.jdt.core.prefs
    examples/org.eclipse.team.examples.filesystem/.settings/org.eclipse.jdt.ui.prefs
    examples/org.eclipse.team.examples.filesystem/about.html
    examples/org.eclipse.team.examples.filesystem/build.properties
    examples/org.eclipse.team.examples.filesystem/doc-html/team_filesystem_ex.html
    examples/org.eclipse.team.examples.filesystem/doc-html/team_localhistory_ex.html
    examples/org.eclipse.team.examples.filesystem/doc-html/team_model_ex.html
    examples/org.eclipse.team.examples.filesystem/icons/full/obj/fldr_obj.gif
    examples/org.eclipse.team.examples.filesystem/icons/full/obj/mod_obj.gif
    examples/org.eclipse.team.examples.filesystem/icons/full/obj/moe_obj.gif
    examples/org.eclipse.team.examples.filesystem/icons/full/obj/prj_obj.gif
    examples/org.eclipse.team.examples.filesystem/icons/full/obj/root_obj.gif
    examples/org.eclipse.team.examples.filesystem/icons/full/wizards/fsicon_wiz.gif
    examples/org.eclipse.team.examples.filesystem/icons/full/wizards/synced.gif
    examples/org.eclipse.team.examples.filesystem/icons/full/wizban/newconnect_wizban.png
    examples/org.eclipse.team.examples.filesystem/plugin.properties
    examples/org.eclipse.team.examples.filesystem/plugin.xml
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileModificationValidator.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemOperations.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemPlugin.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemProviderType.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/Policy.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/StreamUtil.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemFileRevision.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemHistory.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemHistoryProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/messages.properties
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemMergeContext.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemRemoteTree.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemResourceVariant.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemSubscriber.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemSyncInfo.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/CompoundResourceTraversal.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ConfigurationWizard.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/DisconnectAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemHistoryPage.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemHistoryPageSource.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemMainPage.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemOperation.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemPropertiesPage.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemRevisionEditorInput.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemSynchronizeParticipant.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemTableProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/GetAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/GetOperation.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/MergeAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ModelPutAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncMergeDialog.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncMergePart.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncModelMergeOperation.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncModelMergePage.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/OpenFileSystemRevisionAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ProjectSetSerializer.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/PutAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/PutOperation.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ReplaceAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ShowHistoryAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SyncDialogModelMergeOperation.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SynchronizeAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SynchronizeWizard.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryParticipant.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySubscriber.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySyncInfo.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySynchronizeWizard.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryVariant.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryVariantComparator.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/RevertAllOperation.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelContainer.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelFile.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelFolder.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelNature.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObject.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectDefinitionFile.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectElementFile.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelProject.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelResource.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelWorkspace.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/PluginManifestChangeTracker.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ExampleModelProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModResourceMapping.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelContainerResourceMapping.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelMerger.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelResourceMapping.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/MoeResourceMapping.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/AdapterFactory.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorActionProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorContentProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorLabelProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelSaveable.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelSaveablesProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelWorkbenchAdapter.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/NewModelProjectWizard.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/CompareAdapter.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelMergeActionHandler.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncActionProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncContentProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncLabelProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ThirdPartyActionProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/IPessimisticFilesystemConstants.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/IResourceStateListener.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticFilesystemProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticFilesystemProviderPlugin.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticModificationValidator.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceChangeListener.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceSetContentProvider.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/AddToControlAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/BlankPage.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/CheckInAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/CheckOutAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/ConfigurationWizard.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/DisconnectAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticDecorator.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticPreferencesPage.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticProviderAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/RemoveFromControlAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/SourceManagementAction.java
    examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/UncheckOutAction.java
    features/org.eclipse.cvs-feature/.project
    features/org.eclipse.cvs-feature/build.properties
    features/org.eclipse.cvs-feature/eclipse_update_120.jpg
    features/org.eclipse.cvs-feature/epl-v10.html
    features/org.eclipse.cvs-feature/feature.properties
    features/org.eclipse.cvs-feature/feature.xml
    features/org.eclipse.cvs-feature/license.html
    features/org.eclipse.cvs-feature/rootfiles/epl-v10.html
    features/org.eclipse.cvs-feature/rootfiles/notice.html
    features/org.eclipse.cvs-feature/sourceTemplateFeature/eclipse_update_120.jpg
    features/org.eclipse.cvs-feature/sourceTemplateFeature/epl-v10.html
    features/org.eclipse.cvs-feature/sourceTemplateFeature/feature.properties
    features/org.eclipse.cvs-feature/sourceTemplateFeature/license.html
    features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.html
    features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.ini
    features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.mappings
    features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.properties
    features/org.eclipse.cvs-feature/sourceTemplatePlugin/build.properties
    features/org.eclipse.cvs-feature/sourceTemplatePlugin/eclipse32.gif
    features/org.eclipse.cvs-feature/sourceTemplatePlugin/eclipse32.png
    features/org.eclipse.cvs-feature/sourceTemplatePlugin/plugin.properties
    tests/org.eclipse.core.tests.net/.classpath
    tests/org.eclipse.core.tests.net/.cvsignore
    tests/org.eclipse.core.tests.net/.project
    tests/org.eclipse.core.tests.net/.settings/org.eclipse.jdt.core.prefs
    tests/org.eclipse.core.tests.net/META-INF/MANIFEST.MF
    tests/org.eclipse.core.tests.net/about.html
    tests/org.eclipse.core.tests.net/build.properties
    tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/Activator.java
    tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/AllNetTests.java
    tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/NetTest.java
    tests/org.eclipse.core.tests.net/test.xml
    tests/org.eclipse.jsch.tests/.classpath
    tests/org.eclipse.jsch.tests/.cvsignore
    tests/org.eclipse.jsch.tests/.project
    tests/org.eclipse.jsch.tests/META-INF/MANIFEST.MF
    tests/org.eclipse.jsch.tests/build.properties
    tests/org.eclipse.jsch.tests/src/org/eclipse/jsch/tests/Activator.java
    tests/org.eclipse.team.tests.core/.classpath
    tests/org.eclipse.team.tests.core/.cvsignore
    tests/org.eclipse.team.tests.core/.project
    tests/org.eclipse.team.tests.core/.settings/org.eclipse.jdt.core.prefs
    tests/org.eclipse.team.tests.core/about.html
    tests/org.eclipse.team.tests.core/build-tests.xml
    tests/org.eclipse.team.tests.core/build.properties
    tests/org.eclipse.team.tests.core/plugin.xml
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamTests.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamUITests.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderBic.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderNaish.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderOtherSport.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTests.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTypeBic.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderWithLinking.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StorageMergerTests.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StreamTests.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TeamTest.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TestStorageMerger.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeBuildingTests.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeTestSubscriber.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeTests.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/AllTeamSynchronizeTests.java
    tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/ResourceContentTests.java
    tests/org.eclipse.team.tests.core/test.xml
    tests/org.eclipse.team.tests.cvs.core/.classpath
    tests/org.eclipse.team.tests.cvs.core/.cvsignore
    tests/org.eclipse.team.tests.cvs.core/.project
    tests/org.eclipse.team.tests.cvs.core/.settings/org.eclipse.jdt.core.prefs
    tests/org.eclipse.team.tests.cvs.core/about.html
    tests/org.eclipse.team.tests.cvs.core/benchmark/cvsui_benchmark.bat
    tests/org.eclipse.team.tests.cvs.core/benchmark/readme.txt
    tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_02_26.integration.all.xml
    tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_03_19.integration.all.xml
    tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_04_24.milestone5.all.xml
    tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_04_25.integration.commandline.xml
    tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_07_10.release2_0.commandline.xml
    tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_07_11.release2_0.all.xml
    tests/org.eclipse.team.tests.cvs.core/benchmark/team2.1/I20021127.all.xml
    tests/org.eclipse.team.tests.cvs.core/benchmark/team2.1/I20030129.all.xml
    tests/org.eclipse.team.tests.cvs.core/benchmark/team2.1/RC1.all.xml
    tests/org.eclipse.team.tests.cvs.core/benchmark/teamui_benchmark.bat
    tests/org.eclipse.team.tests.cvs.core/benchmark/vcm1.0/2002_02_26.integration.all.xml
    tests/org.eclipse.team.tests.cvs.core/benchmark/vcmui_benchmark.bat
    tests/org.eclipse.team.tests.cvs.core/book.css
    tests/org.eclipse.team.tests.cvs.core/build-tests.xml
    tests/org.eclipse.team.tests.cvs.core/build.properties
    tests/org.eclipse.team.tests.cvs.core/html/00004.html
    tests/org.eclipse.team.tests.cvs.core/html/00007.html
    tests/org.eclipse.team.tests.cvs.core/html/00008.html
    tests/org.eclipse.team.tests.cvs.core/html/00009.html
    tests/org.eclipse.team.tests.cvs.core/html/00010.html
    tests/org.eclipse.team.tests.cvs.core/html/00011.html
    tests/org.eclipse.team.tests.cvs.core/html/00012.html
    tests/org.eclipse.team.tests.cvs.core/html/00013.html
    tests/org.eclipse.team.tests.cvs.core/html/00014.html
    tests/org.eclipse.team.tests.cvs.core/html/00018.html
    tests/org.eclipse.team.tests.cvs.core/html/00019.html
    tests/org.eclipse.team.tests.cvs.core/html/00020.html
    tests/org.eclipse.team.tests.cvs.core/html/00021.html
    tests/org.eclipse.team.tests.cvs.core/html/00022.html
    tests/org.eclipse.team.tests.cvs.core/html/00023.html
    tests/org.eclipse.team.tests.cvs.core/html/00024.html
    tests/org.eclipse.team.tests.cvs.core/html/00025.html
    tests/org.eclipse.team.tests.cvs.core/html/00026.html
    tests/org.eclipse.team.tests.cvs.core/html/00027.html
    tests/org.eclipse.team.tests.cvs.core/html/00028.html
    tests/org.eclipse.team.tests.cvs.core/html/00028a.html
    tests/org.eclipse.team.tests.cvs.core/html/00029.html
    tests/org.eclipse.team.tests.cvs.core/html/00029a.html
    tests/org.eclipse.team.tests.cvs.core/html/00030.html
    tests/org.eclipse.team.tests.cvs.core/html/00030a.html
    tests/org.eclipse.team.tests.cvs.core/html/00031.html
    tests/org.eclipse.team.tests.cvs.core/html/00032.html
    tests/org.eclipse.team.tests.cvs.core/html/00033.html
    tests/org.eclipse.team.tests.cvs.core/html/00034.html
    tests/org.eclipse.team.tests.cvs.core/html/00035.html
    tests/org.eclipse.team.tests.cvs.core/html/00036.html
    tests/org.eclipse.team.tests.cvs.core/html/00037.html
    tests/org.eclipse.team.tests.cvs.core/html/00038.html
    tests/org.eclipse.team.tests.cvs.core/html/00039.html
    tests/org.eclipse.team.tests.cvs.core/html/00040.html
    tests/org.eclipse.team.tests.cvs.core/html/00041.html
    tests/org.eclipse.team.tests.cvs.core/html/00042.html
    tests/org.eclipse.team.tests.cvs.core/html/00044.html
    tests/org.eclipse.team.tests.cvs.core/html/00045.html
    tests/org.eclipse.team.tests.cvs.core/html/00046.html
    tests/org.eclipse.team.tests.cvs.core/html/00047.html
    tests/org.eclipse.team.tests.cvs.core/html/00048.html
    tests/org.eclipse.team.tests.cvs.core/html/00049.html
    tests/org.eclipse.team.tests.cvs.core/html/00050.html
    tests/org.eclipse.team.tests.cvs.core/html/00051.html
    tests/org.eclipse.team.tests.cvs.core/html/DNDCFile00001.html
    tests/org.eclipse.team.tests.cvs.core/html/DNDUMFile00001.html
    tests/org.eclipse.team.tests.cvs.core/html/auth_problems00001.html
    tests/org.eclipse.team.tests.cvs.core/html/branch00001.html
    tests/org.eclipse.team.tests.cvs.core/html/change_sets00001.html
    tests/org.eclipse.team.tests.cvs.core/html/checkoutwizard00001.html
    tests/org.eclipse.team.tests.cvs.core/html/commit00001.html
    tests/org.eclipse.team.tests.cvs.core/html/commit00002.html
    tests/org.eclipse.team.tests.cvs.core/html/connections00001.html
    tests/org.eclipse.team.tests.cvs.core/html/cvsHistory00001.html
    tests/org.eclipse.team.tests.cvs.core/html/datetags_repoview00001.html
    tests/org.eclipse.team.tests.cvs.core/html/failures00001.html
    tests/org.eclipse.team.tests.cvs.core/html/groupByDateUMFile00001.html
    tests/org.eclipse.team.tests.cvs.core/html/keys00001.html
    tests/org.eclipse.team.tests.cvs.core/html/localHistoryUnsharedFiles00001.html
    tests/org.eclipse.team.tests.cvs.core/html/logical00001.html
    tests/org.eclipse.team.tests.cvs.core/html/logical00002.html
    tests/org.eclipse.team.tests.cvs.core/html/logical00003.html
    tests/org.eclipse.team.tests.cvs.core/html/misc00001.html
    tests/org.eclipse.team.tests.cvs.core/html/modeSwitching00001.html
    tests/org.eclipse.team.tests.cvs.core/html/perf00001.html
    tests/org.eclipse.team.tests.cvs.core/html/perf00002.html
    tests/org.eclipse.team.tests.cvs.core/html/perf00004.html
    tests/org.eclipse.team.tests.cvs.core/html/perf00005.html
    tests/org.eclipse.team.tests.cvs.core/html/perf00006.html
    tests/org.eclipse.team.tests.cvs.core/html/perf00007.html
    tests/org.eclipse.team.tests.cvs.core/html/pinHistoryView00001.html
    tests/org.eclipse.team.tests.cvs.core/html/project_sets00001.html
    tests/org.eclipse.team.tests.cvs.core/html/quickdiff00001.html
    tests/org.eclipse.team.tests.cvs.core/html/refreshHistory00002.html
    tests/org.eclipse.team.tests.cvs.core/html/repoview_basics00001.html
    tests/org.eclipse.team.tests.cvs.core/html/sharingbasics00001.html
    tests/org.eclipse.team.tests.cvs.core/html/showHistoryUMFile00001.html
    tests/org.eclipse.team.tests.cvs.core/html/sync00001.html
    tests/org.eclipse.team.tests.cvs.core/html/syncRestart00001.html
    tests/org.eclipse.team.tests.cvs.core/html/tags00001.html
    tests/org.eclipse.team.tests.cvs.core/html/tags00002.html
    tests/org.eclipse.team.tests.cvs.core/html/tags00003.html
    tests/org.eclipse.team.tests.cvs.core/html/toolbarButtonsUMFile00001.html
    tests/org.eclipse.team.tests.cvs.core/html/update_command00001.html
    tests/org.eclipse.team.tests.cvs.core/html/validate_edit00001.html
    tests/org.eclipse.team.tests.cvs.core/html/validate_edit_editing_files00001.html
    tests/org.eclipse.team.tests.cvs.core/html/validate_edit_refactoring00001.html
    tests/org.eclipse.team.tests.cvs.core/html/watch_edit00001.html
    tests/org.eclipse.team.tests.cvs.core/html/watch_edit_basic00001.html
    tests/org.eclipse.team.tests.cvs.core/html/watch_edit_editorsview00001.html
    tests/org.eclipse.team.tests.cvs.core/icons/sample.gif
    tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS Core Tests.launch
    tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS UI Tests (1).launch
    tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS UI Tests (Linux).launch
    tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS UI Tests.launch
    tests/org.eclipse.team.tests.cvs.core/launchConfigurations/One CVS Test (CVSNT).launch
    tests/org.eclipse.team.tests.cvs.core/launchConfigurations/One CVS Test.launch
    tests/org.eclipse.team.tests.cvs.core/launchConfigurations/Performance - All Tests.launch
    tests/org.eclipse.team.tests.cvs.core/launchConfigurations/Test using Ant application.launch
    tests/org.eclipse.team.tests.cvs.core/launchConfigurations/benchmark/Benchmark Test.launch
    tests/org.eclipse.team.tests.cvs.core/launchConfigurations/benchmark/PrintDiffMain.launch
    tests/org.eclipse.team.tests.cvs.core/performance.txt
    tests/org.eclipse.team.tests.cvs.core/plugin.xml
    tests/org.eclipse.team.tests.cvs.core/readme.html
    tests/org.eclipse.team.tests.cvs.core/repository.properties
    tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/benchmarkBig.zip
    tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/benchmarkSmall.zip
    tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/benchmarkTiny.zip
    tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/bug152581case1.txt
    tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/bug152581case2.txt
    tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/CVSROOT/modules
    tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/common/docs/readme.html
    tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/common/macros/macro1
    tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project1/f1/file-in-p1.txt
    tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project2/file-p2.txt
    tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project3/src/file.c
    tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project3/src/file.h
    tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project3/sub/file-sub.txt
    tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project7/common/common.txt
    tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project7/linux/linux.txt
    tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project7/pc/pc.txt
    tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project8/file-p8.txt
    tests/org.eclipse.team.tests.cvs.core/self-host.xml
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/AllCoreTests.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/AllTests.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CVSClientException.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CVSTestLogListener.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CVSTestSetup.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CVSUITestSetup.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CommandLineCVSClient.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/EclipseCVSClient.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/EclipseRunnable.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/EclipseTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/FindCommittersTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/ICVSClient.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/JUnitTestCase.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/ProjectSetImporterTests.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/TestConnection.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/TestConnectionMethod.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/TestsUserAuthenticator.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/AllTestsCompatibility.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/BasicTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/CompatibleTestSetup.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/ConflictTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/ModuleTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/SameResultEnv.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/AllTestsCVSResources.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/BatchedTestSetup.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/CVSURITest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/EclipseFolderTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/EclipseSynchronizerTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/ResourceSyncBytesTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/ResourceSyncInfoTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/ResourceMapperTests.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/SyncInfoSetTraveralContext.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/TestModelProvider.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/AllTestsProvider.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/CVSProviderTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ConcurrencyTests.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ImportTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/IsModifiedTests.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/LinkResourcesTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ModuleTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/RemoteResourceTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ResourceDeltaTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/WatchEditTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/AllTestsTeamSubscriber.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSChangeSetTests.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSCompareSubscriberTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSMergeSubscriberTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSSyncSubscriberTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSWorkspaceSubscriberTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CompareEditorTests.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/SyncInfoSource.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/SyncSetTests.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestCommitOperation.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestMergeUpdateOperation.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestOverrideAndUpdateOperation.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestUpdateOperation.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/AllUITests.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CVSOperationTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CVSProjectSetImportTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CheckoutOperationTests.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CommitSetTests.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CompareOperationTests.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/EditorTests.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/EnablementTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/MenuEnablementTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/MiscOperationsTests.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/ModelParticipantSyncInfoSource.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/ParticipantSyncInfoSource.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/PatchWizardRadioButtonGroupTests.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/PerspectiveFactory.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/SelectionPropertyTesterTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/SubscriberParticipantSyncInfoSource.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/TestEditor.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/AllBenchmarkTests.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/BenchmarkTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/BenchmarkTestSetup.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/BenchmarkUtils.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/Bug152581Test.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/SequenceGenerator.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/ShareAndCheckoutTest.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/SyncTests.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/Util.java
    tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/WorkflowTests.java
    tests/org.eclipse.team.tests.cvs.core/test.xml
    tests/org.eclipse.team.tests.cvs.core/toc.html
    tests/org.eclipse.team.tests.cvs.core/toc.xml
diff --git a/bundles/org.eclipse.jsch.core/.classpath b/bundles/org.eclipse.jsch.core/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.jsch.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.jsch.core/.cvsignore b/bundles/org.eclipse.jsch.core/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.jsch.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.jsch.core/.project b/bundles/org.eclipse.jsch.core/.project
deleted file mode 100644
index c179f9d..0000000
--- a/bundles/org.eclipse.jsch.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jsch.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.jsch.core/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.jsch.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 8bf6139..0000000
--- a/bundles/org.eclipse.jsch.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,324 +0,0 @@
-#Fri Apr 13 10:45:50 EDT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=error
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,XXX
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
-org.eclipse.jdt.core.formatter.comment.format_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=2
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=80
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=2
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
diff --git a/bundles/org.eclipse.jsch.core/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.jsch.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 5604712..0000000
--- a/bundles/org.eclipse.jsch.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Thu Dec 07 16:35:13 JST 2006
-eclipse.preferences.version=1
-formatter_profile=_eclipse-java-code-formatter-20060522
-formatter_settings_version=10
diff --git a/bundles/org.eclipse.jsch.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.jsch.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 6747b07..0000000
--- a/bundles/org.eclipse.jsch.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jsch.core;singleton:=true
-Bundle-Version: 1.1.100.qualifier
-Bundle-Activator: org.eclipse.jsch.internal.core.JSchCorePlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)",
- com.jcraft.jsch;bundle-version="[0.1.28,1.0.0)",
- org.eclipse.core.resources;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.core.net;bundle-version="[1.0.0,2.0.0)"
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.jsch.core,
- org.eclipse.jsch.internal.core;x-friends:="org.eclipse.jsch.ui"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/bundles/org.eclipse.jsch.core/about.html b/bundles/org.eclipse.jsch.core/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.jsch.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.jsch.core/build.properties b/bundles/org.eclipse.jsch.core/build.properties
deleted file mode 100644
index 7f7c9da..0000000
--- a/bundles/org.eclipse.jsch.core/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               plugin.properties,\
-               about.html
-src.includes = about.html
diff --git a/bundles/org.eclipse.jsch.core/plugin.properties b/bundles/org.eclipse.jsch.core/plugin.properties
deleted file mode 100644
index 2327b9f..0000000
--- a/bundles/org.eclipse.jsch.core/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     #	  Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
-#     IBM Corporation - implementation
-###############################################################################
-providerName=Eclipse.org
-pluginName=JSch Core
-
diff --git a/bundles/org.eclipse.jsch.core/plugin.xml b/bundles/org.eclipse.jsch.core/plugin.xml
deleted file mode 100644
index d9ae796..0000000
--- a/bundles/org.eclipse.jsch.core/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension-point id="authenticator" name="%Authenticator" schema="schema/authenticator.exsd" /> 
-   <extension
-         point="org.eclipse.core.runtime.preferences">
-      <initializer
-            class="org.eclipse.jsch.internal.core.PreferenceInitializer">
-      </initializer>
-      <modifier
-            class="org.eclipse.jsch.internal.core.PreferenceModifyListener">
-      </modifier>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.jsch.core/schema/authenticator.exsd b/bundles/org.eclipse.jsch.core/schema/authenticator.exsd
deleted file mode 100644
index 4339d13..0000000
--- a/bundles/org.eclipse.jsch.core/schema/authenticator.exsd
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.jsch.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.jsch.core" id="authenticator" name="Authenticator"/>
-      </appInfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="authenticator"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="authenticator">
-      <complexType>
-         <sequence>
-            <element ref="run"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="run">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-
-</schema>
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/IJSchLocation.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/IJSchLocation.java
deleted file mode 100644
index cc5b4da..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/IJSchLocation.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 JCraft,Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.core;
-
-import org.eclipse.jsch.internal.core.IUserAuthenticator;
-
-/**
- * This interface provides access to the specific portions of
- * the location string for use by ssh2 connection
- * and the user authenticator.
- * 
- * This interface is not intended to be implemented by clients.
- * @see IUserAuthenticator
- * @see IPasswordStore
- * @since 1.1
- */
-public interface IJSchLocation{
-
-  /**
-   * port value which indicates to a connection method to use the default port
-   */
-  public static int USE_DEFAULT_PORT=0;
-
-  /**
-   * Returns the host where the repository is located
-   * @return host name
-   */
-  public String getHost();
-
-  /**
-   * Returns the port to connect to or USE_DEFAULT_PORT if
-   * the connection method is to use its default port.
-   * @return port number
-   */
-  public int getPort();
-
-  /**
-   * Sets the user information used for this location
-   * @param username user name
-   */
-  public void setUsername(String username);
-
-  /**
-   * Return the user name 
-   * @return user name
-   */
-  public String getUsername();
-
-  /**
-   * Sets the user password used for this location
-   * @param password password
-   */
-  public void setPassword(String password);
-
-  /**
-   * Return the password 
-   * @return password
-   */
-  public String getPassword();
-
-  /**
-   * Sets the comment for this location.  This comment will be displayed
-   * in prompting for the password.
-   * @param comment
-   */
-  public void setComment(String comment);
-
-  /**
-   * Return the comment 
-   * @return comment
-   */
-  public String getComment();
-
-  /**
-   * Sets the password store used for this location
-   * @param store password store
-   */
-  public void setPasswordStore(IPasswordStore store);
-
-  /**
-   * Return the password store.
-   * @return password store.
-   */
-  public IPasswordStore getPasswordStore();
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/IJSchService.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/IJSchService.java
deleted file mode 100644
index a6c0c56..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/IJSchService.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Atsuhiko Yamanaka, JCraft,Inc. - adding methods for using IJSchLocation
- *******************************************************************************/
-package org.eclipse.jsch.core;
-
-import org.eclipse.core.net.proxy.IProxyData;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import com.jcraft.jsch.*;
-
-/**
- * A service whose purpose is to ensure that all the JSch preferences are properly pushed into JSch
- * before a {@link Session} is created. The service is registered as
- * an OSGi service. Clients can obtain an instance of the service from their bundle context
- * or from a service tracker.
- * 
- * This interface is not intended to be implemented by clients.
- * @since 1.0
- * @noimplement
- */
-public interface IJSchService{
-
-  /**
-   * Create a {@link Session} that can be used to make SSH2 connections. This method ensures that 
-   * all preferences are properly propagated into JSch before creating the session and also
-   * ensures that the session uses the appropriate proxy settings.
-   * <p>
-   * Calling this method does not connect the session (see {@link #connect(Session, int, IProgressMonitor)}, if connection
-   * throws an exception, clients should check to see if the session is still connected (see {@link Session#isConnected()}.
-   * If it is, they should call {@link Session#disconnect()}.
-   * 
-   * @param host the host name
-   * @param port the port or -1 if the default port is to be used
-   * @param username the user name or <code>null</code> if there is no user name or the user name is not known
-   
-   * @return the created session
-   * @throws JSchException if errors occur
-   */
-  public abstract Session createSession(String host, int port, String username)
-      throws JSchException;
-
-  /**
-   * 
-   * Create a {@link Session} that can be used to make SSH2 connections. This method ensures that 
-   * all preferences are properly propagated into JSch before creating the session and also
-   * ensures that the session uses the appropriate proxy settings.
-   * <p>
-   * Calling this method does not connect the session (see {@link #connect(Session, int, IProgressMonitor)}, if connection
-   * throws an exception, clients should check to see if the session is still connected (see {@link Session#isConnected()}.
-   * If it is, they should call {@link Session#disconnect()}.
-   * 
-   *
-   * @param location the location which corresponds to user@host:port
-   * @param uinfo an instance of {@link UserInfo} or <code>null</code> if
-   *        the internal UserInfo implementation should be used.
-   * @return the created session
-   * @throws JSchException if errors occur
-   * @since 1.1
-   */
-  public abstract Session createSession(IJSchLocation location, UserInfo uinfo)
-  throws JSchException;
-
-  /**
-   * Connect the session using a responsive socket factory. The timeout value is used
-   * for socket creation only. Clients that desire a timeout on the session must
-   * call {@link Session#setTimeout(int)}. If session connection fails due to an exception,
-   * the session will be disconnected by this method.
-   * 
-   * @param session the session to be connected
-   * @param timeout
-   *          a timeout in milliseconds
-   * @param monitor
-   *          a progress monitor or <code>null</code> if progress and
-   *          cancelation is not desired
-   * @throws JSchException if an exception occurs connecting the session.
-   */
-  public abstract void connect(Session session, int timeout,
-      IProgressMonitor monitor) throws JSchException;
-
-  /**
-   * Return the proxy that should be used to connect to the given host or <code>null</code>
-   * if no proxy is specified for the host.
-   * @param host the host
-   * @param proxyType the proxy type (either {@link IProxyData#HTTPS_PROXY_TYPE} or {@link IProxyData#SOCKS_PROXY_TYPE})
-   * @return the proxy that should be used to connect to the given host or <code>null</code>
-   * if no proxy is specified for the host
-   */
-  public abstract Proxy getProxyForHost(String host, String proxyType);
-  
-  /**
-   * Connect to the given host and port using the given proxy.
-   * This method calls {@link Proxy#connect(SocketFactory, String, int, int)}
-   * and provides a {@link SocketFactory} that responds to cancelation.
-   * @param proxy the proxy
-   * @param host the host name
-   * @param port the port
-   * @param timeout
-   *          a timeout in milliseconds
-   * @param monitor
-   *          a progress monitor or <code>null</code> if progress and
-   *          cancelation is not desired
-   * @throws JSchException
-   */
-  public abstract void connect(Proxy proxy, String host, int port, int timeout,
-      IProgressMonitor monitor) throws JSchException;
-
-  /**
-   * Get the IJSchLocation according to given user name, host name and port number.
-   *
-   * @param user user name for ssh2 connection
-   * @param host host name for ssh2 connection
-   * @param port port number for ssh2 connection
-   * @return the created IJSchLocation
-   * @since 1.1
-   */
-  public abstract IJSchLocation getLocation(String user, String host, int port);
-  
-  /**
-   * Get the singleton instance of JSch allocated in jsch.core plug-in internally.
-   * @return the singleton instance of JSch.
-   * @since 1.1
-   */
-  public abstract JSch getJSch();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/IPasswordStore.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/IPasswordStore.java
deleted file mode 100644
index 446d5b0..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/IPasswordStore.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 JCraft,Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     JCraft,Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.core;
-
-/**
- * This interface abstracts the password store.  The given password
- * will be stored to via this interface.
- * 
- * This interface is intended to be implemented by clients.
- * @since 1.1
- */
-public interface IPasswordStore{
-  /**
-   * The cached password should be flushed.
-   * @param location
-   */
-  public void clear(IJSchLocation location);
-  
-  /**
-   * This method will check if the password is cached or not.
-   * @param location
-   * @return whether the password is cached.
-   */
-  public boolean isCached(IJSchLocation location);
-  
-  /*
-   * The new password "location.getPassword()" will be
-   * cached.
-   */
-  public void update(IJSchLocation location);
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/package.html b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/package.html
deleted file mode 100644
index 93792dc..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/core/package.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides support for the JSch SSH2 library.
-<h2>
-Package Specification</h2>
-This package specifies the API for using the JSch SSH2 library within the Eclipse platform. 
-The API can be used to create and use SSH2 connections that use the settings from the Eclipse
-preferences.
-</body>
-</html>
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/IConstants.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/IConstants.java
deleted file mode 100644
index 8f7367f..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/IConstants.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-/**
- * Defines the constants used by the SSH2 Plugin
- */
-public interface IConstants{
-
-  public static final  String KEY_PROXY="CVSSSH2PreferencePage.PROXY"; //$NON-NLS-1$
-  public static final  String KEY_PROXY_TYPE="CVSSSH2PreferencePage.PROXY_TYPE"; //$NON-NLS-1$
-  public static final  String KEY_PROXY_HOST="CVSSSH2PreferencePage.PROXY_HOST"; //$NON-NLS-1$
-  public static final  String KEY_PROXY_PORT="CVSSSH2PreferencePage.PROXY_PORT"; //$NON-NLS-1$
-  public static final  String KEY_PROXY_AUTH="CVSSSH2PreferencePage.PROXY_AUTH"; //$NON-NLS-1$
-  public static final  String KEY_PROXY_USER="CVSSSH2PreferencePage.PROXY_USER"; //$NON-NLS-1$
-  public static final  String KEY_PROXY_PASS="CVSSSH2PreferencePage.PROXY_PASS"; //$NON-NLS-1$
-  public static final  String KEY_OLD_SSH2HOME="CVSSSH2PreferencePage.SSH2HOME"; //$NON-NLS-1$
-  public static final  String KEY_OLD_PRIVATEKEY="CVSSSH2PreferencePage.PRIVATEKEY"; //$NON-NLS-1$
-  public static final  String KEY_KEYFILE="CVSSSH2PreferencePage.KEYFILE"; //$NON-NLS-1$
-  
-  public static final  String KEY_SSH2HOME="SSH2HOME"; //$NON-NLS-1$
-  public static final  String KEY_PRIVATEKEY="PRIVATEKEY"; //$NON-NLS-1$
-
-  public static final  String PROXY_TYPE_SOCKS5="SOCKS5"; //$NON-NLS-1$
-  public static final  String PROXY_TYPE_HTTP="HTTP"; //$NON-NLS-1$
-  public static final  String HTTP_DEFAULT_PORT="80"; //$NON-NLS-1$
-  public static final  String SOCKS5_DEFAULT_PORT="1080"; //$NON-NLS-1$
-  public static final  String PRIVATE_KEYS_DEFAULT="id_dsa,id_rsa"; //$NON-NLS-1$
-
-  public static final  String DSA="DSA"; //$NON-NLS-1$
-  public static final  String RSA="RSA"; //$NON-NLS-1$
-  
-  public static final int SSH_DEFAULT_PORT=22;
-  
-  public final String PREF_USE_PROXY="proxyEnabled"; //$NON-NLS-1$
-  public final String PREF_PROXY_TYPE="proxyType"; //$NON-NLS-1$
-  public final String PREF_PROXY_HOST="proxyHost"; //$NON-NLS-1$
-  public final String PREF_PROXY_PORT="proxyPort"; //$NON-NLS-1$
-  public final String PREF_PROXY_AUTH="proxyAuth"; //$NON-NLS-1$
-
-  public final String PREF_HAS_MIGRATED_SSH2_PREFS="org.eclipse.jsch.core.hasMigratedSsh2Preferences"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/IUserAuthenticator.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/IUserAuthenticator.java
deleted file mode 100644
index 379de39..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/IUserAuthenticator.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Atsuhiko Yamanaka, JCraft,Inc. - adding promptForKeyboradInteractive method
- *                                    - copying this class from cvs.core plug-in.
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-import org.eclipse.jsch.core.IJSchLocation;
-
-/**
- * IUserAuthenticators are used to ensure that the user
- * is validated for ssh2 access to the remote.
- * @since 1.1
- */
-public interface IUserAuthenticator{
-
-  /**
-   * Button id for an "Ok" button (value 0).
-   */
-  public int OK_ID=0;
-
-  /**
-   * Button id for a "Cancel" button (value 1).
-   */
-  public int CANCEL_ID=1;
-
-  /**
-   * Button id for a "Yes" button (value 2).
-   */
-  public int YES_ID=2;
-
-  /**
-   * Button id for a "No" button (value 3).
-   */
-  public int NO_ID=3;
-
-  /**
-   * 	Constant for a prompt with no type (value 0).
-   */
-  public final static int NONE=0;
-
-  /**
-   * Constant for an error prompt (value 1).
-   */
-  public final static int ERROR=1;
-
-  /**
-   * 	Constant for an information prompt (value 2).
-   */
-  public final static int INFORMATION=2;
-
-  /**
-   * 	Constant for a question prompt (value 3).
-   */
-  public final static int QUESTION=3;
-
-  /**
-   * 	Constant for a warning dialog (value 4).
-   */
-  public final static int WARNING=4;
-
-  /**
-   * Authenticates the user for access to a given repository.
-   * The obtained values for user name and password will be placed
-   * into the supplied user info object. Implementors are allowed to
-   * save user names and passwords. The user should be prompted for
-   * user name and password if there is no saved one, or if <code>retry</code>
-   * is <code>true</code>.
-   *
-   * @param location The repository location to authenticate the user for or <code>null</code>
-   * if this authentication is not for a CVS repository location.
-   * @param userInfo The object to place user validation information into.
-   * @param message An optional message to display if, e.g., previous authentication failed. 
-   */
-  public void promptForUserInfo(IJSchLocation location,
-      IUserInfo userInfo, String message);
-
-  /**
-   * Prompts the user for a number values using text fields. The labels are provided in
-   * the <core>prompt</code> array.  Implementors will return the entered values, or null if
-   * the user cancel the prompt.
-   *
-   * @param location The repository location to authenticate the user for or <code>null</code>
-   * if this authentication is not for a CVS repository location.
-   * @param destination The destination in the format like username@hostname:port
-   * @param name A name about this dialog.
-   * @param instruction A message for the instruction.
-   * @param prompt Labels for text fields.
-   * @param echo the array to show which fields are secret.
-   * @return the entered values, or null if the user canceled. 
-   */
-  public String[] promptForKeyboradInteractive(IJSchLocation location,
-      String destination, String name, String instruction, String[] prompt,
-      boolean[] echo);
-
-  /**
-   * Prompts the authenticator for additional information regarding this authentication 
-   * request. A default implementation of this method should return the <code>defaultResponse</code>,
-   * whereas alternate implementations could prompt the user with a dialog.
-   * 
-   * @param location the repository location for this authentication or <code>null</code>
-   * if this authentication is not for a CVS repository location.
-   * @param promptType one of the following values:
-   * <ul>
-   *	<li> <code>NONE</code> for a unspecified prompt type </li>
-   *	<li> <code>ERROR</code> for an error prompt </li>
-   *	<li> <code>INFORMATION</code> for an information prompt </li>
-   * 	<li> <code>QUESTION </code> for a question prompt </li>
-   *	<li> <code>WARNING</code> for a warning prompt </li>
-   * </ul>
-   * @param title the prompt title that could be displayed to the user
-   * @param message the prompt
-   * @param promptResponses the possible responses to the prompt
-   * @param defaultResponseIndex the default response to the prompt
-   * @return the response to the prompt
-   */
-  public int prompt(IJSchLocation location, int promptType,
-      String title, String message, int[] promptResponses,
-      int defaultResponseIndex);
-
-  /**
-   * The host key for the given location has changed.
-   * @param location
-   * @return true if new host key should be accepted
-   */
-  public boolean promptForHostKeyChange(IJSchLocation location);
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/IUserInfo.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/IUserInfo.java
deleted file mode 100644
index c979d58..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/IUserInfo.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Atsuhiko Yamanaka, JCraft,Inc. - copying this class from cvs.core plug-in
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-/**
- * Instances of this class represent a user name password pair.
- * Both values can be set and the user name can be retrieved.
- * However, it is possible that the user name is not mutable.
- * Users must check before trying to set the user name.
- * 
- * Clients are not expected to implement this interface
- * @since 1.1
- */
-public interface IUserInfo{
-  /**
-   * Get the user name for this user.
-   * @return user name
-   */
-  public String getUsername();
-
-  /**
-   * Sets the user name for this user. This should not be called if
-   * isUsernameMutable() returns false.
-   * @param username a user name for this user
-   */
-  public void setUsername(String username);
-
-  /**
-   * Return true if the user name is mutable. If not, setUsername should not be called.
-   * @return a flag for isUsernameMutable
-   */
-  public boolean isUsernameMutable();
-
-  /**
-   * Sets the password for this user.
-   * @param password a password for this user
-   */
-  public void setPassword(String password);
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchCorePlugin.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchCorePlugin.java
deleted file mode 100644
index bccddf4..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchCorePlugin.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-import java.util.Hashtable;
-
-import org.eclipse.core.net.proxy.IProxyService;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jsch.core.IJSchService;
-import org.eclipse.osgi.util.NLS;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.util.tracker.ServiceTracker;
-
-import com.jcraft.jsch.JSch;
-import com.jcraft.jsch.JSchException;
-
-public class JSchCorePlugin extends Plugin{
-
-  public static String ID="org.eclipse.jsch.core"; //$NON-NLS-1$
-
-  // communication timeout with the server
-  public static final int DEFAULT_TIMEOUT=60;
-  private int communicationsTimeout=DEFAULT_TIMEOUT;
-  private boolean needToLoadKnownHosts=true;
-  private boolean needToLoadKeys=true;
-
-  private JSch jsch;
-
-  private String current_pkeys=""; //$NON-NLS-1$
-
-  public static final String PT_AUTHENTICATOR="authenticator"; //$NON-NLS-1$
-
-  private static JSchCorePlugin plugin;
-  private ServiceTracker tracker;
-
-  private ServiceRegistration jschService;
-
-  public JSchCorePlugin(){
-    plugin=this;
-  }
-
-  public static JSchCorePlugin getPlugin(){
-    return plugin;
-  }
-
-  /**
-   * Convenience method for logging CoreExceptions to the plugin log
-   * 
-   * @param e
-   *          the exception
-   */
-  public static void log(CoreException e){
-    log(e.getStatus().getSeverity(), e.getMessage(), e);
-  }
-
-  /**
-   * Log the given status. Do not use this method for the IStatus from a
-   * CoreException. Use<code>log(CoreException)</code> instead so the stack
-   * trace is not lost.
-   * 
-   * @param status
-   *          the status
-   */
-  public static void log(IStatus status){
-    getPlugin().getLog().log(status);
-  }
-
-  public static void log(int severity, String message, Throwable e){
-    log(new Status(severity, ID, 0, message, e));
-  }
-
-  /**
-   * Get the communications timeout value in seconds
-   * 
-   * @return the timeout value in seconds
-   */
-  public int getTimeout(){
-    return communicationsTimeout;
-  }
-
-  /**
-   * Set the timeout value for communications to a value in seconds. The value
-   * must be greater than or equal 0. If is it 0, there is no timeout.
-   * 
-   * @param timeout
-   *          the timeout value in seconds
-   */
-  public void setTimeout(int timeout){
-    this.communicationsTimeout=Math.max(0, timeout);
-  }
-
-  public synchronized JSch getJSch(){
-    if(jsch==null)
-      jsch=new JSch();
-    return jsch;
-  }
-
-  public void loadKnownHosts(){
-    Preferences preferences=JSchCorePlugin.getPlugin().getPluginPreferences();
-    String ssh_home=preferences.getString(IConstants.KEY_SSH2HOME);
-
-    if(ssh_home.length()==0)
-      ssh_home=PreferenceInitializer.SSH_HOME_DEFAULT;
-
-    java.io.File file=new java.io.File(ssh_home, "known_hosts"); //$NON-NLS-1$
-    try{
-      getJSch().setKnownHosts(file.getPath());
-    }
-    catch(JSchException e){
-      JSchCorePlugin.log(IStatus.ERROR, NLS.bind(
-          "An error occurred while loading the know hosts file {0}", file //$NON-NLS-1$
-              .getAbsolutePath()), e);
-    }
-    needToLoadKnownHosts=false;
-  }
-
-  public boolean isNeedToLoadKnownHosts(){
-    return needToLoadKnownHosts;
-  }
-
-  public void setNeedToLoadKnownHosts(boolean needToLoadKnownHosts){
-    this.needToLoadKnownHosts=needToLoadKnownHosts;
-  }
-
-  public boolean isNeedToLoadKeys(){
-    return needToLoadKeys;
-  }
-
-  public void setNeedToLoadKeys(boolean needToLoadKeys){
-    this.needToLoadKeys=needToLoadKeys;
-  }
-
-  public void loadPrivateKeys(){
-    current_pkeys=Utils.loadPrivateKeys(getJSch(), current_pkeys);
-    setNeedToLoadKeys(false);
-  }
-
-  /**
-   * Return the {@link IProxyService} or <code>null</code> if the service is
-   * not available.
-   * 
-   * @return the {@link IProxyService} or <code>null</code>
-   */
-  public IProxyService getProxyService(){
-    return (IProxyService)tracker.getService();
-  }
-
-  public void start(BundleContext context) throws Exception{
-    super.start(context);
-    tracker=new ServiceTracker(getBundle().getBundleContext(),
-        IProxyService.class.getName(), null);
-    tracker.open();
-    jschService=getBundle().getBundleContext().registerService(
-        IJSchService.class.getName(), JSchProvider.getInstance(),
-        new Hashtable());
-  }
-
-  public void stop(BundleContext context) throws Exception{
-    super.stop(context);
-    tracker.close();
-    jschService.unregister();
-  }
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchLocation.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchLocation.java
deleted file mode 100644
index 4bc5e6a..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchLocation.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 JCraft,Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jsch.core.IJSchLocation;
-import org.eclipse.jsch.core.IPasswordStore;
-
-/**
- * This class implements IJSchLocation interface.
- * @since 1.1
- */
-public class JSchLocation extends PlatformObject implements IJSchLocation{
-  /**
-   * port value which indicates to a connection method to use the default port
-   */
-  private static int DEFAULT_PORT=22;
-
-  private String user;
-  private String password;
-  private String host;
-  private int port=DEFAULT_PORT;
-  private boolean userFixed=true;
-  private String comment=null;
-  private IPasswordStore passwordStore=null;
-
-  /*
-   * Create a JSchLocation from its composite parts.
-   */
-  public JSchLocation(String user, String host, int port){
-    this.user=user;
-    this.host=host;
-    this.port=port;
-  }
-
-  public JSchLocation(String user, String host){
-    this(user, host, DEFAULT_PORT);
-  }
-
-  /**
-   * @see IJSchLocation#getHost()
-   */
-  public String getHost(){
-    return host;
-  }
-
-  /**
-   * @see IJSchLocation#getPort()
-   */
-  public int getPort(){
-    return port;
-  }
-
-  /*
-   * @see IJSchLocation#setUsername(String)
-   */
-  public void setUsername(String user){
-    if(userFixed)
-      throw new UnsupportedOperationException();
-    this.user=user;
-  }
-
-  /**
-   * @see IJSchLocation#getUsername()
-   */
-  public String getUsername(){
-    return user==null ? "" : user; //$NON-NLS-1$
-  }
-
-  /**
-   * @see IJSchLocation#setPassword(String)
-   */
-  public void setPassword(String password){
-    if(password!=null)
-      this.password=password;
-  }
-
-  /**
-   * @see IJSchLocation#getPassword()
-   */
-  public String getPassword(){
-    return password;
-  }
-
-  /**
-   * @see IJSchLocation#setComment(String comment)
-   */
-  public void setComment(String comment){
-    this.comment=comment;
-  }
-
-  /**
-   * @see IJSchLocation#getComment()
-   */
-  public String getComment(){
-    return comment;
-  }
-
-  /**
-   * @see IJSchLocation#setPasswordStore(IPasswordStore store)
-   */
-  public void setPasswordStore(IPasswordStore store){
-    this.passwordStore=store;
-  }
-
-  /**
-   * @see IJSchLocation#getPasswordStore()
-   */
-  public IPasswordStore getPasswordStore(){
-    return passwordStore;
-  }
-
-  /**
-   * Implementation of inherited toString()
-   */
-  public String toString(){
-    return user
-        +"@"+host+((port==DEFAULT_PORT) ? "" : ":"+(new Integer(port).toString())); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
-  }
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchProvider.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchProvider.java
deleted file mode 100644
index 89ce883..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/JSchProvider.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Atsuhiko Yamanaka, JCraft,Inc. - adding methods referring to IJSchLocation
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jsch.core.IJSchService;
-import org.eclipse.jsch.core.IJSchLocation;
-import org.eclipse.osgi.util.NLS;
-
-import com.jcraft.jsch.*;
-
-/**
- * A static class whose purpose is to ensure that all the JSch preferences are properly pushed into JSch
- * before a {@link Session} is created.
- * @since 1.0
- */
-class JSchProvider implements IJSchService {
-  
-  private static JSchProvider instance;
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jsch.core.IJSchService#createSession(java.lang.String, int, java.lang.String)
-   */
-  public Session createSession(String host, int port, String username) throws JSchException {
-
-    if(JSchCorePlugin.getPlugin().isNeedToLoadKnownHosts()){
-      JSchCorePlugin.getPlugin().loadKnownHosts();
-    }
-
-    if(JSchCorePlugin.getPlugin().isNeedToLoadKeys()){
-      JSchCorePlugin.getPlugin().loadPrivateKeys();
-    }
-    
-    return Utils.createSession(JSchCorePlugin.getPlugin().getJSch(), username, host, port);
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.jsch.core.IJSchService#createSession(IJSchLocation location, UserInfo uinfo)
-   */
-  public Session createSession(IJSchLocation location, UserInfo uinfo) throws JSchException {
-
-    Session session=createSession(location.getHost(), location.getPort(), location.getUsername());
-    
-    if(uinfo==null){
-      IUserAuthenticator authenticator=getPluggedInAuthenticator();
-      if(authenticator==null)
-        authenticator=new NullUserAuthenticator();
-      uinfo=new UserInfoImpl(location, authenticator, (JSchCorePlugin.getPlugin().getTimeout() * 1000));
-    }
-    if(uinfo!=null)
-      session.setUserInfo(uinfo);
-    
-    return session;
-  }
-  
-  public Session createSession(IJSchLocation location) throws JSchException {
-    return createSession(location, null);
-  }
-  
-  /**
-   * @see org.eclipse.jsch.core.IJSchService#connect(com.jcraft.jsch.Session, int, org.eclipse.core.runtime.IProgressMonitor)
-   */
-  public void connect(Session session, int timeout,
-      IProgressMonitor monitor) throws JSchException{
-    session.setSocketFactory(new ResponsiveSocketFactory(monitor, timeout));
-    
-    UserInfo ui=session.getUserInfo();
-    
-    if(ui!=null && (ui instanceof UserInfoImpl))
-      ((UserInfoImpl)ui).aboutToConnect();
-    
-    try{
-      session.connect();
-    }
-    catch(java.lang.ArrayIndexOutOfBoundsException e){  
-      // TODO This catch clause has been added to work around
-      // Bug 217980 and will be deleted in the future.
-      throw new JSchException("invalid server's version string");//$NON-NLS-1$
-    }
-    catch(JSchException e){
-      
-      // Try again since the previous prompt may have obtained
-      // the proper credential from the user.
-      // This logic had been implemented in org.eclipse.team.internal.ccvs.ssh2.JSchSession#getSession.
-      if(isAuthenticationFailure(e)
-          &&ui!=null&&(ui instanceof UserInfoImpl)
-          &&hasPromptExceededTimeout(session)
-          &&((UserInfoImpl)ui).incReuse()==0){
-        String host=session.getHost();
-        String user=session.getUserName();
-        int port=session.getPort();
-        session=Utils.createSession(getJSch(), user, host, port);
-        session.setUserInfo(ui);
-        session.setTimeout(timeout);
-        connect(session, timeout, monitor);
-        return;
-      }
-      
-      if(session.isConnected())
-        session.disconnect();
-      throw e;
-    }
-    
-    if(ui!=null && (ui instanceof UserInfoImpl))
-      ((UserInfoImpl)ui).connectionMade();
-  }
-  
-  /**
-   * @see org.eclipse.jsch.core.IJSchService#getProxyForHost(java.lang.String, java.lang.String)
-   */
-  public Proxy getProxyForHost(String host, String proxyType) {
-    return Utils.getProxyForHost(host, proxyType);
-  }
-
-  public static IJSchService getInstance(){
-    if (instance == null)
-      instance = new JSchProvider();
-    return instance;
-  }
-
-  /* (non-Javadoc)
-   * @see org.eclipse.jsch.core.IJSchService#connect(com.jcraft.jsch.Proxy, java.lang.String, int, int, org.eclipse.core.runtime.IProgressMonitor)
-   */
-  public void connect(Proxy proxy, String host, int port, int timeout,
-      IProgressMonitor monitor) throws JSchException {
-    try{
-      proxy.connect(new ResponsiveSocketFactory(monitor, timeout), host, port, timeout);
-    }
-    catch(JSchException e){
-      throw e;
-    }
-    catch(Exception e){
-      new JSchException(e.getMessage());
-    }
-  }
-  
-  /**
-   * Search for an instance of IUserAuthenticator provided from other plug-in.
-   * @see org.eclipse.jsch.internal.ui.authenticator.WorkbenchUserAuthenticator
-   * @return an instance of IUserAuthenticator.
-   */
-  private IUserAuthenticator getPluggedInAuthenticator(){
-    IExtension[] extensions=Platform.getExtensionRegistry().getExtensionPoint(
-        JSchCorePlugin.ID, JSchCorePlugin.PT_AUTHENTICATOR).getExtensions();
-    if(extensions.length==0)
-      return null;
-    IExtension extension=extensions[0];
-    IConfigurationElement[] configs=extension.getConfigurationElements();
-    if(configs.length==0){
-      JSchCorePlugin
-          .log(
-              IStatus.ERROR,
-              NLS
-                  .bind(
-                      "User autheticator {0} is missing required fields", (new Object[] {extension.getUniqueIdentifier()})), null);//$NON-NLS-1$ 
-      return null;
-    }
-    try{
-      IConfigurationElement config=configs[0];
-      return (IUserAuthenticator)config.createExecutableExtension("run");//$NON-NLS-1$ 
-    }
-    catch(CoreException ex){
-      JSchCorePlugin
-          .log(
-              IStatus.ERROR,
-              NLS
-                  .bind(
-                      "Unable to instantiate user authenticator {0}", (new Object[] {extension.getUniqueIdentifier()})), ex);//$NON-NLS-1$ 
-      return null;
-    }
-  }
-  
-  public JSch getJSch(){
-    return JSchCorePlugin.getPlugin().getJSch();
-  }
-
-  private boolean isAuthenticationFailure(JSchException ee){
-    return ee.getMessage().equals("Auth fail"); //$NON-NLS-1$
-  }
-  
-  private boolean hasPromptExceededTimeout(Session session){
-    if(session.getUserInfo()==null || !(session.getUserInfo() instanceof UserInfoImpl))
-      return false;
-    return ((UserInfoImpl)session.getUserInfo()).hasPromptExceededTimeout();
-  }
-
-  /**
-   * @see org.eclipse.jsch.core.IJSchService#getLocation(String user, String host, int port)
-   */
-  public IJSchLocation getLocation(String user, String host, int port){
-    IJSchLocation location=null;
-    location=new JSchLocation(user, host, port);
-    return location;
-  }
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Messages.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Messages.java
deleted file mode 100644
index 1b62d07..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Messages.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2007 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.jsch.internal.core;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS{
-  private static final String BUNDLE_NAME="org.eclipse.jsch.internal.core.messages";//$NON-NLS-1$
-
-  public static String JSchSession_5;
-  public static String Util_timeout;
-  public static String JSchAuthenticationException_detail;
-  public static String JSchRepositoryLocation_locationForm;
-  public static String JSchRepositoryLocation_invalidFormat;
-  public static String KnownRepositories_0;
-  public static String JSchRepositoryLocation_73;
-  public static String JSchRepositoryLocation_74;
-  public static String JSchRepositoryLocation_75;
-  
-  static{
-    // load message values from bundle file
-    NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-  }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/NullUserAuthenticator.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/NullUserAuthenticator.java
deleted file mode 100644
index b5f337f..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/NullUserAuthenticator.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 JCraft,Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-import org.eclipse.jsch.core.IJSchLocation;
-
-/**
- * This class will be used whenever nobody gives 
- * the implementation of IUserAuthenticator.
- * @since 1.1
- */
-class NullUserAuthenticator implements IUserAuthenticator{
-
-  /**
-   * @see IUserAuthenticator#prompt(IJSchLocation location, int promptType, String title,
-      String message, int[] promptResponses, int defaultResponseIndex)
-   */
-  public int prompt(IJSchLocation location, int promptType, String title,
-      String message, int[] promptResponses, int defaultResponseIndex){
-    return IUserAuthenticator.CANCEL_ID;
-  }
-
-  /**
-   * @see IUserAuthenticator#promptForHostKeyChange(IJSchLocation location)
-   */
-  public boolean promptForHostKeyChange(IJSchLocation location){
-    return false;
-  }
-
-  /**
-   * @see IUserAuthenticator#promptForKeyboradInteractive(IJSchLocation location, String destination, String name, String instruction, String[] prompt, boolean[] echo)
-   */
-  public String[] promptForKeyboradInteractive(IJSchLocation location,
-      String destination, String name, String instruction, String[] prompt,
-      boolean[] echo){
-    return null;
-  }
-
-  /**
-   * @see IUserAuthenticator#promptForUserInfo(IJSchLocation, IUserInfo, String)
-   */
-  public void promptForUserInfo(IJSchLocation location, IUserInfo userInfo,
-      String message){
-    // no operation
-  }
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Policy.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Policy.java
deleted file mode 100644
index ae2a4fb..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Policy.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-import org.eclipse.core.runtime.*;
-
-public class Policy{
-
-  public static void checkCanceled(IProgressMonitor monitor){
-    if(monitor.isCanceled())
-      throw new OperationCanceledException();
-  }
-
-  public static IProgressMonitor monitorFor(IProgressMonitor monitor){
-    if(monitor==null)
-      return new NullProgressMonitor();
-    return monitor;
-  }
-
-  public static IProgressMonitor subMonitorFor(IProgressMonitor monitor,
-      int ticks){
-    if(monitor==null)
-      return new NullProgressMonitor();
-    if(monitor instanceof NullProgressMonitor)
-      return monitor;
-    return new SubProgressMonitor(monitor, ticks);
-  }
-  
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceInitializer.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceInitializer.java
deleted file mode 100644
index 57c9900..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceInitializer.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.preferences.*;
-
-public class PreferenceInitializer extends AbstractPreferenceInitializer{
-
-  public static String SSH_HOME_DEFAULT=null;
-  static{
-    String ssh_dir_name=".ssh"; //$NON-NLS-1$
-
-    // Windows doesn't like files or directories starting with a dot.
-    if(Platform.getOS().equals(Platform.OS_WIN32)){
-      ssh_dir_name="ssh"; //$NON-NLS-1$
-    }
-    SSH_HOME_DEFAULT=System.getProperty("user.home"); //$NON-NLS-1$
-    if(SSH_HOME_DEFAULT!=null){
-      SSH_HOME_DEFAULT=SSH_HOME_DEFAULT+java.io.File.separator+ssh_dir_name;
-    }
-  }
-  
-  public void initializeDefaultPreferences(){
-    IEclipsePreferences defaultNode=new DefaultScope().getNode(JSchCorePlugin.ID);
-    defaultNode.put(IConstants.KEY_SSH2HOME, SSH_HOME_DEFAULT);
-    defaultNode.put(IConstants.KEY_PRIVATEKEY, IConstants.PRIVATE_KEYS_DEFAULT);
-    Utils.migrateSSH2Preferences();
-  }
-
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceModifyListener.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceModifyListener.java
deleted file mode 100644
index 174b866..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/PreferenceModifyListener.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-
-public class PreferenceModifyListener extends
-    org.eclipse.core.runtime.preferences.PreferenceModifyListener{
-
-  public PreferenceModifyListener(){
-    // Nothing to do
-  }
-  
-  public IEclipsePreferences preApply(IEclipsePreferences node){
-    Utils.migrateSSH2Preferences(node.node("instance")); //$NON-NLS-1$
-    return super.preApply(node);
-  }
-
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/ResponsiveSocketFactory.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/ResponsiveSocketFactory.java
deleted file mode 100644
index ff822db..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/ResponsiveSocketFactory.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-import java.io.*;
-import java.lang.reflect.*;
-import java.net.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-
-import com.jcraft.jsch.SocketFactory;
-
-public class ResponsiveSocketFactory implements SocketFactory {
-  private static final String JAVA_NET_PROXY="java.net.Proxy"; //$NON-NLS-1$
-  private static final int DEFAULT_TIMEOUT=60; // Seconds
-  InputStream in = null;
-  OutputStream out = null;
-  private IProgressMonitor monitor;
-  private final int timeout;
-  private static Class proxyClass;
-  private static boolean hasProxyClass = true;
-  public ResponsiveSocketFactory(IProgressMonitor monitor, int timeout) {
-    if (monitor == null)
-      monitor = new NullProgressMonitor();
-    this.monitor = monitor;
-    this.timeout=timeout;
-  }
-  public InputStream getInputStream(Socket socket) throws IOException {
-    if (in == null)
-      in = socket.getInputStream();
-    return in;
-  }
-  public OutputStream getOutputStream(Socket socket) throws IOException {
-    if (out == null)
-      out = socket.getOutputStream();
-    return out;
-  }
-  public Socket createSocket(String host, int port) throws IOException, UnknownHostException {
-    Socket socket = null;
-    socket = createSocket(host, port, timeout / 1000, monitor);
-    // Null out the monitor so we don't hold onto anything
-    // (i.e. the SSH2 session will keep a handle to the socket factory around
-    monitor = new NullProgressMonitor();
-    // Set the socket timeout
-    socket.setSoTimeout(timeout);
-    return socket;
-  }
-  
-  /**
-   * Helper method that will time out when making a socket connection.
-   * This is required because there is no way to provide a timeout value
-   * when creating a socket and in some instances, they don't seem to
-   * timeout at all.
-   */
-  private Socket createSocket(final String host, final int port, int timeout, IProgressMonitor monitor) throws UnknownHostException, IOException {
-    
-    // Start a thread to open a socket
-    final Socket[] socket = new Socket[] { null };
-    final Exception[] exception = new Exception[] {null };
-    final Thread thread = new Thread(new Runnable() {
-      public void run() {
-        try {
-          Socket newSocket = internalCreateSocket(host, port);
-          synchronized (socket) {
-            if (Thread.interrupted()) {
-              // we we're either canceled or timed out so just close the socket
-              newSocket.close();
-            } else {
-              socket[0] = newSocket;
-            }
-          }
-        } catch (UnknownHostException e) {
-          exception[0] = e;
-        } catch (IOException e) {
-          exception[0] = e;
-        }
-      }
-    });
-    thread.start();
-    
-    // Wait the appropriate number of seconds
-    if (timeout == 0) timeout = DEFAULT_TIMEOUT;
-    for (int i = 0; i < timeout; i++) {
-      try {
-        // wait for the thread to complete or 1 second, which ever comes first
-        thread.join(1000);
-      } catch (InterruptedException e) {
-        // I think this means the thread was interrupted but not necessarily timed out
-        // so we don't need to do anything
-      }
-      synchronized (socket) {
-        // if the user canceled, clean up before preempting the operation
-        if (monitor.isCanceled()) {
-          if (thread.isAlive()) {
-            thread.interrupt();
-          }
-          if (socket[0] != null) {
-            socket[0].close();
-          }
-          // this method will throw the proper exception
-          Policy.checkCanceled(monitor);
-        }
-      }
-    }
-    // If the thread is still running (i.e. we timed out) signal that it is too late
-    synchronized (socket) {
-      if (thread.isAlive()) {
-        thread.interrupt();
-      }
-    }
-    if (exception[0] != null) {
-      if (exception[0] instanceof UnknownHostException)
-        throw (UnknownHostException)exception[0];
-      else
-        throw (IOException)exception[0];
-    }
-    if (socket[0] == null) {
-      throw new InterruptedIOException(NLS.bind(Messages.Util_timeout, new String[] { host })); 
-    }
-    return socket[0];
-  }
-  
-  /* private */  Socket internalCreateSocket(final String host, final int port)
-      throws UnknownHostException, IOException{
-    Class proxyClass = getProxyClass();
-    if (proxyClass != null) {
-      // We need to disable proxy support for the socket
-      try{
-        
-        // Obtain the value of the NO_PROXY static field of the proxy class
-        Field field = proxyClass.getField("NO_PROXY"); //$NON-NLS-1$
-        Object noProxyObject = field.get(null);
-        Constructor constructor = Socket.class.getConstructor(new Class[] { proxyClass });
-        Object o = constructor.newInstance(new Object[] { noProxyObject });
-        if(o instanceof Socket){
-          Socket socket=(Socket)o;
-          socket.connect(new InetSocketAddress(host, port), timeout * 1000);
-          return socket;
-        }
-      }
-      catch(SecurityException e){
-        JSchCorePlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      catch(NoSuchFieldException e){
-        JSchCorePlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      catch(IllegalArgumentException e){
-        JSchCorePlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      catch(IllegalAccessException e){
-        JSchCorePlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      catch(NoSuchMethodException e){
-        JSchCorePlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      catch(InstantiationException e){
-        JSchCorePlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      catch(InvocationTargetException e){
-        JSchCorePlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      
-    }
-    return new Socket(host, port);
-  }
-  
-  private synchronized Class getProxyClass() {
-    if (hasProxyClass && proxyClass == null) {
-      try{
-        proxyClass = Class.forName(JAVA_NET_PROXY);
-      }
-      catch(ClassNotFoundException e){
-        // We couldn't find the class so we'll assume we are using pre-1.5 JRE
-        hasProxyClass = false;
-      }
-    }
-    return proxyClass;
-  }
-
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/UserInfoImpl.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/UserInfoImpl.java
deleted file mode 100644
index d8a5d97..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/UserInfoImpl.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *     Atsuhiko Yamanaka, JCraft,Inc. - copying this class from o.e.team.cvs.ssh2.JSchSession.
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jsch.core.IJSchLocation;
-
-import com.jcraft.jsch.UIKeyboardInteractive;
-
-/**
- * User information delegates to the IUserAuthenticator. This allows
- * head-less access to the connection method.
- * @since 1.1
- */
-class UserInfoImpl implements com.jcraft.jsch.UserInfo, UIKeyboardInteractive{
-  private String username;
-  private String password;
-  private String passphrase;
-  private IJSchLocation location;
-  private IUserAuthenticator authenticator;
-  private int attemptCount;
-  private boolean passwordChanged;
-
-  private long startTime;
-  private long endTime;
-  private boolean prompting;
-  private long timeout;
-  
-  private int reuse=0;
-  
-  UserInfoImpl(IJSchLocation location, IUserAuthenticator authenticator, long timeout){
-    this.location=location;
-    this.username=location.getUsername();
-    this.password=location.getPassword();
-    this.authenticator=authenticator;
-    this.timeout=timeout;
-  }
-
-  public String getPassword(){
-    return password;
-  }
-
-  public String getPassphrase(){
-    return passphrase;
-  }
-
-  public boolean promptYesNo(String str){
-    int prompt=authenticator.prompt(location, IUserAuthenticator.QUESTION,
-        Messages.JSchSession_5, str, new int[] {IUserAuthenticator.YES_ID,
-            IUserAuthenticator.NO_ID}, 0 //yes the default
-        );
-    return prompt==0;
-  }
-
-  private String promptSecret(String message, boolean includeLocation){
-    final String[] _password=new String[1];
-    final String username=location.getUsername();
-    IUserInfo info=new IUserInfo(){
-      public String getUsername(){
-        return username;
-      }
-
-      public boolean isUsernameMutable(){
-        return false;
-      }
-
-      public void setPassword(String password){
-        _password[0]=password;
-      }
-
-      public void setUsername(String username){
-        //
-      }
-    };
-    try{
-      authenticator.promptForUserInfo(includeLocation ? location : null,
-          info, message);
-    }
-    catch(OperationCanceledException e){
-      _password[0]=null;
-    }
-    return _password[0];
-  }
-
-  public boolean promptPassphrase(String message){
-    try{
-      startTimer();
-      String _passphrase=promptSecret(message, false);
-      if(_passphrase!=null){
-        passphrase=_passphrase;
-      }
-      return _passphrase!=null;
-    }
-    catch(OperationCanceledException e){
-      // The prompt was canceled, but the next authentication
-      // method should be tried.
-      return false;
-    }
-    finally{
-      endTimer();
-    }
-  }
-
-  public boolean promptPassword(String message){
-    try{
-      startTimer();
-      
-      String _password=promptSecret(message, true);
-      if(_password!=null){
-        password=_password;
-        // Cache the password with the repository location on the memory.
-        if(location!=null)
-          location.setPassword(password);
-      }
-      return _password!=null;
-    }
-    finally{
-      endTimer();
-    }
-  }
-
-  public void showMessage(String message){
-    authenticator.prompt(location, IUserAuthenticator.INFORMATION,
-        Messages.JSchSession_5, message,
-        new int[] {IUserAuthenticator.OK_ID}, IUserAuthenticator.OK_ID);
-  }
-
-  public String[] promptKeyboardInteractive(String destination, String name,
-      String instruction, String[] prompt, boolean[] echo){
-    if(prompt.length==0){
-      // No need to prompt, just return an empty String array
-      return new String[0];
-    }
-    try{
-      startTimer();
-      
-      if(attemptCount==0&&password!=null&&prompt.length==1
-          &&prompt[0].trim().equalsIgnoreCase("password:")){ //$NON-NLS-1$
-        // Return the provided password the first time but always prompt on subsequent tries
-        attemptCount++;
-        return new String[] {password};
-      }
-      String[] result=authenticator.promptForKeyboradInteractive(location,
-          destination, name, instruction, prompt, echo);
-      if(result==null)
-        return null; // canceled
-      if(result.length==1&&prompt.length==1
-          &&prompt[0].trim().equalsIgnoreCase("password:")){ //$NON-NLS-1$
-        password=result[0];
-        passwordChanged=true;
-      }
-      attemptCount++;
-      return result;
-    }
-    catch(OperationCanceledException e){
-      return null;
-    }
-    finally{
-      endTimer();
-    }
-  }
-
-  /**
-   * Callback to indicate that a connection is about to be attempted
-   */
-  public void aboutToConnect(){
-    attemptCount=0;
-    passwordChanged=false;
-  }
-
-  /**
-   * Callback to indicate that a connection was made
-   */
-  public void connectionMade(){
-    attemptCount=0;
-    if(passwordChanged&&password!=null&&location!=null){
-      // We were prompted for and returned a password so record it with the location
-      location.setPassword(password);
-    }
-  }
-  
-  private synchronized void startTimer(){
-    prompting=true;
-    startTime=System.currentTimeMillis();
-  }
-
-  private synchronized void endTimer(){
-    prompting=false;
-    endTime=System.currentTimeMillis();
-  }
-  
-  public long getLastDuration(){
-    return Math.max(0, endTime-startTime);
-  }
-
-  public boolean hasPromptExceededTimeout(){
-    if(!isPrompting()){
-      return getLastDuration()>timeout;
-    }
-    return false;
-  }
-  
-  public boolean isPrompting(){
-    return prompting;
-  }
-
-  public synchronized int incReuse(){
-    return reuse++;
-  }
-  
-  String getUsername(){
-    return username;
-  }
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Utils.java b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Utils.java
deleted file mode 100644
index b073d69..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Utils.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.internal.core;
-
-import java.util.Hashtable;
-
-import org.eclipse.core.net.proxy.IProxyData;
-import org.eclipse.core.net.proxy.IProxyService;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-
-import com.jcraft.jsch.*;
-
-/**
- * 
- * @since 1.0
- */
-public class Utils{
-
-  public static String loadPrivateKeys(JSch jsch, String current_pkeys){
-    Preferences preferences=JSchCorePlugin.getPlugin().getPluginPreferences();
-    String ssh_home=preferences.getString(IConstants.KEY_SSH2HOME);
-    String pkeys=preferences.getString(IConstants.KEY_PRIVATEKEY);
-
-    if(ssh_home.length()==0)
-      ssh_home=PreferenceInitializer.SSH_HOME_DEFAULT;
-
-    java.io.File file;
-    String[] pkey=pkeys.split(","); //$NON-NLS-1$
-    String[] _pkey=current_pkeys.split(","); //$NON-NLS-1$
-    String result=""; //$NON-NLS-1$
-    for(int i=0; i<pkey.length; i++){
-      file=new java.io.File(pkey[i]);
-      if(!file.isAbsolute()){
-        file=new java.io.File(ssh_home, pkey[i]);
-      }
-      if(file.exists()){
-        boolean notyet=true;
-        for(int j=0; j<_pkey.length; j++){
-          if(pkey[i].equals(_pkey[j])){
-            notyet=false;
-            break;
-          }
-        }
-        try{
-          if(notyet)
-            jsch.addIdentity(file.getPath());
-          if(result.length()==0){
-            result=pkey[i];
-          }
-          else{
-            result+=(","+pkey[i]); //$NON-NLS-1$
-          }
-        }
-        catch(JSchException e){
-          JSchCorePlugin.log(IStatus.ERROR,
-              "An error occurred loading the SSH2 private keys", e); //$NON-NLS-1$
-        }
-      }
-    }
-    return result;
-  }
-
-  public static Session createSession(JSch jsch, String username,
-      String hostname, int port) throws JSchException{
-    if(port == -1)
-      port = IConstants.SSH_DEFAULT_PORT;
-    Session session=jsch.getSession(username, hostname, port);
-    setProxy(session);
-    Hashtable config=new Hashtable();
-    config.put("PreferredAuthentications", //$NON-NLS-1$ 
-        "gssapi-with-mic,publickey,password,keyboard-interactive"); //$NON-NLS-1$ 
-    session.setConfig(config);
-    return session;
-  }
-
-  public static void setProxy(Session session){
-    Proxy proxy=getProxyForHost(session.getHost(), IProxyData.SOCKS_PROXY_TYPE);
-    if(proxy==null)
-      proxy=getProxyForHost(session.getHost(), IProxyData. HTTPS_PROXY_TYPE);
-    if(proxy!=null)
-      session.setProxy(proxy);
-  }
-
-  private static int getPort(IProxyData data){
-    int port=data.getPort();
-    if(port==-1){
-      if(data.getType().equals(IProxyData.HTTP_PROXY_TYPE))
-        port=80;
-      else if(data.getType().equals(IProxyData.HTTPS_PROXY_TYPE))
-        port=443;
-      else if(data.getType().equals(IProxyData.SOCKS_PROXY_TYPE))
-        port=1080;
-    }
-    return port;
-  }
-
-  private static IProxyData getProxyData(String host, String type){
-    IProxyService proxyService=JSchCorePlugin.getPlugin().getProxyService();
-    if(proxyService==null)
-      return null;
-    IProxyData data=proxyService.getProxyDataForHost(host, type);
-    if(data==null||data.getHost()==null||getJSchProxyType(data)==null)
-      return null;
-    return data;
-  }
-
-  private static String getJSchProxyType(IProxyData data){
-    if(data.getType().equals(IProxyData.HTTPS_PROXY_TYPE))
-      return IConstants.PROXY_TYPE_HTTP;
-    if(data.getType().equals(IProxyData.SOCKS_PROXY_TYPE))
-      return IConstants.PROXY_TYPE_SOCKS5;
-    return null;
-  }
-
-  public static Proxy getProxyForHost(String host, String proxyType){
-    IProxyService proxyService=JSchCorePlugin.getPlugin().getProxyService();
-    if(proxyService==null)
-      return null;
-    boolean useProxy=proxyService.isProxiesEnabled();
-    if(!useProxy)
-      return null;
-    Proxy proxy=null;
-    IProxyData data=getProxyData(host, proxyType);
-    if(data==null)
-      return null;
-    String _type=getJSchProxyType(data);
-    if(_type==null)
-      return null;
-    String _host=data.getHost();
-    int _port=getPort(data);
-
-    boolean useAuth=data.isRequiresAuthentication();
-    String _user=""; //$NON-NLS-1$
-    String _pass=""; //$NON-NLS-1$
-
-    // Retrieve username and password from keyring.
-    if(useAuth){
-      _user=data.getUserId();
-      _pass=data.getPassword();
-    }
-
-    String proxyhost=_host+":"+_port; //$NON-NLS-1$
-    if(_type.equals(IConstants.PROXY_TYPE_HTTP)){
-      proxy=new ProxyHTTP(proxyhost);
-      if(useAuth){
-        ((ProxyHTTP)proxy).setUserPasswd(_user, _pass);
-      }
-    }
-    else if(_type.equals(IConstants.PROXY_TYPE_SOCKS5)){
-      proxy=new ProxySOCKS5(proxyhost);
-      if(useAuth){
-        ((ProxySOCKS5)proxy).setUserPasswd(_user, _pass);
-      }
-    }
-    return proxy;
-  }
-  
-  public static void migrateSSH2Preferences() {
-    Preferences preferences = JSchCorePlugin.getPlugin().getPluginPreferences();
-    if(!preferences.getBoolean(IConstants.PREF_HAS_MIGRATED_SSH2_PREFS)){
-      preferences.setValue(IConstants.PREF_HAS_MIGRATED_SSH2_PREFS, true);
-      migrateSSH2Preferences(new InstanceScope().getNode("")); //$NON-NLS-1$
-    }
-  }
-  
-  public static void migrateSSH2Preferences(org.osgi.service.prefs.Preferences node) {
-    org.osgi.service.prefs.Preferences jschPrefs=node.node(JSchCorePlugin.ID);
-    org.osgi.service.prefs.Preferences ssh2Prefs=node.node("org.eclipse.team.cvs.ssh2"); //$NON-NLS-1$
-    String oldHome = ssh2Prefs.get(IConstants.KEY_OLD_SSH2HOME, null);
-    String oldKey = ssh2Prefs.get(IConstants.KEY_OLD_PRIVATEKEY, null);
-    if (oldHome != null) {
-      jschPrefs.put(IConstants.KEY_SSH2HOME, oldHome);
-      ssh2Prefs.remove(IConstants.KEY_OLD_SSH2HOME);
-    }
-    if (oldKey != null) {
-      jschPrefs.put(IConstants.KEY_PRIVATEKEY, oldKey);
-      ssh2Prefs.remove(IConstants.KEY_OLD_PRIVATEKEY);
-    }
-  }
-
-}
diff --git a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/messages.properties b/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/messages.properties
deleted file mode 100644
index 800ad6d..0000000
--- a/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/messages.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Maik Schreiber - bug 102461
-#     Philippe Ombredanne - bug 84808
-###############################################################################
-JSchSession_5=SSH2 Message
-Util_timeout=A timeout occurred connecting to host {0}
-JSchAuthenticationException_detail=Authentication error: {0}
-JSchRepositoryLocation_locationForm=Location must have form 'user@host[:port]'
-JSchRepositoryLocation_invalidFormat=Invalid location format: {0}
-KnownRepositories_0=Error restoring location repositories
-JSchRepositoryLocation_73=Error clearing preferences for location {0}
-JSchRepositoryLocation_74=Error retrieving preferences for location {0}
-JSchRepositoryLocation_75=Error flushing preferences for location {0}
diff --git a/bundles/org.eclipse.jsch.ui/.classpath b/bundles/org.eclipse.jsch.ui/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.jsch.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.jsch.ui/.cvsignore b/bundles/org.eclipse.jsch.ui/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.jsch.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.jsch.ui/.project b/bundles/org.eclipse.jsch.ui/.project
deleted file mode 100644
index 85d1352..0000000
--- a/bundles/org.eclipse.jsch.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jsch.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.jsch.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.jsch.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 3b9cdbe..0000000
--- a/bundles/org.eclipse.jsch.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,324 +0,0 @@
-#Mon Feb 19 11:20:29 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=error
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,XXX
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
-org.eclipse.jdt.core.formatter.comment.format_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=2
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=80
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=2
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
diff --git a/bundles/org.eclipse.jsch.ui/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.jsch.ui/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 5fa0e28..0000000
--- a/bundles/org.eclipse.jsch.ui/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Thu Dec 07 16:35:54 JST 2006
-eclipse.preferences.version=1
-formatter_profile=_eclipse-java-code-formatter-20060522
-formatter_settings_version=10
diff --git a/bundles/org.eclipse.jsch.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.jsch.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 67c594d..0000000
--- a/bundles/org.eclipse.jsch.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.jsch.ui;singleton:=true
-Bundle-Version: 1.1.100.qualifier
-Bundle-Activator: org.eclipse.jsch.internal.ui.JSchUIPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.jsch.core,
- com.jcraft.jsch
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Export-Package: org.eclipse.jsch.internal.ui;x-internal:=true,
- org.eclipse.jsch.internal.ui.preference;x-internal:=true,
- org.eclipse.jsch.ui
diff --git a/bundles/org.eclipse.jsch.ui/about.html b/bundles/org.eclipse.jsch.ui/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.jsch.ui/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.jsch.ui/build.properties b/bundles/org.eclipse.jsch.ui/build.properties
deleted file mode 100644
index 4f5c84b..0000000
--- a/bundles/org.eclipse.jsch.ui/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               plugin.properties,\
-               about.html,\
-               icons/
-src.includes = about.html
diff --git a/bundles/org.eclipse.jsch.ui/icons/full/wizban/keylock.gif b/bundles/org.eclipse.jsch.ui/icons/full/wizban/keylock.gif
deleted file mode 100644
index 2efb6ff..0000000
--- a/bundles/org.eclipse.jsch.ui/icons/full/wizban/keylock.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.jsch.ui/plugin.properties b/bundles/org.eclipse.jsch.ui/plugin.properties
deleted file mode 100644
index 17ecc02..0000000
--- a/bundles/org.eclipse.jsch.ui/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     #	  Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
-#     IBM Corporation - implementation
-###############################################################################
-providerName=Eclipse.org
-pluginName=JSch UI
-ssh2PreferencePage.name=SSH2
-PreferenceKeywords.SSH=SSH network connection
diff --git a/bundles/org.eclipse.jsch.ui/plugin.xml b/bundles/org.eclipse.jsch.ui/plugin.xml
deleted file mode 100644
index 7297d8a..0000000
--- a/bundles/org.eclipse.jsch.ui/plugin.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
-   <extension
-   		point="org.eclipse.ui.keywords">
-    <keyword
-            label="%PreferenceKeywords.SSH"
-            id="org.eclipse.jsch.ui.ssh2"/>
-   </extension>  
-   
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            class="org.eclipse.jsch.internal.ui.preference.PreferencePage"
-            id="org.eclipse.jsch.ui.SSHPreferences"
-            name="%ssh2PreferencePage.name"
-            category="org.eclipse.ui.net.NetPreferences">
-      <keywordReference id="org.eclipse.jsch.ui.ssh2"/>
-      </page>
-   </extension>
-   
-   <extension
-         point="org.eclipse.jsch.core.authenticator">
-      <authenticator>
-         <run
-               class="org.eclipse.jsch.internal.ui.authenticator.WorkbenchUserAuthenticator">
-         </run>
-      </authenticator>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/IHelpContextIds.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/IHelpContextIds.java
deleted file mode 100644
index 170faaf..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/IHelpContextIds.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui;
-
-public interface IHelpContextIds{
-
-  public final String USER_VALIDATION_DIALOG="org.eclipse.team.cvs.ui.user_validation_dialog_contex"; //$NON-NLS-1$
-  public final String KEYBOARD_INTERACTIVE_DIALOG="org.eclipse.team.cvs.ui.keyboard_interactive_dialog_context"; //$NON-NLS-1$
-
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/IUIConstants.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/IUIConstants.java
deleted file mode 100644
index 4a294df..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/IUIConstants.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation.
- *     Atsuhiko Yamanaka, JCraft,Inc. - Bug 170883
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui;
-
-public interface IUIConstants{
-  public final String PREFIX=JSchUIPlugin.ID+"."; //$NON-NLS-1$
-
-  // image path
-  public final String ICON_PATH="$nl$/icons/full/"; //$NON-NLS-1$
-
-  // preferences
-  public final String PREF_FIRST_STARTUP="pref_first_startup"; //$NON-NLS-1$
- 
-  // images
-  public final String IMG_KEY_LOCK="wizban/keylock.gif"; //$NON-NLS-1$
-  
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/JSchUIPlugin.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/JSchUIPlugin.java
deleted file mode 100644
index 0b3b643..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/JSchUIPlugin.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui;
-
-import java.net.URL;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jsch.core.IJSchService;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class JSchUIPlugin extends AbstractUIPlugin{
-  public static final String ID="org.eclipse.jsch.ui"; //$NON-NLS-1$
-  public static final String DECORATOR_ID="org.eclipse.jsch.ui.decorator"; //$NON-NLS-1$
-
-  private static Hashtable imageDescriptors=new Hashtable(20);
-  /**
-   * The singleton plug-in instance
-   */
-  private static JSchUIPlugin plugin;
-  private ServiceTracker tracker;
-
-  public JSchUIPlugin(){
-    super();
-    plugin=this;
-  }
-
-  /**
-   * Returns the singleton plug-in instance.
-   * 
-   * @return the plugin instance
-   */
-  public static JSchUIPlugin getPlugin(){
-    return plugin;
-  }
-
-  /**
-   * Returns the image descriptor for the given image ID.
-   * Returns null if there is no such image.
-   * @param id the id of the image descriptor
-   * @return the image descriptor
-   */
-  public static ImageDescriptor getImageDescriptor(String id){
-    return (ImageDescriptor)imageDescriptors.get(id);
-  }
-
-  /**
-   * Creates an image and places it in the image registry.
-   */
-  protected void createImageDescriptor(String id){
-    URL url=FileLocator.find(JSchUIPlugin.getPlugin().getBundle(), new Path(
-        IUIConstants.ICON_PATH+id), null);
-    ImageDescriptor desc=ImageDescriptor.createFromURL(url);
-    imageDescriptors.put(id, desc);
-  }
-
-  /**
-   * Convenience method to get an image descriptor for an extension
-   * 
-   * @param extension  the extension declaring the image
-   * @param subdirectoryAndFilename  the path to the image
-   * @return the image
-   */
-  public static ImageDescriptor getImageDescriptorFromExtension(IExtension extension, String subdirectoryAndFilename) {
-    URL fullPathString = FileLocator.find(Platform.getBundle(extension.getNamespaceIdentifier()), new Path(subdirectoryAndFilename), null);
-    return ImageDescriptor.createFromURL(fullPathString);
-  }
-
-  /**
-   * Initializes the table of images used in this plugin.
-   */
-  private void initializeImages() {
-    createImageDescriptor(IUIConstants.IMG_KEY_LOCK);
-  }
-  
-  /**
-   * @see Plugin#start(BundleContext)
-   */
-  public void start(BundleContext context) throws Exception {
-    super.start(context);
-    
-    initializeImages();
-
-    IPreferenceStore store = getPreferenceStore();
-    if (store.getBoolean(IUIConstants.PREF_FIRST_STARTUP)) {
-      store.setValue(IUIConstants.PREF_FIRST_STARTUP, false);
-    }
-
-    tracker = new ServiceTracker(getBundle().getBundleContext(),IJSchService.class.getName(), null);
-    tracker.open();
-  }
-  
-  public void stop(BundleContext context) throws Exception{
-    super.stop(context);
-    tracker.close();
-  }
-  
-  public IJSchService getJSchService() {
-    return (IJSchService)tracker.getService();
-  }
-
-  public URL getImageUrl(String relative){
-    return FileLocator.find(Platform.getBundle(ID), new Path(IUIConstants.ICON_PATH + relative), null);
-  }
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/KeyboardInteractiveDialog.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/KeyboardInteractiveDialog.java
deleted file mode 100644
index 9c0755d..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/KeyboardInteractiveDialog.java
+++ /dev/null
@@ -1,312 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui;
-
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * A dialog for keyboard-interactive authentication for the ssh2 connection.
- */
-public class KeyboardInteractiveDialog extends TrayDialog {
-  // widgets
-  private Text[] texts;
-  protected Image keyLockImage;
-  protected Button allowCachingButton;
-  protected Text usernameField;
-
-  protected String userName;
-  protected String domain;
-  protected String destination;
-  protected String name;
-  protected String instruction;
-  protected String lang;
-  protected String[] prompt;
-  protected boolean[] echo;
-  private String message;
-  private String[] result;
-  protected boolean allowCaching=false;
-  
-  private boolean isPasswordAuth=false;
-
-
-  /**
-   * Creates a new KeyboardInteractiveDialog.
-   *
-   * @param parentShell the parent shell
-   * @param location 
-   * @param destination 
-   * @param name the name
-   * @param userName 
-   * @param instruction the instruction
-   * @param prompt the titles for text fields
-   * @param echo '*' should be used or not
-   */
-  public KeyboardInteractiveDialog(Shell parentShell,
-				   String location,
-				   String destination,
-				   String name,
-				   String userName, 
-				   String instruction,
-				   String[] prompt,
-				   boolean[] echo){
-    super(parentShell);
-    this.domain=location;
-    this.destination=destination;
-    this.name=name;
-    this.userName=userName;
-    this.instruction=instruction;
-    this.prompt=prompt;
-    this.echo=echo;
-    if (name!=null && name.length()>0) {
-    	this.message=NLS.bind(Messages.KeyboardInteractiveDialog_0, new String[] { destination, name });  
-    } else {
-    	this.message=NLS.bind(Messages.KeyboardInteractiveDialog_1, destination); 
-    }
- 
-    if(KeyboardInteractiveDialog.isPasswordAuth(prompt)){
-        isPasswordAuth=true;
-      }
-  }
-  /**
-   * @see Window#configureShell
-   */
-  protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		if (isPasswordAuth) {
-			newShell.setText(Messages.KeyboardInteractiveDialog_2);
-		} else {
-			newShell.setText(message);
-		}
-
-		// set F1 help
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell,
-				IHelpContextIds.KEYBOARD_INTERACTIVE_DIALOG);
-	}
-  /**
-	 * @see Window#create
-	 */
-  public void create() {
-		super.create();
-
-		if (isPasswordAuth && usernameField != null && userName != null) {
-			usernameField.setText(userName);
-			usernameField.setEditable(false);
-		}
-
-		if (texts.length > 0) {
-			texts[0].setFocus();
-		}
-	}
-  /**
-	 * @see Dialog#createDialogArea
-	 */
-  protected Control createDialogArea(Composite parent) {
-		Composite top = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-
-		top.setLayout(layout);
-		top.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Composite imageComposite = new Composite(top, SWT.NONE);
-		layout = new GridLayout();
-		imageComposite.setLayout(layout);
-		imageComposite.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-
-		Composite main = new Composite(top, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		main.setLayout(layout);
-		main.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Label imageLabel = new Label(imageComposite, SWT.NONE);
-		keyLockImage = ImageDescriptor.createFromURL(JSchUIPlugin.getPlugin().getImageUrl(IUIConstants.IMG_KEY_LOCK)).createImage();
-		imageLabel.setImage(keyLockImage);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL
-				| GridData.GRAB_HORIZONTAL);
-		imageLabel.setLayoutData(data);
-
-		if (message != null) {
-			Label messageLabel = new Label(main, SWT.WRAP);
-			messageLabel.setText(message);
-			data = new GridData(GridData.FILL_HORIZONTAL
-					| GridData.GRAB_HORIZONTAL);
-			data.horizontalSpan = 3;
-			data.widthHint = 300;
-			messageLabel.setLayoutData(data);
-		}
-		
-		if (domain != null) {
-			Label d = new Label(main, SWT.WRAP);
-			d.setText(Messages.KeyboardInteractiveDialog_3);
-			data = new GridData();
-			d.setLayoutData(data);
-			Label label = new Label(main, SWT.WRAP);
-
-			label.setText(domain);
-
-			data = new GridData(GridData.FILL_HORIZONTAL
-					| GridData.GRAB_HORIZONTAL);
-			data.horizontalSpan = 2;
-			data.widthHint = 300;
-			label.setLayoutData(data);
-		}
-		
-		if (instruction != null && instruction.length() > 0) {
-			Label label = new Label(main, SWT.WRAP);
-			label.setText(instruction);
-			data = new GridData(GridData.FILL_HORIZONTAL
-					| GridData.GRAB_HORIZONTAL);
-			data.horizontalSpan = 3;
-			data.widthHint = 300;
-			label.setLayoutData(data);
-		}
-		
-		if (isPasswordAuth) {
-			createUsernameFields(main);
-		}
-
-		createPasswordFields(main);
-
-		if (isPasswordAuth & domain != null) {
-			allowCachingButton = new Button(main, SWT.CHECK);
-			allowCachingButton.setText(Messages.KeyboardInteractiveDialog_4);
-			data = new GridData(GridData.FILL_HORIZONTAL
-					| GridData.GRAB_HORIZONTAL);
-			data.horizontalSpan = 3;
-			allowCachingButton.setLayoutData(data);
-			allowCachingButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					allowCaching = allowCachingButton.getSelection();
-				}
-			});
-		}
-
-		Dialog.applyDialogFont(parent);
-		return main;
-	}
-  
-  /**
-   * Creates the three widgets that represent the user name entry area.
-   * 
-   * @param parent  the parent of the widgets
-   */
-  protected void createUsernameFields(Composite parent){
-    new Label(parent, SWT.NONE).setText(Messages.KeyboardInteractiveDialog_6);
-
-    usernameField=new Text(parent, SWT.BORDER);
-    GridData data=new GridData(GridData.FILL_HORIZONTAL);
-    data.horizontalSpan=2;
-    data.widthHint=convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-    usernameField.setLayoutData(data);
-  }
-  
-  /**
-	 * Creates the widgets that represent the entry area.
-	 * 
-	 * @param parent
-	 *            the parent of the widgets
-	 */
-  protected void createPasswordFields(Composite parent) {
-	    texts=new Text[prompt.length];
-
-	    for(int i=0; i<prompt.length; i++){
-	      new Label(parent, SWT.NONE).setText(prompt[i]);
-	      texts[i]=new Text(parent, SWT.BORDER|SWT.PASSWORD); 
-	      GridData data=new GridData(GridData.FILL_HORIZONTAL);
-	      data.horizontalSpan=2;
-	      data.widthHint=convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-	      texts[i].setLayoutData(data);
-	      if(!echo[i]){
-	        texts[i].setEchoChar('*');
-	      }     
-	    }
-  }
-  /**                                                                                           
-   * Returns the entered values, or null                                          
-   * if the user canceled.                                                                      
-   *                                                                                            
-   * @return the entered values
-   */
-  public String[] getResult() {
-    return result;
-  }
-  
-  /**
-   * Returns <code>true</code> if the save password checkbox was selected.
-   * @return <code>true</code> if the save password checkbox was selected and <code>false</code>
-   * otherwise.
-   */
-  public boolean getAllowCaching(){
-    return allowCaching;
-  }
-  
-  /**                                                                                           
-   * Notifies that the ok button of this dialog has been pressed.                               
-   * <p>                                                                                        
-   * The default implementation of this framework method sets                                   
-   * this dialog's return code to <code>Window.OK</code>                                        
-   * and closes the dialog. Subclasses may override.                                            
-   * </p>                                                                                       
-   */
-  protected void okPressed() {
-    result=new String[prompt.length];
-    for(int i=0; i<texts.length; i++){
-      result[i]=texts[i].getText();
-    }
-    super.okPressed();
-  }
-  /**                                                                                           
-   * Notifies that the cancel button of this dialog has been pressed.                               
-   * <p>                                                                                        
-   * The default implementation of this framework method sets                                   
-   * this dialog's return code to <code>Window.CANCEL</code>                                        
-   * and closes the dialog. Subclasses may override.                                            
-   * </p>                                                                                       
-   */
-  protected void cancelPressed() {
-    result=null;
-    super.cancelPressed();
-  }
-    
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.dialogs.Dialog#close()
-   */
-  public boolean close(){
-    if(keyLockImage!=null){
-      keyLockImage.dispose();
-    }
-    return super.close();
-  }
-  
-  /**
-   * Guesses if this dialog is used for password authentication.
-   * @param prompt prompts for keyboard-interactive authentication method.
-   * @return <code>true</code> if this dialog is used for password authentication.
-   */
-  static boolean isPasswordAuth(String[] prompt) {
-		return prompt != null && prompt.length == 1
-				&& prompt[0].trim().equalsIgnoreCase("password:");  //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/Messages.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/Messages.java
deleted file mode 100644
index 06f6b5e..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/Messages.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation.
- *     Atsuhiko Yamanaka, JCraft,Inc. - Bug 170883
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS{
-  private static final String BUNDLE_NAME="org.eclipse.jsch.internal.ui.messages";//$NON-NLS-1$
-
-  static{
-    // load message values from bundle file
-    NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-  }
-  
-  public static String CVSSSH2ServerConnection_open;
-  public static String CVSSSH2PreferencePage_18;
-  public static String CVSSSH2PreferencePage_19;
-  public static String CVSSSH2PreferencePage_20;
-  public static String CVSSSH2PreferencePage_21;
-  public static String CVSSSH2PreferencePage_23;
-  public static String CVSSSH2PreferencePage_24;
-  public static String CVSSSH2PreferencePage_25;
-  public static String CVSSSH2PreferencePage_26;
-  public static String CVSSSH2PreferencePage_27;
-  public static String CVSSSH2PreferencePage_30;
-  public static String CVSSSH2PreferencePage_31;
-  public static String CVSSSH2PreferencePage_32;
-  public static String CVSSSH2PreferencePage_33;
-  public static String CVSSSH2PreferencePage_34;
-  public static String CVSSSH2PreferencePage_35;
-  public static String CVSSSH2PreferencePage_36;
-  public static String CVSSSH2PreferencePage_39;
-  public static String CVSSSH2PreferencePage_41;
-  public static String CVSSSH2PreferencePage_42;
-  public static String CVSSSH2PreferencePage_43;
-  public static String CVSSSH2PreferencePage_44;
-  public static String CVSSSH2PreferencePage_45;
-  public static String CVSSSH2PreferencePage_47;
-  public static String CVSSSH2PreferencePage_48;
-  public static String CVSSSH2PreferencePage_49;
-  public static String CVSSSH2PreferencePage_50;
-  public static String CVSSSH2PreferencePage_53;
-  public static String CVSSSH2PreferencePage_55;
-  public static String CVSSSH2PreferencePage_57;
-  public static String CVSSSH2PreferencePage_59;
-  public static String CVSSSH2PreferencePage_99;
-  public static String CVSSSH2PreferencePage_100;
-  public static String CVSSSH2PreferencePage_104;
-  public static String CVSSSH2PreferencePage_105;
-  public static String CVSSSH2PreferencePage_106;
-  public static String CVSSSH2PreferencePage_107;
-  public static String CVSSSH2PreferencePage_108;
-  public static String CVSSSH2PreferencePage_109;
-  public static String CVSSSH2PreferencePage_110;
-  public static String CVSSSH2PreferencePage_111;
-  public static String CVSSSH2ServerConnection_3;
-  public static String CVSSSH2ServerConnection_0;
-  public static String CVSSSH2ServerConnection_1;
-  public static String CVSSSH2PreferencePage_information;
-  public static String CVSSSH2PreferencePage_error;
-  public static String CVSSSH2PreferencePage_confirmation;
-  public static String CVSSSH2PreferencePage_question;
-  public static String CVSSSH2PreferencePage_125;
-  public static String CVSSSH2PreferencePage_126;
-  public static String CVSSSH2PreferencePage_127;
-  public static String CVSSSH2PreferencePage_128;
-  public static String CVSSSH2PreferencePage_129;
-  public static String CVSSSH2PreferencePage_130;
-  public static String CVSSSH2PreferencePage_131;
-  public static String CVSSSH2PreferencePage_132;
-  public static String CVSSSH2PreferencePage_133;
-  public static String CVSSSH2PreferencePage_134;
-  public static String CVSSSH2PreferencePage_135;
-  public static String CVSSSH2PreferencePage_136;
-  public static String CVSSSH2PreferencePage_138;
-  public static String CVSSSH2PreferencePage_139;
-  public static String KeyboardInteractiveDialog_0;
-  public static String KeyboardInteractiveDialog_1;
-  public static String KeyboardInteractiveDialog_2;
-  public static String KeyboardInteractiveDialog_3;
-  public static String KeyboardInteractiveDialog_4;
-  public static String KeyboardInteractiveDialog_6;
-  public static String KeyboradInteractiveDialog_message;
-  public static String KeyboardInteractiveDialog_labelRepository;
-
-  public static String PreferencePage_0;
-  public static String PreferencePage_1;
-  public static String UserInfoPrompter_0;
-  public static String UserInfoPrompter_1;
-  public static String UserValidationDialog_0;
-  public static String UserValidationDialog_1;
-  public static String UserValidationDialog_2;
-  public static String UserValidationDialog_4;
-  public static String UserValidationDialog_5;
-  public static String UserValidationDialog_6;
-
-  public static String UserValidationDialog_required;
-  public static String UserValidationDialog_labelUser;
-  public static String UserValidationDialog_labelPassword;
-  public static String UserValidationDialog_password;
-  public static String UserValidationDialog_user;
-
-  
-  public static String WorkbenchUserAuthenticator_cancelled;
-  public static String WorkbenchUserAuthenticator_1;
-  public static String WorkbenchUserAuthenticator_2;
-  public static String WorkbenchUserAuthenticator_The_operation_was_canceled_by_the_user_1;
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/UserValidationDialog.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/UserValidationDialog.java
deleted file mode 100644
index d3f161a..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/UserValidationDialog.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui;
-
-
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * A dialog for prompting for a user name and password
- */
-public class UserValidationDialog extends TrayDialog {
-	// widgets
-	protected Text usernameField;
-	protected Text passwordField;
-	protected Button allowCachingButton;
-
-	protected String domain;
-	protected String defaultUsername;
-	protected String password = null;
-	protected boolean allowCaching = false;
-	protected Image keyLockImage;
-	
-	// whether or not the user name can be changed
-	protected boolean isUsernameMutable = true;
-	protected String username = null;
-	protected String message = null;
-
-	/**
-	 * Creates a new UserValidationDialog.
-	 * 
-	 * @param parentShell  the parent shell
-	 * @param location  the location
-	 * @param defaultName  the default user name
-	 * @param message  a message to display to the user
-	 */
-	public UserValidationDialog(Shell parentShell, String location, String defaultName, String message) {
-		super(parentShell);
-        setShellStyle(getShellStyle() | SWT.RESIZE);
-		this.defaultUsername = defaultName;
-		this.domain = location;
-		this.message = message;
-	}
-	/**
-	 * @see Window#configureShell
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(Messages.UserValidationDialog_0); 
-		// set F1 help
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell, IHelpContextIds.USER_VALIDATION_DIALOG);	
-	}
-	/**
-	 * @see Window#create
-	 */
-	public void create() {
-		super.create();
-		// add some default values
-		usernameField.setText(defaultUsername);
-	
-		if (isUsernameMutable) {
-			// give focus to user name field
-			usernameField.selectAll();
-			usernameField.setFocus();
-		} else {
-			usernameField.setEditable(false);
-			passwordField.setFocus();
-		}
-	}
-	
-	/**
-	 * @see Dialog#createDialogArea
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite top = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		
-		top.setLayout(layout);
-		top.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	
-		Composite imageComposite = new Composite(top, SWT.NONE);
-		layout = new GridLayout();
-		imageComposite.setLayout(layout);
-		imageComposite.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-
-		Composite main = new Composite(top, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		main.setLayout(layout);
-		main.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		Label imageLabel = new Label(imageComposite, SWT.NONE);
-		keyLockImage = ImageDescriptor.createFromURL(JSchUIPlugin.getPlugin().getImageUrl(IUIConstants.IMG_KEY_LOCK)).createImage();
-		imageLabel.setImage(keyLockImage);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-		imageLabel.setLayoutData(data);
-		
-		if (message != null) {
-			Label messageLabel = new Label(main, SWT.WRAP);
-			messageLabel.setText(message);
-			data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-			data.horizontalSpan = 3;
-			data.widthHint = 300;
-			messageLabel.setLayoutData(data);
-		}
-		if (domain != null) {
-			Label d = new Label(main, SWT.WRAP);
-			d.setText(Messages.UserValidationDialog_1); 
-			data = new GridData();
-			d.setLayoutData(data);
-			Label label = new Label(main, SWT.WRAP);
-			label.setText(domain); 
-			data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-			data.horizontalSpan = 2;
-			data.widthHint = 300;
-			label.setLayoutData(data);
-		}
-		createUsernameFields(main);
-		createPasswordFields(main);
-		
-		if(domain != null) {
-			allowCachingButton = new Button(main, SWT.CHECK);
-			allowCachingButton.setText(Messages.UserValidationDialog_2); 
-			data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-			data.horizontalSpan = 3;
-			allowCachingButton.setLayoutData(data);
-			allowCachingButton.addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					allowCaching = allowCachingButton.getSelection();
-				}
-			});
-		}
-		
-        Dialog.applyDialogFont(parent);
-        
-		return main;
-	}
-	
-	/**
-	 * Creates the three widgets that represent the password entry area.
-	 * 
-	 * @param parent  the parent of the widgets
-	 */
-	protected void createPasswordFields(Composite parent) {
-		new Label(parent, SWT.NONE).setText(Messages.UserValidationDialog_4); 
-		
-		passwordField = new Text(parent, SWT.BORDER | SWT.PASSWORD);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-		passwordField.setLayoutData(data);
-	}
-	/**
-	 * Creates the three widgets that represent the user name entry area.
-	 * 
-	 * @param parent  the parent of the widgets
-	 */
-	protected void createUsernameFields(Composite parent) {
-		new Label(parent, SWT.NONE).setText(Messages.UserValidationDialog_5); 
-		
-		usernameField = new Text(parent, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-		usernameField.setLayoutData(data);
-	}
-	
-	/**
-	 * Returns the password entered by the user, or null
-	 * if the user canceled.
-	 * 
-	 * @return the entered password
-	 */
-	public String getPassword() {
-		return password;
-	}
-	
-	/**
-	 * Returns the user name entered by the user, or null
-	 * if the user canceled.
-	 * 
-	 * @return the entered user name
-	 */
-	public String getUsername() {
-		return username;
-	}
-	
-	/**
-	 * Returns <code>true</code> if the save password checkbox was selected.
-	 * @return <code>true</code> if the save password checkbox was selected and <code>false</code>
-	 * otherwise.
-	 */
-	public boolean getAllowCaching() {
-		return allowCaching;
-	}
-	
-	/**
-	 * Notifies that the ok button of this dialog has been pressed.
-	 * <p>
-	 * The default implementation of this framework method sets
-	 * this dialog's return code to <code>Window.OK</code>
-	 * and closes the dialog. Subclasses may override.
-	 * </p>
-	 */
-	protected void okPressed() {
-		password = passwordField.getText();
-		username = usernameField.getText();
-	
-		super.okPressed();
-	}
-	
-	protected void cancelPressed(){
-	  password = null;
-	  username = null;
-	  super.cancelPressed();
-	}
-	
-	/**
-	 * Sets whether or not the user name field should be mutable.
-	 * This method must be called before create(), otherwise it
-	 * will be ignored.
-	 * 
-	 * @param value  whether the user name is mutable
-	 */
-	public void setUsernameMutable(boolean value) {
-		isUsernameMutable = value;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#close()
-	 */
-	public boolean close() {
-		if(keyLockImage != null) {
-			keyLockImage.dispose();
-		}
-		return super.close();
-	}
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/IHelpContextIds.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/IHelpContextIds.java
deleted file mode 100644
index d9ef67d..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/IHelpContextIds.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Atsuhiko Yamanaka, JCraft,Inc. - copying this class from o.e.team.cvs.ui plug-in.
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui.authenticator;
-
-import org.eclipse.jsch.internal.ui.JSchUIPlugin;
-
-/**
- * Here's how to reference the help context in code:
- * 
- * WorkbenchHelp.setHelp(actionOrControl, IHelpContextIds.NAME_DEFIED_BELOW);
- * @since 1.1
- */
-public interface IHelpContextIds{
-
-  public static final String PREFIX=JSchUIPlugin.ID+"."; //$NON-NLS-1$
-
-  public static final String KEYBOARD_INTERACTIVE_DIALOG=PREFIX
-  +"keyboard_interactive_dialog_context"; //$NON-NLS-1$
-  public static final String USER_VALIDATION_DIALOG=PREFIX
-  +"user_validation_dialog_context"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/KeyboardInteractiveDialog.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/KeyboardInteractiveDialog.java
deleted file mode 100644
index 19e7f54..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/KeyboardInteractiveDialog.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *     Atsuhiko Yamanaka, JCraft,Inc. - copying this class from o.e.team.cvs.ui plug-in.
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui.authenticator;
-
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-
-import org.eclipse.jsch.internal.ui.IUIConstants;
-import org.eclipse.jsch.internal.ui.JSchUIPlugin;
-import org.eclipse.jsch.internal.ui.Messages;
-
-/**
- * A dialog for keyboard-interactive authentication for the ssh2 connection.
- * @since 1.1
- */
-public class KeyboardInteractiveDialog extends TrayDialog{
-  // whether or not the user name can be changed
-  protected boolean isUsernameMutable=false;
-  
-  // widgets
-  private Text[] texts;
-  protected Image keyLockImage;
-  protected Button allowCachingButton;
-  protected Text usernameField;
-  
-  protected String defaultUsername;
-  protected String comment;
-  protected String destination;
-  protected String name;
-  protected String instruction;
-  protected String lang;
-  protected String[] prompt;
-  protected boolean[] echo;
-  private String message;
-  private String[] result;
-  protected boolean allowCaching=false;
-  
-  private boolean isPasswordAuth=false;
-
-  /**
-   * Creates a new KeyboardInteractiveDialog.
-   *
-   * @param parentShell the parent shell
-   * @param comment the comment
-   * @param destination the location
-   * @param name the name
-   * @param userName user name
-   * @param instruction the instruction
-   * @param prompt the titles for text-fields
-   * @param echo '*' should be used or not
-   */
-  public KeyboardInteractiveDialog(Shell parentShell, String comment,
-      String destination, String name, String userName, String instruction, String[] prompt,
-      boolean[] echo){
-    super(parentShell);
-    setShellStyle(getShellStyle()|SWT.RESIZE);
-    this.comment=comment;
-    this.destination=destination;
-    this.name=name;
-    this.defaultUsername=userName;
-    this.instruction=instruction;
-    this.prompt=prompt;
-    this.echo=echo;
-    this.message=NLS.bind(Messages.KeyboradInteractiveDialog_message,
-        new String[] {destination
-            +(name!=null&&name.length()>0 ? ": "+name : "")}); //NON-NLS-1$ //$NON-NLS-1$ //$NON-NLS-2$ 
- 
-    if(prompt!=null && prompt.length==1 && prompt[0].trim().equalsIgnoreCase("password:")){ //$NON-NLS-1$
-      isPasswordAuth=true;
-    }
-  
-  }
-
-  /**
-   * @see Window#configureShell
-   */
-  protected void configureShell(Shell newShell){
-    super.configureShell(newShell);
-    if(isPasswordAuth){
-      newShell.setText(Messages.UserValidationDialog_required);
-    }
-    else{
-      newShell.setText(message);
-    }
-    // set F1 help
-    PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell,
-        IHelpContextIds.KEYBOARD_INTERACTIVE_DIALOG);
-  }
-
-  /**                                                                                           
-   * @see Window#create                                                                         
-   */
-  public void create(){
-    super.create();
-
-    if(isPasswordAuth&&usernameField!=null){
-      usernameField.setText(defaultUsername);
-      usernameField.setEditable(false);
-    }
-
-    if(texts.length>0){
-      texts[0].setFocus();
-    }
-  }
-
-  /**                                                                                           
-   * @see Dialog#createDialogArea                                                               
-   */
-  protected Control createDialogArea(Composite parent){
-    Composite top=new Composite(parent, SWT.NONE);
-    GridLayout layout=new GridLayout();
-    layout.numColumns=2;
-
-    top.setLayout(layout);
-    top.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-    
-    Composite imageComposite=new Composite(top, SWT.NONE);
-    layout=new GridLayout();
-    imageComposite.setLayout(layout);
-    imageComposite.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-    
-    Composite main=new Composite(top, SWT.NONE);
-    layout=new GridLayout();
-    layout.numColumns=3;
-    main.setLayout(layout);
-    main.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-    
-    Label imageLabel=new Label(imageComposite, SWT.NONE);
-    keyLockImage=JSchUIPlugin.getImageDescriptor(IUIConstants.IMG_KEY_LOCK)
-        .createImage();
-    imageLabel.setImage(keyLockImage);
-    GridData data=new GridData(GridData.FILL_HORIZONTAL
-        |GridData.GRAB_HORIZONTAL);
-    imageLabel.setLayoutData(data);
-
-    if(message!=null){
-      Label messageLabel=new Label(main, SWT.WRAP);
-      messageLabel.setText(message);
-      data=new GridData(GridData.FILL_HORIZONTAL|GridData.GRAB_HORIZONTAL);
-      data.horizontalSpan=3;
-      data.widthHint=400;
-      messageLabel.setLayoutData(data);
-    }
-    if(comment!=null){
-      Label label=new Label(main, SWT.WRAP);
-      if(isUsernameMutable){
-        label.setText(NLS.bind(Messages.UserValidationDialog_labelUser,
-            new String[] {comment}));
-      }
-      else{
-        label.setText(NLS.bind(Messages.UserValidationDialog_labelPassword,
-            (new Object[] {defaultUsername, comment})));
-      }
-      data=new GridData(GridData.FILL_HORIZONTAL|GridData.GRAB_HORIZONTAL);
-      data.horizontalSpan=3;
-      data.widthHint=400;
-      label.setLayoutData(data);
-    }
-    if(instruction!=null&&instruction.length()>0){
-      Label label=new Label(main, SWT.WRAP);
-      label.setText(instruction);
-      data=new GridData(GridData.FILL_HORIZONTAL|GridData.GRAB_HORIZONTAL);
-      data.horizontalSpan=3;
-      data.widthHint=400;
-      label.setLayoutData(data);
-    }
-    
-    if(isPasswordAuth){
-      createUsernameFields(main);
-    }
-    
-    createPasswordFields(main);
-    
-    if(isPasswordAuth){
-    allowCachingButton=new Button(main, SWT.CHECK);
-    allowCachingButton.setText(Messages.UserValidationDialog_6);
-    data=new GridData(GridData.FILL_HORIZONTAL|GridData.GRAB_HORIZONTAL);
-    data.horizontalSpan=3;
-    allowCachingButton.setLayoutData(data);
-    allowCachingButton.addSelectionListener(new SelectionAdapter(){
-      public void widgetSelected(SelectionEvent e){
-        allowCaching=allowCachingButton.getSelection();
-      }
-    });
-    }
-    
-    Dialog.applyDialogFont(parent);
-    
-    return main;
-  }
-
-  /**
-   * Creates the three widgets that represent the user name entry area.
-   * 
-   * @param parent  the parent of the widgets
-   */
-  protected void createUsernameFields(Composite parent){
-    new Label(parent, SWT.NONE).setText(Messages.UserValidationDialog_user);
-
-    usernameField=new Text(parent, SWT.BORDER);
-    GridData data=new GridData(GridData.FILL_HORIZONTAL);
-    data.horizontalSpan=2;
-    data.widthHint=convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-    usernameField.setLayoutData(data);
-  }
-  
-  /**                                                                                           
-   * Creates the widgets that represent the entry area.                          
-   *                                                                                            
-   * @param parent  the parent of the widgets                                                   
-   */
-  protected void createPasswordFields(Composite parent){
-    texts=new Text[prompt.length];
-
-    for(int i=0; i<prompt.length; i++){
-      new Label(parent, SWT.NONE).setText(prompt[i]);
-      int flag=SWT.BORDER;
-      if(!echo[i]){
-        flag|=SWT.PASSWORD;
-      }
-      texts[i]=new Text(parent, flag); 
-      GridData data=new GridData(GridData.FILL_HORIZONTAL);
-      data.horizontalSpan=2;
-      data.widthHint=convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-      texts[i].setLayoutData(data);
-      if(!echo[i]){
-        texts[i].setEchoChar('*');
-      }     
-    }
-  }
-
-  /**                                                                                           
-   * Returns the entered values, or null                                          
-   * if the user canceled.                                                                      
-   *                                                                                            
-   * @return the entered values
-   */
-  public String[] getResult(){
-    return result;
-  }
-
-  /**
-   * Returns <code>true</code> if the save password checkbox was selected.
-   * @return <code>true</code> if the save password checkbox was selected and <code>false</code>
-   * otherwise.
-   */
-  public boolean getAllowCaching(){
-    return allowCaching;
-  }
-  
-  /**                                                                                           
-   * Notifies that the ok button of this dialog has been pressed.                               
-   * <p>                                                                                        
-   * The default implementation of this framework method sets                                   
-   * this dialog's return code to <code>Window.OK</code>                                        
-   * and closes the dialog. Subclasses may override.                                            
-   * </p>                                                                                       
-   */
-  protected void okPressed(){
-    result=new String[prompt.length];
-    for(int i=0; i<texts.length; i++){
-      result[i]=texts[i].getText();
-    }
-    super.okPressed();
-  }
-
-  /**
-   * Sets whether or not the username field should be mutable.
-   * This method must be called before create(), otherwise it
-   * will be ignored.
-   * 
-   * @param value  whether the username is mutable
-   */
-  public void setUsernameMutable(boolean value){
-    isUsernameMutable=value;
-  }
-  
-  /**                                                                                           
-   * Notifies that the cancel button of this dialog has been pressed.                               
-   * <p>                                                                                        
-   * The default implementation of this framework method sets                                   
-   * this dialog's return code to <code>Window.CANCEL</code>                                        
-   * and closes the dialog. Subclasses may override.                                            
-   * </p>                                                                                       
-   */
-  protected void cancelPressed(){
-    result=null;
-    super.cancelPressed();
-  }
-  
-  /* (non-Javadoc)
-   * @see org.eclipse.jface.dialogs.Dialog#close()
-   */
-  public boolean close(){
-    if(keyLockImage!=null){
-      keyLockImage.dispose();
-    }
-    return super.close();
-  }
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/UserValidationDialog.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/UserValidationDialog.java
deleted file mode 100644
index aedc2d6..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/UserValidationDialog.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Atsuhiko Yamanaka, JCraft,Inc. - copying this class from o.e.team.cvs.ui plug-in.
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui.authenticator;
-
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-
-import org.eclipse.jsch.internal.ui.IUIConstants;
-import org.eclipse.jsch.internal.ui.JSchUIPlugin;
-import org.eclipse.jsch.internal.ui.Messages;
-
-/**
- * A dialog for prompting for a user name and password
- * @since 1.1
- */
-public class UserValidationDialog extends TrayDialog{
-  // widgets
-  protected Text usernameField;
-  protected Text passwordField;
-  protected Button allowCachingButton;
-
-  protected String comment;
-  protected String defaultUsername;
-  protected String password=null;
-  protected boolean allowCaching=false;
-  protected boolean isAllowCaching=false;
-  protected Image keyLockImage;
-
-  // whether or not the user name can be changed
-  protected boolean isUsernameMutable=true;
-  protected String username=null;
-  protected String message=null;
-
-  /**
-   * Creates a new UserValidationDialog.
-   * 
-   * @param parentShell
-   *          the parent shell
-   * @param comment
-   *          the location
-   * @param defaultName
-   *          the default user name
-   * @param message
-   *          a message to display to the user
-   * @param isAllowCaching
-   *          a flag to show a check box to save password
-   */
-  public UserValidationDialog(Shell parentShell, String comment,
-      String defaultName, String message, boolean isAllowCaching){
-    super(parentShell);
-    setShellStyle(getShellStyle()|SWT.RESIZE);
-    this.defaultUsername=defaultName;
-    this.comment=comment;
-    this.message=message;
-    this.isAllowCaching=isAllowCaching;
-  }
-
-  /**
-   * @see Window#configureShell
-   */
-  protected void configureShell(Shell newShell){
-    super.configureShell(newShell);
-    newShell.setText(Messages.UserValidationDialog_required);
-    // set F1 help
-    PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell,
-        IHelpContextIds.USER_VALIDATION_DIALOG);
-  }
-
-  /**
-   * @see Window#create
-   */
-  public void create(){
-    super.create();
-    // add some default values
-    usernameField.setText(defaultUsername);
-
-    if(isUsernameMutable){
-      // give focus to user name field
-      usernameField.selectAll();
-      usernameField.setFocus();
-    }
-    else{
-      usernameField.setEditable(false);
-      passwordField.setFocus();
-    }
-  }
-
-  /**
-   * @see Dialog#createDialogArea
-   */
-  protected Control createDialogArea(Composite parent){
-    Composite top=new Composite(parent, SWT.NONE);
-    GridLayout layout=new GridLayout();
-    layout.numColumns=2;
-
-    top.setLayout(layout);
-    top.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-    Composite imageComposite=new Composite(top, SWT.NONE);
-    layout=new GridLayout();
-    imageComposite.setLayout(layout);
-    imageComposite.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-
-    Composite main=new Composite(top, SWT.NONE);
-    layout=new GridLayout();
-    layout.numColumns=3;
-    main.setLayout(layout);
-    main.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-    Label imageLabel=new Label(imageComposite, SWT.NONE);
-    keyLockImage=JSchUIPlugin.getImageDescriptor(IUIConstants.IMG_KEY_LOCK)
-        .createImage();
-    imageLabel.setImage(keyLockImage);
-    GridData data=new GridData(GridData.FILL_HORIZONTAL
-        |GridData.GRAB_HORIZONTAL);
-    imageLabel.setLayoutData(data);
-
-    if(message!=null){
-      Label messageLabel=new Label(main, SWT.WRAP);
-      messageLabel.setText(message);
-      data=new GridData(GridData.FILL_HORIZONTAL|GridData.GRAB_HORIZONTAL);
-      data.horizontalSpan=3;
-      data.widthHint=400;
-      messageLabel.setLayoutData(data);
-    }
-    if(comment!=null){
-      Label label=new Label(main, SWT.WRAP);
-      if(isUsernameMutable){
-        label.setText(NLS.bind(Messages.UserValidationDialog_labelUser,
-            new String[] {comment}));
-      }
-      else{
-        label.setText(NLS.bind(Messages.UserValidationDialog_labelPassword,
-            (new Object[] {defaultUsername, comment})));
-      }
-      data=new GridData(GridData.FILL_HORIZONTAL|GridData.GRAB_HORIZONTAL);
-      data.horizontalSpan=3;
-      data.widthHint=400;
-      label.setLayoutData(data);
-    }
-    createUsernameFields(main);
-    createPasswordFields(main);
-
-    if(isAllowCaching){
-    allowCachingButton=new Button(main, SWT.CHECK);
-    allowCachingButton.setText(Messages.UserValidationDialog_6);
-    data=new GridData(GridData.FILL_HORIZONTAL|GridData.GRAB_HORIZONTAL);
-    data.horizontalSpan=3;
-    allowCachingButton.setLayoutData(data);
-    allowCachingButton.addSelectionListener(new SelectionAdapter(){
-      public void widgetSelected(SelectionEvent e){
-        allowCaching=allowCachingButton.getSelection();
-      }
-    });
-    }
-
-    Dialog.applyDialogFont(parent);
-
-    return main;
-  }
-
-  /**
-   * Creates the three widgets that represent the password entry area.
-   * 
-   * @param parent
-   *          the parent of the widgets
-   */
-  protected void createPasswordFields(Composite parent){
-    new Label(parent, SWT.NONE).setText(Messages.UserValidationDialog_password);
-
-    passwordField=new Text(parent, SWT.BORDER|SWT.PASSWORD);
-    GridData data=new GridData(GridData.FILL_HORIZONTAL);
-    data.horizontalSpan=2;
-    data.widthHint=convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-    passwordField.setLayoutData(data);
-  }
-
-  /**
-   * Creates the three widgets that represent the user name entry area.
-   * 
-   * @param parent
-   *          the parent of the widgets
-   */
-  protected void createUsernameFields(Composite parent){
-    new Label(parent, SWT.NONE).setText(Messages.UserValidationDialog_user);
-
-    usernameField=new Text(parent, SWT.BORDER);
-    GridData data=new GridData(GridData.FILL_HORIZONTAL);
-    data.horizontalSpan=2;
-    data.widthHint=convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-    usernameField.setLayoutData(data);
-  }
-
-  /**
-   * Returns the password entered by the user, or null if the user canceled.
-   * 
-   * @return the entered password
-   */
-  public String getPassword(){
-    return password;
-  }
-
-  /**
-   * Returns the username entered by the user, or null if the user canceled.
-   * 
-   * @return the entered username
-   */
-  public String getUsername(){
-    return username;
-  }
-
-  /**
-   * Returns <code>true</code> if the save password checkbox was selected.
-   * 
-   * @return <code>true</code> if the save password checkbox was selected and
-   *         <code>false</code> otherwise.
-   */
-  public boolean getAllowCaching(){
-    return allowCaching;
-  }
-
-  /**
-   * Notifies that the ok button of this dialog has been pressed.
-   * <p>
-   * The default implementation of this framework method sets this dialog's
-   * return code to <code>Window.OK</code> and closes the dialog. Subclasses
-   * may override.
-   * </p>
-   */
-  protected void okPressed(){
-    password=passwordField.getText();
-    username=usernameField.getText();
-
-    super.okPressed();
-  }
-
-  /**
-   * Sets whether or not the username field should be mutable. This method must
-   * be called before create(), otherwise it will be ignored.
-   * 
-   * @param value
-   *          whether the username is mutable
-   */
-  public void setUsernameMutable(boolean value){
-    isUsernameMutable=value;
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see org.eclipse.jface.dialogs.Dialog#close()
-   */
-  public boolean close(){
-    if(keyLockImage!=null){
-      keyLockImage.dispose();
-    }
-    return super.close();
-  }
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/WorkbenchUserAuthenticator.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/WorkbenchUserAuthenticator.java
deleted file mode 100644
index 84c016e..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/WorkbenchUserAuthenticator.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Atsuhiko Yamanaka, JCraft,Inc. - implementation of promptForKeyboradInteractive
- *     Atsuhiko Yamanaka, JCraft,Inc. - copying this class from o.e.team.cvs.ui plug-in.
- *******************************************************************************/
-
-package org.eclipse.jsch.internal.ui.authenticator;
-
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.jsch.core.IJSchLocation;
-import org.eclipse.jsch.internal.core.IUserAuthenticator;
-import org.eclipse.jsch.internal.core.IUserInfo;
-import org.eclipse.jsch.internal.ui.Messages;
-
-/**
- * An authenticator that prompts the user for authentication info,
- * and stores the results in the Platform's authentication key-ring.
- * @since 1.1
- */
-public class WorkbenchUserAuthenticator implements IUserAuthenticator{
-  /**
-   * WorkbenchUserAuthenticator constructor.
-   */
-  public WorkbenchUserAuthenticator(){
-    super();
-  }
-
-  /**
-   * @see IUserAuthenticator#promptForUserInfo(IJSchLocation, IUserInfo, String)
-   */
-  public void promptForUserInfo(final IJSchLocation location,
-      final IUserInfo userinfo, final String message){
-
-    // ask the user for a password
-    final String[] result=new String[2];
-    Display display=Display.getCurrent();
-    final boolean allowCaching[]= {false};
-    if(display!=null){
-      allowCaching[0]=promptForPassword(location, userinfo.getUsername(),
-          message, userinfo.isUsernameMutable(), result);
-    }
-    else{
-      // sync exec in default thread
-      Display.getDefault().syncExec(new Runnable(){
-        public void run(){
-          allowCaching[0]=promptForPassword(location, userinfo.getUsername(),
-              message, userinfo.isUsernameMutable(), result);
-        }
-      });
-    }
-
-    if(result[0]==null){
-      throw new OperationCanceledException(
-          Messages.WorkbenchUserAuthenticator_cancelled);
-    }
-
-    if(userinfo.isUsernameMutable()){
-      userinfo.setUsername(result[0]);
-
-    }
-    userinfo.setPassword(result[1]);
-
-    if(location!=null){
-      if(userinfo.isUsernameMutable()){
-        location.setUsername(result[0]);
-      }
-      location.setPassword(result[1]);
-      if(location.getPasswordStore()!=null){
-        if(allowCaching[0])
-          location.getPasswordStore().update(location);
-        else
-          location.getPasswordStore().clear(location);
-      }
-    }
-  }
-
-  /**
-   * Asks the user to enter a password. Places the
-   * results in the supplied string[].  result[0] must
-   * contain the username, result[1] must contain the password.
-   * If the user canceled, both values must be zero.
-   * 
-   * @param location  the location to obtain the password for
-   * @param username  the username
-   * @param message  a message to display to the user
-   * @param userMutable  whether the user can be changed in the dialog
-   * @param result  a String array of length two in which to put the result
-   */
-  protected boolean promptForPassword(final IJSchLocation location,
-      final String username, final String message, final boolean userMutable,
-      final String[] result){
-    String comment=location==null ? null : location.getComment();
-    UserValidationDialog dialog=new UserValidationDialog(null, comment,
-        (username==null) ? "" : username, message, (location!=null && location.getPasswordStore()!=null));//$NON-NLS-1$
-    dialog.setUsernameMutable(userMutable);
-    dialog.open();
-    result[0]=dialog.getUsername();
-    result[1]=dialog.getPassword();
-    return dialog.getAllowCaching();
-  }
-
-  /**
-   * Asks the user to enter values. 
-   * 
-   * @param location  the location to obtain the password for
-   * @param destination the location
-   * @param name the name
-   * @param instruction the instruction
-   * @param prompt the titles for text fields
-   * @param echo '*' should be used or not
-   * @return the entered values, or null if user canceled.
-   */
-  public String[] promptForKeyboradInteractive(
-      final IJSchLocation location, final String destination,
-      final String name, final String instruction, final String[] prompt,
-      final boolean[] echo){
-    final String[][] result=new String[1][];
-    final boolean[] allowCaching=new boolean[1];
-    Display display=Display.getCurrent();
-    if(display!=null){
-      result[0]=_promptForUserInteractive(location, destination, name,
-          instruction, prompt, echo, allowCaching);
-    }
-    else{
-      // sync exec in default thread
-      Display.getDefault().syncExec(new Runnable(){
-        public void run(){
-          result[0]=_promptForUserInteractive(location, destination, name,
-              instruction, prompt, echo, allowCaching);
-        }
-      });
-    }
-    if(result[0]!=null && location!=null &&
-        prompt!=null && prompt.length==1 && prompt[0].trim().equalsIgnoreCase("password:")){ //$NON-NLS-1$
-      location.setPassword(result[0][0]);
-      if(location.getPasswordStore()!=null){
-        if(allowCaching[0])
-          location.getPasswordStore().update(location);
-        else
-          location.getPasswordStore().clear(location);
-      }
-    }
-    return result[0];
-  }
-
-  protected String[] _promptForUserInteractive(
-      final IJSchLocation location, final String destination,
-      final String name, final String instruction, final String[] prompt,
-      final boolean[] echo, final boolean[] allowCaching){
-    String comment=location==null ? null : location.getComment();
-    String username=location==null ? "" : location.getUsername(); //$NON-NLS-1$
-    KeyboardInteractiveDialog dialog=new KeyboardInteractiveDialog(null,
-        comment, destination, name, username, instruction, prompt, echo); 
-    dialog.setUsernameMutable(false);
-    dialog.open();
-    String[] _result=dialog.getResult();
-    if(_result!=null)
-      allowCaching[0]=dialog.getAllowCaching();
-    return _result;
-  }
-
-
-  /* (non-Javadoc)
-   * @see org.eclipse.team.internal.ccvs.core.IUserAuthenticator#prompt(org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation, int, java.lang.String, java.lang.String, int[], int)
-   */
-  public int prompt(IJSchLocation location, final int promptType,
-      final String title, final String message, final int[] promptResponses,
-      final int defaultResponse){
-    final Display display=getStandardDisplay();
-    final int[] retval=new int[1];
-    final String[] buttons=new String[promptResponses.length];
-    for(int i=0; i<promptResponses.length; i++){
-      int prompt=promptResponses[i];
-      switch(prompt){
-        case IUserAuthenticator.OK_ID:
-          buttons[i]=IDialogConstants.OK_LABEL;
-          break;
-        case IUserAuthenticator.CANCEL_ID:
-          buttons[i]=IDialogConstants.CANCEL_LABEL;
-          break;
-        case IUserAuthenticator.NO_ID:
-          buttons[i]=IDialogConstants.NO_LABEL;
-          break;
-        case IUserAuthenticator.YES_ID:
-          buttons[i]=IDialogConstants.YES_LABEL;
-          break;
-      }
-    }
-
-    display.syncExec(new Runnable(){
-      public void run(){
-        final MessageDialog dialog=new MessageDialog(new Shell(display), title,
-            null, message, promptType, buttons, 1);
-        retval[0]=dialog.open();
-      }
-    });
-    return retval[0];
-  }
-
-  public boolean promptForHostKeyChange(final IJSchLocation location){
-    final boolean[] openConfirm=new boolean[] {false};
-    final Display display=getStandardDisplay();
-    display.syncExec(new Runnable(){
-      public void run(){
-        openConfirm[0]=MessageDialog.openConfirm(null,
-            Messages.WorkbenchUserAuthenticator_1, NLS.bind(
-                Messages.WorkbenchUserAuthenticator_2, new String[] {location
-                    .getHost()})); // 
-      }
-    });
-    if(!openConfirm[0]){
-      throw new OperationCanceledException();
-    }
-    return openConfirm[0];
-  }
-  
-  /**
-   * Returns the standard display to be used. The method first checks, if
-   * the thread calling this method has an associated display. If so, this
-   * display is returned. Otherwise the method returns the default display.
-   * @return standard display
-   */
-  private Display getStandardDisplay(){
-    Display display=Display.getCurrent();
-    if(display==null){
-      display=Display.getDefault();
-    }
-    return display;
-  }
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/messages.properties b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/messages.properties
deleted file mode 100644
index 26a212a..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/messages.properties
+++ /dev/null
@@ -1,105 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Maik Schreiber - bug 102461
-#     Philippe Ombredanne - bug 84808
-###############################################################################
-
-CVSSSH2ServerConnection_open=Connecting via SSH to {0}...
-CVSSSH2PreferencePage_18=Configuration options for SSH2:
-CVSSSH2PreferencePage_19=&General
-CVSSSH2PreferencePage_20=&Proxy
-CVSSSH2PreferencePage_21=&Key Management
-CVSSSH2PreferencePage_23=SSH2 &home:
-CVSSSH2PreferencePage_24=&Browse...
-CVSSSH2PreferencePage_25=P&rivate keys:
-CVSSSH2PreferencePage_26=Add Pr&ivate Key...
-CVSSSH2PreferencePage_27=SSH Home:
-CVSSSH2PreferencePage_30=&Enable proxy connection
-CVSSSH2PreferencePage_31=Proxy &type:
-CVSSSH2PreferencePage_32=Proxy host add&ress:
-CVSSSH2PreferencePage_33=Proxy host p&ort:
-CVSSSH2PreferencePage_34=E&nable proxy authentication
-CVSSSH2PreferencePage_35=Proxy &user name:
-CVSSSH2PreferencePage_36=Proxy pa&ssword:
-CVSSSH2PreferencePage_39=&You can paste this public key into the remote authorized_keys file:
-CVSSSH2PreferencePage_41=&Fingerprint:
-CVSSSH2PreferencePage_42=&Comment:
-CVSSSH2PreferencePage_43=Passp&hrase:
-CVSSSH2PreferencePage_44=C&onfirm passphrase:
-CVSSSH2PreferencePage_45=&Save Private Key...
-CVSSSH2PreferencePage_47=The key was not generated.
-CVSSSH2PreferencePage_48=The passphrases entered do not match.
-CVSSSH2PreferencePage_49=Are you sure you want to save this private key without passphrase protection?
-CVSSSH2PreferencePage_50={0} does not exist.\nAre you sure you want to create it?
-CVSSSH2PreferencePage_53={0} has already existed.\nAre you sure you want to over write it?
-CVSSSH2PreferencePage_55=Successfully saved.
-CVSSSH2PreferencePage_57=Private key:
-CVSSSH2PreferencePage_59=Public key:
-CVSSSH2PreferencePage_99={0} does not exist.\nAre you sure you want to create it?
-CVSSSH2PreferencePage_100=Failed to create
-CVSSSH2PreferencePage_104=Proxy host port must be a number between 0 and 65535.
-CVSSSH2PreferencePage_105=E&xport Via SFTP...
-CVSSSH2PreferencePage_106=Export SSH Key to Remote Server Via SFTP
-CVSSSH2PreferencePage_107=Specify a target site (in user@host[:port] format) where your public key should be installed.\nYour key will be stored in user@host[:port]:~/.ssh/authorized_keys
-CVSSSH2PreferencePage_108={0} is not valid site.
-CVSSSH2PreferencePage_109=Your public key has been successfully installed to {0}
-CVSSSH2PreferencePage_110=Remote sshd is not from OpenSSH.
-CVSSSH2PreferencePage_111=Failed to export ssh key to remote server.
-CVSSSH2ServerConnection_3=session is down
-CVSSSH2ServerConnection_0=An undetermined authentication failure has occurred
-CVSSSH2ServerConnection_1=No route to host {0} could be found
-CVSSSH2PreferencePage_information=Information
-CVSSSH2PreferencePage_error=Error
-CVSSSH2PreferencePage_confirmation=Confirmation
-CVSSSH2PreferencePage_question=Question
-CVSSSH2PreferencePage_125=Target site:
-CVSSSH2PreferencePage_126=Enter passphrase for {0}
-CVSSSH2PreferencePage_127=Passphrase:
-CVSSSH2PreferencePage_128=&Load Existing Key...
-CVSSSH2PreferencePage_129=failed to decrypt {0}
-CVSSSH2PreferencePage_130=failed to load given file.
-CVSSSH2PreferencePage_131=G&enerate DSA Key...
-CVSSSH2PreferencePage_132=Ge&nerate RSA Key...
-CVSSSH2PreferencePage_133=Kno&wn Hosts
-CVSSSH2PreferencePage_134=Hostname
-CVSSSH2PreferencePage_135=Type
-CVSSSH2PreferencePage_136=Fingerprint
-CVSSSH2PreferencePage_138=&Remove
-CVSSSH2PreferencePage_139=Keys of known hosts:
-UserInfoPrompter_0=SSH2 Message
-UserInfoPrompter_1=SSH2 Message
-KeyboardInteractiveDialog_0=Keyboard Interactive authentication for {0}: {1}
-KeyboardInteractiveDialog_1=Keyboard Interactive authentication for {0}
-KeyboardInteractiveDialog_2=Password Required
-KeyboardInteractiveDialog_3=Domain:
-KeyboardInteractiveDialog_4=&Save password (could trigger secure storage login)
-KeyboardInteractiveDialog_6=&User name:
-UserValidationDialog_0=Password Required
-UserValidationDialog_1=Domain:
-UserValidationDialog_2=&Save password (could trigger secure storage login)
-UserValidationDialog_4=&Password:
-UserValidationDialog_5=&User name:
-PreferencePage_0=SSH2 Service not available
-PreferencePage_1=The SSH2 service is not available.
-
-UserValidationDialog_6=&Save password (could trigger secure storage login)
-UserValidationDialog_required=Password Required
-UserValidationDialog_labelUser={0}
-UserValidationDialog_labelPassword={1}
-UserValidationDialog_password=&Password:
-UserValidationDialog_user=&User name:
-
-KeyboradInteractiveDialog_message=Keyboard Interactive authentication for {0}
-KeyboardInteractiveDialog_labelRepository=Enter values for the following repository: {0}
-
-WorkbenchUserAuthenticator_cancelled=Operation canceled because login was canceled
-WorkbenchUserAuthenticator_1=Host Key Change
-WorkbenchUserAuthenticator_2=The host key for {0} has changed. It is possible that this was intentional but there is also a chance that you are the target of an attack of some kind. If you know that the host key has changed, click OK and existing host key will be purged. Otherwise, click Cancel and consult with your system administrator
-WorkbenchUserAuthenticator_The_operation_was_canceled_by_the_user_1=The operation was canceled by the user
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/ExportDialog.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/ExportDialog.java
deleted file mode 100644
index 8efecef..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/ExportDialog.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *     Sebastian Davids (sdavids@gmx.de) - Bug 54599 [SSH2] Export SSH Key ... Dialog does not standard margins
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui.preference;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jsch.internal.ui.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-class ExportDialog extends Dialog{
-  protected Text field;
-  protected String target=null;
-  protected String title=null;
-  protected String message=null;
-
-  public ExportDialog(Shell parentShell, String title, String message){
-    super(parentShell);
-    this.title=title;
-    this.message=message;
-  }
-
-  protected void configureShell(Shell newShell){
-    super.configureShell(newShell);
-    newShell.setText(title);
-  }
-
-  public void create(){
-    super.create();
-    field.setFocus();
-  }
-
-  protected Control createDialogArea(Composite parent){
-    initializeDialogUnits(parent);
-    Composite main=new Composite(parent, SWT.NONE);
-    GridLayout layout=new GridLayout();
-    layout.numColumns=2;
-    layout.marginHeight=convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-    layout.marginWidth=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-    layout.verticalSpacing=convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-    layout.horizontalSpacing=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-    main.setLayout(layout);
-    main.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-    if(message!=null){
-      Label messageLabel=new Label(main, SWT.WRAP);
-      messageLabel.setText(message);
-      GridData data=new GridData(GridData.FILL_HORIZONTAL);
-      data.horizontalSpan=2;
-      messageLabel.setLayoutData(data);
-    }
-
-    createTargetFields(main);
-    Dialog.applyDialogFont(main);
-    return main;
-  }
-
-  protected void createTargetFields(Composite parent){
-    new Label(parent, SWT.NONE).setText(Messages.CVSSSH2PreferencePage_125);
-
-    field=new Text(parent, SWT.BORDER);
-    GridData data=new GridData(GridData.FILL_HORIZONTAL);
-    data.widthHint=convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-    field.setLayoutData(data);
-  }
-
-  public String getTarget(){
-    return target;
-  }
-
-  protected void okPressed(){
-    String _target=field.getText();
-    if(_target==null||_target.length()==0){
-      return;
-    }
-    target=_target;
-    super.okPressed();
-  }
-
-  protected void cancelPressed(){
-    target=null;
-    super.cancelPressed();
-  }
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PassphraseDialog.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PassphraseDialog.java
deleted file mode 100644
index 051f312..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PassphraseDialog.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui.preference;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jsch.internal.ui.Messages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-
-class PassphraseDialog extends Dialog{
-  protected Text passphraseField;
-  protected String passphrase=null;
-  protected String message=null;
-
-  public PassphraseDialog(Shell parentShell, String message){
-    super(parentShell);
-    this.message=message;
-  }
-
-  protected void configureShell(Shell newShell){
-    super.configureShell(newShell);
-    newShell.setText(message);
-  }
-
-  public void create(){
-    super.create();
-    passphraseField.setFocus();
-  }
-
-  protected Control createDialogArea(Composite parent){
-    initializeDialogUnits(parent);
-    Composite main=new Composite(parent, SWT.NONE);
-
-    GridLayout layout=new GridLayout();
-    layout.numColumns=3;
-    layout.marginHeight=convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-    layout.marginWidth=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-    layout.verticalSpacing=convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-    layout.horizontalSpacing=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-    main.setLayout(layout);
-    main.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-    if(message!=null){
-      Label messageLabel=new Label(main, SWT.WRAP);
-      messageLabel.setText(message);
-      GridData data=new GridData(GridData.FILL_HORIZONTAL);
-      data.horizontalSpan=3;
-      messageLabel.setLayoutData(data);
-    }
-
-    createPassphraseFields(main);
-    Dialog.applyDialogFont(main);
-    return main;
-  }
-
-  protected void createPassphraseFields(Composite parent){
-    new Label(parent, SWT.NONE).setText(Messages.CVSSSH2PreferencePage_127);
-    passphraseField=new Text(parent, SWT.BORDER);
-    GridData data=new GridData(GridData.FILL_HORIZONTAL);
-    data.widthHint=convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-    passphraseField.setLayoutData(data);
-    passphraseField.setEchoChar('*');
-
-    new Label(parent, SWT.NONE);
-  }
-
-  public String getPassphrase(){
-    return passphrase;
-  }
-
-  protected void okPressed(){
-    String _passphrase=passphraseField.getText();
-    if(_passphrase==null||_passphrase.length()==0){
-      return;
-    }
-    passphrase=_passphrase;
-    super.okPressed();
-  }
-
-  protected void cancelPressed(){
-    passphrase=null;
-    super.cancelPressed();
-  }
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PixelConverter.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PixelConverter.java
deleted file mode 100644
index 039c12e..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PixelConverter.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation.
- *     Atsuhiko Yamanaka, JCraft,Inc. - Bug 170883
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui.preference;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.widgets.Control;
-
-public class PixelConverter {
-	
-	private final FontMetrics fFontMetrics;
-	
-	public PixelConverter(Control control) {
-		GC gc = new GC(control);
-        try {
-            gc.setFont(control.getFont());
-            fFontMetrics= gc.getFontMetrics();
-        } finally {
-            gc.dispose();
-        }
-	}
-	
-	public int convertHeightInCharsToPixels(int chars) {
-		return Dialog.convertHeightInCharsToPixels(fFontMetrics, chars);
-	}
-
-	public int convertHorizontalDLUsToPixels(int dlus) {
-		return Dialog.convertHorizontalDLUsToPixels(fFontMetrics, dlus);
-	}
-
-	public int convertVerticalDLUsToPixels(int dlus) {
-		return Dialog.convertVerticalDLUsToPixels(fFontMetrics, dlus);
-	}
-	
-	public int convertWidthInCharsToPixels(int chars) {
-		return Dialog.convertWidthInCharsToPixels(fFontMetrics, chars);
-	}
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PreferencePage.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PreferencePage.java
deleted file mode 100644
index 9b9a5cc..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/PreferencePage.java
+++ /dev/null
@@ -1,1054 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *     Atsuhiko Yamanaka, JCraft,Inc. - re-implement the public key transfer by using IJSchLocation.
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui.preference;
-
-import java.io.*;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jsch.core.IJSchLocation;
-import org.eclipse.jsch.core.IJSchService;
-import org.eclipse.jsch.internal.core.*;
-import org.eclipse.jsch.internal.ui.JSchUIPlugin;
-import org.eclipse.jsch.internal.ui.Messages;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.custom.TableEditor;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-
-import com.jcraft.jsch.*;
-
-public class PreferencePage extends org.eclipse.jface.preference.PreferencePage
-    implements IWorkbenchPreferencePage{
-
-  private static final String SSH2_PREFERENCE_PAGE_CONTEXT="org.eclipse.jsch.ui.ssh2_preference_page_context"; //$NON-NLS-1$
-
-  private Label ssh2HomeLabel;
-  private Label privateKeyLabel;
-  Text ssh2HomeText;
-  Text privateKeyText;
-  private Button privateKeyAdd;
-
-  private Button ssh2HomeBrowse;
-  Button keyGenerateDSA;
-  Button keyGenerateRSA;
-  private Button keyLoad;
-  private Button keyExport;
-  Button saveKeyPair;
-  private Label keyCommentLabel;
-  Text keyCommentText;
-  private Label keyFingerPrintLabel;
-  Text keyFingerPrintText;
-  private Label keyPassphrase1Label;
-  Text keyPassphrase1Text;
-  private Label keyPassphrase2Label;
-  Text keyPassphrase2Text;
-  private Label publicKeylabel;
-  Text publicKeyText;
-  KeyPair kpair=null;
-  String kpairComment;
-
-  public static final String AUTH_SCHEME="";//$NON-NLS-1$ 
-
-  public PreferencePage(){
-    setDescription(Messages.CVSSSH2PreferencePage_18);
-  }
-
-  protected Control createContents(Composite parent){
-    Composite container=new Composite(parent, SWT.NULL);
-    GridLayout layout=new GridLayout();
-    container.setLayout(layout);
-    initializeDialogUnits(container);
-
-    TabFolder tabFolder=new TabFolder(container, SWT.NONE);
-    tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-    TabItem tabItem=new TabItem(tabFolder, SWT.NONE);
-    tabItem.setText(Messages.CVSSSH2PreferencePage_19);
-    tabItem.setControl(createGeneralPage(tabFolder));
-
-    tabItem=new TabItem(tabFolder, SWT.NONE);
-    tabItem.setText(Messages.CVSSSH2PreferencePage_21);
-    tabItem.setControl(createKeyManagementPage(tabFolder));
-
-    tabItem=new TabItem(tabFolder, SWT.NONE);
-    tabItem.setText(Messages.CVSSSH2PreferencePage_133);
-    tabItem.setControl(createHostKeyManagementPage(tabFolder));
-
-    initControls();
-
-    Dialog.applyDialogFont(parent);
-    PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
-        SSH2_PREFERENCE_PAGE_CONTEXT);
-    return container;
-  }
-
-  private Control createGeneralPage(Composite parent){
-    Composite group=new Composite(parent, SWT.NULL);
-    GridLayout layout=new GridLayout();
-    layout.numColumns=3;
-    layout.marginHeight=convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-    layout.marginWidth=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-    layout.verticalSpacing=convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-    layout.horizontalSpacing=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-    group.setLayout(layout);
-    GridData data=new GridData();
-    data.horizontalAlignment=GridData.FILL;
-    group.setLayoutData(data);
-
-    ssh2HomeLabel=new Label(group, SWT.NONE);
-    ssh2HomeLabel.setText(Messages.CVSSSH2PreferencePage_23);
-
-    ssh2HomeText=new Text(group, SWT.SINGLE|SWT.BORDER);
-    ssh2HomeText.setFont(group.getFont());
-    GridData gd=new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalSpan=1;
-    ssh2HomeText.setLayoutData(gd);
-
-    ssh2HomeBrowse=new Button(group, SWT.NULL);
-    ssh2HomeBrowse.setText(Messages.CVSSSH2PreferencePage_24);
-    gd=new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-    gd.horizontalSpan=1;
-    ssh2HomeBrowse.setLayoutData(gd);
-
-    createSpacer(group, 3);
-
-    privateKeyLabel=new Label(group, SWT.NONE);
-    privateKeyLabel.setText(Messages.CVSSSH2PreferencePage_25);
-
-    privateKeyText=new Text(group, SWT.SINGLE|SWT.BORDER);
-    privateKeyText.setFont(group.getFont());
-    gd=new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalSpan=1;
-    privateKeyText.setLayoutData(gd);
-
-    privateKeyAdd=new Button(group, SWT.NULL);
-    privateKeyAdd.setText(Messages.CVSSSH2PreferencePage_26);
-    gd=new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-    gd.horizontalSpan=1;
-    privateKeyAdd.setLayoutData(gd);
-
-    ssh2HomeBrowse.addSelectionListener(new SelectionAdapter(){
-      public void widgetSelected(SelectionEvent e){
-        String home=ssh2HomeText.getText();
-
-        if(!new File(home).exists()){
-          while(true){
-            int foo=home.lastIndexOf(java.io.File.separator, home.length());
-            if(foo==-1)
-              break;
-            home=home.substring(0, foo);
-            if(new File(home).exists())
-              break;
-          }
-        }
-
-        DirectoryDialog dd=new DirectoryDialog(getShell());
-        dd.setFilterPath(home);
-        dd.setMessage(Messages.CVSSSH2PreferencePage_27);
-        String dir=dd.open();
-        if(dir==null){ // cancel
-          return;
-        }
-        ssh2HomeText.setText(dir);
-      }
-    });
-
-    privateKeyAdd.addSelectionListener(new SelectionAdapter(){
-      public void widgetSelected(SelectionEvent e){
-        String home=ssh2HomeText.getText();
-
-        FileDialog fd=new FileDialog(getShell(), SWT.OPEN|SWT.MULTI);
-        fd.setFilterPath(home);
-        Object o=fd.open();
-        if(o==null){ // cancel
-          return;
-        }
-        String[] files=fd.getFileNames();
-        String keys=privateKeyText.getText();
-        String dir=fd.getFilterPath();
-        if(dir.equals(home)){
-          dir="";} //$NON-NLS-1$
-        else{
-          dir+=java.io.File.separator;
-        }
-
-        for(int i=0; i<files.length; i++){
-          String foo=files[i];
-          if(keys.length()!=0)
-            keys=keys+","; //$NON-NLS-1$
-          keys=keys+dir+foo;
-        }
-        privateKeyText.setText(keys);
-      }
-    });
-
-    return group;
-  }
-
-  private Control createKeyManagementPage(Composite parent){
-    int columnSpan=3;
-    Composite group=new Composite(parent, SWT.NULL);
-    GridLayout layout=new GridLayout();
-    layout.numColumns=3;
-    layout.marginHeight=convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-    layout.marginWidth=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-    layout.verticalSpacing=convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-    layout.horizontalSpacing=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-    group.setLayout(layout);
-    GridData gd=new GridData();
-    gd.horizontalAlignment=GridData.FILL;
-    group.setLayoutData(gd);
-
-    keyGenerateDSA=new Button(group, SWT.NULL);
-    keyGenerateDSA.setText(Messages.CVSSSH2PreferencePage_131);
-    gd=new GridData();
-    gd.horizontalSpan=1;
-    keyGenerateDSA.setLayoutData(gd);
-
-    keyGenerateRSA=new Button(group, SWT.NULL);
-    keyGenerateRSA.setText(Messages.CVSSSH2PreferencePage_132);
-    gd=new GridData();
-    gd.horizontalSpan=1;
-    keyGenerateRSA.setLayoutData(gd);
-
-    keyLoad=new Button(group, SWT.NULL);
-    keyLoad.setText(Messages.CVSSSH2PreferencePage_128);
-    gd=new GridData();
-    gd.horizontalSpan=1;
-    keyLoad.setLayoutData(gd);
-
-    publicKeylabel=new Label(group, SWT.NONE);
-    publicKeylabel.setText(Messages.CVSSSH2PreferencePage_39);
-    gd=new GridData();
-    gd.horizontalSpan=columnSpan;
-    publicKeylabel.setLayoutData(gd);
-
-    publicKeyText=new Text(group, SWT.MULTI|SWT.BORDER|SWT.V_SCROLL|SWT.WRAP|SWT.LEFT_TO_RIGHT);
-    publicKeyText.setText(""); //$NON-NLS-1$
-    publicKeyText.setEditable(false);
-    gd=new GridData();
-    gd.horizontalSpan=columnSpan;
-    gd.horizontalAlignment=GridData.FILL;
-    gd.verticalAlignment=GridData.FILL;
-    gd.grabExcessHorizontalSpace=true;
-    gd.grabExcessVerticalSpace=true;
-    publicKeyText.setLayoutData(gd);
-
-    keyFingerPrintLabel=new Label(group, SWT.NONE);
-    keyFingerPrintLabel.setText(Messages.CVSSSH2PreferencePage_41);
-    keyFingerPrintText=new Text(group, SWT.SINGLE|SWT.BORDER|SWT.LEFT_TO_RIGHT);
-    keyFingerPrintText.setFont(group.getFont());
-    keyFingerPrintText.setEditable(false);
-    gd=new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalSpan=2;
-    keyFingerPrintText.setLayoutData(gd);
-
-    keyCommentLabel=new Label(group, SWT.NONE);
-    keyCommentLabel.setText(Messages.CVSSSH2PreferencePage_42);
-    keyCommentText=new Text(group, SWT.SINGLE|SWT.BORDER);
-    keyCommentText.setFont(group.getFont());
-    gd=new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalSpan=2;
-    keyCommentText.setLayoutData(gd);
-
-    keyCommentText.addModifyListener(new ModifyListener(){
-      public void modifyText(ModifyEvent e){
-        if(kpair==null)
-          return;
-        try{
-          ByteArrayOutputStream out=new ByteArrayOutputStream();
-          kpair.writePublicKey(out, keyCommentText.getText());
-          out.close();
-          publicKeyText.setText(out.toString());
-        }
-        catch(IOException ee){
-          // Ignore
-        }
-      }
-    });
-
-    keyPassphrase1Label=new Label(group, SWT.NONE);
-    keyPassphrase1Label.setText(Messages.CVSSSH2PreferencePage_43);
-    keyPassphrase1Text=new Text(group, SWT.SINGLE|SWT.BORDER);
-    keyPassphrase1Text.setFont(group.getFont());
-    keyPassphrase1Text.setEchoChar('*');
-    gd=new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalSpan=2;
-    keyPassphrase1Text.setLayoutData(gd);
-
-    keyPassphrase2Label=new Label(group, SWT.NONE);
-    keyPassphrase2Label.setText(Messages.CVSSSH2PreferencePage_44);
-    keyPassphrase2Text=new Text(group, SWT.SINGLE|SWT.BORDER);
-    keyPassphrase2Text.setFont(group.getFont());
-    keyPassphrase2Text.setEchoChar('*');
-    gd=new GridData(GridData.FILL_HORIZONTAL);
-    gd.horizontalSpan=2;
-    keyPassphrase2Text.setLayoutData(gd);
-
-    keyPassphrase1Text.addModifyListener(new ModifyListener(){
-      public void modifyText(ModifyEvent e){
-        String pass1=keyPassphrase1Text.getText();
-        String pass2=keyPassphrase2Text.getText();
-        if(kpair!=null&&pass1.equals(pass2)){
-          saveKeyPair.setEnabled(true);
-        }
-        else{
-          saveKeyPair.setEnabled(false);
-        }
-        if(pass2.length()==0){
-          setErrorMessage(null);
-          return;
-        }
-        if(pass1.equals(pass2)){
-          setErrorMessage(null);
-        }
-        else{
-          setErrorMessage(Messages.CVSSSH2PreferencePage_48);
-        }
-      }
-    });
-
-    keyPassphrase2Text.addModifyListener(new ModifyListener(){
-      public void modifyText(ModifyEvent e){
-        String pass1=keyPassphrase1Text.getText();
-        String pass2=keyPassphrase2Text.getText();
-        if(kpair!=null&&pass1.equals(pass2)){
-          saveKeyPair.setEnabled(true);
-        }
-        else{
-          saveKeyPair.setEnabled(false);
-        }
-        if(pass2.length()<pass1.length()){
-          if(pass1.startsWith(pass2)){
-            setErrorMessage(null);
-          }
-          else{
-            setErrorMessage(Messages.CVSSSH2PreferencePage_48);
-          }
-          return;
-        }
-        if(pass1.equals(pass2)){
-          setErrorMessage(null);
-        }
-        else{
-          setErrorMessage(Messages.CVSSSH2PreferencePage_48);
-        }
-      }
-    });
-
-    keyPassphrase2Text.addFocusListener(new FocusListener(){
-      public void focusGained(FocusEvent e){
-        String pass1=keyPassphrase1Text.getText();
-        String pass2=keyPassphrase2Text.getText();
-        if(pass2.length()<pass1.length()){
-          if(pass1.startsWith(pass2)){
-            setErrorMessage(null);
-          }
-          else{
-            setErrorMessage(Messages.CVSSSH2PreferencePage_48);
-          }
-          return;
-        }
-        if(pass1.equals(pass2)){
-          setErrorMessage(null);
-        }
-        else{
-          setErrorMessage(Messages.CVSSSH2PreferencePage_48);
-        }
-      }
-
-      public void focusLost(FocusEvent e){
-        String pass1=keyPassphrase1Text.getText();
-        String pass2=keyPassphrase2Text.getText();
-        if(pass1.equals(pass2)){
-          setErrorMessage(null);
-        }
-        else{
-          setErrorMessage(Messages.CVSSSH2PreferencePage_48);
-        }
-      }
-    });
-
-    Composite buttons=new Composite(group, SWT.NONE);
-    layout=new GridLayout(2, true);
-    layout.marginWidth=0;
-    layout.marginHeight=0;
-    layout.horizontalSpacing=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-    buttons.setLayout(layout);
-    gd=new GridData(GridData.HORIZONTAL_ALIGN_END);
-    gd.horizontalSpan=columnSpan;
-    buttons.setLayoutData(gd);
-
-    keyExport=new Button(buttons, SWT.NULL);
-    keyExport.setText(Messages.CVSSSH2PreferencePage_105);
-    gd=new GridData(GridData.FILL_BOTH);
-    keyExport.setLayoutData(gd);
-
-    saveKeyPair=new Button(buttons, SWT.NULL);
-    saveKeyPair.setText(Messages.CVSSSH2PreferencePage_45);
-    gd=new GridData(GridData.FILL_BOTH);
-    saveKeyPair.setLayoutData(gd);
-
-    SelectionAdapter keygenadapter=new SelectionAdapter(){
-      public void widgetSelected(SelectionEvent e){
-        boolean ok=true;
-        String _type=""; //$NON-NLS-1$
-
-        try{
-          int type=0;
-          if(e.widget==keyGenerateDSA){
-            type=KeyPair.DSA;
-            _type=IConstants.DSA;
-          }
-          else if(e.widget==keyGenerateRSA){
-            type=KeyPair.RSA;
-            _type=IConstants.RSA;
-          }
-          else{
-            return;
-          }
-
-          final KeyPair[] _kpair=new KeyPair[1];
-          final int __type=type;
-          final JSchException[] _e=new JSchException[1];
-          BusyIndicator.showWhile(getShell().getDisplay(), new Runnable(){
-            public void run(){
-              try{
-                _kpair[0]=KeyPair.genKeyPair(getJSch(), __type);
-              }
-              catch(JSchException e){
-                _e[0]=e;
-              }
-            }
-          });
-          if(_e[0]!=null){
-            throw _e[0];
-          }
-          kpair=_kpair[0];
-
-          ByteArrayOutputStream out=new ByteArrayOutputStream();
-          kpairComment=_type+"-1024"; //$NON-NLS-1$
-          kpair.writePublicKey(out, kpairComment);
-          out.close();
-          publicKeyText.setText(out.toString());
-          keyFingerPrintText.setText(kpair.getFingerPrint());
-          keyCommentText.setText(kpairComment);
-          keyPassphrase1Text.setText(""); //$NON-NLS-1$
-          keyPassphrase2Text.setText(""); //$NON-NLS-1$
-          updateControls();
-        }
-        catch(IOException ee){
-          ok=false;
-        }
-        catch(JSchException ee){
-          ok=false;
-        }
-        if(!ok){
-          MessageDialog.openError(getShell(),
-              Messages.CVSSSH2PreferencePage_error,
-              Messages.CVSSSH2PreferencePage_47);
-        }
-      }
-    };
-    keyGenerateDSA.addSelectionListener(keygenadapter);
-    keyGenerateRSA.addSelectionListener(keygenadapter);
-
-    keyLoad.addSelectionListener(new SelectionAdapter(){
-      public void widgetSelected(SelectionEvent e){
-        boolean ok=true;
-        String home=ssh2HomeText.getText();
-        FileDialog fd=new FileDialog(getShell(), SWT.OPEN);
-        fd.setFilterPath(home);
-        Object o=fd.open();
-        if(o==null){ // cancel
-          return;
-        }
-        String pkey=fd.getFileName();
-        String pkeyab=(new File(fd.getFilterPath(), pkey)).getAbsolutePath();
-        try{
-          KeyPair _kpair=KeyPair.load(getJSch(), pkeyab);
-          PassphrasePrompt prompt=null;
-          while(_kpair.isEncrypted()){
-            if(prompt==null){
-              prompt=new PassphrasePrompt(NLS.bind(
-                  Messages.CVSSSH2PreferencePage_126, new String[] {pkey}));
-            }
-            Display.getDefault().syncExec(prompt);
-            String passphrase=prompt.getPassphrase();
-            if(passphrase==null)
-              break;
-            if(_kpair.decrypt(passphrase)){
-              break;
-            }
-            MessageDialog.openError(getShell(),
-                Messages.CVSSSH2PreferencePage_error, NLS.bind(
-                    Messages.CVSSSH2PreferencePage_129, new String[] {pkey}));
-          }
-          if(_kpair.isEncrypted()){
-            return;
-          }
-          kpair=_kpair;
-          String _type=(kpair.getKeyType()==KeyPair.DSA) ? IConstants.DSA
-              : IConstants.RSA;
-          ByteArrayOutputStream out=new ByteArrayOutputStream();
-          kpairComment=_type+"-1024"; //$NON-NLS-1$
-          kpair.writePublicKey(out, kpairComment);
-          out.close();
-          publicKeyText.setText(out.toString());
-          keyFingerPrintText.setText(kpair.getFingerPrint());
-          keyCommentText.setText(kpairComment);
-          keyPassphrase1Text.setText(""); //$NON-NLS-1$
-          keyPassphrase2Text.setText(""); //$NON-NLS-1$
-          updateControls();
-        }
-        catch(IOException ee){
-          ok=false;
-        }
-        catch(JSchException ee){
-          ok=false;
-        }
-        if(!ok){
-          MessageDialog.openError(getShell(),
-              Messages.CVSSSH2PreferencePage_error,
-              Messages.CVSSSH2PreferencePage_130);
-        }
-      }
-    });
-
-    keyExport.addSelectionListener(new SelectionAdapter(){
-      public void widgetSelected(SelectionEvent e){
-        if(kpair==null)
-          return;
-
-        setErrorMessage(null);
-
-        final String[] target=new String[1];
-        final String title=Messages.CVSSSH2PreferencePage_106;
-        final String message=Messages.CVSSSH2PreferencePage_107;
-        Display.getDefault().syncExec(new Runnable(){
-          public void run(){
-            Display display=Display.getCurrent();
-            Shell shell=new Shell(display);
-            ExportDialog dialog=new ExportDialog(shell, title, message);
-            dialog.open();
-            shell.dispose();
-            target[0]=dialog.getTarget();
-          }
-        });
-        if(target[0]==null){
-          return;
-        }
-        String user=""; //$NON-NLS-1$
-        String host=""; //$NON-NLS-1$
-        int port=22;
-
-        if(target[0].indexOf('@')>0){
-          user=target[0].substring(0, target[0].indexOf('@'));
-          host=target[0].substring(target[0].indexOf('@')+1);
-        }
-        if(host.indexOf(':')>0){
-          try{
-            port=Integer.parseInt(host.substring(host.indexOf(':')+1));
-          }
-          catch(NumberFormatException ee){
-            port=-1;
-          }
-          host=host.substring(0, host.indexOf(':'));
-        }
-
-        if(user.length()==0||host.length()==0||port==-1){
-          setErrorMessage(NLS.bind(Messages.CVSSSH2PreferencePage_108,
-              new String[] {target[0]}));
-          return;
-        }
-
-        String options=""; //$NON-NLS-1$
-        try{
-          ByteArrayOutputStream bos=new ByteArrayOutputStream();
-          if(options.length()!=0){
-            try{
-              bos.write((options+" ").getBytes());} //$NON-NLS-1$
-            catch(IOException eeee){
-              // Ignore
-            }
-          }
-          kpair.writePublicKey(bos, kpairComment);
-          bos.close();
-          export_via_sftp(user, host, port, /* ".ssh/authorized_keys", //$NON-NLS-1$ */
-              bos.toByteArray());
-        }
-        catch(IOException ee){
-       // Ignore
-        }
-        catch(JSchException ee){
-          setErrorMessage(Messages.CVSSSH2PreferencePage_111);
-        }
-      }
-    });
-
-    saveKeyPair.addSelectionListener(new SelectionAdapter(){
-      public void widgetSelected(SelectionEvent e){
-        if(kpair==null)
-          return;
-
-        String pass=keyPassphrase1Text.getText();
-        /*
-         * if(!pass.equals(keyPassphrase2Text.getText())){
-         * setErrorMessage(Policy.bind("CVSSSH2PreferencePage.48"));
-         * //$NON-NLS-1$ return; }
-         */
-        if(pass.length()==0){
-          if(!MessageDialog.openConfirm(getShell(),
-              Messages.CVSSSH2PreferencePage_confirmation,
-              Messages.CVSSSH2PreferencePage_49)){
-            return;
-          }
-        }
-
-        kpair.setPassphrase(pass);
-
-        String home=ssh2HomeText.getText();
-
-        File _home=new File(home);
-
-        if(!_home.exists()){
-          if(!MessageDialog.openConfirm(getShell(),
-              Messages.CVSSSH2PreferencePage_confirmation, NLS.bind(
-                  Messages.CVSSSH2PreferencePage_50, new String[] {home}))){
-            return;
-          }
-          if(!_home.mkdirs()){
-            setErrorMessage(Messages.CVSSSH2PreferencePage_100+home);
-            return;
-          }
-        }
-
-        FileDialog fd=new FileDialog(getShell(), SWT.SAVE);
-        fd.setFilterPath(home);
-        String file=(kpair.getKeyType()==KeyPair.RSA) ? "id_rsa" : "id_dsa"; //$NON-NLS-1$ //$NON-NLS-2$
-        fd.setFileName(file);
-        file=fd.open();
-        if(file==null){ // cancel
-          return;
-        }
-
-        if(new File(file).exists()){
-          if(!MessageDialog.openConfirm(getShell(),
-              Messages.CVSSSH2PreferencePage_confirmation, // 
-              NLS.bind(Messages.CVSSSH2PreferencePage_53, new String[] {file}))){
-            return;
-          }
-        }
-
-        boolean ok=true;
-        try{
-          kpair.writePrivateKey(file);
-          kpair.writePublicKey(file+".pub", kpairComment); //$NON-NLS-1$
-        }
-        catch(Exception ee){
-          ok=false;
-        }
-
-        if(ok){
-          MessageDialog.openInformation(getShell(),
-              Messages.CVSSSH2PreferencePage_information,
-              Messages.CVSSSH2PreferencePage_55+"\n"+ //$NON-NLS-1$
-                  Messages.CVSSSH2PreferencePage_57+file+"\n"+ //$NON-NLS-1$
-                  Messages.CVSSSH2PreferencePage_59+file+".pub"); //$NON-NLS-1$
-        }
-        else{
-          return;
-        }
-
-        // The generated key should be added to privateKeyText.
-
-        String dir=fd.getFilterPath();
-        File mypkey=new java.io.File(dir, fd.getFileName());
-        String pkeys=privateKeyText.getText();
-
-        // Check if the generated key has been included in pkeys?
-        String[] pkeysa=pkeys.split(","); //$NON-NLS-1$
-        for(int i=0; i<pkeysa.length; i++){
-          File pkey=new java.io.File(pkeysa[i]);
-          if(!pkey.isAbsolute()){
-            pkey=new java.io.File(home, pkeysa[i]);
-          }
-          if(pkey.equals(mypkey))
-            return;
-        }
-
-        if(dir.equals(home)){
-          dir="";} //$NON-NLS-1$
-        else{
-          dir+=java.io.File.separator;
-        }
-        if(pkeys.length()>0)
-          pkeys+=","; //$NON-NLS-1$
-        pkeys=pkeys+dir+fd.getFileName();
-        privateKeyText.setText(pkeys);
-      }
-    });
-
-    return group;
-  }
-
-  private TableViewer viewer;
-  private Button removeHostKeyButton;
-
-  class TableLabelProvider extends LabelProvider implements ITableLabelProvider{
-    public String getColumnText(Object element, int columnIndex){
-      HostKey entry=(HostKey)element;
-      switch(columnIndex){
-        case 0:
-          return entry.getHost();
-        case 1:
-          return entry.getType();
-        case 2:
-          return entry.getFingerPrint(getJSch());
-        default:
-          return null;
-      }
-    }
-
-    public Image getColumnImage(Object element, int columnIndex){
-      return null;
-    }
-  }
-
-  private Control createHostKeyManagementPage(Composite parent){
-    Composite group=new Composite(parent, SWT.NULL);
-    GridLayout layout=new GridLayout();
-    layout.marginHeight=convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-    layout.marginWidth=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-    layout.verticalSpacing=convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-    layout.horizontalSpacing=convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-    layout.numColumns=2;
-    group.setLayout(layout);
-    GridData gd=new GridData();
-    gd.horizontalAlignment=GridData.FILL;
-    gd.verticalAlignment=GridData.FILL;
-    group.setLayoutData(gd);
-
-    Label label=new Label(group, SWT.NONE);
-    label.setText(Messages.CVSSSH2PreferencePage_139);
-    gd=new GridData();
-    gd.horizontalSpan=2;
-    label.setLayoutData(gd);
-
-    viewer=new TableViewer(group, SWT.MULTI|SWT.FULL_SELECTION|SWT.H_SCROLL
-        |SWT.V_SCROLL|SWT.BORDER);
-    Table table=viewer.getTable();
-    new TableEditor(table);
-    table.setHeaderVisible(true);
-    table.setLinesVisible(true);
-    gd=new GridData(GridData.FILL_BOTH);
-    gd.widthHint=convertWidthInCharsToPixels(30);
-    /*
-     * The hardcoded hint does not look elegant, but in reality it does not make
-     * anything bound to this 100-pixel value, because in any case the tree on
-     * the left is taller and that's what really determines the height.
-     */
-    gd.heightHint=100;
-    table.setLayoutData(gd);
-    table.addListener(SWT.Selection, new Listener(){
-      public void handleEvent(Event e){
-        handleSelection();
-      }
-    });
-    // Create the table columns
-    new TableColumn(table, SWT.NULL);
-    new TableColumn(table, SWT.NULL);
-    new TableColumn(table, SWT.NULL);
-    TableColumn[] columns=table.getColumns();
-    columns[0].setText(Messages.CVSSSH2PreferencePage_134);
-    columns[1].setText(Messages.CVSSSH2PreferencePage_135);
-    columns[2].setText(Messages.CVSSSH2PreferencePage_136);
-    viewer.setColumnProperties(new String[] {
-        Messages.CVSSSH2PreferencePage_134, // 
-        Messages.CVSSSH2PreferencePage_135, // 
-        Messages.CVSSSH2PreferencePage_136});
-    viewer.setLabelProvider(new TableLabelProvider());
-    viewer.setContentProvider(new IStructuredContentProvider(){
-      public void dispose(){
-        // nothing to do
-      }
-
-      public void inputChanged(Viewer viewer, Object oldInput, Object newInput){
-        // nothing to do
-      }
-
-      public Object[] getElements(Object inputElement){
-        if(inputElement==null)
-          return null;
-        return (Object[])inputElement;
-      }
-    });
-    TableLayout tl=new TableLayout();
-    tl.addColumnData(new ColumnWeightData(30));
-    tl.addColumnData(new ColumnWeightData(20));
-    tl.addColumnData(new ColumnWeightData(70));
-    table.setLayout(tl);
-
-    Composite buttons=new Composite(group, SWT.NULL);
-    buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
-    layout=new GridLayout();
-    layout.marginHeight=0;
-    layout.marginWidth=0;
-    buttons.setLayout(layout);
-
-    removeHostKeyButton=new Button(buttons, SWT.PUSH);
-    removeHostKeyButton.setText(Messages.CVSSSH2PreferencePage_138);
-    int buttonWidth=SWTUtils
-        .calculateControlSize(SWTUtils.createDialogPixelConverter(parent),
-            new Button[] {removeHostKeyButton});
-    removeHostKeyButton.setLayoutData(SWTUtils.createGridData(buttonWidth,
-        SWT.DEFAULT, SWT.END, SWT.CENTER, false, false));
-    removeHostKeyButton.setEnabled(false);
-    removeHostKeyButton.addListener(SWT.Selection, new Listener(){
-      public void handleEvent(Event e){
-        removeHostKey();
-      }
-    });
-
-    Dialog.applyDialogFont(parent);
-
-    // JSchSession.loadKnownHosts(JSchContext.getDefaultContext().getJSch());
-    JSchCorePlugin.getPlugin().loadKnownHosts();
-    HostKeyRepository hkr=getJSch().getHostKeyRepository();
-    viewer.setInput(hkr.getHostKey());
-    handleSelection();
-
-    return group;
-  }
-
-  void handleSelection(){
-    boolean empty=viewer.getSelection().isEmpty();
-    removeHostKeyButton.setEnabled(!empty);
-  }
-
-  void removeHostKey(){
-    IStructuredSelection selection=(IStructuredSelection)viewer.getSelection();
-    HostKeyRepository hkr=getJSch().getHostKeyRepository();
-    for(Iterator iterator=selection.iterator(); iterator.hasNext();){
-      HostKey hostkey=(HostKey)iterator.next();
-      hkr.remove(hostkey.getHost(), hostkey.getType());
-      viewer.remove(hostkey);
-    }
-  }
-
-  void export_via_sftp(String user, String host, int port, byte[] pkey) throws JSchException{
-    try{
-
-      int timeout = 60000;
-      IJSchService service = JSchUIPlugin.getPlugin().getJSchService();
-      if (service == null) {
-        MessageDialog.openInformation(getShell(), Messages.PreferencePage_0, Messages.PreferencePage_1);
-        return;
-      }
-      
-      IJSchLocation location=service.getLocation(user, host, port);
-      // We hope that prompts for jsch are given by IJSchService, so "null" should be passed.
-      Session session = service.createSession(location, null);
-      session.setTimeout(timeout);
-      try {
-        service.connect(session, timeout, new NullProgressMonitor());
-	      if(session.getServerVersion().indexOf("OpenSSH")==-1){ //$NON-NLS-1$
-	        setErrorMessage(Messages.CVSSSH2PreferencePage_110);
-	        return;
-	      }
-	      Channel channel=session.openChannel("sftp"); //$NON-NLS-1$
-	      channel.connect();
-	      ChannelSftp c=(ChannelSftp)channel;
-
-	      SftpATTRS attr=null;
-	
-	      try{
-	        attr=c.stat(".ssh");} //$NON-NLS-1$
-	      catch(SftpException ee){
-          // Ignore
-	      }
-	      if(attr==null){
-	        try{
-	          c.mkdir(".ssh");} //$NON-NLS-1$
-	        catch(SftpException ee){
-	          setErrorMessage(ee.getMessage());
-	          return;
-	        }
-	      }
-	      try{
-	        c.cd(".ssh");} //$NON-NLS-1$
-	      catch(SftpException ee){
-	        setErrorMessage(ee.getMessage());
-	        return;
-	      }
-
-	      try{
-	        ByteArrayInputStream bis=new ByteArrayInputStream(pkey);
-	        c.put(bis, "authorized_keys", null, ChannelSftp.APPEND); //$NON-NLS-1$
-	        bis.close();
-	        checkPermission(c, "authorized_keys"); //$NON-NLS-1$
-	        checkPermission(c, "."); // .ssh //$NON-NLS-1$
-	        c.cd(".."); //$NON-NLS-1$
-	        checkPermission(c, "."); // home directory //$NON-NLS-1$
-	      }
-	      catch(SftpException ee){
-	        // setErrorMessage(debug+ee.message);
-	      }
-
-	      MessageDialog.openInformation(getShell(),
-	          Messages.CVSSSH2PreferencePage_information,
-	          NLS.bind(Messages.CVSSSH2PreferencePage_109, (user
-	              +"@"+host+(port==22 ? "" : ":"+port)+":~/.ssh/authorized_keys"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	
-	      c.quit();
-	      c.disconnect();
-      } finally {
-        session.disconnect();
-      }
-    } catch(IOException eee){
-      setErrorMessage(eee.toString());
-    }
-  }
-
-  private void checkPermission(ChannelSftp c, String path) throws SftpException{
-    SftpATTRS attr=c.stat(path);
-    int permissions=attr.getPermissions();
-    if((permissions&00022)!=0){
-      permissions&=~00022;
-      c.chmod(permissions, path);
-    }
-  }
-
-  void updateControls(){
-    boolean enable=(kpair!=null);
-    publicKeylabel.setEnabled(enable);
-    publicKeyText.setEnabled(enable);
-    keyFingerPrintLabel.setEnabled(enable);
-    keyFingerPrintText.setEnabled(enable);
-    keyCommentLabel.setEnabled(enable);
-    keyCommentText.setEnabled(enable);
-    keyPassphrase1Label.setEnabled(enable);
-    keyPassphrase1Text.setEnabled(enable);
-    keyPassphrase2Label.setEnabled(enable);
-    keyPassphrase2Text.setEnabled(enable);
-    keyExport.setEnabled(enable);
-    saveKeyPair.setEnabled(enable);
-  }
-
-  public void init(IWorkbench workbench){
-    // super.init(workbench);
-    // initControls();
-  }
-
-  public void initialize(){
-    initControls();
-  }
-
-  private void initControls(){
-    Preferences preferences=JSchCorePlugin.getPlugin().getPluginPreferences();
-    ssh2HomeText.setText(preferences
-        .getString(org.eclipse.jsch.internal.core.IConstants.KEY_SSH2HOME));
-    privateKeyText.setText(preferences
-        .getString(org.eclipse.jsch.internal.core.IConstants.KEY_PRIVATEKEY));
-    updateControls();
-  }
-
-  public boolean performOk(){
-    boolean result=super.performOk();
-    if(result){
-      setErrorMessage(null);
-      String home=ssh2HomeText.getText();
-      File _home=new File(home);
-      if(!_home.exists()){
-        if(MessageDialog.openQuestion(getShell(),
-            Messages.CVSSSH2PreferencePage_question, NLS.bind(
-                Messages.CVSSSH2PreferencePage_99, new String[] {home}))){
-          if(!(_home.mkdirs())){
-            setErrorMessage(Messages.CVSSSH2PreferencePage_100+home);
-            return false;
-          }
-        }
-      }
-
-      Preferences preferences=JSchCorePlugin.getPlugin().getPluginPreferences();
-      preferences.setValue(
-          org.eclipse.jsch.internal.core.IConstants.KEY_SSH2HOME, home);
-      preferences.setValue(
-          org.eclipse.jsch.internal.core.IConstants.KEY_PRIVATEKEY,
-          privateKeyText.getText());
-    }
-    JSchCorePlugin.getPlugin().setNeedToLoadKnownHosts(true);
-    JSchCorePlugin.getPlugin().setNeedToLoadKeys(true);
-    JSchCorePlugin.getPlugin().savePluginPreferences();
-    return result;
-  }
-
-  public void performApply(){
-    performOk();
-  }
-
-  protected void performDefaults(){
-    super.performDefaults();
-    Preferences preferences=JSchCorePlugin.getPlugin().getPluginPreferences();
-    ssh2HomeText
-        .setText(preferences
-            .getDefaultString(org.eclipse.jsch.internal.core.IConstants.KEY_SSH2HOME));
-    privateKeyText
-        .setText(preferences
-            .getDefaultString(org.eclipse.jsch.internal.core.IConstants.KEY_PRIVATEKEY));
-    updateControls();
-  }
-
-  protected void createSpacer(Composite composite, int columnSpan){
-    Label label=new Label(composite, SWT.NONE);
-    GridData gd=new GridData();
-    gd.horizontalSpan=columnSpan;
-    label.setLayoutData(gd);
-  }
-
-  JSch getJSch(){
-    return JSchCorePlugin.getPlugin().getJSch();
-  }
-
-  class PassphrasePrompt implements Runnable{
-    private String message;
-    private String passphrase;
-
-    PassphrasePrompt(String message){
-      this.message=message;
-    }
-
-    public void run(){
-      Display display=Display.getCurrent();
-      Shell shell=new Shell(display);
-      PassphraseDialog dialog=new PassphraseDialog(shell, message);
-      dialog.open();
-      shell.dispose();
-      passphrase=dialog.getPassphrase();
-    }
-
-    public String getPassphrase(){
-      return passphrase;
-    }
-  }
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/SWTUtils.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/SWTUtils.java
deleted file mode 100644
index 9b9b15f..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/preference/SWTUtils.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation.
- *     Atsuhiko Yamanaka, JCraft,Inc. - Bug 170883
- *******************************************************************************/
-package org.eclipse.jsch.internal.ui.preference;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.PreferenceLinkArea;
-import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer;
-
-public class SWTUtils {
-	
-	public static final int MARGINS_DEFAULT= -1;
-	public static final int MARGINS_NONE= 0;
-	public static final int MARGINS_DIALOG= 1;
-
-	public static PreferenceLinkArea createPreferenceLink(IWorkbenchPreferenceContainer container, Composite parent, String pageId, String text) {
-        final PreferenceLinkArea area = new PreferenceLinkArea(parent, SWT.NONE, pageId, text, container, null);
-        return area;
-	}
-	
-    public static GridData createGridData(int width, int height, boolean hFill, boolean vFill) {
-        return createGridData(width, height, hFill ? SWT.FILL : SWT.BEGINNING, vFill ? SWT.FILL : SWT.CENTER, hFill, vFill);
-    }
-    
-    public static GridData createGridData(int width, int height, int hAlign, int vAlign, boolean hGrab, boolean vGrab) {
-        final GridData gd= new GridData(hAlign, vAlign, hGrab, vGrab);
-        gd.widthHint= width;
-        gd.heightHint= height;
-        return gd;
-    }
-
-    public static GridData createHFillGridData() {
-        return createHFillGridData(1);
-    }
-    
-    public static GridData createHFillGridData(int span) {
-        final GridData gd= createGridData(0, SWT.DEFAULT, SWT.FILL, SWT.CENTER, true, false);
-        gd.horizontalSpan= span;
-        return gd;
-    }
-
-    public static Composite createHFillComposite(Composite parent, int margins) {
-        return createHFillComposite(parent, margins, 1);
-    }
-    
-    public static Composite createHFillComposite(Composite parent, int margins, int columns) {
-        final Composite composite= new Composite(parent, SWT.NONE);
-        composite.setFont(parent.getFont());
-        composite.setLayoutData(createHFillGridData());
-        composite.setLayout(createGridLayout(columns, new PixelConverter(parent), margins));
-        return composite;
-    }
-    
-    public static Composite createHVFillComposite(Composite parent, int margins) {
-        return createHVFillComposite(parent, margins, 1);
-    }
-    
-    public static Composite createHVFillComposite(Composite parent, int margins, int columns) {
-        final Composite composite= new Composite(parent, SWT.NONE);
-        composite.setFont(parent.getFont());
-        composite.setLayoutData(createHVFillGridData());
-        composite.setLayout(createGridLayout(columns, new PixelConverter(parent), margins));
-        return composite;
-    }
-
-    
-    public static Group createHFillGroup(Composite parent, String text, int margins) {
-        return createHFillGroup(parent, text, margins, 1);
-    }
-    
-    public static Group createHFillGroup(Composite parent, String text, int margins, int rows) {
-        final Group group= new Group(parent, SWT.NONE);
-        group.setFont(parent.getFont());
-        group.setLayoutData(createHFillGridData());
-        if (text != null)
-            group.setText(text);
-        group.setLayout(createGridLayout(rows, new PixelConverter(parent), margins));
-        return group;
-    }
-    
-    public static Group createHVFillGroup(Composite parent, String text, int margins) {
-        return createHVFillGroup(parent, text, margins, 1);
-    }
-    
-    public static Group createHVFillGroup(Composite parent, String text, int margins, int rows) {
-        final Group group= new Group(parent, SWT.NONE);
-        group.setFont(parent.getFont());
-        group.setLayoutData(createHVFillGridData());
-        if (text != null)
-            group.setText(text);
-        group.setLayout(createGridLayout(rows, new PixelConverter(parent), margins));
-        return group;
-    }
-    
-    public static GridData createHVFillGridData() {
-        return createHVFillGridData(1);
-    }
-    
-    public static GridData createHVFillGridData(int span) {
-        final GridData gd= createGridData(0, 0, true, true);
-        gd.horizontalSpan= span;
-        return gd;
-    }
-
-    
-    /**
-	 * Create a grid layout with the specified number of columns and the
-	 * standard spacings.
-	 * 
-	 * @param numColumns
-	 *                the number of columns
-	 * @param converter
-	 *                the pixel converter
-	 * @param margins
-	 *                One of <code>MARGINS_DEFAULT</code>,
-	 *                <code>MARGINS_NONE</code> or <code>MARGINS_DIALOG</code>.
-	 * @return the grid layout
-	 */
-    public static GridLayout createGridLayout(int numColumns, PixelConverter converter, int margins) {
-    	Assert.isTrue(margins == MARGINS_DEFAULT || margins == MARGINS_NONE || margins == MARGINS_DIALOG);
-    	
-        final GridLayout layout= new GridLayout(numColumns, false);
-        layout.horizontalSpacing= converter.convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-        layout.verticalSpacing= converter.convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-        
-        switch (margins) {
-        case MARGINS_NONE:
-            layout.marginLeft= layout.marginRight= 0;
-            layout.marginTop= layout.marginBottom= 0;
-            break;
-        case MARGINS_DIALOG:
-            layout.marginLeft= layout.marginRight= converter.convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-            layout.marginTop= layout.marginBottom= converter.convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-            break;
-        case MARGINS_DEFAULT:
-            layout.marginLeft= layout.marginRight= layout.marginWidth;
-            layout.marginTop= layout.marginBottom= layout.marginHeight;
-        }
-        layout.marginWidth= layout.marginHeight= 0;
-        return layout;
-    }
-    
-    
-    public static Label createLabel(Composite parent, String message) {
-        return createLabel(parent, message, 1);
-    }
-
-    public static Label createLabel(Composite parent, String message, int span) {
-        final Label label= new Label(parent, SWT.WRAP);
-        if (message != null)
-        	label.setText(message);
-        label.setLayoutData(createHFillGridData(span));
-        return label;
-    }
-    
-    public static Button createCheckBox(Composite parent, String message) {
-        return createCheckBox(parent, message, 1);
-    }
-
-    public static Button createCheckBox(Composite parent, String message, int span) {
-        final Button button= new Button(parent, SWT.CHECK);
-        button.setText(message);
-        button.setLayoutData(createHFillGridData(span));
-        return button;
-    }
-    
-    public static Button createRadioButton(Composite parent, String message) {
-        return createRadioButton(parent, message, 1);
-    }
-
-    public static Button createRadioButton(Composite parent, String message, int span) {
-        final Button button= new Button(parent, SWT.RADIO);
-        button.setText(message);
-        button.setLayoutData(createHFillGridData(span));
-        return button;
-    }
-
-    
-    public static Text createText(Composite parent) {
-        return createText(parent, 1);
-    }
-
-    public static Text createText(Composite parent, int span) {
-        final Text text= new Text(parent, SWT.SINGLE | SWT.BORDER);
-        text.setLayoutData(createHFillGridData(span));
-        return text;
-    }
-    
-
-    public static Control createPlaceholder(Composite parent, int heightInChars, int span) {
-        Assert.isTrue(heightInChars > 0);
-        final Control placeHolder= new Composite(parent, SWT.NONE);
-        final GridData gd= new GridData(SWT.BEGINNING, SWT.TOP, false, false);
-        gd.heightHint= new PixelConverter(parent).convertHeightInCharsToPixels(heightInChars);
-        gd.horizontalSpan= span;
-        placeHolder.setLayoutData(gd);
-        return placeHolder;
-    }
-
-    
-    public static Control createPlaceholder(Composite parent, int heightInChars) {
-        return createPlaceholder(parent, heightInChars, 1);
-    }
-    
-    public static PixelConverter createDialogPixelConverter(Control control) {
-    	Dialog.applyDialogFont(control);
-    	return new PixelConverter(control);
-    }
-    
-	public static int calculateControlSize(PixelConverter converter, Control [] controls) {
-		return calculateControlSize(converter, controls, 0, controls.length - 1);
-	}
-
-	public static int calculateControlSize(PixelConverter converter, Control [] controls, int start, int end) {
-		int minimum= converter.convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		for (int i = start; i <= end; i++) {
-			final int length= controls[i].computeSize(SWT.DEFAULT, SWT.DEFAULT).x;
-			if (minimum < length)
-				minimum= length;
-		}
-		return minimum;
-	}
-	
-	public static void equalizeControls(PixelConverter converter, Control [] controls) {
-		equalizeControls(converter, controls, 0, controls.length - 1);
-	}
-
-	public static void equalizeControls(PixelConverter converter, Control [] controls, int start, int end) {
-		final int size= calculateControlSize(converter, controls, start, end);
-		for (int i = start; i <= end; i++) {
-			final Control button= controls[i];
-			if (button.getLayoutData() instanceof GridData) {
-				((GridData)button.getLayoutData()).widthHint= size;
-			}
-		}
-	}
-
-	public static int getWidthInCharsForLongest(PixelConverter converter, String [] strings) {
-		int minimum= 0;
-		for (int i = 0; i < strings.length; i++) {
-			final int length= converter.convertWidthInCharsToPixels(strings[i].length());
-			if (minimum < length)
-				minimum= length;
-		}
-		return minimum;
-	}
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/UserInfoPrompter.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/UserInfoPrompter.java
deleted file mode 100644
index 2320770..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/UserInfoPrompter.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jsch.ui;
-
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jsch.core.IJSchService;
-import org.eclipse.jsch.internal.ui.*;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-import com.jcraft.jsch.*;
-
-/**
- * A {@link UserInfo} prompter implementation that can be used when connecting a
- * {@link Session}.
- * <p>
- * Clients may instantiate or subclass this class.
- * 
- * @since 1.0
- * @see IJSchService#createSession(String, int, String)
- * @see IJSchService#connect(Session, int,
- *      org.eclipse.core.runtime.IProgressMonitor)
- */
-public class UserInfoPrompter implements UserInfo, UIKeyboardInteractive{
-
-  private String passphrase;
-  private String password;
-  private final Session session;
-  private int attemptCount;
-
-  /**
-   * Create a prompter for the given session. This constructor will associate
-   * this prompter with the session using {@link Session#setUserInfo(UserInfo)}.
-   * 
-   * @param session
-   *          the session
-   */
-  public UserInfoPrompter(Session session){
-    super();
-    this.session=session;
-    session.setUserInfo(this);
-  }
-
-  /**
-   * Return the session to which this prompter is assigned.
-   * 
-   * @return the session to which this prompter is assigned
-   */
-  public Session getSession(){
-    return session;
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see com.jcraft.jsch.UserInfo#getPassphrase()
-   */
-  public String getPassphrase(){
-    return passphrase;
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see com.jcraft.jsch.UserInfo#getPassword()
-   */
-  public String getPassword(){
-    return password;
-  }
-
-  /**
-   * Set the pass phrase to be used when connecting the session. Return
-   * <code>null</code> if the pass phrase is not known.
-   * 
-   * @param passphrase
-   *          the pass phrase to be used when connecting the session or
-   *          <code>null</code>
-   */
-  public void setPassphrase(String passphrase){
-    this.passphrase=passphrase;
-  }
-
-  /**
-   * Set the password to be used when connecting the session. Return
-   * <code>null</code> if the password is not known.
-   * 
-   * @param password
-   *          the password to be used when connecting the session or
-   *          <code>null</code>
-   */
-  public void setPassword(String password){
-    this.password=password;
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see com.jcraft.jsch.UserInfo#promptPassphrase(java.lang.String)
-   */
-  public boolean promptPassphrase(String message){
-    String _passphrase=promptSecret(message);
-    if(_passphrase!=null){
-      setPassphrase(_passphrase);
-    }
-    return _passphrase!=null;
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see com.jcraft.jsch.UserInfo#promptPassword(java.lang.String)
-   */
-  public boolean promptPassword(String message){
-    String _password=promptSecret(message);
-    if(_password!=null){
-      setPassword(_password);
-    }
-    return _password!=null;
-  }
-
-  private String promptSecret(final String message){
-    // ask the user for a password
-    final String[] result=new String[1];
-    Display display=Display.getCurrent();
-    if(display!=null){
-      result[0]=promptForPassword(message);
-    }
-    else{
-      // sync exec in default thread
-      Display.getDefault().syncExec(new Runnable(){
-        public void run(){
-          result[0]=promptForPassword(message);
-        }
-      });
-    }
-
-    if(result[0]==null){
-      throw new OperationCanceledException();
-    }
-    return result[0];
-  }
-
-  /* package */String promptForPassword(final String message){
-    String username=getSession().getUserName();
-    UserValidationDialog dialog=new UserValidationDialog(null, null,
-        (username==null) ? "" : username, message); //$NON-NLS-1$
-    dialog.setUsernameMutable(false);
-    dialog.open();
-    return dialog.getPassword();
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see com.jcraft.jsch.UIKeyboardInteractive#promptKeyboardInteractive(java.lang.String,
-   *      java.lang.String, java.lang.String, java.lang.String[], boolean[])
-   */
-  public String[] promptKeyboardInteractive(String destination, String name,
-      String instruction, String[] prompt, boolean[] echo){
-    if(prompt.length==0){
-      // No need to prompt, just return an empty String array
-      return new String[0];
-    }
-    try{
-      if(attemptCount==0&&password!=null&&prompt.length==1
-          &&prompt[0].trim().equalsIgnoreCase("password:")){ //$NON-NLS-1$
-        // Return the provided password the first time but always prompt on
-        // subsequent tries
-        attemptCount++;
-        return new String[] {password};
-      }
-      String[] result=iromptForKeyboradInteractiveInUI(destination, name,
-          instruction, prompt, echo);
-      if(result==null)
-        return null; // canceled
-      if(result.length==1&&prompt.length==1
-          &&prompt[0].trim().equalsIgnoreCase("password:")){ //$NON-NLS-1$
-        password=result[0];
-      }
-      attemptCount++;
-      return result;
-    }
-    catch(OperationCanceledException e){
-      return null;
-    }
-  }
-
-  private String[] iromptForKeyboradInteractiveInUI(final String destination,
-      final String name, final String instruction, final String[] prompt,
-      final boolean[] echo){
-    final String[][] result=new String[1][];
-    Display display=Display.getCurrent();
-    if(display!=null){
-      result[0]=internalPromptForUserInteractive(destination, name,
-          instruction, prompt, echo);
-    }
-    else{
-      // sync exec in default thread
-      Display.getDefault().syncExec(new Runnable(){
-        public void run(){
-          result[0]=internalPromptForUserInteractive(destination, name,
-              instruction, prompt, echo);
-        }
-      });
-    }
-    return result[0];
-  }
-
-  /* package */ String[] internalPromptForUserInteractive(String destination,
-      String name, String instruction, String[] prompt, boolean[] echo){
-    String domain=null;
-    String userName=getSession().getUserName();
-    KeyboardInteractiveDialog dialog=new KeyboardInteractiveDialog(null,
-        domain, destination, name, userName, instruction, prompt, echo);
-    dialog.open();
-    String[] _result=dialog.getResult();
-    return _result;
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see com.jcraft.jsch.UserInfo#promptYesNo(java.lang.String)
-   */
-  public boolean promptYesNo(String question){
-    int prompt=prompt(MessageDialog.QUESTION, Messages.UserInfoPrompter_0,
-        question, new int[] {IDialogConstants.YES_ID, IDialogConstants.NO_ID},
-        0 // yes
-    // the
-    // default
-    );
-    return prompt==0;
-  }
-
-  /*
-   * (non-Javadoc)
-   * 
-   * @see com.jcraft.jsch.UserInfo#showMessage(java.lang.String)
-   */
-  public void showMessage(String message){
-    prompt(MessageDialog.INFORMATION, Messages.UserInfoPrompter_1, message,
-        new int[] {IDialogConstants.OK_ID}, 0);
-  }
-
-  private int prompt(final int promptType, final String title,
-      final String message, final int[] promptResponses,
-      final int defaultResponse){
-    final Display display=getStandardDisplay();
-    final int[] retval=new int[1];
-    final String[] buttons=new String[promptResponses.length];
-    for(int i=0; i<promptResponses.length; i++){
-      int prompt=promptResponses[i];
-      switch(prompt){
-        case IDialogConstants.OK_ID:
-          buttons[i]=IDialogConstants.OK_LABEL;
-          break;
-        case IDialogConstants.CANCEL_ID:
-          buttons[i]=IDialogConstants.CANCEL_LABEL;
-          break;
-        case IDialogConstants.NO_ID:
-          buttons[i]=IDialogConstants.NO_LABEL;
-          break;
-        case IDialogConstants.YES_ID:
-          buttons[i]=IDialogConstants.YES_LABEL;
-          break;
-      }
-    }
-
-    display.syncExec(new Runnable(){
-      public void run(){
-        final MessageDialog dialog=new MessageDialog(new Shell(display), title,
-            null /* title image */, message, promptType, buttons,
-            defaultResponse);
-        retval[0]=dialog.open();
-      }
-    });
-    return retval[0];
-  }
-
-  private Display getStandardDisplay(){
-    Display display=Display.getCurrent();
-    if(display==null){
-      display=Display.getDefault();
-    }
-    return display;
-  }
-
-}
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/package.html b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/package.html
deleted file mode 100644
index 2b593ad..0000000
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/ui/package.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="IBM">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides UI support for the JSch SSH2 library.
-<h2>
-Package Specification</h2>
-This package specifies API that can be used to provide UI support for the  JSch SSH2 library.
-</body>
-</html>
diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/SubscriberResourceMappingContext.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/SubscriberResourceMappingContext.java
index ce425c9..af5695a 100644
--- a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/SubscriberResourceMappingContext.java
+++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/subscribers/SubscriberResourceMappingContext.java
@@ -71,7 +71,7 @@
 			validateRemote(resource, syncInfo);
 	    	if (syncInfo == null) return false;
 	    	int direction = SyncInfo.getDirection(syncInfo.getKind());
-			return direction == SyncInfo.INCOMING || direction == SyncInfo.CONFLICTING;
+			return direction == SyncInfo.OUTGOING || direction == SyncInfo.CONFLICTING;
 		} finally {
 			monitor.done();
 		}
diff --git a/bundles/org.eclipse.team.cvs.core/.classpath b/bundles/org.eclipse.team.cvs.core/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.team.cvs.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.team.cvs.core/.cvsignore b/bundles/org.eclipse.team.cvs.core/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.team.cvs.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.core/.options b/bundles/org.eclipse.team.cvs.core/.options
deleted file mode 100644
index 24500e9..0000000
--- a/bundles/org.eclipse.team.cvs.core/.options
+++ /dev/null
@@ -1,18 +0,0 @@
-# Debugging options for the org.eclipse.team.cvs.core plugin.
-
-# Turn on debugging for the plugin.
-org.eclipse.team.cvs.core/debug=false
-
-# Shows when meta-files are modified by a 3rd party
-org.eclipse.team.cvs.core/metafiles=false
-
-# Shows cvs client/server protocol
-org.eclipse.team.cvs.core/cvsprotocol=true
-# Shows stream debugging information
-org.eclipse.team.cvs.core/threading=false
-
-# Shows dirty state caching debugging information
-org.eclipse.team.cvs.core/dirtycaching=false
-
-# Shows dirty state caching debugging information
-org.eclipse.team.cvs.core/syncchangeevents=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.core/.project b/bundles/org.eclipse.team.cvs.core/.project
deleted file mode 100644
index 79c1eef..0000000
--- a/bundles/org.eclipse.team.cvs.core/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.team.cvs.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.team.cvs.core/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.team.cvs.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c132154..0000000
--- a/bundles/org.eclipse.team.cvs.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,62 +0,0 @@
-#Thu Jun 29 09:04:19 EDT 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX
diff --git a/bundles/org.eclipse.team.cvs.core/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.team.cvs.core/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index c67280f..0000000
--- a/bundles/org.eclipse.team.cvs.core/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Wed Mar 15 15:55:40 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;com;
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="false" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">/*******************************************************************************\r\n * Copyright (c) ${year} IBM Corporation and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n * IBM Corporation - initial API and implementation\r\n *******************************************************************************/\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/bundles/org.eclipse.team.cvs.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.team.cvs.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 924d421..0000000
--- a/bundles/org.eclipse.team.cvs.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,30 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.team.cvs.core; singleton:=true
-Bundle-Version: 3.3.100.qualifier
-Bundle-Activator: org.eclipse.team.internal.ccvs.core.CVSProviderPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.team.internal.ccvs.core;x-friends:="org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui",
- org.eclipse.team.internal.ccvs.core.client;x-friends:="org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui",
- org.eclipse.team.internal.ccvs.core.client.listeners;x-friends:="org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui",
- org.eclipse.team.internal.ccvs.core.connection;x-friends:="org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui",
- org.eclipse.team.internal.ccvs.core.filehistory;x-friends:="org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui",
- org.eclipse.team.internal.ccvs.core.filesystem;x-friends:="org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui",
- org.eclipse.team.internal.ccvs.core.mapping;x-friends:="org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui",
- org.eclipse.team.internal.ccvs.core.resources;x-friends:="org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui",
- org.eclipse.team.internal.ccvs.core.syncinfo;x-friends:="org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui",
- org.eclipse.team.internal.ccvs.core.util;x-friends:="org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh2,org.eclipse.team.cvs.ui"
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.team.core;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.core.filesystem;bundle-version="[1.1.0,2.0.0)",
- com.jcraft.jsch;bundle-version="[0.1.27,2.0.0)",
- org.eclipse.jsch.core;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.core.net;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.equinox.security;bundle-version="[1.0.0,2.0.0)"
-Bundle-ActivationPolicy: lazy
-Import-Package: com.ibm.icu.text,
- com.ibm.icu.util
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/bundles/org.eclipse.team.cvs.core/about.html b/bundles/org.eclipse.team.cvs.core/about.html
deleted file mode 100644
index 071d9d4..0000000
--- a/bundles/org.eclipse.team.cvs.core/about.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 7, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-<h3>Third Party Content</h3>
-
-<p>The Content includes items that have been sourced from third parties as set out below. If you 
-did not receive this Content directly from the Eclipse Foundation, the following is provided 
-for informational purposes only, and you should look to the Redistributor&rsquo;s license for 
-terms and conditions of use.</p>
-
-<h4>Ant 1.7.0</h4>
-<p>The plug-in is based on software developed by The Apache Software Foundation as part of the Ant project.</p>
-
-<p>The class org.eclipse.team.internal.ccvs.core.connection.PServerConnection (&quot;Ant-Derived Work&quot;) in the plug-in JAR is based on Ant code from the file CVSPass.java in the package org.apache.tools.ant.taskdefs.</p>
-
-<p>Your use of the Ant-Derived Work is subject to the terms and conditions of the Apache Software License 2.0.  A copy of the license is contained
-in the file <a href="about_files/asl-v20.txt" target="_blank">asl-v20.txt</a> and is also available at <a href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">http://www.apache.org/licenses/LICENSE-2.0.html</a>.
-
-<p>The names &quot;Ant&quot; and  &quot;Apache Software Foundation&quot; must not be used to endorse or promote products derived from this 
-software without prior written permission.  For written permission, please contact <a href="mailto:apache@apache.org">apache@apache.org</a>.</p>
-
-<p>The Apache attribution <a href="about_files/NOTICE" target="_blank">NOTICE</a> file is included with the Content in accordance with 4d of the Apache License, Version 2.0.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.core/about_files/NOTICE b/bundles/org.eclipse.team.cvs.core/about_files/NOTICE
deleted file mode 100644
index 1fb6dde..0000000
--- a/bundles/org.eclipse.team.cvs.core/about_files/NOTICE
+++ /dev/null
@@ -1,15 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Ant distribution.                      ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   This product includes also software developed by :
-     - the W3C consortium (http://www.w3c.org) ,
-     - the SAX project (http://www.saxproject.org)
-
-   Please read the different LICENSE files present in the root directory of
-   this distribution.
diff --git a/bundles/org.eclipse.team.cvs.core/about_files/asl-v20.txt b/bundles/org.eclipse.team.cvs.core/about_files/asl-v20.txt
deleted file mode 100644
index d645695..0000000
--- a/bundles/org.eclipse.team.cvs.core/about_files/asl-v20.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/bundles/org.eclipse.team.cvs.core/build.properties b/bundles/org.eclipse.team.cvs.core/build.properties
deleted file mode 100644
index 159ea5d..0000000
--- a/bundles/org.eclipse.team.cvs.core/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# Eclipse build contribution
-bin.includes = about.html,\
-               about_files/,\
-               plugin.xml,\
-               plugin.properties,\
-               .,\
-               .options,\
-               META-INF/
-source..=src/
-src.includes=about.html
diff --git a/bundles/org.eclipse.team.cvs.core/doc/hglegal.htm b/bundles/org.eclipse.team.cvs.core/doc/hglegal.htm
deleted file mode 100644
index c598113..0000000
--- a/bundles/org.eclipse.team.cvs.core/doc/hglegal.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="GENERATOR" content="Mozilla/4.73 [en] (Win98; U) [Netscape]">
-   <title>Legal Notices</title>
-</head>
-<body>
-
-<h3>
-<a NAME="Notices"></a>Notices</h3>
-(c) Copyright IBM Corp. 2000, 2001. All Rights Reserved.
-</body>
-</html>
diff --git a/bundles/org.eclipse.team.cvs.core/doc/ngibmcpy.gif b/bundles/org.eclipse.team.cvs.core/doc/ngibmcpy.gif
deleted file mode 100644
index 61cef48..0000000
--- a/bundles/org.eclipse.team.cvs.core/doc/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.team.cvs.core/doc/org_eclipse_team_cvs_core.html b/bundles/org.eclipse.team.cvs.core/doc/org_eclipse_team_cvs_core.html
deleted file mode 100644
index 5426e69..0000000
--- a/bundles/org.eclipse.team.cvs.core/doc/org_eclipse_team_cvs_core.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <meta name="Author" content="Build">
-   <title>Eclipse CVS Core Extension Points</title>
-</head>
-<body link="#0000FF" vlink="#800080">
-
-<center><h1>Eclipse CVS Core</h1></center>
-The extension points declared by this plug-in are for internal use only.
-
-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2002.  All Rights Reserved." BORDER=0></a>
-</body>
-</html>
diff --git a/bundles/org.eclipse.team.cvs.core/plugin.properties b/bundles/org.eclipse.team.cvs.core/plugin.properties
deleted file mode 100644
index bed5d09..0000000
--- a/bundles/org.eclipse.team.cvs.core/plugin.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-providerName=Eclipse.org
-pluginName=CVS Team Provider Core
-cvsNature=CVS Team Nature
-
-# The following 3 strings do not require translation
-Authenticator=Authenticator
-ConnectionMethods=ConnectionMethods
-FileModificationValidator=FileModificationValidator
-ChangeSets=Change Sets
diff --git a/bundles/org.eclipse.team.cvs.core/plugin.xml b/bundles/org.eclipse.team.cvs.core/plugin.xml
deleted file mode 100644
index f563ca4..0000000
--- a/bundles/org.eclipse.team.cvs.core/plugin.xml
+++ /dev/null
@@ -1,243 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    
-<!-- *************** Extension Points **************** -->
-   <extension-point id="authenticator" name="%Authenticator" schema="schema/authenticator.exsd"/>
-   <extension-point id="connectionmethods" name="%ConnectionMethods" schema="schema/connectionmethods.exsd"/>
-   <extension-point id="filemodificationvalidator" name="%FileModificationValidator" schema="schema/filemodificationvalidator.exsd"/>
-
-<!-- *************** Connection Methods **************** -->
-   <extension
-         id="pserver"
-         point="org.eclipse.team.cvs.core.connectionmethods">
-      <adapter>
-         <run
-               class="org.eclipse.team.internal.ccvs.core.connection.PServerConnectionMethod">
-            <parameter
-                  name="trace"
-                  value="false">
-            </parameter>
-         </run>
-      </adapter>
-   </extension>
-   <extension
-         id="ext"
-         point="org.eclipse.team.cvs.core.connectionmethods">
-      <adapter>
-         <run
-               class="org.eclipse.team.internal.ccvs.core.connection.ExtConnectionMethod">
-            <parameter
-                  name="trace"
-                  value="false">
-            </parameter>
-         </run>
-      </adapter>
-   </extension>
-<!-- *************** Repository Provider **************** -->
-   <extension
-         point="org.eclipse.team.core.repository">
-      <repository
-            class="org.eclipse.team.internal.ccvs.core.CVSTeamProvider"
-            fileSystemScheme="cvs"
-            id="org.eclipse.team.cvs.core.cvsnature"
-            metaFilePaths="CVS/Root,CVS/Repository"
-            typeClass="org.eclipse.team.internal.ccvs.core.CVSTeamProviderType">
-      </repository>
-   </extension>
-<!-- *************** Resource patterns ignored by CVS **************** -->
-   <extension
-         point="org.eclipse.team.core.ignore">
-      <ignore
-            enabled="true"
-            pattern="RCS">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern="RCSLOG">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern="SCCS">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern="CVS.adm">
-      </ignore>
-      <ignore
-            enabled="false"
-            pattern="tags">
-      </ignore>
-      <ignore
-            enabled="false"
-            pattern="TAGS">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern=".make.state">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern=".nse_depinfo">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern="*~">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern="#*">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern=".#*">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern=",*">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern="_$*">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern="*$">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern="*.old">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern="*.bak">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern="*.BAK">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern="*.orig">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern="*.rej">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern=".del-*">
-      </ignore>
-      <ignore
-            enabled="false"
-            pattern="*.a">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern="*.olb">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern="*.obj">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern="*.o">
-      </ignore>
-      <ignore
-            enabled="false"
-            pattern="*.so">
-      </ignore>
-      <ignore
-            enabled="false"
-            pattern="*.exe">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern="*.Z">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern="*.elc">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern="*.ln">
-      </ignore>
-      <ignore
-            enabled="true"
-            pattern=".DS_Store">
-      </ignore>
-      <ignore
-            enabled="false"
-            pattern="core">
-      </ignore>
-      <ignore
-            enabled="false"
-            pattern="*.jnilib"/>
-      <ignore
-            enabled="false"
-            pattern="*.sl"/>
-      <ignore
-            enabled="false"
-            pattern="*.dll"/>
-      <ignore
-            enabled="false"
-            pattern="*.bat"/>
-      <ignore
-            enabled="false"
-            pattern="*.com"/>
-      <ignore
-            enabled="true"
-            pattern="*.log"/>
-      <ignore
-            enabled="false"
-            pattern="*.zip"/>
-      <ignore
-            enabled="false"
-            pattern="*.gz"/>
-   </extension>
-
-<!-- ************ File Types *************** -->
-   <extension
-         point="org.eclipse.team.core.fileTypes">
-      <fileTypes
-            type="text"
-            extension="cvsignore">
-      </fileTypes>
-   </extension>
-   <extension
-         point="org.eclipse.core.filesystem.filesystems">
-      <filesystem scheme="cvs">
-         <run class="org.eclipse.team.internal.ccvs.core.filesystem.CVSFileSystem"/>
-      </filesystem>
-   </extension>
-   <extension
-         id="changeSetModel"
-         name="%ChangeSets"
-         point="org.eclipse.core.resources.modelProviders">
-      <modelProvider
-            class="org.eclipse.team.internal.ccvs.core.mapping.ChangeSetModelProvider"/>
-      <extends-model id="org.eclipse.core.resources.modelProvider"/>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.adapters">
-      <factory
-            adaptableType="org.eclipse.team.internal.ccvs.core.mapping.CVSActiveChangeSet"
-            class="org.eclipse.team.internal.ccvs.core.mapping.ChangeSetAdapterFactory">
-         <adapter type="org.eclipse.core.resources.mapping.ResourceMapping"/>
-      </factory>
-      <factory
-            adaptableType="org.eclipse.team.internal.ccvs.core.mapping.CVSCheckedInChangeSet"
-            class="org.eclipse.team.internal.ccvs.core.mapping.ChangeSetAdapterFactory">
-         <adapter type="org.eclipse.core.resources.mapping.ResourceMapping"/>
-      </factory>
-      <factory
-            adaptableType="org.eclipse.team.internal.ccvs.core.mapping.UnassignedDiffChangeSet"
-            class="org.eclipse.team.internal.ccvs.core.mapping.ChangeSetAdapterFactory">
-         <adapter type="org.eclipse.core.resources.mapping.ResourceMapping"/>
-      </factory>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.team.cvs.core/schema/authenticator.exsd b/bundles/org.eclipse.team.cvs.core/schema/authenticator.exsd
deleted file mode 100644
index 7f2bdb1..0000000
--- a/bundles/org.eclipse.team.cvs.core/schema/authenticator.exsd
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.team.cvs.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.team.cvs.core" id="authenticator" name="Authenticator"/>
-      </appInfo>
-      <documentation>
-         This extension point is internal use only
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="authenticator"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="authenticator">
-      <complexType>
-         <sequence>
-            <element ref="run"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="run">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         1.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         This extension point is for internal use only
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2004 IBM Corporation and others.
-All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at &lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.team.cvs.core/schema/connectionmethods.exsd b/bundles/org.eclipse.team.cvs.core/schema/connectionmethods.exsd
deleted file mode 100644
index 95dfea0..0000000
--- a/bundles/org.eclipse.team.cvs.core/schema/connectionmethods.exsd
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.team.cvs.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.team.cvs.core" id="connectionmethods" name="ConnectionMethods"/>
-      </appInfo>
-      <documentation>
-         This extension point allows additional CVS connection methods to be pluged in. It is for internal use.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="adapter"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="adapter">
-      <complexType>
-         <sequence>
-            <element ref="run"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="run">
-      <complexType>
-         <sequence>
-            <element ref="parameter" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  An implementation of &lt;samp&gt;IConnectionMethod&lt;/samp&gt;
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="parameter">
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  This extension point is internal use only
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="value" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         1.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         Following is an example of a connectionmethods extension:
-
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension id=&quot;pserver&quot; point=&quot;org.eclipse.team.cvs.core.connectionmethods&quot;&gt;
-      &lt;adapter&gt;
-         &lt;run class=&quot;org.eclipse.team.internal.ccvs.core.connection.PServerConnectionMethod&quot;&gt;
-            &lt;parameter name=&quot;trace&quot; value=&quot;false&quot;&gt;
-            &lt;/parameter&gt;
-         &lt;/run&gt;
-      &lt;/adapter&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         This extension point is internal use only
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2004 IBM Corporation and others.
-All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at &lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.team.cvs.core/schema/filemodificationvalidator.exsd b/bundles/org.eclipse.team.cvs.core/schema/filemodificationvalidator.exsd
deleted file mode 100644
index 250ce3d..0000000
--- a/bundles/org.eclipse.team.cvs.core/schema/filemodificationvalidator.exsd
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.team.cvs.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.team.cvs.core" id="filemodificationvalidator" name="FileModificationValidator"/>
-      </appInfo>
-      <documentation>
-         This extension point is for internal use only
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="validator"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="validator">
-      <complexType>
-         <sequence>
-            <element ref="run"/>
-         </sequence>
-      </complexType>
-   </element>
-
-   <element name="run">
-      <complexType>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         2.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         This extension point is for internal use only
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2004 IBM Corporation and others.
-All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at &lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSAnnotateBlock.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSAnnotateBlock.java
deleted file mode 100644
index addfbce..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSAnnotateBlock.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Model for a CVS Annotate block.
- */
-public class CVSAnnotateBlock {
-
-	String revision = ""; //$NON-NLS-1$
-	String user = ""; //$NON-NLS-1$
-	int startLine = 0;
-	int endLine = 0;
-	int sourceOffset = 0;
-	boolean valid = false;
-
-	/**
-	 * @return
-	 */
-	public boolean isValid() {
-		return valid;
-	}
-
-	/**
-	 * @return index of line where source starts.
-	 */
-	public int getSourceOffset() {
-		return sourceOffset;
-	}
-
-	/**
-	 * @return int the last source line of the receiver
-	 */
-	public int getEndLine() {
-		return endLine;
-	}
-
-	/**
-	 * @param line
-	 */
-	public void setEndLine(int line) {
-		endLine = line;
-	}
-
-	/**
-	 * @return the revision the receiver occured in.
-	 */
-	public String getRevision() {
-		return revision;
-	}
-
-	/**
-	 * @return the first source line number of the receiver
-	 */
-	public int getStartLine() {
-		return startLine;
-	}
-
-
-	/**
-	 * Parase a CVS Annotate output line and instantiate the receiver
-	 * @param line a CVS Annotate output line
-	 */
-	public CVSAnnotateBlock(String line, int lineNumber) {
-		super();
-		
-		startLine = lineNumber;
-		endLine = lineNumber;
-		
-		int index = line.indexOf(' ');
-		if (index == -1) {
-			return;
-		}
-		revision = line.substring(0, index);
-		
-		index = line.indexOf("(", index); //$NON-NLS-1$
-		if (index == -1) {
-			return;
-		}
-		
-		int index2 = line.indexOf(' ', index);
-		if (index2 == -1) {
-			return;
-		}
-		
-		user = line.substring(index + 1, index2);
-		
-		index = line.indexOf(":", index2); //$NON-NLS-1$
-		if (index == -1) {
-			return;
-		}
-		
-		sourceOffset = index + 2;
-		valid = true;
-	}
-
-	/**
-	 * Used by the default LabelProvider to display objects in a List View
-	 */
-	public String toString() {
-		int delta = endLine - startLine + 1;
-		String line = CVSMessages.CVSAnnotateBlock_4; 
-		if (delta == 1) {
-			line = CVSMessages.CVSAnnotateBlock_5; 
-		}
-		return NLS.bind(CVSMessages.CVSAnnotateBlock_6, (new Object[] { 
-        	user,
-        	revision,
-        	String.valueOf(delta),
-        	line
-        }));
-	}
-
-	/**
-	 * Answer true if the receiver contains the given line number, false otherwse.
-	 * @param i a line number
-	 * @return true if receiver contains a line number.
-	 */
-	public boolean contains(int i) {
-		return (i >= startLine && i <= endLine);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSCompareSubscriber.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSCompareSubscriber.java
deleted file mode 100644
index 4821c29..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSCompareSubscriber.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.subscribers.*;
-import org.eclipse.team.core.variants.IResourceVariantTree;
-import org.eclipse.team.core.variants.SessionResourceVariantByteStore;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.syncinfo.CVSResourceVariantTree;
-import org.eclipse.team.internal.ccvs.core.syncinfo.MultiTagResourceVariantTree;
-
-/**
- * This subscriber is used when comparing the local workspace with its
- * corresponding remote.
- */
-public class CVSCompareSubscriber extends CVSSyncTreeSubscriber implements ISubscriberChangeListener {
-
-	public static final String ID = "org.eclipse.team.cvs.ui.compare-participant"; //$NON-NLS-1$
-	public static final String ID_MODAL = "org.eclipse.team.cvs.ui.compare-participant-modal"; //$NON-NLS-1$
-	
-	public static final String QUALIFIED_NAME = CVSProviderPlugin.ID + ".compare"; //$NON-NLS-1$
-	private static final String UNIQUE_ID_PREFIX = "compare-"; //$NON-NLS-1$
-	
-	private IResource[] resources;
-	private CVSResourceVariantTree tree;
-	
-	public CVSCompareSubscriber(IResource[] resources, CVSTag tag) {
-		super(getUniqueId(), NLS.bind(CVSMessages.CVSCompareSubscriber_2, new String[] { tag.getName() })); // 
-		this.resources = resources;
-		tree = new CVSResourceVariantTree(new SessionResourceVariantByteStore(), tag, getCacheFileContentsHint());
-		initialize();
-	}
-
-	public CVSCompareSubscriber(IResource[] resources, CVSTag[] tags, String name) {
-		super(getUniqueId(), NLS.bind(CVSMessages.CVSCompareSubscriber_2, new String[] { name })); // 
-		resetRoots(resources, tags);
-		initialize();
-	}
-
-	/**
-	 * @param resources
-	 * @param tags
-	 */
-	public void resetRoots(IResource[] resources, CVSTag[] tags) {
-		if (this.resources != null) {
-			List removed = new ArrayList();
-			for (int i = 0; i < this.resources.length; i++) {
-				IResource resource = this.resources[i];
-				removed.add(new SubscriberChangeEvent(this, ISubscriberChangeEvent.ROOT_REMOVED, resource));
-			}
-			this.resources = new IResource[0];
-			fireTeamResourceChange((ISubscriberChangeEvent[]) removed.toArray(new ISubscriberChangeEvent[removed.size()]));
-			if (tree != null) {
-				tree.dispose();
-				tree = null;
-			}
-		}
-		this.resources = resources;
-		MultiTagResourceVariantTree multiTree = new MultiTagResourceVariantTree(new SessionResourceVariantByteStore(), getCacheFileContentsHint());
-		for (int i = 0; i < tags.length; i++) {
-			multiTree.addResource(resources[i], tags[i]);
-		}
-		tree = multiTree;
-	}
-
-	private void initialize() {
-		CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber().addListener(this);
-	}
-
-	public void dispose() {	
-		CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber().removeListener(this);	
-		tree.dispose();	
-	}
-	
-	private static QualifiedName getUniqueId() {
-		String uniqueId = Long.toString(System.currentTimeMillis());
-		return new QualifiedName(QUALIFIED_NAME, UNIQUE_ID_PREFIX + uniqueId); 
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.CVSSyncTreeSubscriber#getBaseSynchronizationCache()
-	 */
-	protected IResourceVariantTree getBaseTree() {
-		// No base cache needed since it's a two way compare
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.CVSSyncTreeSubscriber#getRemoteSynchronizationCache()
-	 */
-	protected IResourceVariantTree getRemoteTree() {
-		return tree;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.TeamSubscriber#isThreeWay()
-	 */
-	public boolean isThreeWay() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.TeamSubscriber#roots()
-	 */
-	public IResource[] roots() {
-		return resources;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.ITeamResourceChangeListener#teamResourceChanged(org.eclipse.team.core.subscribers.TeamDelta[])
-	 */
-	public void subscriberResourceChanged(ISubscriberChangeEvent[] deltas) {
-		List outgoingDeltas = new ArrayList(deltas.length);
-		for (int i = 0; i < deltas.length; i++) {
-			ISubscriberChangeEvent delta = deltas[i];
-			if ((delta.getFlags() & ISubscriberChangeEvent.ROOT_REMOVED) != 0) {
-				IResource resource = delta.getResource();
-				outgoingDeltas.addAll(Arrays.asList(handleRemovedRoot(resource)));
-			} else if ((delta.getFlags() & ISubscriberChangeEvent.SYNC_CHANGED) != 0) {
-				IResource resource = delta.getResource();
-				try {
-					if (isSupervised(resource)) {
-						outgoingDeltas.add(new SubscriberChangeEvent(this, delta.getFlags(), resource));
-					}
-				} catch (TeamException e) {
-					// Log and ignore
-					CVSProviderPlugin.log(e);
-				}
-			}
-		}
-		
-		fireTeamResourceChange((SubscriberChangeEvent[]) outgoingDeltas.toArray(new SubscriberChangeEvent[outgoingDeltas.size()]));
-	}
-
-	private SubscriberChangeEvent[] handleRemovedRoot(IResource removedRoot) {
-		// Determine if any of the roots of the compare are affected
-		List removals = new ArrayList(resources.length);
-		for (int j = 0; j < resources.length; j++) {
-			IResource root = resources[j];
-			if (removedRoot.getFullPath().isPrefixOf(root.getFullPath())) {
-				// The root is no longer managed by CVS
-				removals.add(root);
-				try {
-					tree.flushVariants(root, IResource.DEPTH_INFINITE);
-				} catch (TeamException e) {
-					CVSProviderPlugin.log(e);
-				}
-			}
-		}
-		if (removals.isEmpty()) {
-			return new SubscriberChangeEvent[0];
-		}
-		
-		// Adjust the roots of the subscriber
-		List newRoots = new ArrayList(resources.length);
-		newRoots.addAll(Arrays.asList(resources));
-		newRoots.removeAll(removals);
-		resources = (IResource[]) newRoots.toArray(new IResource[newRoots.size()]);
-		 
-		// Create the deltas for the removals
-		SubscriberChangeEvent[] deltas = new SubscriberChangeEvent[removals.size()];
-		for (int i = 0; i < deltas.length; i++) {
-			deltas[i] = new SubscriberChangeEvent(this, ISubscriberChangeEvent.ROOT_REMOVED, (IResource)removals.get(i));
-		}
-		return deltas;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.TeamSubscriber#isSupervised(org.eclipse.core.resources.IResource)
-	 */
-	public boolean isSupervised(IResource resource) throws TeamException {
-		if (super.isSupervised(resource)) {
-			if (!resource.exists() && !getRemoteTree().hasResourceVariant(resource)) {
-				// Exclude conflicting deletions
-				return false;
-			}
-			if (this.resources != null) {
-				for (int i = 0; i < resources.length; i++) {
-					IResource root = resources[i];
-					if (root.getFullPath().isPrefixOf(resource.getFullPath())) {
-						return true;
-					}
-				}
-			}
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.CVSSyncTreeSubscriber#getCacheFileContentsHint()
-	 */
-	protected boolean getCacheFileContentsHint() {
-		return true;
-	}
-	
-	public CVSTag getTag() {
-		return tree.getTag(ResourcesPlugin.getWorkspace().getRoot());
-	}
-		
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object other) {
-		if(this == other) return true;
-		if(! (other instanceof CVSCompareSubscriber)) return false;
-		CVSCompareSubscriber s = (CVSCompareSubscriber)other;
-		CVSResourceVariantTree tree1 = (CVSResourceVariantTree)getRemoteTree();
-		CVSResourceVariantTree tree2 = (CVSResourceVariantTree)s.getRemoteTree();
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		CVSTag tag1 = tree1.getTag(root);
-		CVSTag tag2 = tree2.getTag(root);
-		if (tag1 == null || tag2 == null) return false;
-		return tag1.equals(tag2) && rootsEqual(s);		
-	}
-	
-	/**
-	 * Prime the remote tree with the sync info from the local workspace.
-	 * This is done to ensure that we don't get a huge nimber of outgoing
-	 * changes before the first refresh.
-	 *
-	 */
-	public void primeRemoteTree() throws CVSException {
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource);
-			cvsResource.accept(new ICVSResourceVisitor() {
-				public void visitFile(ICVSFile file) throws CVSException {
-					byte[] bytes = file.getSyncBytes();
-					if (bytes != null) {
-						try {
-							tree.getByteStore().setBytes(file.getIResource(), bytes);
-						} catch (TeamException e) {
-							throw CVSException.wrapException(e);
-						}
-					}
-				}
-				public void visitFolder(ICVSFolder folder) throws CVSException {
-					// No need to copy sync info for folders since
-					// CVS resource variant tree will get missing
-					// folder info from the local resources
-					folder.acceptChildren(this);
-				}
-			});
-		}
-	}
-
-    /**
-     * Return the tag associated with the given root resource
-     * or <code>null</code> if there is only a single tag
-     * for the subscriber.
-     * @param root the root resource
-     * @return the tag associated with the given root resource
-     */
-    public CVSTag getTag(IResource root) {
-        return tree.getTag(root);
-    }
-    
-    /**
-     * Return <code>true</code> if the tag against which each
-     * root is compared may differ. 
-     * @return whether the tag on each root may differ.
-     */
-    public boolean isMultipleTagComparison() {
-        return getTag() == null;
-    }
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSCoreFileModificationValidator.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSCoreFileModificationValidator.java
deleted file mode 100644
index 1d5e6a3..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSCoreFileModificationValidator.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.team.FileModificationValidationContext;
-import org.eclipse.core.resources.team.FileModificationValidator;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-
-/**
- * Core validator that will load the UI validator only if a prompt is needed
- */
-public class CVSCoreFileModificationValidator extends FileModificationValidator implements ICVSFileModificationValidator {
-    
-    FileModificationValidator uiValidator;
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.resources.team.FileModificationValidator#validateEdit(org.eclipse.core.resources.IFile[], org.eclipse.core.resources.team.FileModificationValidationContext)
-     */
-    public IStatus validateEdit(IFile[] files, FileModificationValidationContext context) {
-	    IFile[] unmanagedReadOnlyFiles = getUnmanagedReadOnlyFiles(files);
-	    if (unmanagedReadOnlyFiles.length > 0) {
-	        IStatus status = setWritable(unmanagedReadOnlyFiles);
-	        if (!status.isOK()) {
-	            return status;
-	        }
-	    }
-		IFile[] readOnlyFiles = getManagedReadOnlyFiles(files);
-		if (readOnlyFiles.length == 0) return Status.OK_STATUS;
-		return edit(readOnlyFiles, context);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.resources.IFileModificationValidator#validateSave(org.eclipse.core.resources.IFile)
-     */
-    public IStatus validateSave(IFile file) {
-		if (!needsCheckout(file)) {
-		    if (file.isReadOnly()) {
-		        setWritable(new IFile[] { file } );
-		    }
-		    return Status.OK_STATUS;
-		}
-		return edit(new IFile[] {file}, (FileModificationValidationContext)null);
-    }
-
-    /**
-     * Method for editing a set of files. Is overriden by the
-     * UI to prompt the user. Default behavior is to try and load the
-     * UI validator and, failing that, to edit without 
-     * prompting.
-     * @param readOnlyFiles
-     * @param context
-     * @return
-     */
-    protected IStatus edit(IFile[] readOnlyFiles, FileModificationValidationContext context) {
-        FileModificationValidator override = getUIValidator();
-        if (override != null) {
-            return override.validateEdit(readOnlyFiles, context);
-        } else {
-	        performEdit(readOnlyFiles);
-	        return Status.OK_STATUS;
-        }
-    }
-
-    private FileModificationValidator getUIValidator() {
-        synchronized(this) {
-	        if (uiValidator == null) {
-	            uiValidator = getPluggedInValidator();
-	        }
-        }
-        return uiValidator;
-    }
-    
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFileModificationValidator#validateMoveDelete(org.eclipse.core.resources.IFile[], org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus validateMoveDelete(IFile[] files, IProgressMonitor monitor) {
-		IFile[] readOnlyFiles = getManagedReadOnlyFiles(files);
-		if (readOnlyFiles.length == 0) return Status.OK_STATUS;
-
-		performEdit(readOnlyFiles);
-		return Status.OK_STATUS;
-	}
-	
-    /*
-     * Perform the headless edit check in the background.
-     * The user will be notified of any errors that occurred.
-     */
-	protected void performEdit(final IFile[] readOnlyFiles) {
-        setWritable(readOnlyFiles);
-        Job job = new Job(CVSMessages.CVSCoreFileModificationValidator_editJob) {
-            protected IStatus run(IProgressMonitor monitor) {
-                try {
-                    performEdit(readOnlyFiles, monitor);
-                } catch (CVSException e) {
-                    return e.getStatus();
-                }
-                return Status.OK_STATUS;
-            }          
-        };
-        scheduleEditJob(job);
-    }
-
-    protected void scheduleEditJob(Job job) {
-        job.schedule();
-    }
-
-    protected CVSTeamProvider getProvider(IFile[] files) {
-		CVSTeamProvider provider = (CVSTeamProvider)RepositoryProvider.getProvider(files[0].getProject(), CVSProviderPlugin.getTypeId());
-		return provider;
-	}
-	
-	protected void performEdit(IFile[] files, IProgressMonitor monitor) throws CVSException {
-		getProvider(files).edit(files, false /* recurse */, true /* notify server */, true /* notify for writtable files */, ICVSFile.NO_NOTIFICATION, monitor);
-	}
-	
-	private boolean needsCheckout(IFile file) {
-		try {
-			if (file.isReadOnly()) {
-				ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor(file);
-				boolean managed = cvsFile.isManaged();
-                return managed;
-			}
-		} catch (CVSException e) {
-			// Log the exception and assume we don't need a checkout
-			CVSProviderPlugin.log(e);
-		}
-		return false;
-	}
-	
-	protected IStatus setWritable(final IFile[] files) {
-        for (int i = 0; i < files.length; i++) {
-        	IFile file = files[i];
-        	ResourceAttributes attributes = file.getResourceAttributes();
-        	if (attributes != null) {
-        		attributes.setReadOnly(false);
-        	}
-        	try {
-        		file.setResourceAttributes(attributes);
-        	} catch (CoreException e) {
-        		return CVSException.wrapException(e).getStatus();
-        	}
-        }
-        return Status.OK_STATUS;
-    }
-    
-	private IFile[] getManagedReadOnlyFiles(IFile[] files) {
-		List readOnlys = new ArrayList();
-		for (int i = 0; i < files.length; i++) {
-			IFile iFile = files[i];
-			if (needsCheckout(iFile)) {
-				readOnlys.add(iFile);
-			}
-		}
-		return (IFile[]) readOnlys.toArray(new IFile[readOnlys.size()]);
-	}
-	
-    protected IFile[] getUnmanagedReadOnlyFiles(IFile[] files) {
-		List readOnlys = new ArrayList();
-		for (int i = 0; i < files.length; i++) {
-			IFile iFile = files[i];
-			if (iFile.isReadOnly() && !needsCheckout(iFile)) {
-				readOnlys.add(iFile);
-			}
-		}
-		return (IFile[]) readOnlys.toArray(new IFile[readOnlys.size()]);
-    }
-    
-	private static FileModificationValidator getPluggedInValidator() {
-		IExtension[] extensions = Platform.getExtensionRegistry().getExtensionPoint(CVSProviderPlugin.ID, CVSProviderPlugin.PT_FILE_MODIFICATION_VALIDATOR).getExtensions();
-		if (extensions.length == 0)
-			return null;
-		IExtension extension = extensions[0];
-		IConfigurationElement[] configs = extension.getConfigurationElements();
-		if (configs.length == 0) {
-			CVSProviderPlugin.log(IStatus.ERROR, NLS.bind("The CVS file modification validator is missing from extension {0}", (new Object[] {extension.getUniqueIdentifier()})), null);//$NON-NLS-1$
-			return null;
-		}
-		try {
-			IConfigurationElement config = configs[0];
-			return (FileModificationValidator) config.createExecutableExtension("run");//$NON-NLS-1$
-		} catch (CoreException ex) {
-			CVSProviderPlugin.log(IStatus.ERROR, NLS.bind("The CVS file modification validator registered as ID {0} could not be instantiated", (new Object[] {extension.getUniqueIdentifier()})), ex);//$NON-NLS-1$
-			return null;
-		}
-	}
-    
-    public ISchedulingRule validateEditRule(CVSResourceRuleFactory factory, IResource[] resources) {
-        FileModificationValidator override = getUIValidator();
-        if (override instanceof CVSCoreFileModificationValidator && override != this) {
-            CVSCoreFileModificationValidator ui = (CVSCoreFileModificationValidator) override;
-            return ui.validateEditRule(factory, resources);
-        }
-        return internalValidateEditRule(factory, resources);
-    }
-
-    protected final ISchedulingRule internalValidateEditRule(CVSResourceRuleFactory factory, IResource[] resources) {
-        if (resources.length == 0)
-            return null;
-        //optimize rule for single file
-        if (resources.length == 1)
-            return isReadOnly(resources[0]) ? factory.getParent(resources[0]) : null;
-        //need a lock on the parents of all read-only files
-        HashSet rules = new HashSet();
-        for (int i = 0; i < resources.length; i++)
-            if (isReadOnly(resources[i]))
-                rules.add(factory.getParent(resources[i]));
-        return createSchedulingRule(rules);
-    }
-
-    protected ISchedulingRule createSchedulingRule(Set rules) {
-        if (rules.isEmpty())
-            return null;
-        if (rules.size() == 1)
-            return (ISchedulingRule) rules.iterator().next();
-        ISchedulingRule[] ruleArray = (ISchedulingRule[]) rules
-                .toArray(new ISchedulingRule[rules.size()]);
-        return new MultiRule(ruleArray);
-    }
-    
-    protected final boolean isReadOnly(IResource resource) {
-        ResourceAttributes a = resource.getResourceAttributes();
-        if (a != null) {
-            return a.isReadOnly();
-        }
-        return false;
-    }
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSException.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSException.java
deleted file mode 100644
index 3bd1966..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSException.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.TeamException;
-
-/**
- * A checked expection representing a failure in the CVS plugin.
- * <p>
- * CVS exceptions contain a status object describing the cause of 
- * the exception.
- * </p>
- *
- * @see IStatus
- */
-public class CVSException extends TeamException {
-
-	private static final long serialVersionUID = 1L;
-
-    public CVSException(CoreException e) {
-    	super(e);
-	}
-
-	public CVSException(String message) {
-		this(new CVSStatus(IStatus.ERROR, message));
-	}
-    
-	public CVSException(IStatus status) {
-		super(status);
-	}
-
-	/*
-	 * Static helper methods for creating exceptions
-	 */
-	public static CVSException wrapException(IResource resource, String message, IOException e) {
-		return new CVSException(new CVSStatus(IStatus.ERROR, IO_FAILED, message, e, resource));
-	}
-
-	/*
-	 * Static helper methods for creating exceptions
-	 */
-	public static CVSException wrapException(IResource resource, String message, CoreException e) {
-		return new CVSException(new CVSStatus(IStatus.ERROR, e.getStatus().getCode(), message, e, resource));
-	}
-
-	/*
-	 * Static helper methods for creating exceptions
-	 */
-	public static CVSException wrapException(Exception e) {
-		Throwable t = e;
-		if (e instanceof InvocationTargetException) {
-			Throwable target = ((InvocationTargetException) e).getTargetException();
-			if (target instanceof CVSException) {
-				return (CVSException) target;
-			}
-			t = target;
-		}
-		//TODO: fix the caller to include a resource
-		//TODO: fix the caller to setup the error code
-		return new CVSException(new CVSStatus(IStatus.ERROR, UNABLE, t.getMessage() != null ? t.getMessage() : "", t, (IResource)null)); //$NON-NLS-1$
-	}
-	
-	public static CVSException wrapException(CoreException e) {
-		if (e instanceof CVSException) { 
-			return (CVSException)e;
-		}
-		return new CVSException(e);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSubscriber.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSubscriber.java
deleted file mode 100644
index ca52687..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSubscriber.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.subscribers.*;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.synchronize.SyncInfoFilter;
-import org.eclipse.team.core.variants.*;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFile;
-import org.eclipse.team.internal.ccvs.core.syncinfo.CVSResourceVariantTree;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-/**
- * A CVSMergeSubscriber is responsible for maintaining the remote trees for a merge into
- * the workspace. The remote trees represent the CVS revisions of the start and end
- * points (version or branch) of the merge.
- * 
- * This subscriber stores the remote handles in the resource tree sync info slot. When
- * the merge is cancelled this sync info is cleared.
- * 
- * A merge can persist between workbench sessions and thus can be used as an
- * ongoing merge.
- * 
- * TODO: Is the merge subscriber interested in workspace sync info changes?
- * TODO: Do certain operations (e.g. replace with) invalidate a merge subscriber?
- * TODO: How to ensure that sync info is flushed when merge roots are deleted?
- */
-public class CVSMergeSubscriber extends CVSSyncTreeSubscriber implements IResourceChangeListener, ISubscriberChangeListener {
-
-	private final class MergeBaseTree extends CVSResourceVariantTree {
-		// The merge synchronizer has been kept so that those upgrading
-		// from 3.0 M8 to 3.0 M9 so not lose there ongoing merge state
-		private PersistantResourceVariantByteStore mergedSynchronizer;
-		private MergeBaseTree(ResourceVariantByteStore cache, CVSTag tag, boolean cacheFileContentsHint, String syncKeyPrefix) {
-			super(cache, tag, cacheFileContentsHint);
-			mergedSynchronizer = new PersistantResourceVariantByteStore(new QualifiedName(SYNC_KEY_QUALIFIER, syncKeyPrefix + "0merged")); //$NON-NLS-1$
-		}
-		public IResource[] refresh(IResource[] resources, int depth, IProgressMonitor monitor) throws TeamException {
-			// Only refresh the base of a resource once as it should not change
-			List unrefreshed = new ArrayList();
-			for (int i = 0; i < resources.length; i++) {
-				IResource resource = resources[i];
-				if (!hasResourceVariant(resource)) {
-					unrefreshed.add(resource);
-				}
-			}
-			if (unrefreshed.isEmpty()) {
-				monitor.done();
-				return new IResource[0];
-			}
-			IResource[] refreshed = super.refresh((IResource[]) unrefreshed.toArray(new IResource[unrefreshed.size()]), depth, monitor);
-			return refreshed;
-		}
-		public IResourceVariant getResourceVariant(IResource resource) throws TeamException {
-			// Use the merged bytes for the base if there are some
-			byte[] mergedBytes = mergedSynchronizer.getBytes(resource);
-			if (mergedBytes != null) {
-				byte[] parentBytes = getByteStore().getBytes(resource.getParent());
-				if (parentBytes != null) {
-					return RemoteFile.fromBytes(resource, mergedBytes, parentBytes);
-				}
-			}
-			return super.getResourceVariant(resource);
-		}
-		
-		/**
-		 * Mark the resource as merged by making it's base equal the remote
-		 */
-		public void merged(IResource resource, byte[] remoteBytes) throws TeamException {
-			if (remoteBytes == null) {
-				getByteStore().deleteBytes(resource);
-			} else {
-				getByteStore().setBytes(resource, remoteBytes);
-			}
-		}
-		
-		/**
-		 * Return true if the remote has already been merged
-		 * (i.e. the base equals the remote).
-		 */
-		public boolean isMerged(IResource resource, byte[] remoteBytes) throws TeamException {
-			byte[] mergedBytes = getByteStore().getBytes(resource);
-			return Util.equals(mergedBytes, remoteBytes);
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.team.internal.ccvs.core.syncinfo.CVSResourceVariantTree#dispose()
-		 */
-		public void dispose() {
-			mergedSynchronizer.dispose();
-			super.dispose();
-		}
-	}
-
-	public static final String ID = "org.eclipse.team.cvs.ui.cvsmerge-participant"; //$NON-NLS-1$
-	public static final String ID_MODAL = "org.eclipse.team.cvs.ui.cvsmerge-participant-modal"; //$NON-NLS-1$
-	private static final String UNIQUE_ID_PREFIX = "merge-"; //$NON-NLS-1$
-	
-	private CVSTag start, end;
-	private List roots;
-	private CVSResourceVariantTree remoteTree;
-	private MergeBaseTree baseTree;
-	
-	public CVSMergeSubscriber(IResource[] roots, CVSTag start, CVSTag end) {		
-		this(getUniqueId(), roots, start, end);
-	}
-
-	private static QualifiedName getUniqueId() {
-		String uniqueId = Long.toString(System.currentTimeMillis());
-		return new QualifiedName(ID, "CVS" + UNIQUE_ID_PREFIX + uniqueId); //$NON-NLS-1$
-	}
-	
-	public CVSMergeSubscriber(QualifiedName id, IResource[] roots, CVSTag start, CVSTag end) {		
-		super(id, NLS.bind(CVSMessages.CVSMergeSubscriber_2, new String[] { start.getName(), end.getName() }));
-		this.start = start;
-		this.end = end;
-		this.roots = new ArrayList(Arrays.asList(roots));
-		initialize();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.CVSWorkspaceSubscriber#initialize()
-	 */
-	private void initialize() {			
-		QualifiedName id = getId();
-		String syncKeyPrefix = id.getLocalName();
-		PersistantResourceVariantByteStore remoteSynchronizer = new PersistantResourceVariantByteStore(new QualifiedName(SYNC_KEY_QUALIFIER, syncKeyPrefix + end.getName()));
-		remoteTree = new CVSResourceVariantTree(remoteSynchronizer, getEndTag(), getCacheFileContentsHint()) {
-			public IResource[] refresh(IResource[] resources, int depth, IProgressMonitor monitor) throws TeamException {
-				// Override refresh to compare file contents
-				monitor.beginTask(null, 100);
-				try {
-					IResource[] refreshed = super.refresh(resources, depth, monitor);
-					compareWithRemote(refreshed, Policy.subMonitorFor(monitor, 50));
-					return refreshed;
-				} finally {
-					monitor.done();
-				}
-			}
-		};
-		PersistantResourceVariantByteStore baseSynchronizer = new PersistantResourceVariantByteStore(new QualifiedName(SYNC_KEY_QUALIFIER, syncKeyPrefix + start.getName()));
-		baseTree = new MergeBaseTree(baseSynchronizer, getStartTag(), getCacheFileContentsHint(), syncKeyPrefix);
-		
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
-		CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber().addListener(this);
-	}
-
-	protected SyncInfo getSyncInfo(IResource local, IResourceVariant base, IResourceVariant remote) throws TeamException {
-		CVSMergeSyncInfo info = new CVSMergeSyncInfo(local, base, remote, this);
-		info.init();
-		return info;
-	}
-
-	public void merged(IResource[] resources) throws TeamException {
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			internalMerged(resource);
-		}
-		fireTeamResourceChange(SubscriberChangeEvent.asSyncChangedDeltas(this, resources));
-	}
-	
-	private void internalMerged(IResource resource) throws TeamException {
-		byte[] remoteBytes = getRemoteByteStore().getBytes(resource);
-		baseTree.merged(resource, remoteBytes);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.sync.TeamSubscriber#cancel()
-	 */
-	public void cancel() {	
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);		
-		remoteTree.dispose();
-		baseTree.dispose();	
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.sync.TeamSubscriber#roots()
-	 */
-	public IResource[] roots() {
-		return (IResource[]) roots.toArray(new IResource[roots.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.sync.TeamSubscriber#isSupervised(org.eclipse.core.resources.IResource)
-	 */
-	public boolean isSupervised(IResource resource) throws TeamException {
-		return getBaseTree().hasResourceVariant(resource) || getRemoteTree().hasResourceVariant(resource); 
-	}
-
-	public CVSTag getStartTag() {
-		return start;
-	}
-	
-	public CVSTag getEndTag() {
-		return end;
-	}
-
-	/*
-	 * What to do when a root resource for this merge changes?
-	 * Deleted, Move, Copied
-	 * Changed in a CVS way (tag changed, revision changed...)
-	 * Contents changed by user
-	 * @see IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		try {
-			IResourceDelta delta = event.getDelta();
-			if(delta != null) {
-				delta.accept(new IResourceDeltaVisitor() {
-				public boolean visit(IResourceDelta delta) throws CoreException {
-					IResource resource = delta.getResource();
-			
-					if (resource.getType()==IResource.PROJECT) {
-						IProject project = (IProject)resource;
-						if (!project.isAccessible()) {
-							return false;
-						}
-						if ((delta.getFlags() & IResourceDelta.OPEN) != 0) {
-							return false;
-						} 
-						if (RepositoryProvider.getProvider(project, CVSProviderPlugin.getTypeId()) == null) {
-							return false;
-						}
-					}
-			
-					if (roots.contains(resource)) {
-						if (delta.getKind() == IResourceDelta.REMOVED || delta.getKind() == IResourceDelta.MOVED_TO) {
-							cancel();
-						}
-						// stop visiting children
-						return false;
-					}
-					// keep visiting children
-					return true;
-				}
-			});
-			}
-		} catch (CoreException e) {
-			CVSProviderPlugin.log(e.getStatus());
-		}
-	}
-
-	/**
-	 * Return whether the given resource has been merged with its 
-	 * corresponding remote.
-	 * @param resource the local resource
-	 * @return boolean
-	 * @throws TeamException
-	 */
-	public boolean isMerged(IResource resource) throws TeamException {
-		byte[] remoteBytes = getRemoteByteStore().getBytes(resource);
-		return baseTree.isMerged(resource, remoteBytes);
-	}
-
-	/* 
-	 * Currently only the workspace subscriber knows when a project has been deconfigured. We will listen for these events
-	 * and remove the root then forward to merge subscriber listeners.
-	 * (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.ITeamResourceChangeListener#teamResourceChanged(org.eclipse.team.core.subscribers.TeamDelta[])
-	 */
-	public void subscriberResourceChanged(ISubscriberChangeEvent[] deltas) {		
-		for (int i = 0; i < deltas.length; i++) {
-			ISubscriberChangeEvent delta = deltas[i];
-			switch(delta.getFlags()) {
-				case ISubscriberChangeEvent.ROOT_REMOVED:
-					IResource resource = delta.getResource();
-					if(roots.remove(resource))	{
-						fireTeamResourceChange(new ISubscriberChangeEvent[] {delta});
-					}						
-					break;
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.CVSSyncTreeSubscriber#getBaseSynchronizationCache()
-	 */
-	protected IResourceVariantTree getBaseTree() {
-		return baseTree;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.CVSSyncTreeSubscriber#getRemoteSynchronizationCache()
-	 */
-	protected IResourceVariantTree getRemoteTree() {
-		return remoteTree;
-	}
-	
-	protected  boolean getCacheFileContentsHint() {
-		return true;
-	}
-
-	/*
-	 * Mark as merged any local resources whose contents match that of the remote resource.
-	 */
-	private void compareWithRemote(IResource[] refreshed, IProgressMonitor monitor) throws CVSException, TeamException {
-		// For any remote changes, if the revision differs from the local, compare the contents.
-		if (refreshed.length == 0) return;
-		SyncInfoFilter.ContentComparisonSyncInfoFilter contentFilter =
-			new SyncInfoFilter.ContentComparisonSyncInfoFilter();
-		monitor.beginTask(null, refreshed.length * 100);
-		for (int i = 0; i < refreshed.length; i++) {
-			IResource resource = refreshed[i];
-			if (resource.getType() == IResource.FILE) {
-				ICVSFile local = CVSWorkspaceRoot.getCVSFileFor((IFile)resource);
-				byte[] localBytes = local.getSyncBytes();
-				byte[] remoteBytes = getRemoteByteStore().getBytes(resource);
-				if (remoteBytes != null 
-						&& localBytes != null
-						&& local.exists()
-						&& !ResourceSyncInfo.getRevision(remoteBytes).equals(ResourceSyncInfo.getRevision(localBytes))
-						&& contentFilter.select(getSyncInfo(resource), Policy.subMonitorFor(monitor, 100))) {
-					// The contents are equals so mark the file as merged
-					internalMerged(resource);
-				}
-			}
-		}
-		monitor.done();
-	}
-	
-	
-	private PersistantResourceVariantByteStore getRemoteByteStore() {
-		return (PersistantResourceVariantByteStore)((CVSResourceVariantTree)getRemoteTree()).getByteStore();
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object other) {
-		if(this == other) return true;
-		if(! (other instanceof CVSMergeSubscriber)) return false;
-		CVSMergeSubscriber s = (CVSMergeSubscriber)other;
-		return getEndTag().equals(s.getEndTag()) && 
-			   getStartTag().equals(s.getStartTag()) && rootsEqual(s);		
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSyncInfo.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSyncInfo.java
deleted file mode 100644
index 1662c2e..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSyncInfo.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.subscribers.*;
-import org.eclipse.team.core.synchronize.*;
-import org.eclipse.team.core.variants.*;
-
-public class CVSMergeSyncInfo extends CVSSyncInfo {
-
-	public CVSMergeSyncInfo(IResource local, IResourceVariant base, IResourceVariant remote, Subscriber subscriber) {
-		super(local, base, remote, subscriber);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.CVSSyncInfo#handleDeletionConflicts(int)
-	 */
-	protected int handleDeletionConflicts(int kind) {
-		// (see bug 40053).
-		if(kind == (SyncInfo.CONFLICTING | SyncInfo.DELETION | SyncInfo.PSEUDO_CONFLICT)) {
-			return SyncInfo.IN_SYNC;
-		}
-		return kind;
-	}
-
-	protected int calculateKind() throws TeamException {
-		// Report merged resources as in-sync
-		if (((CVSMergeSubscriber)getSubscriber()).isMerged(getLocal())) {
-			return IN_SYNC;
-		}
-		
-		int kind = super.calculateKind();
-		
-		// Report outgoing resources as in-sync
-		if((kind & DIRECTION_MASK) == OUTGOING) {
-			return IN_SYNC;
-		}
-		
-		return kind;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.CVSSyncInfo#makeOutgoing(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus makeOutgoing(IProgressMonitor monitor) throws TeamException {
-		// Make the resource outgoing by marking it as merged with the subscriber
-		CVSMergeSubscriber subscriber = (CVSMergeSubscriber)getSubscriber();
-		subscriber.merged(new IResource[] {getLocal() });
-		return Status.OK_STATUS;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMessages.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMessages.java
deleted file mode 100644
index 9397ebc..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMessages.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-import org.eclipse.osgi.util.NLS;
-
-public class CVSMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.team.internal.ccvs.core.messages";//$NON-NLS-1$
-	public static String CVSResourceVariantTree_GettingSyncInfoError;
-	public static String FolderSyncInfo_InvalidSyncInfoBytes;
-	public static String LogEntry_0;
-	public static String ok;
-	public static String AbstractStructureVisitor_sendingFolder;
-	public static String AbstractStructureVisitor_sendingFile;
-	public static String AbstractStructureVisitor_noRemote;
-
-	public static String CVSAuthenticationException_detail;
-	public static String CVSCommunicationException_io;
-	public static String CVSCommunicationException_interruptCause;
-	public static String CVSCommunicationException_interruptSolution;
-	public static String CVSCommunicationException_alternateInterruptCause;
-	public static String CVSCommunicationException_alternateInterruptSolution;
-	public static String CVSStatus_messageWithRoot;
-
-	public static String CVSTag_nullName;
-	public static String CVSTag_emptyName;
-	public static String CVSTag_beginName;
-	public static String CVSTag_badCharName;
-
-	public static String CVSWorkspaceRoot_notCVSFolder;
-
-	public static String java_io_IOException;
-	public static String java_io_EOFException;
-	public static String java_io_FileNotFoundException;
-	public static String java_io_InterruptedIOException;
-	public static String java_net_UnknownHostException;
-	public static String java_net_ConnectException;
-	public static String java_net_SocketException;
-	public static String java_net_NoRouteToHostException;
-	
-	public static String Connection_cannotClose;
-	public static String Connection_readUnestablishedConnection;
-	public static String Connection_writeUnestablishedConnection;
-	public static String Connection_0;
-	public static String PrepareForReplaceVisitor_DeletedFileWithoutHistoryCannotBeRestoredWhileRevertToBase;
-	public static String PrepareForReplaceVisitor_FileCannotBeReplacedWithBase;
-
-	public static String PServerConnection_invalidChars;
-	public static String PServerConnection_loginRefused;
-	public static String PServerConnection_invalidUser;
-	public static String PServerConnection_socket;
-	public static String PServerConnection_connectionRefused;
-	public static String PServerConnection_noResponse;
-	public static String PServerConnection_authenticating;
-
-	public static String CVSProviderPlugin_unknownStateFileVersion;
-
-	public static String CVSProvider_ioException;
-	public static String CVSProvider_errorLoading;
-	public static String CVSProvider_infoMismatch;
-
-	public static String CVSTeamProvider_noFolderInfo;
-	public static String CVSTeamProvider_invalidResource;
-	public static String CVSTeamProvider_typesDiffer;
-	public static String CVSTeamProvider_settingKSubst;
-	public static String CVSTeamProvider_cleanLineDelimitersException;
-	public static String CVSTeamProvider_changingKeywordComment;
-	public static String CVSTeamProvider_errorGettingFetchProperty;
-	public static String CVSTeamProvider_errorSettingFetchProperty;
-	public static String CVSTeamProvider_overlappingRemoteFolder;
-	public static String CVSTeamProvider_overlappingFileDeletion;
-	public static String CVSTeamProvider_errorGettingWatchEdit;
-	public static String CVSTeamProvider_errorSettingWatchEdit;
-	public static String CVSTeamProvider_errorAddingFileToDiff;
-	public static String CVSTeamProvider_updatingFolder;
-    public static String CVSCoreFileModificationValidator_editJob;
-
-	public static String ResourceDeltaVisitor_visitError;
-
-	public static String EclipseResource_invalidResourceClass;
-
-	public static String RemoteResource_invalidOperation;
-	public static String RemoteFolder_invalidChild;
-	public static String RemoteFolder_errorFetchingRevisions;
-	public static String RemoteFolder_errorFetchingMembers;
-	public static String RemoteFolder_doesNotExist;
-
-	public static String RemoteFolderTreeBuilder_buildingBase;
-	public static String RemoteFolderTreeBuilder_0;
-	public static String RemoteFolderTreeBuilder_receivingDelta;
-	public static String RemoteFolderTreeBuilder_receivingRevision;
-	public static String RemoteFolderTreeBuilder_missingParent;
-	public static String RemoteFolderTreeBuild_folderDeletedFromServer;
-
-	public static String Session_badInt;
-	public static String Session_receiving;
-	public static String Session_transfer;
-	public static String Session_transferNoSize;
-	public static String Session_calculatingCompressedSize;
-	public static String Session_0;
-    public static String Session_sending;
-
-	public static String Command_receivingResponses;
-	public static String Command_warnings;
-	public static String Command_serverError;
-	public static String Command_noMoreInfoAvailable;
-	public static String Command_unsupportedResponse;
-	public static String Command_argumentNotManaged;
-	public static String Command_invalidTag;
-	public static String Command_noOpenSession;
-	public static String Command_seriousServerError;
-
-    public static String Add_invalidParent;
-    
-	public static String Commit_syncInfoMissing;
-	public static String Commit_timestampReset;
-
-	public static String Diff_serverError;
-
-	public static String Tag_notVersionOrBranchError;
-
-	public static String ModTimeHandler_invalidFormat;
-	public static String UpdateListener_0;
-	public static String RemovedHandler_invalid;
-	public static String RemovedHandler_0;
-	public static String CheckInHandler_checkedIn;
-
-	public static String KSubstOption__kb_short;
-	public static String KSubstOption__kb_long;
-	public static String KSubstOption__ko_short;
-	public static String KSubstOption__ko_long;
-	public static String KSubstOption__kkv_short;
-	public static String KSubstOption__kkv_long;
-	public static String KSubstOption__kkvl_short;
-	public static String KSubstOption__kkvl_long;
-	public static String KSubstOption__kv_short;
-	public static String KSubstOption__kv_long;
-	public static String KSubstOption__kk_short;
-	public static String KSubstOption__kk_long;
-	public static String KSubstOption_unknown_short;
-	public static String KSubstOption_unknown_long;
-	
-	public static String AdminKSubstListener_expectedRCSFile;
-	public static String AdminKSubstListener_commandRootNotManaged;
-	public static String AdminKSubstListener_expectedChildOfCommandRoot;
-	public static String CVSRepositoryLocation_locationForm;
-	public static String CVSRepositoryLocation_methods;
-	public static String CVSRepositoryLocation_parsingMethod;
-	public static String CVSRepositoryLocation_parsingUser;
-	public static String CVSRepositoryLocation_parsingPassword;
-	public static String CVSRepositoryLocation_parsingHost;
-	public static String CVSRepositoryLocation_parsingPort;
-	public static String CVSRepositoryLocation_parsingRoot;
-	public static String CVSRepositoryLocation_invalidFormat;
-	public static String CVSRepositoryLocation_openingConnection;
-	public static String CVSRepositoryLocation_usernameRequired;
-    public static String CVSRepositoryLocation_hostRequired;
-    public static String CVSRepositoryLocation_rootRequired;
-    public static String CVSRepositoryLocation_noAuthenticator;
-
-	public static String Util_timeout;
-	public static String Util_processTimeout;
-	public static String Util_truncatedPath;
-
-	public static String ResourceSyncInfo_malformedSyncBytes;
-	public static String Malformed_entry_line___11;
-	public static String Malformed_entry_line__missing_name___12;
-	public static String Malformed_entry_line__missing_revision___13;
-	public static String FolderSyncInfo_Maleformed_root_4;
-	public static String SyncFileWriter_baseNotAvailable;
-	public static String BaseRevInfo_malformedEntryLine;
-
-	public static String EXTServerConnection_invalidPort;
-	public static String EXTServerConnection_varsNotSet;
-	public static String CVSRemoteSyncElement_rootDiffers;
-	public static String CVSRemoteSyncElement_repositoryDiffers;
-	public static String Util_Internal_error__resource_does_not_start_with_root_3;
-
-	public static String CVSProvider_Scrubbing_local_project_1;
-	public static String CVSProvider_Scrubbing_projects_1;
-	public static String CVSProvider_Creating_projects_2;
-
-	public static String EclipseFile_Problem_deleting_resource;
-	public static String EclipseFile_Problem_accessing_resource;
-	public static String EclipseFile_Problem_writing_resource;
-	public static String EclipseFolder_problem_creating;
-	public static String EclipseFolder_isModifiedProgress;
-    public static String EclipseFolder_0;
-
-	public static String EclipseSynchronizer_UpdatingSyncEndOperation;
-	public static String EclipseSynchronizer_UpdatingSyncEndOperationCancelled;
-	public static String EclipseSynchronizer_NotifyingListeners;
-	public static String EclipseSynchronizer_ErrorSettingFolderSync;
-	public static String EclipseSynchronizer_ErrorSettingResourceSync;
-	public static String EclipseSynchronizer_ErrorSettingIgnorePattern;
-	public static String EclipseSynchronizer_ErrorCommitting;
-	public static String EclipseSynchronizer_folderSyncInfoMissing;
-	public static String SyncFileChangeListener_errorSettingTeamPrivateFlag;
-
-	public static String RemoteFile_getContents;
-	public static String RemoteFile_getLogEntries;
-	public static String RemoteFolder_exists;
-	public static String RemoteFolder_getMembers;
-	public static String RemoteModule_getRemoteModules;
-	public static String RemoteModule_invalidDefinition;
-
-	public static String Version_unsupportedVersion;
-	public static String Version_unknownVersionFormat;
-	public static String Version_versionNotValidRequest;
-
-	public static String LogListener_invalidRevisionFormat;
-	public static String NotifyInfo_MalformedLine;
-	public static String NotifyInfo_MalformedNotificationType;
-	public static String NotifyInfo_MalformedNotifyDate;
-
-	public static String ResourceSynchronizer_missingParentBytesOnGet;
-	public static String ResourceSynchronizer_missingParentBytesOnSet;
-	public static String CVSAnnotateBlock_4;
-	public static String CVSAnnotateBlock_5;
-	public static String CVSAnnotateBlock_6;
-	public static String CVSMergeSubscriber_2;
-	public static String CVSProviderPlugin_20;
-	public static String CRLFDetectInputStream_0;
-	public static String DeferredResourceChangeHandler_0;
-	public static String DeferredResourceChangeHandler_1;
-	public static String CVSWorkspaceRoot_11;
-	public static String RemoveEntryHandler_2;
-	public static String ServerMessageLineMatcher_5;
-	public static String ServerMessageLineMatcher_6;
-	public static String ServerMessageLineMatcher_7;
-	public static String CVSSyncInfo_7;
-	public static String CVSSyncInfo_8;
-	public static String CVSSyncInfo_9;
-	public static String CVSSyncInfo_10;
-	public static String CVSCompareSubscriber_2;
-	public static String AnnotateListener_3;
-	public static String AnnotateListener_4;
-	public static String CVSWorkspaceSubscriber_1;
-	public static String CVSWorkspaceSubscriber_2;
-	public static String KnownRepositories_0;
-	public static String CVSRepositoryLocation_72;
-	public static String CVSRepositoryLocation_73;
-	public static String CVSRepositoryLocation_74;
-	public static String CVSRepositoryLocation_75;
-	public static String SyncFileWriter_0;
-	public static String ResponseHandler_0;
-
-	public static String CVSTeamProviderType_0;
-	public static String CVSFileSystem_FetchTree;
-	public static String CVSURI_InvalidURI;
-		
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, CVSMessages.class);
-	}
-
-	public static String CVSFileHistory_0;
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProjectSetCapability.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProjectSetCapability.java
deleted file mode 100644
index e3606bc..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProjectSetCapability.java
+++ /dev/null
@@ -1,840 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Dan Rubel - initial API and implementation
- *     IBM Corporation - maintenance and modifications
- *******************************************************************************/
-
-package org.eclipse.team.internal.ccvs.core;
-
-import java.io.File;
-import java.net.URI;
-import java.util.*;
- import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.MultiRule;
-import org.eclipse.team.core.*;
-import org.eclipse.team.internal.ccvs.core.client.*;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.connection.CVSServerException;
-import org.eclipse.team.internal.ccvs.core.filesystem.CVSURI;
-import org.eclipse.team.internal.ccvs.core.resources.*;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.util.KnownRepositories;
-
-/**
- * An object for serializing and deserializing
- * of references to CVS based projects.  Given a project, it can produce a
- * UTF-8 encoded String which can be stored in a file.
- * Given this String, it can load a project into the workspace.
- * 
- * @since 3.0
- */
-public class CVSProjectSetCapability extends ProjectSetCapability {
-
-	/**
-	 * Override superclass implementation to return an array of project references.
-	 * 
-	 * @see ProjectSetSerializer#asReference(IProject[], ProjectSetSerializationContext, IProgressMonitor)
-	 */
-	public String[] asReference(
-		IProject[] projects,
-		ProjectSetSerializationContext context,
-		IProgressMonitor monitor)
-		throws TeamException {
-		
-		String[] result = new String[projects.length];
-		for (int i = 0; i < projects.length; i++)
-			result[i] = asReference(projects[i]);
-		return result;
-	}
-
-	/**
-	 * Answer a string representing the specified project
-	 * 
-	 * @param project the project (not <code>null</code>)
-	 * @return the project reference (not <code>null</code>)
-	 * @throws CVSException
-	 */
-	private String asReference(IProject project) throws TeamException {	
-		CVSTeamProvider provider = (CVSTeamProvider)RepositoryProvider.getProvider(project);
-		CVSWorkspaceRoot root = provider.getCVSWorkspaceRoot();
-		CVSRepositoryLocation location = CVSRepositoryLocation.fromString(root.getRemoteLocation().getLocation(false));
-		location.setUserMuteable(true);
-		ICVSFolder folder = root.getLocalRoot();
-		return asReference(location, folder, project);
-	}
-	
-	private String asReference(CVSRepositoryLocation location, ICVSFolder folder, IProject project) throws TeamException {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("1.0,"); //$NON-NLS-1$
-
-		String repoLocation = location.getLocation();
-		buffer.append(repoLocation);
-		buffer.append(","); //$NON-NLS-1$
-				
-		FolderSyncInfo syncInfo = folder.getFolderSyncInfo();
-		String module = syncInfo.getRepository();
-		buffer.append(module);
-		buffer.append(","); //$NON-NLS-1$
-				
-		String projectName = project.getName();
-		buffer.append(projectName);
-		CVSTag tag = syncInfo.getTag();
-		if (tag != null) {
-			if (tag.getType() != CVSTag.DATE) {
-				buffer.append(","); //$NON-NLS-1$
-				String tagName = tag.getName();
-				buffer.append(tagName);
-			}
-		}
-		return buffer.toString();
-	}
-
-	/**
-	 * Override superclass implementation to load the referenced projects into the workspace.
-	 * 
-	 * @see org.eclipse.team.core.ProjectSetSerializer#addToWorkspace(java.lang.String[], org.eclipse.team.core.ProjectSetSerializationContext, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IProject[] addToWorkspace(
-		String[] referenceStrings,
-		ProjectSetSerializationContext context,
-		IProgressMonitor monitor)
-		throws TeamException {
-		
-		monitor = Policy.monitorFor(monitor);
-		Policy.checkCanceled(monitor);
-
-		// Confirm the projects to be loaded
-		Map infoMap = new HashMap(referenceStrings.length);
- 		IProject[] projects = asProjects(referenceStrings, infoMap);
-		
- 		projects = confirmOverwrite(context, projects);
- 		if (projects == null)
- 			return new IProject[0];
-
- 		Map alternativeMap = isAdditionalRepositoryInformationRequired(projects, infoMap);
-		if (!alternativeMap.isEmpty()) {
-
-			// display the dialog
-			Map alternativeRespositoriesMap = promptForAdditionRepositoryInformation(alternativeMap);
-			// replace repository location from a project load info with one from the prompter
-			if (alternativeRespositoriesMap != null) {
-				for (Iterator iterator = infoMap.values().iterator(); iterator
-						.hasNext();) {
-					LoadInfo loadInfoForProject = (LoadInfo) iterator.next();
-					ICVSRepositoryLocation selectedAlternativeRepository = (ICVSRepositoryLocation) alternativeRespositoriesMap
-							.get(loadInfoForProject.repositoryLocation);
-					/*
-					 * If selectedAlternativeRepository isn't null use it by
-					 * replacing the one from loadInfoForProject. An opposite
-					 * situation, when selectedAlternativeRepository is null,
-					 * occurs when we haven't asked for any additional
-					 * information, because it's not needed - we've found a
-					 * (single) perfect match. To use it we will need to
-					 * recreate repository location with useKnown flag set to
-					 * true.
-					 */
-					// TODO: final modifier removed for LoadInfo.repositoryLocation 
-					// another solution is to create a copy (clone) of LoadInfo, and replace the whole object
-					loadInfoForProject.repositoryLocation = selectedAlternativeRepository != null ? selectedAlternativeRepository
-							: getRepositoryLocationFromString(
-									loadInfoForProject.repositoryLocation
-											.getLocation(true), true, false);
-				}
-			} else {
-				// operation canceled
-				return new IProject[0];
-			}
-		}
-		
- 		// Load the projects
- 		return checkout(projects, infoMap, monitor);
-
-	}
-
-	/**
-	 * Translate the reference strings into projects to be loaded
-	 * and build a mapping of project to project load information.
-	 * 
-	 * @param referenceStrings project references
-	 * @param infoMap a mapping of project to project load information
-	 * @return the projects to be loaded
-	 */
-	public static IProject[] asProjects(String[] referenceStrings, Map infoMap) throws CVSException {
-		Collection result = new ArrayList();
-		for (int i = 0; i < referenceStrings.length; i++) {
-			StringTokenizer tokenizer = new StringTokenizer(referenceStrings[i], ","); //$NON-NLS-1$
-			String version = tokenizer.nextToken();
-			// If this is a newer version, then ignore it
-			if (!version.equals("1.0")) //$NON-NLS-1$
-				continue;
-			LoadInfo info = new LoadInfo(tokenizer, false, false);
-			IProject proj = info.getProject();
-			result.add(proj);
-			infoMap.put(proj, info);
-		}
-		return (IProject[]) result.toArray(new IProject[result.size()]);
-	}
-
-	/**
-	 * Checkout projects from the CVS repository
-	 * 
-	 * @param projects the projects to be loaded from the repository
-	 * @param infoMap a mapping of project to project load information
-	 * @param monitor the progress monitor (not <code>null</code>)
-	 */
-	private IProject[] checkout(
-		final IProject[] projects,
-		final Map infoMap,
-		IProgressMonitor monitor)
-		throws TeamException {
-		
-		final List result = new ArrayList();
-		try {
-			ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					monitor.beginTask("", 1000 * projects.length); //$NON-NLS-1$
-					try {
-						for (int i = 0; i < projects.length; i++) {
-							if (monitor.isCanceled())
-								break;
-							IProject project = projects[i];
-							LoadInfo info = (LoadInfo) infoMap.get(project);
-							if (info != null && info.checkout(new SubProgressMonitor(monitor, 1000)))
-								result.add(project);
-						}
-					}
-					finally {
-						monitor.done();
-					}
-				}
-			}, getCheckoutRule(projects), IResource.NONE, monitor);
-		} catch (CoreException e) {
-			throw TeamException.asTeamException(e);
-		}
-		return (IProject[])result.toArray(new IProject[result.size()]);
-	}
-
-	/**
-	 * Internal class for adding projects to the workspace 
-	 */
-	static class LoadInfo {
-		// TODO: final modifier removed in order to replace a repository location before check out
-		private ICVSRepositoryLocation repositoryLocation;
-		private final String module;
-		private final IProject project;
-		private final CVSTag tag;
-
-		/**
-		 * Construct a new instance wrapping the specified project reference
-		 * 
-		 * @param tokenizer the StringTokenizer from which all data are extracted
-		 */
-		LoadInfo(StringTokenizer tokenizer, boolean useKnown, boolean addIfNotFound) throws CVSException {
-			String repo = tokenizer.nextToken();
-			repositoryLocation = getRepositoryLocationFromString(repo, useKnown, addIfNotFound);
-			module = tokenizer.nextToken();
-			String projectName = tokenizer.nextToken();
-			project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-			if (tokenizer.hasMoreTokens()) {
-				String tagName = tokenizer.nextToken();
-				tag = new CVSTag(tagName, CVSTag.BRANCH);
-			}
-			else {
-				tag = null;
-			}
-		}
-		
-		LoadInfo(StringTokenizer tokenizer) throws CVSException {
-			this(tokenizer, true, true);
-		}
-
-		/**
-		 * Answer the project referenced by this object.
-		 * The project may or may not already exist.
-		 * 
-		 * @return the project (not <code>null</code>)
-		 */
-		private IProject getProject() {
-			return project;
-		}
-		
-		/**
-		 * Checkout the project specified by this reference.
-		 * 
-		 * @param monitor project monitor
-		 * @return true if loaded, else false
-		 * @throws TeamException
-		 */
-		boolean checkout(IProgressMonitor monitor) throws TeamException {
-			if (repositoryLocation == null)
-				return false;
-			CVSProjectSetCapability.checkout(
-				repositoryLocation,
-				project,
-				module,
-				tag,
-				monitor);
-			return true;
-		}
-	}
-
-	/**
-	 * Extract the CVS repository location information from the specified string
-	 * 
-	 * @param repo the repository location as a string
-	 * @param use a known repository which matches the one from the repo string
-	 * @param addIfNotFound add newLocation to the list of known repositories
-	 * @return the CVS repository information
-	 * @throws CVSException
-	 */
-	private static ICVSRepositoryLocation getRepositoryLocationFromString(String repo, boolean useKnown, boolean addIfNotFound) throws CVSException {
-		// create the new location
-		ICVSRepositoryLocation newLocation = CVSRepositoryLocation.fromString(repo);
-		if (useKnown && (newLocation.getUsername() == null || newLocation.getUsername().length() == 0)) {
-			// look for an existing location that matches
-			ICVSRepositoryLocation[] locations = CVSProviderPlugin.getPlugin().getKnownRepositories();
-			for (int i = 0; i < locations.length; i++) {
-				ICVSRepositoryLocation location = locations[i];
-				if (isMatching(newLocation, location))
-						return location;
-			}
-		}
-		if (addIfNotFound)
-			// No existing location was found so add this location to the list
-			// of known repositories
-			KnownRepositories.getInstance().addRepository(newLocation, true);
-		return newLocation;
-	}
-	
-	/**
-	 * Checkout a CVS module.
-	 * 
-	 * The provided project represents the target project. Any existing contents
-	 * may or may not get overwritten. If project is <code>null</code> then a project
-	 * will be created based on the provided sourceModule. If soureModule is null, 
-	 * then the project name will be used as the module to
-	 * check out. If both are absent, an exception is thrown.
-	 * 
-	 * Resources existing in the local file system at the target project location but now 
-	 * known to the workbench will be overwritten.
-	 * 
-	 * After the successful completion of this method, the project will exist
-	 * and be open.
-	 */
-	public static void checkout(
-		ICVSRepositoryLocation repository,
-		IProject project,
-		String sourceModule,
-		CVSTag tag,
-		IProgressMonitor monitor)
-		throws TeamException {
-		
-		if (sourceModule == null)
-			sourceModule = project.getName();
-		checkout(new ICVSRemoteFolder[] { new RemoteFolder(null, repository, sourceModule, tag)},
-			new IProject[] { project }, monitor);
-	}
-
-	/**
-	 * Checkout the remote resources into the local workspace. Each resource will 
-	 * be checked out into the corresponding project. If the corresponding project is
-	 * null or if projects is null, the name of the remote resource is used as the name of the project.
-	 * 
-	 * Resources existing in the local file system at the target project location but now 
-	 * known to the workbench will be overwritten.
-	 */
-	public static void checkout(final ICVSRemoteFolder[] resources, final IProject[] projects, final IProgressMonitor monitor) throws TeamException {
-		final TeamException[] eHolder = new TeamException[1];
-		try {
-			IWorkspaceRunnable workspaceRunnable = new IWorkspaceRunnable() {
-				public void run(IProgressMonitor pm) throws CoreException {
-					try {
-						pm.beginTask(null, 1000 * resources.length);
-						
-						// Get the location of the workspace root
-						ICVSFolder root = CVSWorkspaceRoot.getCVSFolderFor(ResourcesPlugin.getWorkspace().getRoot());
-						
-						for (int i=0;i<resources.length;i++) {
-							IProject project = null;
-							RemoteFolder resource = (RemoteFolder)resources[i];
-							
-							// Determine the provided target project if there is one
-							if (projects != null) 
-								project = projects[i];
-							
-							// Determine the remote module to be checked out
-							String moduleName;
-							if (resource instanceof RemoteModule) {
-								moduleName = ((RemoteModule)resource).getName();
-							} else {
-								moduleName = resource.getRepositoryRelativePath();
-							}
-							
-							// Open a connection session to the repository
-							ICVSRepositoryLocation repository = resource.getRepository();
-							Session session = new Session(repository, root);
-							try {
-								session.open(Policy.subMonitorFor(pm, 50), false /* read-only */);
-								
-								// Determine the local target projects (either the project provider or the module expansions) 
-								final Set targetProjects = new HashSet();
-								if (project == null) {
-									
-									// Fetch the module expansions
-									IStatus status = Request.EXPAND_MODULES.execute(session, new String[] {moduleName}, Policy.subMonitorFor(pm, 50));
-									if (status.getCode() == CVSStatus.SERVER_ERROR) {
-										throw new CVSServerException(status);
-									}
-									
-									// Convert the module expansions to local projects
-									String[] expansions = session.getModuleExpansions();
-									for (int j = 0; j < expansions.length; j++) {
-										targetProjects.add(ResourcesPlugin.getWorkspace().getRoot().getProject(new Path(null, expansions[j]).segment(0)));
-									}
-									
-								} else {
-									targetProjects.add(project);
-								}
-								
-								// Prepare the target projects to receive resources
-								root.run(new ICVSRunnable() {
-									public void run(IProgressMonitor monitor) throws CVSException {
-										scrubProjects((IProject[]) targetProjects.toArray(new IProject[targetProjects.size()]), monitor);
-									}
-								}, Policy.subMonitorFor(pm, 100));
-							
-								// Build the local options
-								List localOptions = new ArrayList();
-								// Add the option to load into the target project if one was supplied
-								if (project != null) {
-									localOptions.add(Checkout.makeDirectoryNameOption(project.getName()));
-								}
-								// Prune empty directories if pruning enabled
-								if (CVSProviderPlugin.getPlugin().getPruneEmptyDirectories()) 
-									localOptions.add(Command.PRUNE_EMPTY_DIRECTORIES);
-								// Add the options related to the CVSTag
-								CVSTag tag = resource.getTag();
-								if (tag == null) {
-									// A null tag in a remote resource indicates HEAD
-									tag = CVSTag.DEFAULT;
-								}
-								localOptions.add(Update.makeTagOption(tag));
-		
-								// Perform the checkout
-								IStatus status = Command.CHECKOUT.execute(session,
-									Command.NO_GLOBAL_OPTIONS,
-									(LocalOption[])localOptions.toArray(new LocalOption[localOptions.size()]),
-									new String[]{moduleName},
-									null,
-									Policy.subMonitorFor(pm, 800));
-								if (status.getCode() == CVSStatus.SERVER_ERROR) {
-									// XXX Should we cleanup any partially checked out projects?
-									throw new CVSServerException(status);
-								}
-								
-								// Bring the project into the workspace
-								refreshProjects((IProject[])targetProjects.toArray(new IProject[targetProjects.size()]), Policy.subMonitorFor(pm, 100));
-
-							} finally {
-								session.close();
-							}
-						}
-					}
-					catch (TeamException e) {
-						// Pass it outside the workspace runnable
-						eHolder[0] = e;
-					} finally {
-						pm.done();
-					}
-					// CoreException and OperationCanceledException are propagated
-				}
-			};
-			ResourcesPlugin.getWorkspace().run(workspaceRunnable, getCheckoutRule(projects), 0, monitor);
-		} catch (CoreException e) {
-			throw CVSException.wrapException(e);
-		} finally {
-			monitor.done();
-		}		
-		// Re-throw the TeamException, if one occurred
-		if (eHolder[0] != null) {
-			throw eHolder[0];
-		}
-	}
-
-	private static ISchedulingRule getCheckoutRule(final IProject[] projects) {
-		if (projects.length == 1) {
-			return ResourcesPlugin.getWorkspace().getRuleFactory().modifyRule(projects[0]);
-		} else {
-			Set rules = new HashSet();
-			for (int i = 0; i < projects.length; i++) {
-				ISchedulingRule modifyRule = ResourcesPlugin.getWorkspace().getRuleFactory().modifyRule(projects[i]);
-				if (modifyRule instanceof IResource && ((IResource)modifyRule).getType() == IResource.ROOT) {
-					// One of the projects is mapped to a provider that locks the workspace.
-					// Just return the workspace root rule
-					return modifyRule;
-				}
-				rules.add(modifyRule);
-			}
-			return new MultiRule((ISchedulingRule[]) rules.toArray(new ISchedulingRule[rules.size()]));
-		}
-	}
-	/*
-	 * Bring the provied projects into the workspace
-	 */
-	/* internal use only */ static void refreshProjects(IProject[] projects, IProgressMonitor monitor) throws CoreException, TeamException {
-		monitor.beginTask(CVSMessages.CVSProvider_Creating_projects_2, projects.length * 100); 
-		try {
-			for (int i = 0; i < projects.length; i++) {
-				IProject project = projects[i];
-				// Register the project with Team
-				RepositoryProvider.map(project, CVSProviderPlugin.getTypeId());
-				CVSTeamProvider provider = (CVSTeamProvider)RepositoryProvider.getProvider(project, CVSProviderPlugin.getTypeId());
-				provider.setWatchEditEnabled(CVSProviderPlugin.getPlugin().isWatchEditEnabled());
-			}
-			
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	/*
-	 * Delete the target projects before checking out
-	 */
-	/* internal use only */ static void scrubProjects(IProject[] projects, IProgressMonitor monitor) throws CVSException {
-		if (projects == null) {
-			monitor.done();
-			return;
-		}
-		monitor.beginTask(CVSMessages.CVSProvider_Scrubbing_projects_1, projects.length * 100); 
-		try {	
-			for (int i=0;i<projects.length;i++) {
-				IProject project = projects[i];
-				if (project != null && project.exists()) {
-					if(!project.isOpen()) {
-						project.open(Policy.subMonitorFor(monitor, 10));
-					}
-					// We do not want to delete the project to avoid a project deletion delta
-					// We do not want to delete the .project to avoid core exceptions
-					monitor.subTask(CVSMessages.CVSProvider_Scrubbing_local_project_1); 
-					// unmap the project from any previous repository provider
-					if (RepositoryProvider.getProvider(project) != null)
-						RepositoryProvider.unmap(project);
-					IResource[] children = project.members(IContainer.INCLUDE_TEAM_PRIVATE_MEMBERS);
-					IProgressMonitor subMonitor = Policy.subMonitorFor(monitor, 80);
-					subMonitor.beginTask(null, children.length * 100);
-					try {
-						for (int j = 0; j < children.length; j++) {
-							if ( ! children[j].getName().equals(".project")) {//$NON-NLS-1$
-								children[j].delete(true /*force*/, Policy.subMonitorFor(subMonitor, 100));
-							}
-						}
-					} finally {
-						subMonitor.done();
-					}
-				} else if (project != null) {
-					// Make sure there is no directory in the local file system.
-					File location = new File(project.getParent().getLocation().toFile(), project.getName());
-					if (location.exists()) {
-						deepDelete(location);
-					}
-				}
-			}
-		} catch (CoreException e) {
-			throw CVSException.wrapException(e);
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	private static void deepDelete(File resource) {
-		if (resource.isDirectory()) {
-			File[] fileList = resource.listFiles();
-			for (int i = 0; i < fileList.length; i++) {
-				deepDelete(fileList[i]);
-			}
-		}
-		resource.delete();
-	}
-	
-	public String getProject(String referenceString) {
-		//team provider, cvs folder, project name
-		StringTokenizer tokenizer = new StringTokenizer(referenceString, ","); //$NON-NLS-1$
-		String version = tokenizer.nextToken();
-		// If this is a newer version, then ignore it
-		if (!version.equals("1.0")) //$NON-NLS-1$
-			return null;
-		try {
-			LoadInfo info = new LoadInfo(tokenizer);
-			return info.getProject().getName();
-		} catch (CVSException e) {
-			CVSProviderPlugin.log(e);
-			return null;
-		}
-	}
-	
-	public URI getURI(String referenceString) {
-		//team provider, cvs folder, project name
-		StringTokenizer tokenizer = new StringTokenizer(referenceString, ","); //$NON-NLS-1$
-		String version = tokenizer.nextToken();
-		// If this is a newer version, then ignore it
-		if (!version.equals("1.0")) //$NON-NLS-1$
-			return null;
-		try {
-			LoadInfo info = new LoadInfo(tokenizer);
-			CVSURI cvsURI = new CVSURI(info.repositoryLocation,new Path(info.module),info.tag);
-			return cvsURI.toURI();
-		} catch (CVSException e) {
-			CVSProviderPlugin.log(e);
-			return null;
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.ProjectSetCapability#asReference(java.net.URI, java.lang.String)
-	 */
-	public String asReference(URI uri, String projectName) {
-		try {
-			CVSURI cvsURI = CVSURI.fromUri(uri);
-			ICVSRepositoryLocation location = cvsURI.getRepository();
-			ICVSFolder folder = cvsURI.toFolder();
-			IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-			return asReference((CVSRepositoryLocation)location, folder, project);
-		} catch (TeamException e) {
-			CVSProviderPlugin.log(e);
-			return null;
-		}
-	}
-	
-	private static final String EXTSSH = "extssh"; //$NON-NLS-1$
-	private static final String PSERVER = "pserver"; //$NON-NLS-1$
-	private static final String EXT = "ext"; //$NON-NLS-1$
-	
-	/**
-	 * Checks whether a dialog prompting for an addition repository location is
-	 * required.
-	 * 
-	 * @see org.eclipse.team.internal.ccvs.ui.AlternativeRepositoryDialog
-	 * @see org.eclipse.team.internal.ccvs.ui.AlternativeRepositoryTable
-	 * 
-	 * @param projects
-	 *            an array of project to check out a mapping of project to
-	 *            project load information
-	 * 
-	 * @return a mapping of project to project load information
-	 * 
-	 * 
-	 * When non-empty map is returned it will contain a mapping of a repository
-	 * location (<code>ICVSRepositoryLocation</code>) from the project set
-	 * to a list of suggested, known repositories locations (<code>ICVSRepositoryLocation</code>)
-	 * to use. The list contains at least one element - a default location (same
-	 * as in the project set). It's always on the first position in the list.
-	 * It's possible that the repository location is known, but even then we
-	 * still allow user to select a different location. So, the default location
-	 * is optionally followed by compatible locations found. Finally, the last
-	 * positions are held by the rest of known locations.
-	 * 
-	 * <p>
-	 * The order in which items are kept in a list also reflects the way a combo
-	 * box from the Alternative Repository dialog will look like.
-	 * </p>
-	 * <p>
-	 * Structure of the list:
-	 * <ul>
-	 * <li>default location form the project set</li>
-	 * <li>compatible locations (if found) - no particular order here</li>
-	 * <li>other known locations - no particular order here neither</li>
-	 * </ul>
-	 * </p>
-	 * An empty map is returned when the project set file contains all required
-	 * information.
-	 */
-	public static Map isAdditionalRepositoryInformationRequired(
-			IProject[] projects, final Map infoMap) {
-		
-		List confirmedProjectsList = Arrays.asList(projects);
-		
-		if (infoMap == null)
-			return Collections.EMPTY_MAP;
-
-		Set projectSetRepositoryLocations = new HashSet();
-		for (Iterator iterator = infoMap.keySet().iterator(); iterator
-				.hasNext();) {
-			IProject project = (IProject) iterator.next();
-			if (confirmedProjectsList.contains(project)) {
-				LoadInfo loadInfo = (LoadInfo) infoMap.get(project);
-				projectSetRepositoryLocations.add(loadInfo.repositoryLocation);
-			}
-		}
-		
-		// none of projects from project sets is confirmed to overwrite
-		if (projectSetRepositoryLocations.isEmpty()) {
-			return Collections.EMPTY_MAP;
-		}
-		
-		List knownRepositories = Arrays.asList(KnownRepositories.getInstance()
-				.getRepositories());
-		
-		Map resultMap = new HashMap();
-		
-		if (knownRepositories.isEmpty()) {
-			// there are no known repositories so use repository location from
-			// the project set
-			for (Iterator iterator = projectSetRepositoryLocations.iterator(); iterator
-					.hasNext();) {
-				ICVSRepositoryLocation projectSetRepositoryLocation = (ICVSRepositoryLocation) iterator
-						.next();
-				ArrayList alternativeList = new ArrayList(1);
-				alternativeList.add(projectSetRepositoryLocation);
-				resultMap.put(projectSetRepositoryLocation,
-						alternativeList);
-			}
-		} else if (!knownRepositories.containsAll(projectSetRepositoryLocations)) {
-			// not all repositories from the project set are known
-
-			for (Iterator iterator = projectSetRepositoryLocations.iterator(); iterator
-					.hasNext();) {
-				ICVSRepositoryLocation projectSetRepositoryLocation = (ICVSRepositoryLocation) iterator
-						.next();
-				
-				List alternativeList = new ArrayList();
-				List matchingList = new ArrayList();
-				List compatibleList = new ArrayList();
-				for (Iterator iterator2 = knownRepositories.iterator(); iterator2
-						.hasNext();) {
-					ICVSRepositoryLocation knownRepositoryLocation = (ICVSRepositoryLocation) iterator2
-							.next();
-					// there can be more than one perfect matches (i.e. two
-					// known, matching repositories with different user names)
-					if (isMatching(projectSetRepositoryLocation,
-							knownRepositoryLocation)) {
-						matchingList.add(knownRepositoryLocation);
-					} else if (isCompatible(knownRepositoryLocation,
-							projectSetRepositoryLocation, false)) {
-						compatibleList.add(knownRepositoryLocation);
-					} else {
-						alternativeList.add(knownRepositoryLocation);
-					}
-				}
-				
-				// Sort compatible repository locations starting from extssh,
-				// followed by pserver and finally ext.
-				Collections.sort(compatibleList, new Comparator() {
-					public int compare(Object o1, Object o2) {
-						if (o1 instanceof ICVSRepositoryLocation
-								&& o2 instanceof ICVSRepositoryLocation) {
-							ICVSRepositoryLocation rl1 = (ICVSRepositoryLocation) o1;
-							ICVSRepositoryLocation rl2 = (ICVSRepositoryLocation) o2;
-							String name1 = rl1.getMethod().getName();
-							String name2 = rl2.getMethod().getName();
-
-							if (!name1.equals(name2) && isCompatible(rl1, rl2, false)) {
-								if (name1.equals(EXTSSH))
-									return -1;
-								if (name2.equals(EXTSSH))
-									return 1;
-								if (name1.equals(PSERVER))
-									return -1;
-								if (name2.equals(PSERVER))
-									return 1;
-								if (name1.equals(EXT))
-									return -1;
-								if (name2.equals(EXT))
-									return 1;
-							}
-							return name1.compareTo(name2);
-						}
-						return 0;
-					}
-				});
-				
-				// add compatible repos before others
-				alternativeList.addAll(0, compatibleList);
-				
-				if (matchingList.isEmpty()) {
-					// if matching repos found add them first instead of the
-					// repository location from the project set
-					alternativeList.add(0, projectSetRepositoryLocation);
-				} else if (matchingList.size() == 1) {
-					// there is only one matching, known repository
-					// so there is no need to ask for any additional info.
-					// don't add it to the resultMap
-					continue;
-				} else {
-					// there is more than one matching, known repository
-					// ask which one we should use during the import
-					alternativeList.addAll(0, matchingList);
-				}
-
-				resultMap.put(projectSetRepositoryLocation,
-						alternativeList);
-			}
-		} // else { all repositories are known, we don't need to prompt for
-			// additional information }
-		
-		return resultMap;
-	}
-	
-	/**
-	 * Same check as in
-	 * org.eclipse.team.internal.ccvs.ui.CVSProjectPropertiesPage class.
-	 * 
-	 * @see org.eclipse.team.internal.ccvs.ui.CVSProjectPropertiesPage#isCompatible
-	 * 
-	 * @param location1
-	 *            First repository location to match
-	 * @param location2
-	 *            Second repository location to match
-	 * @param equalIsCompatible
-	 *            If equal means compatible
-	 * @return <code>true</code> if given repository location are compatible,
-	 *         otherwise <code>false</code> is returned.
-	 */
-	public static boolean isCompatible(ICVSRepositoryLocation location1,
-			ICVSRepositoryLocation location2, boolean equalIsCompatible) {
-		if (!location1.getHost().equals(location2.getHost()))
-			return false;
-		if (!location1.getRootDirectory().equals(location2.getRootDirectory()))
-			return false;
-		if (!equalIsCompatible && location1.equals(location2))
-			return false;
-		return true;
-	}
-	
-	/**
-	 * Checks whether two repository locations match (i.e. they use the same
-	 * connection method, they refer to the same host and root directory and
-	 * they use the same port)
-	 * .
-	 * @param location1
-	 *            First repository location to match
-	 * @param location2
-	 *            Second repository location to match
-	 * @return <code>true</code> if given repository location are matching
-	 *         according to the rule above, otherwise <code>false</code> is
-	 *         returned.
-	 */
-	public static boolean isMatching(ICVSRepositoryLocation location1,
-			ICVSRepositoryLocation location2) {
-		if (location2.getMethod() == location1.getMethod()
-				&& location2.getHost().equals(location1.getHost())
-				&& location2.getPort() == location1.getPort()
-				&& location2.getRootDirectory().equals(
-						location1.getRootDirectory()))
-			return true;
-		return false;
-	}
-	
-	private Map promptForAdditionRepositoryInformation(Map alternativeMap) {
-		IUserAuthenticator authenticator = CVSRepositoryLocation.getAuthenticator();
-		return authenticator.promptToConfigureRepositoryLocations(alternativeMap);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProviderPlugin.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProviderPlugin.java
deleted file mode 100644
index 2dd5cea..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSProviderPlugin.java
+++ /dev/null
@@ -1,737 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
- 
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.jsch.core.IJSchService;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.Team;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.client.Command;
-import org.eclipse.team.internal.ccvs.core.client.ConsoleListeners;
-import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption;
-import org.eclipse.team.internal.ccvs.core.client.Command.QuietOption;
-import org.eclipse.team.internal.ccvs.core.client.listeners.IConsoleListener;
-import org.eclipse.team.internal.ccvs.core.mapping.CVSActiveChangeSetCollector;
-import org.eclipse.team.internal.ccvs.core.resources.FileModificationManager;
-import org.eclipse.team.internal.ccvs.core.util.*;
-import org.eclipse.team.internal.core.subscribers.ActiveChangeSetManager;
-import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class CVSProviderPlugin extends Plugin {
-	
-	// preference names
-	public static final String READ_ONLY = "cvs.read.only"; //$NON-NLS-1$
-	public static final String ENABLE_WATCH_ON_EDIT = "cvs.watch.on.edit"; //$NON-NLS-1$
-
-	// external command to run for ext connection method
-	public static final String DEFAULT_CVS_RSH = "ssh"; //$NON-NLS-1$
-	// external command parameters
-	public static final String DEFAULT_CVS_RSH_PARAMETERS = "-l {user} {host}"; //$NON-NLS-1$
-	// remote command to run for ext connection method
-	public static final String DEFAULT_CVS_SERVER = "cvs"; //$NON-NLS-1$
-	// determines if empty directories received from the server should be pruned.
-	public static final boolean DEFAULT_PRUNE = true;
-	// determines if the user is prompted for confirmation before moving tags during a tag operation.
-	public static final boolean DEFAULT_CONFIRM_MOVE_TAG = true;
-	// determines if new directories should be discovered during update.
-	public static final boolean DEFAULT_FETCH = true;
-	// communication timeout with the server
-	public static final int DEFAULT_TIMEOUT = 60;
-	// file transfer compression level (0 - 9)
-	public static final int DEFAULT_COMPRESSION_LEVEL = 0;
-	// default text keyword substitution mode
-	public static final KSubstOption DEFAULT_TEXT_KSUBST_OPTION = Command.KSUBST_TEXT_EXPAND;
-
-	// cvs plugin extension points and ids
-	public static final String ID = "org.eclipse.team.cvs.core"; //$NON-NLS-1$
-	
-	public static final QualifiedName CVS_WORKSPACE_SUBSCRIBER_ID = new QualifiedName("org.eclipse.team.cvs.ui.cvsworkspace-participant", "syncparticipant"); //$NON-NLS-1$ //$NON-NLS-2$
-	public static final String PT_AUTHENTICATOR = "authenticator"; //$NON-NLS-1$
-	public static final String PT_CONNECTIONMETHODS = "connectionmethods"; //$NON-NLS-1$
-	public static final String PT_FILE_MODIFICATION_VALIDATOR = "filemodificationvalidator"; //$NON-NLS-1$
-	
-	private QuietOption quietness;
-	private int compressionLevel = DEFAULT_COMPRESSION_LEVEL;
-	private KSubstOption defaultTextKSubstOption = DEFAULT_TEXT_KSUBST_OPTION;
-	private boolean usePlatformLineend = true;
-	private int communicationsTimeout = DEFAULT_TIMEOUT;
-	private boolean pruneEmptyDirectories = DEFAULT_PRUNE;
-	private boolean fetchAbsentDirectories = DEFAULT_FETCH;
-	private boolean replaceUnmanaged = true;
-	private boolean repositoriesAreBinary = false;
-	private String cvsRshCommand = DEFAULT_CVS_RSH;
-	private String cvsRshParameters = DEFAULT_CVS_RSH_PARAMETERS;
-	private String cvsServer = DEFAULT_CVS_SERVER;
-	private boolean determineVersionEnabled = true;
-	
-	private static volatile CVSProviderPlugin instance;
-	
-	// CVS specific resource delta listeners
-	private BuildCleanupListener addDeleteMoveListener;
-	private FileModificationManager fileModificationManager;
-	private SyncFileChangeListener metaFileSyncListener;
-
-	private static final String REPOSITORIES_STATE_FILE = ".cvsProviderState"; //$NON-NLS-1$
-	// version numbers for the state file (a positive number indicates version 1)
-	private static final int REPOSITORIES_STATE_FILE_VERSION_2 = -1;
-	private static List decoratorEnablementListeners = new ArrayList();
-	
-	private CVSWorkspaceSubscriber cvsWorkspaceSubscriber;
-	
-	/**
-	 * The identifier for the CVS nature
-	 * (value <code>"org.eclipse.team.cvs.core.nature"</code>).
-	 * The presence of this nature on a project indicates that it is 
-	 * CVS-capable.
-	 *
-	 * @see org.eclipse.core.resources.IProject#hasNature
-	 */
-	private static final String NATURE_ID = ID + ".cvsnature"; //$NON-NLS-1$
-
-	// File used to idicate if the workbench was shut down properly or not
-	private static final String CRASH_INDICATION_FILE  = ".running"; //$NON-NLS-1$
-	private boolean crash;
-
-    private boolean autoShareOnImport;
-    private boolean useProxy;
-
-    public static final String PROXY_TYPE_HTTP = "HTTP"; //$NON-NLS-1$
-    public static final String PROXY_TYPE_SOCKS5 = "SOCKS5"; //$NON-NLS-1$
-    public static final String HTTP_DEFAULT_PORT = "80"; //$NON-NLS-1$
-    public static final String SOCKS5_DEFAULT_PORT = "1080"; //$NON-NLS-1$
-    
-    private String proxyType;
-    private String proxyHost;
-    private String proxyPort;
-    private boolean useProxyAuth;
-    
-    private CVSActiveChangeSetCollector changeSetManager;
-	private ServiceTracker tracker;
-
-    private static final String INFO_PROXY_USER = "org.eclipse.team.cvs.core.proxy.user"; //$NON-NLS-1$ 
-    private static final String INFO_PROXY_PASS = "org.eclipse.team.cvs.core.proxy.pass"; //$NON-NLS-1$ 
-
-    private static final URL FAKE_URL;
-    static {
-        URL temp = null;
-        try {
-            temp = new URL("http://org.eclipse.team.cvs.proxy.auth");//$NON-NLS-1$ 
-        } catch (MalformedURLException e) {
-            // Should never fail
-        }
-        FAKE_URL = temp;
-    }
-    
-    
-	public synchronized CVSWorkspaceSubscriber getCVSWorkspaceSubscriber() {
-		if (cvsWorkspaceSubscriber == null) {
-			cvsWorkspaceSubscriber = new CVSWorkspaceSubscriber(
-					CVS_WORKSPACE_SUBSCRIBER_ID, 
-					CVSMessages.CVSProviderPlugin_20); 
-		}
-		return cvsWorkspaceSubscriber;
-	}
-
-	/**
-	 * Constructor for CVSProviderPlugin.
-	 * @param descriptor
-	 */
-	public CVSProviderPlugin() {
-		super();
-		instance = this;
-	}
-	
-	/**
-	 * Convenience method for logging CoreExceptions to the plugin log
-	 */
-	public static void log(CoreException e) {
-		log(e.getStatus().getSeverity(), e.getMessage(), e);
-	}
-	
-	/**
-	 * Log the given exception along with the provided message and severity indicator
-	 */
-	public static void log(int severity, String message, Throwable e) {
-		log(new Status(severity, ID, 0, message, e));
-	}
-	
-	/**
-	 * Log the given status. Do not use this method for the IStatus from a CoreException.
-	 * Use<code>log(CoreException)</code> instead so the stack trace is not lost.
-	 */
-	public static void log(IStatus status) {
-		getPlugin().getLog().log(status);
-	}
-
-	/**
-	 * Returns the singleton plug-in instance.
-	 * 
-	 * @return the plugin instance
-	 */
-	public static CVSProviderPlugin getPlugin() {
-		return instance;
-	}
-	
-	/**
-	 * Answers the repository provider type id for the cvs plugin
-	 */
-	public static String getTypeId() {
-		return NATURE_ID;
-	}
-	
-	/**
-	 * Sets the file transfer compression level. (if supported)
-	 * Valid levels are: 0 (disabled), 1 (worst/fastest) - 9 (best/slowest)
-	 */
-	public void setCompressionLevel(int level) {
-		compressionLevel = level;
-	}
-
-	/**
-	 * Gets the file transfer compression level.
-	 */
-	public int getCompressionLevel() {
-		return compressionLevel;
-	}
-	
-	/**
-	 * Sets the default keyword substitution mode for text files.
-	 */
-	public void setDefaultTextKSubstOption(KSubstOption ksubst) {
-		defaultTextKSubstOption = ksubst;
-	}
-
-
-	/**
-	 * Gets the default keyword substitution mode for text files.
-	 */
-	public KSubstOption getDefaultTextKSubstOption() {
-		return defaultTextKSubstOption;
-	}
-
-	/**
-	 * Should the CVS adapter prune empty directories
-	 */
-	public boolean getPruneEmptyDirectories() {
-		return pruneEmptyDirectories;
-	}
-
-	/**
-	 * Set whether the CVS adapter should prune empty directories
-	 */
-	public void setPruneEmptyDirectories(boolean prune) {
-		pruneEmptyDirectories = prune;
-	}
-
-	/**
-	 * Get the communications timeout value in seconds
-	 */
-	public int getTimeout() {
-		return communicationsTimeout;
-	}
-	
-	/**
-	 * Set the timeout value for communications to a value in seconds.
-	 * The value must be greater than or equal 0. If is it 0, there is no timeout.
-	 */
-	public void setTimeout(int timeout) {
-		this.communicationsTimeout = Math.max(0, timeout);
-	}
-	
-	/**
-	 * Set the quietness option to use with cvs commands.
-	 * Can be "", "-q" or "-Q"
-	 */
-	public void setQuietness(QuietOption option) {
-			this.quietness = option;
-	}
-
-	/**
-	 * Get the quietness option for commands
-	 */
-	public QuietOption getQuietness() {
-		return quietness;
-	}
-	
-	/**
-	 * Set the console listener for commands.
-	 * @param consoleListener the listener
-	 */
-	public void setConsoleListener(IConsoleListener consoleListener) {
-	    ConsoleListeners.getInstance().addListener(consoleListener);
-	}
-	
-	/**
-	 * @see Plugin#start(BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-
-		// load the state which includes the known repositories
-		loadOldState();
-		crash = createCrashFile();
-		
-		// Initialize CVS change listeners. Note that the report type is important.
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		addDeleteMoveListener = new BuildCleanupListener();
-		fileModificationManager = new FileModificationManager();
-		metaFileSyncListener = new SyncFileChangeListener();
-		workspace.addResourceChangeListener(addDeleteMoveListener, IResourceChangeEvent.POST_BUILD);
-		workspace.addResourceChangeListener(metaFileSyncListener, IResourceChangeEvent.POST_CHANGE);
-		workspace.addResourceChangeListener(fileModificationManager, IResourceChangeEvent.POST_CHANGE);
-		
-		getCVSWorkspaceSubscriber();
-		
-		// Must load the change set manager on startup since it listens to deltas
-		getChangeSetManager();
-		
-	    tracker = new ServiceTracker(getBundle().getBundleContext(), IJSchService.class.getName(), null);
-	    tracker.open();
-	}
-	
-	/**
-	 * @see Plugin#stop(BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		try {
-			savePluginPreferences();
-			
-			// remove listeners
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			workspace.removeResourceChangeListener(metaFileSyncListener);
-			workspace.removeResourceChangeListener(fileModificationManager);
-			workspace.removeResourceChangeListener(addDeleteMoveListener);
-			
-			// remove all of this plugin's save participants. This is easier than having
-			// each class that added itself as a participant to have to listen to shutdown.
-			workspace.removeSaveParticipant(this);
-			
-			getChangeSetManager().dispose();
-			
-			tracker.close();
-			
-			deleteCrashFile();
-		} finally {
-			super.stop(context);
-		}
-	}
-		
-	/**
-	 * @see org.eclipse.core.runtime.Plugin#initializeDefaultPluginPreferences()
-	 */
-	protected void initializeDefaultPluginPreferences(){
-		Preferences store = getPluginPreferences();
-		store.setDefault(READ_ONLY, false);
-		store.setDefault(ENABLE_WATCH_ON_EDIT, false);
-	}
-	
-	/**
-	 * Gets the cvsRshCommand.
-	 * @return Returns a String
-	 */
-	public String getCvsRshCommand() {
-		return cvsRshCommand;
-	}
-
-	/**
-	 * Sets the cvsRshCommand.
-	 * @param cvsRshCommand The cvsRshCommand to set
-	 */
-	public void setCvsRshCommand(String cvsRshCommand) {
-		this.cvsRshCommand = cvsRshCommand;
-	}
-
-	/**
-	 * Returns the cvsRshParameters.
-	 * @return String
-	 */
-	public String getCvsRshParameters() {
-		return cvsRshParameters;
-	}
-
-	/**
-	 * Sets the cvsRshParameters.
-	 * @param cvsRshParameters The cvsRshParameters to set
-	 */
-	public void setCvsRshParameters(String cvsRshParameters) {
-		this.cvsRshParameters = cvsRshParameters;
-	}
-	
-	/**
-	 * Gets the cvsServer.
-	 * @return Returns a String
-	 */
-	public String getCvsServer() {
-		return cvsServer;
-	}
-
-	/**
-	 * Sets the cvsServer.
-	 * @param cvsServer The cvsServer to set
-	 */
-	public void setCvsServer(String cvsServer) {
-		this.cvsServer = cvsServer;
-	}
-
-	/**
-	 * Gets the etchAbsentDirectories.
-	 * @return Returns a boolean
-	 */
-	public boolean getFetchAbsentDirectories() {
-		return fetchAbsentDirectories;
-	}
-
-	public boolean getRepositoriesAreBinary() {
-		return repositoriesAreBinary;
-	}
-	
-	/**
-	 * Sets the fetchAbsentDirectories.
-	 * @param etchAbsentDirectories The etchAbsentDirectories to set
-	 */
-	public void setFetchAbsentDirectories(boolean fetchAbsentDirectories) {
-		this.fetchAbsentDirectories = fetchAbsentDirectories;
-	}
-	
-	public void setRepositoriesAreBinary(boolean binary) {
-		repositoriesAreBinary = binary;
-	}
-	
-	public static void broadcastDecoratorEnablementChanged(final boolean enabled) {
-		ICVSDecoratorEnablementListener[] listeners;
-		synchronized(decoratorEnablementListeners) {
-			listeners = (ICVSDecoratorEnablementListener[]) decoratorEnablementListeners.toArray(new ICVSDecoratorEnablementListener[decoratorEnablementListeners.size()]);
-		}
-		for (int i = 0; i < listeners.length; i++) {
-			final ICVSDecoratorEnablementListener listener = listeners[i];
-			ISafeRunnable code = new ISafeRunnable() {
-				public void run() throws Exception {
-					listener.decoratorEnablementChanged(enabled);
-				}
-				public void handleException(Throwable e) {
-					// don't log the exception....it is already being logged in Platform#run
-				}
-			};
-			Platform.run(code);
-		}
-	}
-	
-	/**
-	 * Gets the replaceUnmanaged.
-	 * @return Returns a boolean
-	 */
-	public boolean isReplaceUnmanaged() {
-		return replaceUnmanaged;
-	}
-
-	/**
-	 * Sets the replaceUnmanaged.
-	 * @param replaceUnmanaged The replaceUnmanaged to set
-	 */
-	public void setReplaceUnmanaged(boolean replaceUnmanaged) {
-		this.replaceUnmanaged = replaceUnmanaged;
-	}
-
-		
-	/**
-	 * Register to receive notification of repository creation and disposal
-	 */
-	public void addRepositoryListener(ICVSListener listener) {
-		KnownRepositories.getInstance().addRepositoryListener(listener);
-	}
-	
-	/**
-	 * Register to receive notification of enablement of sync info decoration requirements. This
-	 * can be useful for providing lazy initialization of caches that are only required for decorating
-	 * resource with CVS information.
-	 */
-	public void addDecoratorEnablementListener(ICVSDecoratorEnablementListener listener) {
-		synchronized(decoratorEnablementListeners) {
-			decoratorEnablementListeners.add(listener);
-		}
-	}
-	
-	/**
-	 * De-register a listener
-	 */
-	public void removeRepositoryListener(ICVSListener listener) {
-		KnownRepositories.getInstance().removeRepositoryListener(listener);
-	}
-	
-	/**
-	 * De-register the decorator enablement listener. 
-	 */
-	public void removeDecoratorEnablementListener(ICVSDecoratorEnablementListener listener) {
-		synchronized(decoratorEnablementListeners) {
-			decoratorEnablementListeners.remove(listener);
-		}
-	}
-	
-	/** 
-	 * Return a list of the know repository locations. This is left
-	 * here to isolate the RelEng tools plugin from changes in CVS core.
-	 */
-	public ICVSRepositoryLocation[] getKnownRepositories() {
-		return KnownRepositories.getInstance().getRepositories();
-	}
-
-	private void loadOldState() {
-		try {
-			IPath pluginStateLocation = CVSProviderPlugin.getPlugin().getStateLocation().append(REPOSITORIES_STATE_FILE);
-			File file = pluginStateLocation.toFile();
-			if (file.exists()) {
-				try {
-					DataInputStream dis = new DataInputStream(new FileInputStream(file));
-					readOldState(dis);
-					dis.close();
-					// The file is no longer needed as the state is
-					// persisted in the user settings
-					file.delete();
-				} catch (IOException e) {
-					throw new TeamException(new Status(IStatus.ERROR, CVSProviderPlugin.ID, TeamException.UNABLE, CVSMessages.CVSProvider_ioException, e));  
-				}
-			}
-		} catch (TeamException e) {
-			Util.logError(CVSMessages.CVSProvider_errorLoading, e);
-		}
-	}
-	
-	private void readOldState(DataInputStream dis) throws IOException, CVSException {
-		KnownRepositories instance = KnownRepositories.getInstance();
-		int count = dis.readInt();
-		if (count >= 0) {
-			// this is the version 1 format of the state file
-			for (int i = 0; i < count; i++) {
-				ICVSRepositoryLocation location = instance.getRepository(dis.readUTF());
-				instance.addRepository(location, false /* no need to broadcast on startup */);
-			}
-		} else if (count == REPOSITORIES_STATE_FILE_VERSION_2) {
-			count = dis.readInt();
-			for (int i = 0; i < count; i++) {
-				ICVSRepositoryLocation location = instance.getRepository(dis.readUTF());
-				instance.addRepository(location, false /* no need to broadcast on startup */);
-				// Read the next field which is no longer used
-				dis.readUTF();
-			}
-		} else {
-			Util.logError(NLS.bind(CVSMessages.CVSProviderPlugin_unknownStateFileVersion, new String[] { new Integer(count).toString() }), null); 
-		}
-	}
-		
-	public static boolean isText(IFile file) {
-		if (CVSProviderPlugin.getPlugin().getRepositoriesAreBinary()) return false;
-		return Team.getFileContentManager().getType(file) == Team.TEXT;
-	}
-	
-	/**
-	 * Gets the determineVersionEnabled.
-	 * @return boolean
-	 */
-	public boolean isDetermineVersionEnabled() {
-		return determineVersionEnabled;
-	}
-
-	/**
-	 * Sets the determineVersionEnabled.
-	 * @param determineVersionEnabled The determineVersionEnabled to set
-	 */
-	public void setDetermineVersionEnabled(boolean determineVersionEnabled) {
-		this.determineVersionEnabled = determineVersionEnabled;
-	}
-	
-	/**
-	 * Returns the fileModificationManager.
-	 * @return FileModificationManager
-	 */
-	public FileModificationManager getFileModificationManager() {
-		return fileModificationManager;
-	}
-
-	/**
-	 * @return boolean
-	 */
-	public boolean isWatchEditEnabled() {
-		return getPluginPreferences().getBoolean(CVSProviderPlugin.READ_ONLY);
-	}
-
-	public void setDebugProtocol(boolean value) {
-		Policy.DEBUG_CVS_PROTOCOL = value;		
-	}
-	
-	public boolean isDebugProtocol() {
-		return Policy.DEBUG_CVS_PROTOCOL;
-	}
-
-	/*
-	 * Create the crash indicator file. This method returns true if the file
-	 * already existed, indicating that a crash occurred on the last invokation of
-	 * the platform.
-	 */
-	private boolean createCrashFile() {
-		IPath pluginStateLocation = CVSProviderPlugin.getPlugin().getStateLocation();
-		File crashFile = pluginStateLocation.append(CRASH_INDICATION_FILE).toFile();
-		if (crashFile.exists()) {
-			return true;
-		}
-		try {
-			crashFile.createNewFile();
-		} catch (IOException e) {
-			CVSProviderPlugin.log(IStatus.ERROR, e.getMessage(), e);
-		}
-		return false;
-	}
-	
-	private void deleteCrashFile() {
-		IPath pluginStateLocation = CVSProviderPlugin.getPlugin().getStateLocation();
-		File crashFile = pluginStateLocation.append(CRASH_INDICATION_FILE).toFile();
-		crashFile.delete();
-	}
-	
-	public boolean crashOnLastRun() {
-		return crash;
-	}
-	
-	/**
-	 * Return the CVS preferences node in the instance scope
-	 */
-	public org.osgi.service.prefs.Preferences getInstancePreferences() {
-		return new InstanceScope().getNode(getBundle().getSymbolicName());
-	}
-	
-	/**
-	 * @return Returns the usePlatformLineend.
-	 */
-	public boolean isUsePlatformLineend() {
-		return usePlatformLineend;
-	}
-	/**
-	 * @param usePlatformLineend The usePlatformLineend to set.
-	 */
-	public void setUsePlatformLineend(boolean usePlatformLineend) {
-		this.usePlatformLineend = usePlatformLineend;
-	}
-
-    public void setAutoshareOnImport(boolean autoShareOnImport) {
-        this.autoShareOnImport = autoShareOnImport;
-    }
-
-    public boolean isAutoshareOnImport() {
-        return autoShareOnImport;
-    }
-
-	/**
-	 * @return Returns the watchOnEdit.
-	 */
-	public boolean isWatchOnEdit() {
-		return getPluginPreferences().getBoolean(CVSProviderPlugin.ENABLE_WATCH_ON_EDIT);
-	}
-    
-    // proxy configuration
-    
-    public void setUseProxy(boolean useProxy) {
-      this.useProxy = useProxy;
-    }
-
-    public boolean isUseProxy() {
-        return this.useProxy;
-    }
-
-    public void setProxyType(String proxyType) {
-        this.proxyType = proxyType;
-    }
-    
-    public String getProxyType() {
-        return this.proxyType;
-    }
-
-    public void setProxyHost(String proxyHost) {
-        this.proxyHost = proxyHost;
-    }
-    
-    public String getProxyHost() {
-        return this.proxyHost;
-    }
-
-    public void setProxyPort(String proxyPort) {
-        this.proxyPort = proxyPort;
-    }
-    
-    public String getProxyPort() {
-        return this.proxyPort;
-    }
-
-    public void setUseProxyAuth(boolean useProxyAuth) {
-        this.useProxyAuth = useProxyAuth;
-    }
-
-    public boolean isUseProxyAuth() {
-        return this.useProxyAuth;
-    }
-    
-    public String getProxyUser() {
-        Object user = getAuthInfo().get(INFO_PROXY_USER);
-        return user==null ? "" : (String) user; //$NON-NLS-1$
-    }
-    
-    public String getProxyPassword() {
-        Object pass = getAuthInfo().get(INFO_PROXY_PASS);
-        return pass==null ? "" : (String) pass; //$NON-NLS-1$
-    }
-    
-    private Map getAuthInfo() {
-      // Retrieve username and password from keyring.
-      Map authInfo = Platform.getAuthorizationInfo(FAKE_URL, "proxy", ""); //$NON-NLS-1$ //$NON-NLS-2$
-      return authInfo!=null ? authInfo : Collections.EMPTY_MAP;
-    }
-
-    public void setProxyAuth(String proxyUser, String proxyPass) {
-        Map authInfo = getAuthInfo();
-        if (authInfo.size()==0) {
-            authInfo = new java.util.HashMap(4);
-        }
-        if (proxyUser != null) {
-            authInfo.put(INFO_PROXY_USER, proxyUser);
-        }
-        if (proxyPass != null) {
-            authInfo.put(INFO_PROXY_PASS, proxyPass);
-        }
-        try {
-            Platform.addAuthorizationInfo(FAKE_URL, "proxy", "", authInfo);  //$NON-NLS-1$ //$NON-NLS-2$
-        } catch (CoreException e) {
-            // We should probably wrap the CoreException here!
-            CVSProviderPlugin.log(e);
-        }
-    }
-    
-    public synchronized ActiveChangeSetManager getChangeSetManager() {
-        if (changeSetManager == null) {
-            changeSetManager = new CVSActiveChangeSetCollector(CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber());
-        }
-        return changeSetManager;
-    }
-    
-    public IJSchService getJSchService() {
-        return (IJSchService)tracker.getService();
-    }
-    
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSResourceRuleFactory.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSResourceRuleFactory.java
deleted file mode 100644
index d1d31f8..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSResourceRuleFactory.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.team.ResourceRuleFactory;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-
-public class CVSResourceRuleFactory extends ResourceRuleFactory {
-    public ISchedulingRule validateEditRule(IResource[] resources) {
-    	return CVSTeamProvider.internalGetFileModificationValidator().validateEditRule(this, resources);
-    }
-    
-    public ISchedulingRule getParent(IResource resource) {
-        return parent(resource);
-    }
-    
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSRevisionNumberCompareCriteria.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSRevisionNumberCompareCriteria.java
deleted file mode 100644
index e26599f..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSRevisionNumberCompareCriteria.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.core.variants.IResourceVariantComparator;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-
-/**
- * CVSRevisionNumberCompareCriteria
- */
- public class CVSRevisionNumberCompareCriteria implements IResourceVariantComparator {
- 	
-	private boolean isThreeWay;
-
-	public CVSRevisionNumberCompareCriteria(boolean isThreeWay) {
-		this.isThreeWay = isThreeWay;
-	}
-	
-	/**
-	 * @see RemoteSyncElement#timestampEquals(IResourceVariant, IResourceVariant)
-	 */
-	protected boolean compare(ICVSRemoteResource e1, ICVSRemoteResource e2) {
-		if(e1.isContainer()) {
-			if(e2.isContainer()) {
-				return true;
-			}
-			return false;
-		}
-		return e1.equals(e2);
-	}
-
-	/**
-	 * @see RemoteSyncElement#timestampEquals(IResource, IResourceVariant)
-	 */
-	protected boolean compare(IResource e1, ICVSRemoteResource e2) {
-		if(e1.getType() != IResource.FILE) {
-			if(e2.isContainer()) {
-				return true;
-			}
-			return false;
-		}
-		ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor((IFile)e1);
-		try {
-			byte[] syncBytes1 = cvsFile.getSyncBytes();
-			byte[] syncBytes2 = ((ICVSRemoteFile)e2).getSyncBytes();
-		
-			if(syncBytes1 != null) {
-				if(ResourceSyncInfo.isDeletion(syncBytes1) || ResourceSyncInfo.isMerge(syncBytes1) || cvsFile.isModified(null)) {
-					return false;
-				}
-				return ResourceSyncInfo.getRevision(syncBytes1).equals(ResourceSyncInfo.getRevision(syncBytes2));
-			}
-			return false;
-		} catch(CVSException e) {
-			CVSProviderPlugin.log(e);
-			return false;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.IComparisonCriteria#compare(org.eclipse.core.resources.IResource, org.eclipse.team.core.subscribers.ISubscriberResource)
-	 */
-	public boolean compare(IResource local, IResourceVariant remote) {
-		return compare(local, (ICVSRemoteResource)remote);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.IComparisonCriteria#compare(org.eclipse.team.core.subscribers.ISubscriberResource, org.eclipse.team.core.subscribers.ISubscriberResource)
-	 */
-	public boolean compare(IResourceVariant base, IResourceVariant remote) {
-		return compare((ICVSRemoteResource)base, (ICVSRemoteResource)remote);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.ISubscriberResourceComparator#isThreeWay()
-	 */
-	public boolean isThreeWay() {
-		return isThreeWay;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSStatus.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSStatus.java
deleted file mode 100644
index a530908..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSStatus.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
- 
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.TeamStatus;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.util.KnownRepositories;
-	
-public class CVSStatus extends TeamStatus {
-
-	/*** Status codes ***/
-	public static final int SERVER_ERROR = -10;
-	public static final int NO_SUCH_TAG = -11;
-	public static final int CONFLICT = -12;
-	public static final int ERROR_LINE = -14; // generic uninterpreted E line from the server
-	public static final int TAG_ALREADY_EXISTS = -15;
-	public static final int COMMITTING_SYNC_INFO_FAILED = -16;
-	public static final int DOES_NOT_EXIST = -17;
-	public static final int FOLDER_NEEDED_FOR_FILE_DELETIONS = -18;
-	public static final int CASE_VARIANT_EXISTS = -19;
-	public static final int UNSUPPORTED_SERVER_VERSION = -20;
-	public static final int SERVER_IS_CVSNT = -21;
-	public static final int SERVER_IS_UNKNOWN = -22;
-	public static final int PROTOCOL_ERROR = -23;
-	public static final int ERROR_LINE_PARSE_FAILURE = -24;
-	public static final int FAILED_TO_CACHE_SYNC_INFO = -25;
-	public static final int UNMEGERED_BINARY_CONFLICT = -26;
-	public static final int INVALID_LOCAL_RESOURCE_PATH = -27;
-	public static final int RESPONSE_HANDLING_FAILURE = -28;
-	public static final int COMMUNICATION_FAILURE = -29;
-	public static final int AUTHENTICATION_FAILURE = -30;
-	
-	// Path for resource related status
-	private ICVSFolder commandRoot;
-	// Server information
-	private ICVSRepositoryLocation cvsLocation;
-
-	public CVSStatus(int severity, int code, String message, Throwable t, ICVSRepositoryLocation cvsLocation) {
-		super(severity, CVSProviderPlugin.ID, code, message, t,null);
-		this.cvsLocation = cvsLocation;
-	}
-	
-	public CVSStatus(int severity, int code, String message,ICVSRepositoryLocation cvsLocation) {
-		this(severity, code, message, null, cvsLocation);
-	}
-	
-	public CVSStatus(int severity, int code, String message, Throwable t, IResource cvsResource) {
-		super(severity, CVSProviderPlugin.ID, code, message, t, cvsResource);
-	}	
-	
-	public CVSStatus(int severity, int code, String message, IResource resource) {
-		this(severity, code, message, null, resource);
-	}	
-	
-	public CVSStatus(int severity, int code, String message, Throwable t, ICVSFolder commandRoot) {
-		super(severity, CVSProviderPlugin.ID, code, message, t, null);
-		this.commandRoot = commandRoot;
-	}
-	
-	public CVSStatus(int severity, int code, String message, ICVSFolder commandRoot) {
-		this(severity, code, message, null, commandRoot);
-	}
-	
-	public CVSStatus(int severity, int code, String message, Throwable t) {
-		super(severity, CVSProviderPlugin.ID, code, message, t, null);
-	}	
-	
-	public CVSStatus(int severity, String message, Throwable t) {
-		super(severity, CVSProviderPlugin.ID, CVSStatus.ERROR,  message, t, null);
-	}
-	
-	public CVSStatus(int severity, String message) {
-		super(severity, CVSProviderPlugin.ID, CVSStatus.ERROR,  message, null, null);
-	}	
-	
-	/**
-	 * @see IStatus#getMessage()
-	 */
-	public String getMessage() {
-		String message = super.getMessage();
-		if (commandRoot != null) {
-			message = NLS.bind(CVSMessages.CVSStatus_messageWithRoot, new String[] { commandRoot.getName(), message }); 
-		}
-		return message;
-	}
-
-    /**
-     * Return whether this status is wrapping an internal error.
-     * An internal error is any error for which the wrapped exception 
-     * is not a CVS exception. Check deeply to make sure there isn't
-     * an internal error buried deep down.
-     * @return whether this status is wrapping an internal error
-     */
-    public boolean isInternalError() {
-        Throwable ex = getException();
-        if (ex instanceof CVSException) {
-            CVSException cvsEx = (CVSException) ex;
-            IStatus status = cvsEx.getStatus();
-            return isInternalError(status);
-        }
-        return ex != null;
-    }
-
-    /**
-     * Return whether this status is wrapping an internal error.
-     * An internal error is any error for which the wrapped exception 
-     * is not a CVS exception. Check deeply to make sure there isn't
-     * an internal error buried deep down.
-     * @return whether this status is wrapping an internal error
-     */
-    public static boolean isInternalError(IStatus status) {
-        if (status instanceof CVSStatus) {
-            return ((CVSStatus)status).isInternalError();
-        }
-        if (status.isMultiStatus()) {
-            IStatus[] children = status.getChildren();
-            for (int i = 0; i < children.length; i++) {
-                IStatus child = children[i];
-                if (isInternalError(child)) {
-                    return true;
-                }
-            }
-            return false;
-        }
-        return true;
-    }
-
-	public ICVSRepositoryLocation getCvsLocation() {
-		if (cvsLocation==null){
-			try {
-			if (commandRoot!=null){
-				FolderSyncInfo info = commandRoot.getFolderSyncInfo();
-				if (info!=null){
-					String repoString = info.getRoot();
-					cvsLocation = KnownRepositories.getInstance().getRepository(repoString);
-				}
-			} else if (getResource()!=null){
-				ICVSFolder folder = CVSWorkspaceRoot.getCVSFolderFor(getResource().getProject());
-				FolderSyncInfo info = folder.getFolderSyncInfo();
-				if (info!=null){
-					String repoString = info.getRoot();
-					cvsLocation = KnownRepositories.getInstance().getRepository(repoString);
-				}
-			}
-			} catch (CVSException e){
-				// do nothing as we are already creating a status for an exception
-				// we may need to trace it though
-			}
-		}
-		return cvsLocation;
-	}
-
-	public ICVSFolder getCommandRoot() {
-		return commandRoot;
-	}
-
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSSyncInfo.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSSyncInfo.java
deleted file mode 100644
index 2066da5..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSSyncInfo.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.core.variants.ResourceVariantTreeSubscriber;
-import org.eclipse.team.internal.ccvs.core.client.Update;
-import org.eclipse.team.internal.ccvs.core.resources.*;
-import org.eclipse.team.internal.ccvs.core.syncinfo.*;
-import org.eclipse.team.internal.ccvs.core.util.SyncFileChangeListener;
-
-/**
- * CVSSyncInfo
- */
-public class CVSSyncInfo extends SyncInfo {
-
-	/*
-	 * Codes that are used in returned IStatus
-	 */
-	private static final int INVALID_RESOURCE_TYPE = 1;
-	private static final int INVALID_SYNC_KIND = 2;
-	private static final int PARENT_NOT_MANAGED = 3;
-	private static final int REMOTE_DOES_NOT_EXIST = 4;
-	private static final int SYNC_INFO_CONFLICTS = 5;
-	private Subscriber subscriber;
-
-	public CVSSyncInfo(IResource local, IResourceVariant base, IResourceVariant remote, Subscriber subscriber) {
-		super(local, base, remote, ((ResourceVariantTreeSubscriber)subscriber).getResourceComparator());
-		this.subscriber = subscriber;
-	}
-
-	public Subscriber getSubscriber() {
-		return subscriber;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.sync.SyncInfo#computeSyncKind(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected int calculateKind() throws TeamException {
-		// special handling for folders, the generic sync algorithm doesn't work well
-		// with CVS because folders are not in namespaces (e.g. they exist in all versions
-		// and branches).
-		IResource local = getLocal();
-		if(local.getType() != IResource.FILE) {
-			int folderKind = SyncInfo.IN_SYNC;
-			ICVSRemoteFolder remote = (ICVSRemoteFolder)getRemote();
-			ICVSFolder cvsFolder = CVSWorkspaceRoot.getCVSFolderFor((IContainer)local);
-			boolean isCVSFolder = false;
-			try {
-				isCVSFolder = cvsFolder.isCVSFolder();
-			} catch (CVSException e) {
-				// Assume the folder is not a CVS folder
-			}
-			if(!local.exists()) {
-				if(remote != null) {
-					if (isCVSFolder) {
-						// TODO: This assumes all CVS folders are in-sync even if they have been pruned!
-						folderKind = SyncInfo.IN_SYNC;
-					} else {
-						folderKind = SyncInfo.INCOMING | SyncInfo.ADDITION;
-					}
-				} else {
-					// ignore conflicting deletion to keep phantom sync info
-				}
-			} else {
-				if(remote == null) {
-					if(isCVSFolder) {
-						// TODO: This is not really an incoming deletion
-						// The folder will be pruned once any children are commited
-						folderKind = SyncInfo.IN_SYNC;
-						//folderKind = SyncInfo.INCOMING | SyncInfo.DELETION;
-					} else {
-						folderKind = SyncInfo.OUTGOING | SyncInfo.ADDITION;
-					}
-				} else if(!isCVSFolder) {
-					folderKind = SyncInfo.CONFLICTING | SyncInfo.ADDITION;
-				} else {
-					// folder exists both locally and remotely and are considered in sync, however 
-					// we aren't checking the folder mappings to ensure that they are the same.
-				}
-			}
-			return folderKind;
-		}
-	
-		// 1. Run the generic sync calculation algorithm, then handle CVS specific
-		// sync cases.
-		int kind = super.calculateKind();
-	
-		// 2. Set the CVS specific sync type based on the workspace sync state provided
-		// by the CVS server.
-		IResourceVariant remote = getRemote();
-		if(remote!=null && (kind & SyncInfo.PSEUDO_CONFLICT) == 0) {
-			RemoteResource cvsRemote = (RemoteResource)remote;
-			int type = cvsRemote.getWorkspaceSyncState();
-			switch(type) {
-				// the server compared both text files and decided that it cannot merge
-				// them without line conflicts.
-				case Update.STATE_CONFLICT: 
-					return kind | SyncInfo.MANUAL_CONFLICT;
-
-				// the server compared both text files and decided that it can safely merge
-				// them without line conflicts. 
-				case Update.STATE_MERGEABLE_CONFLICT: 
-					return kind | SyncInfo.AUTOMERGE_CONFLICT;				
-			}			
-		}
-	
-		// 3. unmanage delete/delete conflicts and return that they are in sync
-		kind = handleDeletionConflicts(kind);
-	
-		return kind;
-	}
-	
-	/*
-	 * If the resource has a delete/delete conflict then ensure that the local is unmanaged so that the 
-	 * sync info can be properly flushed.
-	 */
-	protected int handleDeletionConflicts(int kind) {
-		if(kind == (SyncInfo.CONFLICTING | SyncInfo.DELETION | SyncInfo.PSEUDO_CONFLICT)) {
-			try {				
-				IResource local = getLocal();
-				ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(local);
-				if(!cvsResource.isFolder() && cvsResource.isManaged()) {
-					// Reconcile the conflicting deletion in the background
-					SyncFileChangeListener.getDeferredHandler().handleConflictingDeletion(local);
-				}
-				return SyncInfo.IN_SYNC;
-			} catch(CVSException e) {
-				CVSProviderPlugin.log(e);
-				return SyncInfo.CONFLICTING | SyncInfo.DELETION;
-			}
-		}
-		return kind;
-	}
-
-	/*
-	 * Update the sync info of the local resource in such a way that the local changes can be committed.
-	 * @return IStatus
-	 * For folders, the makeInSYnc method is called and the return codes mentioned there apply
-	 * for folders.
-	 */
-	public IStatus makeOutgoing(IProgressMonitor monitor) throws TeamException {
-		
-		// For folders, there is no outgoing, only in-sync
-		if (getLocal().getType() == IResource.FOLDER) {
-			return makeInSync();
-		}
-		int syncKind = getKind();
-		boolean incoming = (syncKind & DIRECTION_MASK) == INCOMING;
-		boolean outgoing = (syncKind & DIRECTION_MASK) == OUTGOING;
-
-		ICVSResource local = CVSWorkspaceRoot.getCVSResourceFor(getLocal());
-		RemoteResource remote = (RemoteResource)getRemote();
-		ResourceSyncInfo origInfo = local.getSyncInfo();
-		MutableResourceSyncInfo info = null;
-		if(origInfo!=null) {
-			info = origInfo.cloneMutable();			
-		}
-	
-		if (outgoing) {
-				// The sync info is alright, it's already outgoing!
-				return Status.OK_STATUS;
-		} else if (incoming) {
-			// We have an incoming change, addition, or deletion that we want to ignore
-			if (local.exists()) {
-				if (remote == null) {
-					info.setAdded();
-				} else {
-					// Otherwise change the revision to the remote revision and dirty the file
-					info.setRevision(remote.getSyncInfo().getRevision());
-					info.setTimeStamp(null);
-				}
-			} else {
-				// We have an incoming add, turn it around as an outgoing delete
-				if (remote == null) {
-					// Both the local and remote do not exist so clear the sync info
-					info = null;
-					return Status.OK_STATUS;
-				} else {
-					info = remote.getSyncInfo().cloneMutable();
-					info.setDeleted(true);
-				}
-			}
-		} else if (local.exists()) {
-			// We have a conflict and a local resource!
-			if (getRemote() != null) {
-				if (getBase() != null) {
-					// We have a conflicting change, Update the local revision
-					info.setRevision(remote.getSyncInfo().getRevision());
-				} else {
-					try {
-						// We have conflicting additions.
-						// We need to fetch the contents of the remote to get all the relevant information (timestamp, permissions)
-						// The most important thing we get is the keyword substitution mode which must be right to perform the commit
-						remote.getStorage(Policy.monitorFor(monitor)).getContents();
-						info = remote.getSyncInfo().cloneMutable();
-					} catch (CoreException e) {
-						throw TeamException.asTeamException(e);
-					}
-				}
-			} else if (getBase() != null) {
-				// We have a remote deletion. Make the local an addition
-				info.setAdded();
-			} else {
-				// There's a local, no base and no remote. We can't possible have a conflict!
-				Assert.isTrue(false);
-			} 
-		} else {
-			// We have a conflict and there is no local!
-			if (getRemote() != null) {
-				// We have a local deletion that conflicts with remote changes.
-				info.setRevision(remote.getSyncInfo().getRevision());
-				info.setDeleted(true);
-			} else {
-				// We have conflicting deletions. Clear the sync info
-				info = null;
-				return Status.OK_STATUS;
-			}
-		}
-		if(info!=null) {
-			FolderSyncInfo parentInfo = local.getParent().getFolderSyncInfo();
-			if (parentInfo == null) {
-				return new CVSStatus(IStatus.ERROR, PARENT_NOT_MANAGED, NLS.bind(CVSMessages.CVSSyncInfo_9, new String[] { getLocal().getFullPath().toString()}), getLocal()); 
-			}
-			info.setTag(parentInfo.getTag());
-		}
-		((ICVSFile)local).setSyncInfo(info, ICVSFile.UNKNOWN);
-		return Status.OK_STATUS;
-	}
-	
-	/*
-	 * Load the resource and folder sync info into the local from the remote
-	 * 
-	 * This method can be used on incoming folder additions to set the folder sync info properly
-	 * without hitting the server again. It also applies to conflicts that involves unmanaged
-	 * local resources.
-	 * 
-	 * @return an IStatus with the following severity and codes
-	 * <ul>
-	 * <li>IStatus.WARNING
-	 * 	<ul>
-	 *   <li>INVALID_RESOURCE_TYPE - makeInSync only works on folders
-	 *   <li>INVALID_SYNC_KIND - sync direction must be incoming or conflicting
-	 *  </ul>
-	 * <li>IStatus.ERROR
-	 *  <ul>
-	 *   <li>PARENT_NOT_MANAGED - the local parent of the resource is not under CVS control
-	 *   <li>SYNC_INFO_CONFLICTS - Sync info already exists locally and differs from the info
-	 *     in the remote handle.
-	 *   <li>REMOTE_DOES_NOT_EXIST - There is no local sync info and there is no remote handle
-	 *  </ul>
-	 * </ul>
-	 */
-	 public IStatus makeInSync() throws CVSException {
-	 	
-	 	// Only works on folders
-		if (getLocal().getType() == IResource.FILE) {
-			return new CVSStatus(IStatus.WARNING, INVALID_RESOURCE_TYPE, NLS.bind(CVSMessages.CVSSyncInfo_7, new String[] { getLocal().getFullPath().toString()}), getLocal()); 
-		} 
-	 	
-		// Only works on outgoing and conflicting changes
-		boolean outgoing = (getKind() & DIRECTION_MASK) == OUTGOING;
-		if (outgoing) {
-			return new CVSStatus(IStatus.WARNING, INVALID_SYNC_KIND, NLS.bind(CVSMessages.CVSSyncInfo_8, new String[] { getLocal().getFullPath().toString() }), getLocal()); 
-		}
-		
-		// The parent must be managed
-		ICVSFolder local = CVSWorkspaceRoot.getCVSFolderFor((IContainer)getLocal());
-		if (getLocal().getType() == IResource.FOLDER && ! local.getParent().isCVSFolder())
-			return new CVSStatus(IStatus.ERROR, PARENT_NOT_MANAGED, NLS.bind(CVSMessages.CVSSyncInfo_9, new String[] { getLocal().getFullPath().toString() }), getLocal()); 
-		
-		// Ensure that the folder exists locally
-		if (! local.exists()) {
-			local.mkdir();
-		}
-		
-		// If the folder already has CVS info, check that the remote and local match
-		RemoteFolder remote = (RemoteFolder)getRemote();
-		if((local.isManaged() || getLocal().getType() == IResource.PROJECT) && local.isCVSFolder()) {
-			// If there's no remote, assume everything is OK
-			if (remote == null) return Status.OK_STATUS;
-			// Verify that the root and repository are the same
-			FolderSyncInfo remoteInfo = remote.getFolderSyncInfo();
-			FolderSyncInfo localInfo = local.getFolderSyncInfo();
-			if ( ! localInfo.getRoot().equals(remoteInfo.getRoot())) {
-				return new CVSStatus(IStatus.ERROR, SYNC_INFO_CONFLICTS, NLS.bind(CVSMessages.CVSRemoteSyncElement_rootDiffers, (new Object[] {local.getName(), remoteInfo.getRoot(), localInfo.getRoot()})),getLocal());
-			} else if ( ! localInfo.getRepository().equals(remoteInfo.getRepository())) {
-				return new CVSStatus(IStatus.ERROR, SYNC_INFO_CONFLICTS, NLS.bind(CVSMessages.CVSRemoteSyncElement_repositoryDiffers, (new Object[] {local.getName(), remoteInfo.getRepository(), localInfo.getRepository()})),getLocal());
-			}
-			// The folders are in sync so just return
-			return Status.OK_STATUS;
-		}
-		
-		// The remote must exist if the local is not managed
-		if (remote == null) {
-			return new CVSStatus(IStatus.ERROR, REMOTE_DOES_NOT_EXIST, NLS.bind(CVSMessages.CVSSyncInfo_10, new String[] { getLocal().getFullPath().toString() }),getLocal()); 
-		}
-		
-		// Since the parent is managed, this will also set the resource sync info. It is
-		// impossible for an incoming folder addition to map to another location in the
-		// repo, so we assume that using the parent's folder sync as a basis is safe.
-		// It is also impossible for an incomming folder to be static.
-		FolderSyncInfo remoteInfo = remote.getFolderSyncInfo();
-		FolderSyncInfo localInfo = local.getParent().getFolderSyncInfo();
-        MutableFolderSyncInfo newInfo = remoteInfo.cloneMutable();
-        newInfo.setTag(localInfo.getTag());
-        newInfo.setStatic(false);
-		local.setFolderSyncInfo(newInfo);
-		return Status.OK_STATUS;
-	}
-	
-	public String toString() {
-		IResourceVariant base = getBase();
-		IResourceVariant remote = getRemote();
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append("Local: "); //$NON-NLS-1$
-		result.append(getLocal().toString());
-		result.append(" Base: "); //$NON-NLS-1$
-		if (base == null) {
-			result.append("none"); //$NON-NLS-1$
-		} else {
-			result.append(base.toString());
-		}
-		result.append(" Remote: "); //$NON-NLS-1$
-		if (remote == null) {
-			result.append("none"); //$NON-NLS-1$
-		} else {
-			result.append(remote.toString());
-		}
-		return result.toString();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.SyncInfo#getContentIdentifier()
-	 */
-	public String getLocalContentIdentifier() {
-		try {
-			IResource local = getLocal();
-			if (local != null && local.getType() == IResource.FILE) {
-				// it's a file, return the revision number if we can find one
-				ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor((IFile) local);
-				ResourceSyncInfo info = cvsFile.getSyncInfo();
-				if (info != null) {
-					return info.getRevision();
-				}
-			}
-		} catch (CVSException e) {
-			CVSProviderPlugin.log(e);
-			return null;
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSSyncTreeSubscriber.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSSyncTreeSubscriber.java
deleted file mode 100644
index 151a4eb..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSSyncTreeSubscriber.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceStatus;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.diff.IDiff;
-import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.variants.*;
-import org.eclipse.team.internal.ccvs.core.filehistory.CVSResourceVariantFileRevision;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.core.mapping.ResourceVariantFileRevision;
-import org.eclipse.team.internal.core.mapping.SyncInfoToDiffConverter;
-
-/**
- * This class provides common functionality for three way synchronizing
- * for CVS.
- */
-public abstract class CVSSyncTreeSubscriber extends ResourceVariantTreeSubscriber implements IAdaptable {
-	
-	public static final String SYNC_KEY_QUALIFIER = "org.eclipse.team.cvs"; //$NON-NLS-1$
-	
-	private IResourceVariantComparator comparisonCriteria;
-	
-	private QualifiedName id;
-	private String name;
-	private SyncInfoToDiffConverter converter = new CVSSyncInfoToDiffConverter();
-	
-	public class CVSSyncInfoToDiffConverter extends SyncInfoToDiffConverter {
-		protected ResourceVariantFileRevision asFileRevision(IResourceVariant variant) {
-			return new CVSResourceVariantFileRevision(variant);
-		}
-	}
-	
-	CVSSyncTreeSubscriber(QualifiedName id, String name) {
-		this.id = id;
-		this.name = name;
-		this.comparisonCriteria = new CVSRevisionNumberCompareCriteria(isThreeWay());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.sync.ISyncTreeSubscriber#getId()
-	 */
-	public QualifiedName getId() {
-		return id;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.sync.ISyncTreeSubscriber#getName()
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.sync.ISyncTreeSubscriber#getSyncInfo(org.eclipse.core.resources.IResource)
-	 */
-	public SyncInfo getSyncInfo(IResource resource) throws TeamException {
-		if (!isSupervised(resource)) return null;
-		if(resource.getType() == IResource.FILE || !isThreeWay()) {
-			return super.getSyncInfo(resource);
-		} else {
-			// In CVS, folders do not have a base. Hence, the remote is used as the base.
-			IResourceVariant remoteResource = getRemoteTree().getResourceVariant(resource);
-			return getSyncInfo(resource, remoteResource, remoteResource);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.sync.ISyncTreeSubscriber#isSupervised(org.eclipse.core.resources.IResource)
-	 */
-	public boolean isSupervised(IResource resource) throws TeamException {
-		try {
-			RepositoryProvider provider = RepositoryProvider.getProvider(resource.getProject(), CVSProviderPlugin.getTypeId());
-			if (provider == null) return false;
-			// TODO: what happens for resources that don't exist?
-			// TODO: is it proper to use ignored here?
-			ICVSResource cvsThing = CVSWorkspaceRoot.getCVSResourceFor(resource);
-			if (cvsThing.isIgnored()) {
-				// An ignored resource could have an incoming addition (conflict)
-				return getRemoteTree().hasResourceVariant(resource);
-			}
-			return true;
-		} catch (TeamException e) {
-			// If there is no resource in core this means there is no local and no remote
-			// so the resource is not supervised.
-			if (e.getStatus().getCode() == IResourceStatus.RESOURCE_NOT_FOUND || !resource.getProject().isAccessible()) {
-				return false;
-			}
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.TeamSubscriber#getDefaultComparisonCriteria()
-	 */
-	public IResourceVariantComparator getResourceComparator() {
-		return comparisonCriteria;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.core.subscribers.caches.ResourceVariantTreeSubscriber#getSyncInfo(org.eclipse.core.resources.IResource, org.eclipse.team.core.synchronize.IResourceVariant, org.eclipse.team.core.synchronize.IResourceVariant)
-	 */
-	protected SyncInfo getSyncInfo(IResource local, IResourceVariant base, IResourceVariant remote) throws TeamException {
-		CVSSyncInfo info = new CVSSyncInfo(local, base, remote, this);
-		info.init();
-		return info;
-	}
-	
-	/*
-	 * Indicate whether file contents should be cached on a refresh
-	 */
-	protected  boolean getCacheFileContentsHint() {
-		return false;
-	}
-	
-	/*
-	 * Indicate whether the subscriber is two-way or three-way
-	 */
-	protected boolean isThreeWay() {
-		return true;
-	}
-	
-	protected boolean rootsEqual(Subscriber other) {
-		Set roots1 = new HashSet(Arrays.asList(other.roots()));
-		Set roots2 = new HashSet(Arrays.asList(roots()));
-		if(roots1.size() != roots2.size()) return false;
-		return roots2.containsAll(roots1);
-	}
-	
-	
-	public IDiff getDiff(IResource resource) throws CoreException {
-		SyncInfo info = getSyncInfo(resource);
-		if (info == null || info.getKind() == SyncInfo.IN_SYNC)
-			return null;
-		return converter.getDeltaFor(info);
-	}
-	public Object getAdapter(Class adapter) {
-		if (adapter == SyncInfoToDiffConverter.class) {
-			return converter;
-		}
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTag.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTag.java
deleted file mode 100644
index 8cc60f5..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTag.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.core.history.ITag;
-
-/**
- * A tag in CVS gives a label  to a collection of revisions. The labels can represent a version, a branch, 
- * or a date.
- */
-public class CVSTag implements ITag {
-
-	public final static int HEAD = 0;
-	public final static int BRANCH = 1;
-	public final static int VERSION = 2;
-	public final static int DATE = 3;
-	
-	public static final CVSTag DEFAULT = new CVSTag();
-	public static final CVSTag BASE = new CVSTag("BASE", VERSION); //$NON-NLS-1$
-	
-	protected String name;
-	protected int type;
-	
-	private static final String DATE_TAG_NAME_FORMAT = "dd MMM yyyy HH:mm:ss Z";//$NON-NLS-1$
-	private static final SimpleDateFormat tagNameFormat = new SimpleDateFormat(DATE_TAG_NAME_FORMAT, Locale.US);
-	protected static synchronized String dateToTagName(Date date){
-		tagNameFormat.setTimeZone(TimeZone.getTimeZone("GMT"));//$NON-NLS-1$
-		return tagNameFormat.format(date); 
-	}
-	protected synchronized static Date tagNameToDate(String name){
-		if (name == null) return null;		
-		try {
-			return tagNameFormat.parse(name);
-		} catch (ParseException e) {
-			IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.ERROR,"Tag name " + name + " is not of the expected format " + DATE_TAG_NAME_FORMAT,e ); //$NON-NLS-1$ //$NON-NLS-2$
-			CVSProviderPlugin.log(new CVSException(status)); 
-			return null;
-		}
-	}
-	
-	public CVSTag() {
-		this("HEAD", HEAD); //$NON-NLS-1$
-	}
-
-	public CVSTag(String name, int type) {		
-		this.name = name;
-		this.type = type;
-	}
-	//Write a date in local date tag format
-	public CVSTag(Date date) {
-		this(dateToTagName(date), DATE);
-	}
-
-	public boolean equals(Object other) {
-		if(other == this) return true;
-		if (!(other instanceof CVSTag)) return false;
-			
-		CVSTag tag = ((CVSTag)other);
-		if (getType() != tag.getType()) return false;
-		if (!getName().equals(tag.getName())) return false;
-		return true;
-	}
-	
-	public String getName() {
-		return name;
-	}
-
-	public int getType() {
-		// TODO: getType() will not return accurate types for Tags retrieved from the local CVS Entries file.  See Bug: 36758
-		return type;
-	}
-	
-	public int hashCode() {
-		return name.hashCode();
-	}
-	
-	public int compareTo(CVSTag other) {
-		if(getType() == DATE && other.getType()== DATE){
-			Date date1 = asDate();
-			Date date2 = other.asDate();
-			if(date1 == null || date2 == null)return -1;
-			return date1.compareTo(date2);
-		}
-		return getName().compareToIgnoreCase(other.getName());
-	}
-	
-	public static boolean equalTags(CVSTag tag1, CVSTag tag2) {
-		if (tag1 == null) tag1 = CVSTag.DEFAULT;
-		if (tag2 == null) tag2 = CVSTag.DEFAULT;
-		return tag1.equals(tag2);
-	}
-	
-	public static IStatus validateTagName(String tagName) {
-		if (tagName == null)
-			return new CVSStatus(IStatus.ERROR, CVSMessages.CVSTag_nullName); 
-		if (tagName.equals(""))  //$NON-NLS-1$
-			return new CVSStatus(IStatus.ERROR, CVSMessages.CVSTag_emptyName); 
-		if (!Character. isLetter(tagName.charAt(0)))
-			return new CVSStatus(IStatus.ERROR, CVSMessages.CVSTag_beginName); 
-		
-		for (int i = 0; i < tagName.length(); i++) {
-			char c = tagName.charAt(i);
-			if ( Character.isSpaceChar(c) || c == '$' || c == ',' || c == '.' || c == ':' || c == ';' || c == '@' || c == '|')
-				return new CVSStatus(IStatus.ERROR, CVSMessages.CVSTag_badCharName); 
-		}
-		return new CVSStatus(IStatus.OK, CVSMessages.ok); 
-	}
-	
-	/**
-	 * Return the date this tag represents or <code>null</code>
-	 * if the tag is not of type DATE.
-	 * @return the date of the tag or <code>null</code>
-	 */
-	public Date asDate(){
-		return tagNameToDate(name);
-	}
-	public boolean isHeadTag() {
-		return getType() == HEAD || (getType() == VERSION && getName().equals("HEAD")); //$NON-NLS-1$
-	}
-	
-	public boolean isBaseTag() {
-		return getName().equals("BASE"); //$NON-NLS-1$
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java
deleted file mode 100644
index 5be340a..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java
+++ /dev/null
@@ -1,872 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
- 
-import java.io.*;
-import java.net.URI;
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.team.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.history.IFileHistoryProvider;
-import org.eclipse.team.internal.ccvs.core.client.*;
-import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-import org.eclipse.team.internal.ccvs.core.client.listeners.*;
-import org.eclipse.team.internal.ccvs.core.filehistory.CVSFileHistoryProvider;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer;
-import org.eclipse.team.internal.ccvs.core.syncinfo.*;
-import org.eclipse.team.internal.ccvs.core.util.*;
-import org.eclipse.team.internal.core.streams.CRLFtoLFInputStream;
-import org.eclipse.team.internal.core.streams.LFtoCRLFInputStream;
-
-/**
- * CVS implementation of {@link RepositoryProvider}
- */
-public class CVSTeamProvider extends RepositoryProvider {
-
-	private static final ResourceRuleFactory RESOURCE_RULE_FACTORY = new CVSResourceRuleFactory();
-	
-	private static final boolean IS_CRLF_PLATFORM = Arrays.equals(
-		System.getProperty("line.separator").getBytes(), new byte[] { '\r', '\n' }); //$NON-NLS-1$
-	
-	public static final IStatus OK = new Status(IStatus.OK, CVSProviderPlugin.ID, 0, CVSMessages.ok, null); 
-	
-	private CVSWorkspaceRoot workspaceRoot;
-	private IProject project;
-	
-	private static MoveDeleteHook moveDeleteHook= new MoveDeleteHook();
-	private static CVSCoreFileModificationValidator fileModificationValidator;
-	private static CVSFileHistoryProvider fileHistoryProvider;
-	
-	// property used to indicate whether new directories should be discovered for the project
-	private final static QualifiedName FETCH_ABSENT_DIRECTORIES_PROP_KEY = 
-		new QualifiedName("org.eclipse.team.cvs.core", "fetch_absent_directories");  //$NON-NLS-1$  //$NON-NLS-2$
-	// property used to indicate whether the project is configured to use Watch/edit
-	private final static QualifiedName WATCH_EDIT_PROP_KEY = 
-		new QualifiedName("org.eclipse.team.cvs.core", "watch_edit");  //$NON-NLS-1$  //$NON-NLS-2$
-
-	/**
-	 * Session property key used to indicate that the project, although not officially shared,
-	 * is a target of a CVS operation.
-	 */
-	private static final QualifiedName TEMP_SHARED = new QualifiedName(CVSProviderPlugin.ID, "tempShare"); //$NON-NLS-1$
-	
-	/**
-	 * Return whether the project is mapped to CVS or is the target of a CVS operation
-	 * that will most likely lead to the project being shared.
-	 * @param project the project
-	 * @return whether the project is mapped to CVS or is the target of a CVS operation
-	 * that will most likely lead to the project being shared
-	 */
-	public static boolean isSharedWithCVS(IProject project) {
-		if (project.isAccessible()) {
-			if (RepositoryProvider.isShared(project)) {
-				RepositoryProvider provider = RepositoryProvider.getProvider(project, CVSProviderPlugin.getTypeId());
-				if (provider != null)
-					return true;
-			}
-			try {
-				Object sessionProperty = project.getSessionProperty(TEMP_SHARED);
-				return sessionProperty != null && sessionProperty.equals(Boolean.TRUE);
-			} catch (CoreException e) {
-				CVSProviderPlugin.log(e);
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Mark the project as being a target of a CVS operation so the sync info management
-	 * will occur.
-	 * @param project the project
-	 */
-	public static void markAsTempShare(IProject project) {
-    	if (RepositoryProvider.isShared(project))
-    		return;
-    	try {
-    		project.setSessionProperty(CVSTeamProvider.TEMP_SHARED, Boolean.TRUE);
-		} catch (CoreException e) {
-			CVSProviderPlugin.log(e);
-		}
-	}
-	
-    /**
-     * Return the file modification validator used for all CVS repository providers.
-     * @return the file modification validator used for all CVS repository providers
-     */
-    protected static CVSCoreFileModificationValidator internalGetFileModificationValidator() {
-        if (CVSTeamProvider.fileModificationValidator == null) {
-            CVSTeamProvider.fileModificationValidator = new CVSCoreFileModificationValidator();
-        }
-        return CVSTeamProvider.fileModificationValidator;
-    }
-    
-	/**
-	 * No-arg Constructor for IProjectNature conformance
-	 */
-	public CVSTeamProvider() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IProjectNature#deconfigure()
-	 */
-	public void deconfigure() {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProvider#deconfigured()
-	 */
-	public void deconfigured() {
-		// when a nature is removed from the project, notify the synchronizer that
-		// we no longer need the sync info cached. This does not affect the actual CVS
-		// meta directories on disk, and will remain unless a client calls unmanage().
-		try {
-			EclipseSynchronizer.getInstance().deconfigure(getProject(), null);
-			internalSetWatchEditEnabled(null);
-			internalSetFetchAbsentDirectories(null);
-		} catch(CVSException e) {
-			// Log the exception and let the disconnect continue
-			CVSProviderPlugin.log(e);
-		}
-		ResourceStateChangeListeners.getListener().projectDeconfigured(getProject());
-	}
-	/**
-	 * @see IProjectNature#getProject()
-	 */
-	public IProject getProject() {
-		return project;
-	}
-
-	/**
-	 * @see IProjectNature#setProject(IProject)
-	 */
-	public void setProject(IProject project) {
-		this.project = project;
-		this.workspaceRoot = new CVSWorkspaceRoot(project);
-		// We used to check to see if the project had CVS folders and log
-		// if it didn't However, in some scenarios, the project can be mapped
-		// before the CVS folders have been created (see bug 173610)
-	}
-
-	/**
-	 * Return the remote location to which the receiver's project is mapped.
-	 */
-	public ICVSRepositoryLocation getRemoteLocation() throws CVSException {
-		try {
-			return workspaceRoot.getRemoteLocation();
-		} catch (CVSException e) {
-			// If we can't get the remote location, we should disconnect since nothing can be done with the provider
-			try {
-				RepositoryProvider.unmap(project);
-			} catch (TeamException ex) {
-				CVSProviderPlugin.log(ex);
-			}
-			// We need to trigger a decorator refresh					
-			throw e;
-		}
-	}
-	
-	public CVSWorkspaceRoot getCVSWorkspaceRoot() {
-		return workspaceRoot;
-	}
-	
-	/*
-	 * Generate an exception if the resource is not a child of the project
-	 */
-	 private void checkIsChild(IResource resource) throws CVSException {
-	 	if (!isChildResource(resource))
-	 		throw new CVSException(new Status(IStatus.ERROR, CVSProviderPlugin.ID, TeamException.UNABLE, 
-	 			NLS.bind(CVSMessages.CVSTeamProvider_invalidResource, (new Object[] {resource.getFullPath().toString(), project.getName()})), 
-	 			null));
-	 }
-	 
-	/*
-	 * Get the arguments to be passed to a commit or update
-	 */
-	private String[] getValidArguments(IResource[] resources, LocalOption[] options) throws CVSException {
-		List arguments = new ArrayList(resources.length);
-		for (int i=0;i<resources.length;i++) {
-			checkIsChild(resources[i]);
-			IPath cvsPath = resources[i].getFullPath().removeFirstSegments(1);
-			if (cvsPath.segmentCount() == 0) {
-				arguments.add(Session.CURRENT_LOCAL_FOLDER);
-			} else {
-				arguments.add(cvsPath.toString());
-			}
-		}
-		return (String[])arguments.toArray(new String[arguments.size()]);
-	}
-	
-	private ICVSResource[] getCVSArguments(IResource[] resources) {
-		ICVSResource[] cvsResources = new ICVSResource[resources.length];
-		for (int i = 0; i < cvsResources.length; i++) {
-			cvsResources[i] = CVSWorkspaceRoot.getCVSResourceFor(resources[i]);
-		}
-		return cvsResources;
-	}
-	
-	/*
-	 * This method expects to be passed an InfiniteSubProgressMonitor
-	 */
-	public void setRemoteRoot(ICVSRepositoryLocation location, IProgressMonitor monitor) throws TeamException {
-
-		// Check if there is a differnece between the new and old roots	
-		final String root = location.getLocation(false);
-		if (root.equals(workspaceRoot.getRemoteLocation())) 
-			return;
-	
-		try {
-			workspaceRoot.getLocalRoot().run(new ICVSRunnable() {
-				public void run(IProgressMonitor progress) throws CVSException {
-					try {
-						// 256 ticks gives us a maximum of 1024 which seems reasonable for folders is a project
-						progress.beginTask(null, 100);
-						final IProgressMonitor monitor = Policy.infiniteSubMonitorFor(progress, 100);
-						monitor.beginTask(null, 256);  
-		
-						// Visit all the children folders in order to set the root in the folder sync info
-						workspaceRoot.getLocalRoot().accept(new ICVSResourceVisitor() {
-							public void visitFile(ICVSFile file) throws CVSException {}
-							public void visitFolder(ICVSFolder folder) throws CVSException {
-								monitor.worked(1);
-								FolderSyncInfo info = folder.getFolderSyncInfo();
-								if (info != null) {
-									monitor.subTask(NLS.bind(CVSMessages.CVSTeamProvider_updatingFolder, new String[] { info.getRepository() })); 
-                                    MutableFolderSyncInfo newInfo = info.cloneMutable();
-                                    newInfo.setRoot(root);
-									folder.setFolderSyncInfo(newInfo);
-									folder.acceptChildren(this);
-								}
-							}
-						});
-					} finally {
-						progress.done();
-					}
-				}
-			}, monitor);
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	/*
-	 * Helper to indicate if the resource is a child of the receiver's project
-	 */
-	private boolean isChildResource(IResource resource) {
-		return resource.getProject().getName().equals(project.getName());
-	}
-	
-	public void configureProject() throws CoreException {
-		getProject().setSessionProperty(TEMP_SHARED, null);
-		ResourceStateChangeListeners.getListener().projectConfigured(getProject());
-	}
-	/**
-	 * Sets the keyword substitution mode for the specified resources.
-	 * <p>
-	 * Applies the following rules in order:<br>
-	 * <ul>
-	 *   <li>If a file is not managed, skips it.</li>
-	 *   <li>If a file is not changing modes, skips it.</li>
-	 *   <li>If a file is being changed from binary to text, corrects line delimiters
-	 *       then commits it, then admins it.</li>
-	 *   <li>If a file is added, changes the resource sync information locally.</li>
-	 *   <li>Otherwise commits the file (with FORCE to create a new revision), then admins it.</li>
-	 * </ul>
-	 * All files that are admin'd are committed with FORCE to prevent other developers from
-	 * casually trying to commit pending changes to the repository without first checking out
-	 * a new copy.  This is not a perfect solution, as they could just as easily do an UPDATE
-	 * and not obtain the new keyword sync info.
-	 * </p>
-	 * 
-	 * @param changeSet a map from IFile to KSubstOption
-	 * @param monitor the progress monitor
-	 * @return a status code indicating success or failure of the operation
-	 * 
-	 * @throws TeamException
-	 */
-	public IStatus setKeywordSubstitution(final Map /* from IFile to KSubstOption */ changeSet,
-		final String comment,
-		IProgressMonitor monitor) throws TeamException {
-		final IStatus[] result = new IStatus[] { ICommandOutputListener.OK };
-		workspaceRoot.getLocalRoot().run(new ICVSRunnable() {
-			public void run(final IProgressMonitor monitor) throws CVSException {
-				final Map /* from KSubstOption to List of String */ filesToAdmin = new HashMap();
-				final Collection /* of ICVSFile */ filesToCommitAsText = new HashSet(); // need fast lookup
-				final boolean useCRLF = IS_CRLF_PLATFORM && (CVSProviderPlugin.getPlugin().isUsePlatformLineend());
-		
-				/*** determine the resources to be committed and/or admin'd ***/
-				for (Iterator it = changeSet.entrySet().iterator(); it.hasNext();) {
-					Map.Entry entry = (Map.Entry) it.next();
-					IFile file = (IFile) entry.getKey();
-					KSubstOption toKSubst = (KSubstOption) entry.getValue();
-
-					// only set keyword substitution if resource is a managed file
-					checkIsChild(file);
-					ICVSFile mFile = CVSWorkspaceRoot.getCVSFileFor(file);
-					if (! mFile.isManaged()) continue;
-					
-					// only set keyword substitution if new differs from actual
-					byte[] syncBytes = mFile.getSyncBytes();
-					KSubstOption fromKSubst = ResourceSyncInfo.getKeywordMode(syncBytes);
-					if (toKSubst.equals(fromKSubst)) continue;
-					
-					// change resource sync info immediately for an outgoing addition
-					if (ResourceSyncInfo.isAddition(syncBytes)) {
-						mFile.setSyncBytes(ResourceSyncInfo.setKeywordMode(syncBytes, toKSubst), ICVSFile.UNKNOWN);
-						continue;
-					}
-
-					// nothing do to for deletions
-					if (ResourceSyncInfo.isDeletion(syncBytes)) continue;
-
-					// file exists remotely so we'll have to commit it
-					if (fromKSubst.isBinary() && ! toKSubst.isBinary()) {
-						// converting from binary to text
-						cleanLineDelimiters(file, useCRLF, new NullProgressMonitor()); // XXX need better progress monitoring
-						// remember to commit the cleaned resource as text before admin
-						filesToCommitAsText.add(mFile);
-					}
-					// remember to admin the resource
-					List list = (List) filesToAdmin.get(toKSubst);
-					if (list == null) {
-						list = new ArrayList();
-						filesToAdmin.put(toKSubst, list);
-					}
-					list.add(mFile);
-				}
-			
-				/*** commit then admin the resources ***/
-				// compute the total work to be performed
-				int totalWork = filesToCommitAsText.size() + 1;
-				for (Iterator it = filesToAdmin.values().iterator(); it.hasNext();) {
-					List list = (List) it.next();
-					totalWork += list.size();
-					totalWork += 1; // Add 1 for each connection that needs to be made
-				}
-				if (totalWork != 0) {
-					monitor.beginTask(CVSMessages.CVSTeamProvider_settingKSubst, totalWork); 
-					try {
-						// commit files that changed from binary to text
-						// NOTE: The files are committed as text with conversions even if the
-						//       resource sync info still says "binary".
-						if (filesToCommitAsText.size() != 0) {
-							Session session = new Session(workspaceRoot.getRemoteLocation(), workspaceRoot.getLocalRoot(), true /* output to console */);
-							session.open(Policy.subMonitorFor(monitor, 1), true /* open for modification */);
-							try {
-								String keywordChangeComment = comment;
-								if (keywordChangeComment == null || keywordChangeComment.length() == 0)
-									keywordChangeComment = CVSMessages.CVSTeamProvider_changingKeywordComment; 
-								result[0] = Command.COMMIT.execute(
-									session,
-									Command.NO_GLOBAL_OPTIONS,
-									new LocalOption[] { Command.DO_NOT_RECURSE, Commit.FORCE,
-										Command.makeArgumentOption(Command.MESSAGE_OPTION, keywordChangeComment) },
-									(ICVSResource[]) filesToCommitAsText.toArray(new ICVSResource[filesToCommitAsText.size()]),
-									filesToCommitAsText,
-									null, 
-									Policy.subMonitorFor(monitor, filesToCommitAsText.size()));
-							} finally {
-								session.close();
-							}
-
-							// if errors were encountered, abort
-							if (! result[0].isOK()) return;
-						}
-						
-						// admin files that changed keyword substitution mode
-						// NOTE: As confirmation of the completion of a command, the server replies
-						//       with the RCS command output if a change took place.  Rather than
-						//       assume that the command succeeded, we listen for these lines
-						//       and update the local ResourceSyncInfo for the particular files that
-						//       were actually changed remotely.
-						for (Iterator it = filesToAdmin.entrySet().iterator(); it.hasNext();) {
-							Map.Entry entry = (Map.Entry) it.next();
-							final KSubstOption toKSubst = (KSubstOption) entry.getKey();
-							final List list = (List) entry.getValue();
-							// do it
-							Session session = new Session(workspaceRoot.getRemoteLocation(), workspaceRoot.getLocalRoot(), true /* output to console */);
-							session.open(Policy.subMonitorFor(monitor, 1), true /* open for modification */);
-							try {
-								result[0] = Command.ADMIN.execute(
-									session,
-									Command.NO_GLOBAL_OPTIONS,
-									new LocalOption[] { toKSubst },
-									(ICVSResource[]) list.toArray(new ICVSResource[list.size()]),
-									new AdminKSubstListener(toKSubst),
-									Policy.subMonitorFor(monitor, list.size()));
-							} finally {
-								session.close();
-							}
-							// if errors were encountered, abort
-							if (! result[0].isOK()) return;
-						}
-					} finally {
-						monitor.done();
-					}
-				}
-			}
-		}, Policy.monitorFor(monitor));
-		return result[0];
-	}
-	
-	/**
-	 * This method translates the contents of a file from binary into text (ASCII).
-	 * Fixes the line delimiters in the local file to reflect the platform's
-	 * native encoding.  Performs CR/LF -> LF or LF -> CR/LF conversion
-	 * depending on the platform but does not affect delimiters that are
-	 * already correctly encoded.
-	 */
-	public static void cleanLineDelimiters(IFile file, boolean useCRLF, IProgressMonitor progress)
-		throws CVSException {
-		try {
-			// convert delimiters in memory
-			ByteArrayOutputStream bos = new ByteArrayOutputStream();
-			InputStream is = new BufferedInputStream(file.getContents());
-			try {
-				// Always convert CR/LF into LFs
-				is = new CRLFtoLFInputStream(is);
-				if (useCRLF) {
-					// For CR/LF platforms, translate LFs to CR/LFs
-					is = new LFtoCRLFInputStream(is);
-				}
-				for (int b; (b = is.read()) != -1;) bos.write(b);
-				bos.close();
-			} finally {
-				is.close();
-			}
-			// write file back to disk with corrected delimiters if changes were made
-			ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
-			file.setContents(bis, false /*force*/, false /*keepHistory*/, progress);
-		} catch (CoreException e) {
-			throw CVSException.wrapException(file, CVSMessages.CVSTeamProvider_cleanLineDelimitersException, e); 
-		} catch (IOException e) {
-			throw CVSException.wrapException(file, CVSMessages.CVSTeamProvider_cleanLineDelimitersException, e); 
-		}
-	}
-	
-	/*
-	 * @see RepositoryProvider#getID()
-	 */
-	public String getID() {
-		return CVSProviderPlugin.getTypeId();
-	}
-	
-	/*
-	 * @see RepositoryProvider#getMoveDeleteHook()
-	 */
-	public IMoveDeleteHook getMoveDeleteHook() {
-		return moveDeleteHook;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProvider#getFileModificationValidator()
-	 */
-	public IFileModificationValidator getFileModificationValidator() {
-		return getFileModificationValidator2();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProvider#getFileModificationValidator2()
-	 */
-	public FileModificationValidator getFileModificationValidator2() {
-		return internalGetFileModificationValidator();
-	}
-	
-	/**
-	 * Checkout (cvs edit) the provided resources so they can be modified locally and committed.
-	 * This will make any read-only resources in the list writable and will notify the server
-	 * that the file is being edited. This notification may be done immediately or at some 
-	 * later point depending on whether contact with the server is possble at the time of 
-	 * invocation or the value of the notify server parameter.
-	 * 
-	 * The recurse parameter is equivalent to the cvs local options -l (<code>true</code>) and 
-	 * -R (<code>false</code>). The notifyServer parameter can be used to defer server contact
-	 * until the next command. This may be approrpiate if no shell or progress monitor is available
-	 * to the caller. The notification bit field indicates what temporary watches are to be used while
-	 * the file is being edited. The possible values that can be ORed together are ICVSFile.EDIT, 
-	 * ICVSFile.UNEDIT and ICVSFile.COMMIT. There pre-ORed convenience values ICVSFile.NO_NOTIFICATION
-	 * and ICVSFile.NOTIFY_ON_ALL are also available.
-	 * 
-	 * @param resources the resources to be edited
-	 * @param recurse indicates whether to recurse (-R) or not (-l)
-	 * @param notifyServer indicates whether to notify the server now, if possible,
-	 *     or defer until the next command.
-	 * @param notifyForWrittable 
-	 * @param notification the temporary watches.
-	 * @param progress progress monitor to provide progress indication/cancellation or <code>null</code>
-	 * @exception CVSException if this method fails.
-	 * @since 2.1
-	 * 
-	 * @see CVSTeamProvider#unedit
-	 */
-	public void edit(IResource[] resources, boolean recurse, boolean notifyServer, final boolean notifyForWritable, final int notification, IProgressMonitor progress) throws CVSException {
-		final int notify;
-		if (notification == ICVSFile.NO_NOTIFICATION) {
-			if (CVSProviderPlugin.getPlugin().isWatchOnEdit()) {
-				notify = ICVSFile.NOTIFY_ON_ALL;
-			} else {
-				notify = ICVSFile.NO_NOTIFICATION;
-			}
-		} else {
-			notify = notification;
-		}
-		notifyEditUnedit(resources, recurse, notifyServer, new ICVSResourceVisitor() {
-			public void visitFile(ICVSFile file) throws CVSException {
-				if (notifyForWritable || file.isReadOnly())
-					file.edit(notify, notifyForWritable, Policy.monitorFor(null));
-			}
-			public void visitFolder(ICVSFolder folder) throws CVSException {
-				// nothing needs to be done here as the recurse will handle the traversal
-			}
-		}, null /* no scheduling rule */, progress);
-	}
-	
-	/**
-	 * Unedit the given resources. Any writtable resources will be reverted to their base contents
-	 * and made read-only and the server will be notified that the file is no longer being edited.
-	 * This notification may be done immediately or at some 
-	 * later point depending on whether contact with the server is possble at the time of 
-	 * invocation or the value of the notify server parameter.
-	 * 
-	 * The recurse parameter is equivalent to the cvs local options -l (<code>true</code>) and 
-	 * -R (<code>false</code>). The notifyServer parameter can be used to defer server contact
-	 * until the next command. This may be approrpiate if no shell or progress monitor is available
-	 * to the caller.
-	 * 
-	 * @param resources the resources to be unedited
-	 * @param recurse indicates whether to recurse (-R) or not (-l)
-	 * @param notifyServer indicates whether to notify the server now, if possible,
-	 *     or defer until the next command.
-	 * @param progress progress monitor to provide progress indication/cancellation or <code>null</code>
-	 * @exception CVSException if this method fails.
-	 * @since 2.1
-	 * 
-	 * @see CVSTeamProvider#edit
-	 */
-	public void unedit(IResource[] resources, boolean recurse, boolean notifyServer, IProgressMonitor progress) throws CVSException {
-		notifyEditUnedit(resources, recurse, notifyServer, new ICVSResourceVisitor() {
-			public void visitFile(ICVSFile file) throws CVSException {
-				if (!file.isReadOnly())
-					file.unedit(Policy.monitorFor(null));
-			}
-			public void visitFolder(ICVSFolder folder) throws CVSException {
-				// nothing needs to be done here as the recurse will handle the traversal
-			}
-		}, getProject() /* project scheduling rule */, progress);
-	}
-	
-	/*
-	 * This method captures the common behavior between the edit and unedit methods.
-	 */
-	private void notifyEditUnedit(final IResource[] resources, final boolean recurse, final boolean notifyServer, final ICVSResourceVisitor editUneditVisitor, ISchedulingRule rule, IProgressMonitor monitor) throws CVSException {
-		final CVSException[] exception = new CVSException[] { null };
-		IWorkspaceRunnable workspaceRunnable = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				final ICVSResource[] cvsResources = getCVSArguments(resources);
-				
-				// mark the files locally as being checked out
-				try {
-					for (int i = 0; i < cvsResources.length; i++) {
-						cvsResources[i].accept(editUneditVisitor, recurse);
-					}
-				} catch (CVSException e) {
-					exception[0] = e;
-					return;
-				}
-				
-				// send the noop command to the server in order to deliver the notifications
-				if (notifyServer) {
-					monitor.beginTask(null, 100);
-					Session session = new Session(workspaceRoot.getRemoteLocation(), workspaceRoot.getLocalRoot(), true);
-					try {
-						try {
-							session.open(Policy.subMonitorFor(monitor, 10), true /* open for modification */);
-						} catch (CVSException e1) {
-							// If the connection cannot be opened, just exit normally.
-							// The notifications will be sent when a connection can be made
-							return;
-						}
-						Command.NOOP.execute(
-							session,
-							Command.NO_GLOBAL_OPTIONS, 
-							Command.NO_LOCAL_OPTIONS, 
-							cvsResources, 
-							null, 
-							Policy.subMonitorFor(monitor, 90));
-					} catch (CVSException e) {
-						exception[0] = e;
-					} finally {
-						session.close();
-						monitor.done();
-					}
-				}
-			}
-		};
-		try {
-			ResourcesPlugin.getWorkspace().run(workspaceRunnable, rule, 0, Policy.monitorFor(monitor));
-		} catch (CoreException e) {
-			if (exception[0] == null) {
-				throw CVSException.wrapException(e);
-			} else {
-				CVSProviderPlugin.log(CVSException.wrapException(e));
-			}
-		}
-		if (exception[0] != null) {
-			throw exception[0];
-		}
-	}
-	
-	/**
-	 * Gets the etchAbsentDirectories.
-	 * @return Returns a boolean
-	 */
-	public boolean getFetchAbsentDirectories() throws CVSException {
-		try {
-			String property = getProject().getPersistentProperty(FETCH_ABSENT_DIRECTORIES_PROP_KEY);
-			if (property == null) return CVSProviderPlugin.getPlugin().getFetchAbsentDirectories();
-			return Boolean.valueOf(property).booleanValue();
-		} catch (CoreException e) {
-			throw new CVSException(new CVSStatus(IStatus.ERROR, CVSStatus.ERROR, NLS.bind(CVSMessages.CVSTeamProvider_errorGettingFetchProperty, new String[] { project.getName() }), e, project)); 
-		}
-	}
-	
-	/**
-	 * Sets the fetchAbsentDirectories.
-	 * @param etchAbsentDirectories The etchAbsentDirectories to set
-	 */
-	public void setFetchAbsentDirectories(boolean fetchAbsentDirectories) throws CVSException {
-		internalSetFetchAbsentDirectories(fetchAbsentDirectories ? Boolean.TRUE.toString() : Boolean.FALSE.toString());
-	}
-
-	public void internalSetFetchAbsentDirectories(String fetchAbsentDirectories) throws CVSException {
-		try {
-			getProject().setPersistentProperty(FETCH_ABSENT_DIRECTORIES_PROP_KEY, fetchAbsentDirectories);
-		} catch (CoreException e) {
-			IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.ERROR, NLS.bind(CVSMessages.CVSTeamProvider_errorSettingFetchProperty, new String[] { project.getName() }), e, project);
-			throw new CVSException(status); 
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.team.core.RepositoryProvider#canHandleLinkedResources()
-	 */
-	public boolean canHandleLinkedResources() {
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProvider#canHandleLinkedResourceURI()
-	 */
-	public boolean canHandleLinkedResourceURI() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProvider#validateCreateLink(org.eclipse.core.resources.IResource, int, org.eclipse.core.runtime.IPath)
-	 */
-	public IStatus validateCreateLink(IResource resource, int updateFlags, IPath location) {
-		return internalValidateCreateLink(resource);
-	}
-
-	private IStatus internalValidateCreateLink(IResource resource) {
-		ICVSFolder cvsFolder = CVSWorkspaceRoot.getCVSFolderFor(resource.getParent().getFolder(new Path(resource.getName())));
-		try {
-			if (cvsFolder.isCVSFolder()) {
-				// There is a remote folder that overlaps with the link so disallow
-				return new CVSStatus(IStatus.ERROR, CVSStatus.ERROR, NLS.bind(CVSMessages.CVSTeamProvider_overlappingRemoteFolder, new String[] { resource.getFullPath().toString() }),resource); 
-			} else {
-				ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor(resource.getParent().getFile(new Path(resource.getName())));
-				if (cvsFile.isManaged()) {
-					// there is an outgoing file deletion that overlaps the link so disallow
-					return new CVSStatus(IStatus.ERROR, CVSStatus.ERROR, NLS.bind(CVSMessages.CVSTeamProvider_overlappingFileDeletion, new String[] { resource.getFullPath().toString() }),resource); 
-				}
-			}
-		} catch (CVSException e) {
-			CVSProviderPlugin.log(e);
-			return e.getStatus();
-		}
-		return Status.OK_STATUS;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProvider#validateCreateLink(org.eclipse.core.resources.IResource, int, java.net.URI)
-	 */
-	public IStatus validateCreateLink(IResource resource, int updateFlags, URI location) {
-		return internalValidateCreateLink(resource);
-	}
-	
-	/**
-	 * Get the editors of the resources by calling the <code>cvs editors</code> command.
-	 * 
-	 * @author <a href="mailto:gregor.kohlwes@csc.com,kohlwes@gmx.net">Gregor Kohlwes</a>
-	 * @param resources
-	 * @param progress
-	 * @return IEditorsInfo[]
-	 * @throws CVSException
-	 */
-	public EditorsInfo[] editors(
-		IResource[] resources,
-		IProgressMonitor progress)
-		throws CVSException {
-
-		// Build the local options
-		LocalOption[] commandOptions = new LocalOption[] {
-		};
-		progress.worked(10);
-		// Build the arguments list
-		String[] arguments = getValidArguments(resources, commandOptions);
-
-		// Build the listener for the command
-		EditorsListener listener = new EditorsListener();
-
-		// Check if canceled
-		if (progress.isCanceled()) {
-			return new EditorsInfo[0];
-		}
-		// Build the session
-		Session session =
-			new Session(
-				workspaceRoot.getRemoteLocation(),
-				workspaceRoot.getLocalRoot());
-
-		// Check if canceled
-		if (progress.isCanceled()) {
-			return new EditorsInfo[0];
-		}
-		progress.beginTask(null, 100);
-		try {
-			// Opening the session takes 20% of the time
-			session.open(Policy.subMonitorFor(progress, 20), false /* read-only */);
-
-			if (!progress.isCanceled()) {
-				// Execute the editors command
-				Command.EDITORS.execute(
-					session,
-					Command.NO_GLOBAL_OPTIONS,
-					commandOptions,
-					arguments,
-					listener,
-					Policy.subMonitorFor(progress, 80));
-			}
-		} finally {
-			session.close();
-			progress.done();
-		}
-		// Return the infos about the editors
-		return listener.getEditorsInfos();
-	}
-
-	/**
-	 * Return the commit comment template that was provided by the server.
-	 * 
-	 * @return String
-	 * @throws CVSException
-	 */
-	public String getCommitTemplate() throws CVSException {
-		ICVSFolder localFolder = getCVSWorkspaceRoot().getLocalRoot();
-		ICVSFile templateFile = CVSWorkspaceRoot.getCVSFileFor(
-			SyncFileWriter.getTemplateFile(
-				(IContainer)localFolder.getIResource()));
-		if (!templateFile.exists()) return null;
-		InputStream in = new BufferedInputStream(templateFile.getContents());
-		try {
-			ByteArrayOutputStream out = new ByteArrayOutputStream();
-			int b;
-			do {
-				b = in.read();
-				if (b != -1)
-					out.write((byte)b);
-			} while (b != -1);
-			out.close();
-			return new String(out.toString());
-		} catch (IOException e) {
-			throw CVSException.wrapException(e);
-		} finally {
-			try {
-				in.close();
-			} catch (IOException e) {
-				// Since we already have the contents, just log this exception
-				CVSProviderPlugin.log(CVSException.wrapException(e));
-			}
-		}
-	}
-	
-	/**
-	 * Return true if the project is configured to use watch/edit. A project will use 
-	 * watch/edit if it was checked out when the global preference to use watch/edit is
-	 * turned on.
-	 * @return boolean
-	 */
-	public boolean isWatchEditEnabled() throws CVSException {
-		IProject project = getProject();
-		try {
-			String property = (String)project.getSessionProperty(WATCH_EDIT_PROP_KEY);
-			if (property == null) {
-				property = project.getPersistentProperty(WATCH_EDIT_PROP_KEY);
-				if (property == null) {
-					// The persistant property for the project was never set (i.e. old project)
-					// Use the global preference to determine if the project is using watch/edit
-					return CVSProviderPlugin.getPlugin().isWatchEditEnabled();
-				} else {
-					project.setSessionProperty(WATCH_EDIT_PROP_KEY, property);
-				}
-			}
-			return Boolean.valueOf(property).booleanValue();
-		} catch (CoreException e) {
-			if (project.isAccessible()) {
-				// We only care if the project still exists
-				IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.ERROR, NLS.bind(CVSMessages.CVSTeamProvider_errorGettingWatchEdit, new String[] { project.getName() }), e, project);
-				throw new CVSException(status); 
-			}
-		}
-		return false;
-	}
-	
-	public void setWatchEditEnabled(boolean enabled) throws CVSException {
-		internalSetWatchEditEnabled(enabled ? Boolean.TRUE.toString() : Boolean.FALSE.toString());
-	}
-	
-	private void internalSetWatchEditEnabled(String enabled) throws CVSException {
-		try {
-			IProject project = getProject();
-			project.setPersistentProperty(WATCH_EDIT_PROP_KEY, enabled);
-			project.setSessionProperty(WATCH_EDIT_PROP_KEY, enabled);
-		} catch (CoreException e) {
-			IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.ERROR, NLS.bind(CVSMessages.CVSTeamProvider_errorSettingWatchEdit, new String[] { project.getName() }), e, project);
-			throw new CVSException(status); 
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProvider#getRuleFactory()
-	 */
-	public IResourceRuleFactory getRuleFactory() {
-		return RESOURCE_RULE_FACTORY;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProvider#getFileHistoryProvider()
-	 */
-	public IFileHistoryProvider getFileHistoryProvider() {
-		   if (CVSTeamProvider.fileHistoryProvider == null) {
-	            CVSTeamProvider.fileHistoryProvider = new CVSFileHistoryProvider();
-	        }
-	        return CVSTeamProvider.fileHistoryProvider;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProviderType.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProviderType.java
deleted file mode 100644
index 93688fc..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProviderType.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.*;
-import org.eclipse.team.core.*;
-import org.eclipse.team.core.mapping.IChangeGroupingRequestor;
-import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.core.TeamPlugin;
-import org.eclipse.team.internal.core.subscribers.ActiveChangeSetManager;
-
-
-/**
- * This class represents the CVS Provider's capabilities in the absence of a
- * particular project.
- */
-
-public class CVSTeamProviderType extends RepositoryProviderType implements IAdaptable {
-	
-	private static AutoShareJob autoShareJob;
-	
-	public static class AutoShareJob extends Job {
-
-		List projectsToShare = new ArrayList();
-		
-		AutoShareJob() {
-			super(CVSMessages.CVSTeamProviderType_0);
-		}
-
-		public boolean isQueueEmpty() {
-			return projectsToShare.isEmpty();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.jobs.Job#shouldSchedule()
-		 */
-		public boolean shouldSchedule() {
-			return !isQueueEmpty();
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.jobs.Job#shouldRun()
-		 */
-		public boolean shouldRun() {
-			synchronized (projectsToShare) {
-				for (Iterator iter = projectsToShare.iterator(); iter.hasNext();) {
-					IProject project = (IProject) iter.next();
-					if (RepositoryProvider.isShared(project)) {
-						iter.remove();
-					}
-				}
-				return !projectsToShare.isEmpty();
-			}
-		}
-		
-		public void share(IProject project) {
-			if (!RepositoryProvider.isShared(project)) {
-				synchronized (projectsToShare) {
-					if (!projectsToShare.contains(project))
-						projectsToShare.add(project);
-				}
-				if(getState() == Job.NONE && !isQueueEmpty())
-					schedule();
-			}
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		protected IStatus run(IProgressMonitor monitor) {
-			IProject next = null;
-			next = getNextProject();
-			monitor.beginTask(null, IProgressMonitor.UNKNOWN);
-			while (next != null) {
-				autoconnectCVSProject(next, Policy.subMonitorFor(monitor, IProgressMonitor.UNKNOWN));
-				next = getNextProject();
-			}
-			monitor.done();
-			return Status.OK_STATUS;
-		}
-
-		private IProject getNextProject() {
-			IProject next = null;
-			synchronized (projectsToShare) {
-				if (!projectsToShare.isEmpty()) {
-					next = (IProject)projectsToShare.remove(0);
-				}
-			}
-			return next;
-		}
-		
-		/*
-		 * Auto-connect to the repository using CVS/ directories
-		 */
-		private void autoconnectCVSProject(IProject project, IProgressMonitor monitor) {
-			try {
-				ICVSFolder folder = (ICVSFolder)CVSWorkspaceRoot.getCVSResourceFor(project);
-				FolderSyncInfo info = folder.getFolderSyncInfo();
-				if (info != null) {	
-					// Set the sharing
-					CVSWorkspaceRoot.setSharing(project, info, monitor);
-				}
-			} catch (TeamException e) {
-				CVSProviderPlugin.log(IStatus.ERROR, "Could not auto-share project " + project.getName(), e); //$NON-NLS-1$
-			}
-		}
-	}
-	
-	private synchronized static AutoShareJob getAutoShareJob() {
-		if (autoShareJob == null) {
-			autoShareJob = new AutoShareJob();
-			autoShareJob.addJobChangeListener(new JobChangeAdapter() {
-				public void done(IJobChangeEvent event) {
-					// Reschedule the job if it has unprocessed projects
-					if (!autoShareJob.isQueueEmpty()) {
-						autoShareJob.schedule();
-					}
-				}
-			});
-			autoShareJob.setSystem(true);
-			autoShareJob.setPriority(Job.SHORT);
-			// Must run with the workspace rule to ensure that projects added while we're running
-			// can be shared
-			autoShareJob.setRule(ResourcesPlugin.getWorkspace().getRoot());
-		}
-		return autoShareJob;
-	}
-	
-	/**
-	 * @see org.eclipse.team.core.RepositoryProviderType#supportsProjectSetImportRelocation()
-	 */
-	public boolean supportsProjectSetImportRelocation() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProviderType#getProjectSetCapability()
-	 */
-	public ProjectSetCapability getProjectSetCapability() {
-		return new CVSProjectSetCapability();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProviderType#metaFilesDetected(org.eclipse.core.resources.IProject, org.eclipse.core.resources.IContainer[])
-	 */
-	public void metaFilesDetected(IProject project, IContainer[] containers) {
-		for (int i = 0; i < containers.length; i++) {
-			IContainer container = containers[i];
-			IContainer cvsDir = null;
-			if (container.getName().equals("CVS")) { //$NON-NLS-1$
-				cvsDir = container;
-			} else {
-				IResource resource = container.findMember("CVS"); //$NON-NLS-1$
-				if (resource.getType() != IResource.FILE) {
-					cvsDir = (IContainer)resource;
-				}
-			}
-			try {
-				if (cvsDir != null && !cvsDir.isTeamPrivateMember())
-					cvsDir.setTeamPrivateMember(true);
-			} catch (CoreException e) {
-				TeamPlugin.log(IStatus.ERROR, "Could not flag meta-files as team-private for " + cvsDir.getFullPath(), e); //$NON-NLS-1$
-			}
-		}
-        if (CVSProviderPlugin.getPlugin().isAutoshareOnImport())
-            getAutoShareJob().share(project);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProviderType#getSubscriber()
-	 */
-	public Subscriber getSubscriber() {
-		return CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter == ActiveChangeSetManager.class || adapter == IChangeGroupingRequestor.class)
-			return CVSProviderPlugin.getPlugin().getChangeSetManager();
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSWorkspaceSubscriber.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSWorkspaceSubscriber.java
deleted file mode 100644
index 32e617f..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSWorkspaceSubscriber.java
+++ /dev/null
@@ -1,443 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.resources.mapping.ResourceTraversal;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.*;
-import org.eclipse.team.core.diff.IDiff;
-import org.eclipse.team.core.diff.IThreeWayDiff;
-import org.eclipse.team.core.subscribers.*;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.synchronize.SyncInfoSet;
-import org.eclipse.team.core.variants.*;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer;
-import org.eclipse.team.internal.ccvs.core.syncinfo.*;
-import org.eclipse.team.internal.ccvs.core.util.ResourceStateChangeListeners;
-import org.eclipse.team.internal.core.subscribers.ActiveChangeSetManager;
-
-/**
- * CVSWorkspaceSubscriber
- */
-public class CVSWorkspaceSubscriber extends CVSSyncTreeSubscriber implements IResourceStateChangeListener {
-	
-	private CVSResourceVariantTree baseTree, remoteTree;
-
-	// qualified name for remote sync info
-	private static final String REMOTE_RESOURCE_KEY = "remote-resource-key"; //$NON-NLS-1$
-
-	private boolean contentFetch;
-	
-	CVSWorkspaceSubscriber(QualifiedName id, String name) {
-		super(id, name);
-		
-		// install sync info participant
-		ResourceVariantByteStore baseSynchronizer = new CVSBaseResourceVariantTree();
-		baseTree = new CVSResourceVariantTree(baseSynchronizer, null, getCacheFileContentsHint()) {
-			public IResource[] refresh(IResource[] resources, int depth, IProgressMonitor monitor) throws TeamException {
-				// TODO Ensure that file contents are cached for modified local files
-				try {
-					monitor.beginTask(null, 100);
-					return new IResource[0];
-				} finally {
-					monitor.done();
-				}
-			}
-		};
-		CVSDescendantResourceVariantByteStore remoteSynchronizer = new CVSDescendantResourceVariantByteStore(
-				baseSynchronizer, 
-				new PersistantResourceVariantByteStore(new QualifiedName(SYNC_KEY_QUALIFIER, REMOTE_RESOURCE_KEY)));
-		remoteTree = new CVSResourceVariantTree(remoteSynchronizer, null, getCacheFileContentsHint()) {
-			public boolean isCacheFileContentsHint() {
-				return getCacheFileContentsHint();
-			}
-		};
-		
-		ResourceStateChangeListeners.getListener().addResourceStateChangeListener(this); 
-	}
-
-	/* 
-	 * Return the list of projects shared with a CVS team provider.
-	 * 
-	 * [Issue : this will have to change when folders can be shared with
-	 * a team provider instead of the current project restriction]
-	 * (non-Javadoc)
-	 * @see org.eclipse.team.core.sync.ISyncTreeSubscriber#roots()
-	 */
-	public IResource[] roots() {
-		List result = new ArrayList();
-		IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		for (int i = 0; i < projects.length; i++) {
-			IProject project = projects[i];
-			if(project.isOpen()) {
-				RepositoryProvider provider = RepositoryProvider.getProvider(project, CVSProviderPlugin.getTypeId());
-				if(provider != null) {
-					result.add(project);
-				}
-			}
-		}
-		return (IProject[]) result.toArray(new IProject[result.size()]);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.IResourceStateChangeListener#resourceSyncInfoChanged(org.eclipse.core.resources.IResource[])
-	 */
-	public void resourceSyncInfoChanged(IResource[] changedResources) {
-		internalResourceSyncInfoChanged(changedResources, true); 
-	}
-
-	private void internalResourceSyncInfoChanged(IResource[] changedResources, boolean canModifyWorkspace) {
-		getRemoteByteStore().handleResourceChanges(changedResources, canModifyWorkspace);	
-		fireTeamResourceChange(SubscriberChangeEvent.asSyncChangedDeltas(this, changedResources));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.IResourceStateChangeListener#externalSyncInfoChange(org.eclipse.core.resources.IResource[])
-	 */
-	public void externalSyncInfoChange(IResource[] changedResources) {
-		internalResourceSyncInfoChanged(changedResources, false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.IResourceStateChangeListener#resourceModified(org.eclipse.core.resources.IResource[])
-	 */
-	public void resourceModified(IResource[] changedResources) {
-		// This is only ever called from a delta POST_CHANGE
-		// which causes problems since the workspace tree is closed
-		// for modification and we flush the sync info in resourceSyncInfoChanged
-		
-		// Since the listeners of the Subscriber will also listen to deltas
-		// we don't need to propogate this.
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.IResourceStateChangeListener#projectConfigured(org.eclipse.core.resources.IProject)
-	 */
-	public void projectConfigured(IProject project) {
-		SubscriberChangeEvent delta = new SubscriberChangeEvent(this, ISubscriberChangeEvent.ROOT_ADDED, project);
-		fireTeamResourceChange(new SubscriberChangeEvent[] {delta});
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.IResourceStateChangeListener#projectDeconfigured(org.eclipse.core.resources.IProject)
-	 */
-	public void projectDeconfigured(IProject project) {
-		try {
-			getRemoteTree().flushVariants(project, IResource.DEPTH_INFINITE);
-		} catch (TeamException e) {
-			CVSProviderPlugin.log(e);
-		}
-		SubscriberChangeEvent delta = new SubscriberChangeEvent(this, ISubscriberChangeEvent.ROOT_REMOVED, project);
-		fireTeamResourceChange(new SubscriberChangeEvent[] {delta});
-	}
-
-	public void setRemote(IResource resource, IResourceVariant remote, IProgressMonitor monitor) throws TeamException {
-		// TODO: This exposes internal behavior to much
-		IResource[] changedResources = 
-			((CVSResourceVariantTree)getRemoteTree()).collectChanges(resource, remote, IResource.DEPTH_INFINITE, monitor);
-		if (changedResources.length != 0) {
-			fireTeamResourceChange(SubscriberChangeEvent.asSyncChangedDeltas(this, changedResources));
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.CVSSyncTreeSubscriber#getBaseSynchronizationCache()
-	 */
-	protected IResourceVariantTree getBaseTree() {
-		return baseTree;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.CVSSyncTreeSubscriber#getRemoteSynchronizationCache()
-	 */
-	protected IResourceVariantTree getRemoteTree() {
-		return remoteTree;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.Subscriber#collectOutOfSync(org.eclipse.core.resources.IResource[], int, org.eclipse.team.core.synchronize.SyncInfoSet, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void collectOutOfSync(IResource[] resources, int depth, final SyncInfoSet set, final IProgressMonitor monitor) {
-		monitor.beginTask(null, IProgressMonitor.UNKNOWN);
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			try {
-				if (!isSupervised(resource)) {
-					return;
-				}
-			} catch (TeamException e) {
-				// fallthrough and try to collect sync info
-				CVSProviderPlugin.log(e);
-			}
-			try {
-				visit(resource, new IResourceVisitor() {
-					public boolean visit(IResource innerResource) throws CoreException {
-						try {
-							Policy.checkCanceled(monitor);
-							if (innerResource.getType() != IResource.FILE) {
-								monitor.subTask(NLS.bind(CVSMessages.CVSWorkspaceSubscriber_1, new String[] { innerResource.getFullPath().toString() })); 
-							}
-							if (isOutOfSync(innerResource, monitor)) {
-								SyncInfo info = getSyncInfo(innerResource);
-								if (info != null && info.getKind() != 0) {
-									set.add(info);
-								}
-							}
-						} catch (TeamException e) {
-							set.addError(new TeamStatus(
-									IStatus.ERROR, CVSProviderPlugin.ID, ITeamStatus.RESOURCE_SYNC_INFO_ERROR,
-									NLS.bind(CVSMessages.CVSWorkspaceSubscriber_2, new String[] { innerResource.getFullPath().toString(), e.getMessage() }), e, innerResource)); 
-						}
-						return true;
-					}
-				}, depth);
-			} catch (CoreException e) {
-				set.addError(new TeamStatus(
-						IStatus.ERROR, CVSProviderPlugin.ID, ITeamStatus.SYNC_INFO_SET_ERROR,
-						e.getMessage(), e, ResourcesPlugin.getWorkspace().getRoot()));
-			}
-		}
-		monitor.done();
-	}
-	
-	private void visit(IResource resource, IResourceVisitor visitor, int depth) throws CoreException {
-		boolean keepGoing = visitor.visit(resource);
-		if (keepGoing && depth != IResource.DEPTH_ZERO) {
-			IResource[] members = members(resource);
-			for (int i = 0; i < members.length; i++) {
-				IResource member = members[i];
-				visit(member, visitor, depth == IResource.DEPTH_ONE ? IResource.DEPTH_ZERO : IResource.DEPTH_INFINITE);
-			}
-		}
-	}
-
-	/* internal use only */ boolean isOutOfSync(IResource resource, IProgressMonitor monitor) throws TeamException {
-		return (hasIncomingChange(resource) || hasOutgoingChange(resource, monitor));
-	}
-	
-	private boolean hasIncomingChange(IResource resource) throws TeamException {
-		return getRemoteByteStore().isVariantKnown(resource);
-	}
-	
-	private boolean hasOutgoingChange(IResource resource, IProgressMonitor monitor) throws CVSException {
-		if (resource.getType() == IResource.PROJECT || resource.getType() == IResource.ROOT) {
-			// a project (or the workspace root) cannot have outgoing changes
-			return false;
-		}
-		int state = EclipseSynchronizer.getInstance().getModificationState(resource.getParent());
-		if (state == ICVSFile.CLEAN) {
-			// if the parent is known to be clean then the resource must also be clean
-			return false;
-		}
-		if (resource.getType() == IResource.FILE) {
-			// A file is an outgoing change if it is modified
-			ICVSFile file = CVSWorkspaceRoot.getCVSFileFor((IFile)resource);
-			return file.isModified(monitor);
-		} else {
-			// A folder is an outgoing change if it is not a CVS folder and not ignored
-			ICVSFolder folder = CVSWorkspaceRoot.getCVSFolderFor((IContainer)resource);
-			return !folder.isCVSFolder() && !folder.isIgnored();
-		}
-	}
-	
-	/*
-	 * TODO: Should not need to access this here
-	 */
-	private CVSDescendantResourceVariantByteStore getRemoteByteStore() {
-		return (CVSDescendantResourceVariantByteStore)((CVSResourceVariantTree)getRemoteTree()).getByteStore();
-	}
-
-	/**
-	 * Update the remote tree to the base
-	 * @param folder
-	 * @param recurse 
-	 */
-	public void updateRemote(CVSTeamProvider provider, ICVSFolder folder, boolean recurse, IProgressMonitor monitor) throws TeamException {
-		try {
-			monitor.beginTask(null, IProgressMonitor.UNKNOWN);
-			IResource resource = folder.getIResource();
-			if (resource != null) {
-				ICVSResource tree = buildBaseTree(
-						resource, 
-						false, 
-						Policy.subMonitorFor(monitor, 50));
-				setRemote(resource, (IResourceVariant)tree, Policy.subMonitorFor(monitor, 50));
-			}
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	public ICVSRemoteResource buildBaseTree(IResource resource, boolean immutable, IProgressMonitor monitor) throws TeamException {
-		try {
-			monitor.beginTask(null, IProgressMonitor.UNKNOWN);
-			return ((CVSResourceVariantTree)getBaseTree()).buildTree(null, resource, immutable, monitor);
-		} finally {
-			monitor.done();
-		}
-	}
-
-	public ICVSRemoteResource buildRemoteTree(IResource resource, boolean immutable, IProgressMonitor monitor) throws TeamException {
-		try {
-			monitor.beginTask(null, IProgressMonitor.UNKNOWN);
-			return ((CVSResourceVariantTree)getRemoteTree()).buildTree(null, resource, immutable, monitor);
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.Subscriber#getState(org.eclipse.core.resources.mapping.ResourceMapping, int, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public int getState(ResourceMapping mapping, int stateMask, IProgressMonitor monitor) throws CoreException {
-		if ((stateMask & IThreeWayDiff.INCOMING) == 0) {
-			// If we're only interested in outgoing changes, used the cached modified state
-			ResourceTraversal[] traversals = mapping.getTraversals(new SubscriberResourceMappingContext(this, false), monitor);
-			if (hasLocalChanges(traversals, monitor)) {
-				int state = IThreeWayDiff.OUTGOING;
-				state |= getOutgoingKind(traversals, monitor);
-				return state;
-			} else {
-				return 0;
-			}
-		}
-		return super.getState(mapping, stateMask, monitor);
-	}
-	
-	private int getOutgoingKind(ResourceTraversal[] traversals, IProgressMonitor monitor) throws CoreException {
-		int kind = 0;
-		for (int i = 0; i < traversals.length; i++) {
-			ResourceTraversal traversal = traversals[i];
-			IResource[] resources = traversal.getResources();
-			for (int j = 0; j < resources.length; j++) {
-				IResource resource = resources[j];
-				IDiff node = getDiff(resource);
-				if (node == null)
-					return IDiff.CHANGE;
-				int nextKind = node.getKind();
-				if (kind == 0)
-					kind = nextKind;
-				if (nextKind != kind || nextKind == IDiff.CHANGE)
-					return IDiff.CHANGE;
-			}
-		}
-		return kind;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.Subscriber#hasLocalChanges(org.eclipse.core.resources.mapping.ResourceTraversal[], org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean hasLocalChanges(ResourceTraversal[] traversals, IProgressMonitor monitor) throws CoreException {
-		monitor = Policy.monitorFor(monitor);
-		for (int i = 0; i < traversals.length; i++) {
-			ResourceTraversal traversal = traversals[i];
-			IResource[] resources = traversal.getResources();
-			switch (traversal.getDepth()) {
-			case IResource.DEPTH_ZERO:
-				for (int j = 0; j < resources.length; j++) {
-					IResource resource = resources[j];
-					if (isDirectlyDirty(resource, monitor)) {
-						return true;
-					}
-				}
-				break;
-			case IResource.DEPTH_INFINITE:
-				for (int j = 0; j < resources.length; j++) {
-					IResource resource = resources[j];
-					if (isDirty(resource, monitor)) {
-						return true;
-					}
-				}
-				break;
-			case IResource.DEPTH_ONE:
-				for (int j = 0; j < resources.length; j++) {
-					IResource resource = resources[j];
-					if (isDirectlyDirty(resource, monitor)) {
-						return true;
-					}
-					IResource[] children = members(resource);
-					for (int k = 0; k < children.length; k++) {
-						IResource child = children[k];				
-						if (isDirectlyDirty(child, monitor)) {
-							return true;
-						}
-					}
-				}
-				break;
-			}
-		}
-		return false;
-	}
-	
-	private boolean isDirectlyDirty(IResource resource, IProgressMonitor monitor) throws CoreException {
-		if (resource.getType() == IResource.FILE) {
-			if (isDirty(resource, monitor))
-				return true;
-		} else {
-			IDiff node = getDiff(resource);
-			if (node != null 
-					&& node instanceof IThreeWayDiff 
-					&& ((IThreeWayDiff)node).getLocalChange() != null
-					&& ((IThreeWayDiff)node).getLocalChange().getKind() != IDiff.NO_CHANGE)
-				return true;
-		}
-		return false;
-	}
-	
-	public boolean isDirty(final ICVSResource cvsResource, IProgressMonitor monitor) throws CVSException {
-		if (cvsResource.exists())
-			return !cvsResource.isIgnored() && cvsResource.isModified(monitor);
-		return cvsResource.isManaged() && cvsResource.isModified(monitor);
-	}
-	
-	public boolean isDirty(IResource resource, IProgressMonitor monitor) throws CVSException {
-		try {
-			ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource);
-			return isDirty(cvsResource, monitor);
-		} catch (CVSException e) {
-			//if we get an error report it to the log but assume dirty.
-			boolean accessible = resource.getProject().isAccessible();
-			if (accessible) {
-				throw e;
-			}
-			// Return dirty if the project is open and clean otherwise
-			return accessible;
-		}
-
-	}
-
-	public Object getAdapter(Class adapter) {
-		if (adapter == ActiveChangeSetManager.class) {
-			return CVSProviderPlugin.getPlugin().getChangeSetManager();
-		}
-		return super.getAdapter(adapter);
-	}
-
-	public void refreshWithContentFetch(ResourceTraversal[] traversals, IProgressMonitor monitor) throws TeamException {
-		try {
-			contentFetch = true;
-			refresh(traversals, monitor);
-		} finally {
-			contentFetch = false;
-		}
-	}
-	
-	protected boolean getCacheFileContentsHint() {
-		return contentFetch;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/EditorsInfo.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/EditorsInfo.java
deleted file mode 100644
index 08a7907..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/EditorsInfo.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     CSC - Intial implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-
-/**
- * Instances of EditorsInfo represent information for a CVS resurce that results
- * from the cvs editors command.
- * 
- * @author <a href="mailto:gregor.kohlwes@csc.com,kohlwes@gmx.net">Gregor Kohlwes</a>
- */
-
-public class EditorsInfo {
-	public EditorsInfo() {
-	}
-	
-	private String userName;
-	private String fileName;
-	private String dateString;
-	private String computerName;
-	
-
-	/**
-	 * Returns the userName.
-	 * @return String
-	 */
-	public String getUserName() {
-		return userName;
-	}
-
-	/**
-	 * Sets the userName.
-	 * @param userName The userName to set
-	 */
-	public void setUserName(String userName) {
-		this.userName = userName;
-	}
-
-	/**
-	 * Returns the dateString.
-	 * @return String
-	 */
-	public String getDateString() {
-		return dateString;
-	}
-
-	/**
-	 * Returns the fileName.
-	 * @return String
-	 */
-	public String getFileName() {
-		return fileName;
-	}
-
-	/**
-	 * Sets the dateString.
-	 * @param dateString The dateString to set
-	 */
-	public void setDateString(String dateString) {
-		this.dateString = dateString;
-	}
-
-	/**
-	 * Sets the fileName.
-	 * @param fileName The fileName to set
-	 */
-	public void setFileName(String fileName) {
-		this.fileName = fileName;
-	}
-
-	/**
-	 * Returns the computerName.
-	 * @return String
-	 */
-	public String getComputerName() {
-		return computerName;
-	}
-
-	/**
-	 * Sets the computerName.
-	 * @param computerName The computerName to set
-	 */
-	public void setComputerName(String computerName) {
-		this.computerName = computerName;
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSDecoratorEnablementListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSDecoratorEnablementListener.java
deleted file mode 100644
index 178019b..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSDecoratorEnablementListener.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-/**
- * A decorator enablement listener is notified of changes to the enablement
- * of CVS state decorators.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see CVSProviderPlugin#addDecoratorEnablementListener(ICVSDecoratorEnablementListener)
- */
-public interface ICVSDecoratorEnablementListener {
-	/**
-	 * Called when CVS decoration is enabled or disabled. Implementers can use the
-	 * decorator enablement change as a chance to create or destroy cached CVS information
-	 * that would help decorate CVS elements. 
-	 * 
-	 * @param enabled a flag indicating the enablement state of the decorators.
-	 */
-	void decoratorEnablementChanged(boolean enabled);
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFile.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFile.java
deleted file mode 100644
index 0a9dc85..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFile.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Red Hat Incorporated - is/setExecutable() code
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-import java.util.Date;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.syncinfo.NotifyInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-
-/**
- * The CVS analog of a file. CVS files have access to synchronization information
- * that describes their association with the CVS repository. CVS files also provide 
- * mechanisms for sending and receiving content.
- * 
- * @see ICVSResource
- */
-public interface ICVSFile extends ICVSResource, ICVSStorage {
-	
-	// Constants used to indicate the type of updated response from the server
-	public static final int UPDATED = 1;
-	public static final int MERGED = 2;
-	public static final int UPDATE_EXISTING = 3;
-	public static final int CREATED = 4;
-	
-	// Constants used to indicate temporary watches
-	public static final int NO_NOTIFICATION = 0;
-	public static final int NOTIFY_ON_EDIT = 1;
-	public static final int NOTIFY_ON_UNEDIT = 2;
-	public static final int NOTIFY_ON_COMMIT = 4;
-	public static final int NOTIFY_ON_ALL = NOTIFY_ON_EDIT | NOTIFY_ON_UNEDIT | NOTIFY_ON_COMMIT;
-	
-	// Constants used to indicate modification state when setting sync info
-	public static final int UNKNOWN = 0;
-	public static final int CLEAN = 1;
-	public static final int DIRTY = 2;
-
-	/**
-	 * Answers the workspace synchronization information for this resource. This would 
-	 * typically include information from the <b>Entries</b> file that is used to track
-	 * the base revisions of local CVS resources.
-	 * 
-	 * @return the synchronization information for this resource, or <code>null</code>
-	 * if the resource does not have synchronization information available.
-	 */
-	public byte[] getSyncBytes() throws CVSException;
-
-	/**
-	 * Called to set the workspace synchronization information for a resource. To
-	 * clear sync information call <code>unmanage</code>. The sync info will
-	 * become the persisted between workbench sessions.
-	 * 
-	 * Note: This method makes use of a ResourceSyncInfo object which has the parsed 
-	 * contents of the resource sync info. Clients can manipulate the values using
-	 * MutableResourceSyncInfo and then set the sync info using this method.
-	 * 
-	 * @param info the resource synchronization to associate with this resource.
-	 */	
-	public void setSyncInfo(ResourceSyncInfo info, int modificationState) throws CVSException;
-		
-	/**
-	 * Called to set the workspace synchronization information for a resource. To
-	 * clear sync information call <code>unmanage</code>. The sync info will
-	 * become the persisted between workbench sessions.
-	 * 
-	 * Note: This method sets the sync info to the bytes provided as-is. It is the caller's
-	 * responsibility to ensure that these bytes are of the proper format. Use with caution.
-	 * 
-	 * @param info the resource synchronization to associate with this resource.
-	 */	
-	public void setSyncBytes(byte[] syncBytes, int modificationState) throws CVSException;
-	
-	/**
-	 * Sets the file to read-only (<code>true</code>) or writable (<code>false</code>).
-	 * 
-	 * This method is used by the command framework and should not be used by other clients.
-	 * Other clients should use <code>edit</code> and <code>unedit</code> instead as they
-	 * will report the change to the server if appropriate.
-	 */
-	void setReadOnly(boolean readOnly) throws CVSException;
-	
-	/**
-	 * Answers whether the file is read-only or not. If a file is read-only, <code>edit</code>
-	 * should be invoked to make the file editable.
-	 */
-	boolean isReadOnly() throws CVSException;
-	
-	/**
-	 * Sets the file to be executable (<code>ture</code>) or not executable 
-	 * (<code>false</code>) if the platform supports it.
-	 */
-	public void setExecutable(boolean executable) throws CVSException;
-
-	/**
-	 * Answers whether the file is executable or not. 
-	 * 
-	 * @returns <code>false</code> if the platform doesn't support the executable flag.
-	 */
-	public boolean isExecutable() throws CVSException;
-	
-	/**
-	 * Copy the resource to another file in the same directory
-	 * 
-	 * This method is used by the command framework and should not be used by other clients.
-	 */
-	void copyTo(String filename) throws CVSException;
-	
-	/**
-	 * Answers the current timestamp for this file with second precision.
-	 * 
-	 * This method is used by the command framework and should not be used by other clients.
-	 */
-	Date getTimeStamp();
-
-	/**
-	 * If the date is <code>null</code> then the current time is used. After setTimeStamp is
-	 * invoked, it is assumed that the file is CLEAN. If this is not the case, it is the clients
-	 * responsibility to invoke setSyncBytes() with the appropriate modification state.
-	 * 
-	 * This method is used by the command framework and should not be used by other clients.
-	 */
-	void setTimeStamp(Date date) throws CVSException;
-	
-	/**
-	 * Answers <code>true</code> if the file has changed since it was last updated
-	 * from the repository, if the file does not exist, or is not managed. And <code>false</code> 
-	 * if it has not changed.
-	 */
-	boolean isModified(IProgressMonitor monitor) throws CVSException;
-	
-	/**
-	 * Answers the revision history for this file. This is similar to the
-	 * output of the log command.
-	 */
-	public ILogEntry[] getLogEntries(IProgressMonitor monitor) throws TeamException;
-	
-	/**
-	 * Mark the file as checked out to allow local editing (analogous to "cvs edit"). 
-	 * If this method is invoked when <code>isCheckedOut()</code> returns <code>false</code>, 
-	 * a notification message that will be sent to the server on the next connection
-	 * If <code>isCheckedOut()</code> returns <code>true</code> then nothing is done.
-	 * 
-	 * @param notifications the set of operations for which the local user would like notification
-	 * while the local file is being edited.
-	 * @param notifyForWritable 
-	 */
-	public void edit(int notifications, boolean notifyForWritable, IProgressMonitor monitor) throws CVSException;
-
-	/**
-	 * Undo a checkout of the file (analogous to "cvs unedit").
-	 * If this method is invoked when <code>isCheckedOut()</code> returns <code>true</code>, 
-	 * a notification message that will be sent to the server on the next connection
-	 * If <code>isCheckedOut()</code> returns <code>false</code> then nothing is done.
-	 */
-	public void unedit(IProgressMonitor monitor) throws CVSException;
-
-	/**
-	 * This method is invoked by the checked-in handler after the file
-	 * has been committed.
-	 * @param entryLine the entry line recieved from the server (can be null)
-	 * @param commit whether the checkin is comming from a cvs commit or not
-	 */
-	public void checkedIn(String entryLine, boolean commit) throws CVSException;
-		
-	/**
-	 * Answer any pending notification information associated with the receiver.
-	 * 
-	 * This method is used by the command framework and should not be used by other clients.
-	 */
-	public NotifyInfo getPendingNotification() throws CVSException;
-	
-	/**
-	 * Indicate to the file that the pending notification was successfully communicated to the server.
-	 * 
-	 * This method is used by the command framework and should not be used by other clients.
-	 */
-	public void notificationCompleted() throws CVSException;
-	
-	/**
-	 * Indicate whether the file has been "cvs edit"ed. This is determined by
-	 * looking in the CVS/Base folder for a file of the same name as the
-	 * file (i.e. no files are read so the method can be called by time critical
-	 * code like menu enablement).
-	 * 
-	 * @return boolean
-	 */
-	public boolean isEdited() throws CVSException;
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFileModificationValidator.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFileModificationValidator.java
deleted file mode 100644
index 1ab9f3f..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFileModificationValidator.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * @author Administrator
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public interface ICVSFileModificationValidator {
-	
-	public IStatus validateMoveDelete(IFile[] files, IProgressMonitor monitor);
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFolder.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFolder.java
deleted file mode 100644
index 579d21d..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSFolder.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-
-/**
- * The CVS analog of a directory. CVS folders have access to synchronization information
- * that describes the association between the folder and the remote repository.
- * 
- * @see ICVSResource
- * @see ICVSFile
- */
-public interface ICVSFolder extends ICVSResource {
-	
-	public static final int FILE_MEMBERS = 1;
-	public static final int FOLDER_MEMBERS = 2;
-	public static final int IGNORED_MEMBERS = 4;
-	public static final int UNMANAGED_MEMBERS = 8;
-	public static final int MANAGED_MEMBERS = 16;
-	public static final int EXISTING_MEMBERS = 32;
-	public static final int PHANTOM_MEMBERS = 64;
-	public static final int ALL_MEMBERS = FILE_MEMBERS 
-		| FOLDER_MEMBERS 
-		| IGNORED_MEMBERS 
-		| UNMANAGED_MEMBERS 
-		| MANAGED_MEMBERS 
-		| EXISTING_MEMBERS
-		| PHANTOM_MEMBERS;
-	public static final int ALL_EXISTING_MEMBERS = FILE_MEMBERS 
-		| FOLDER_MEMBERS 
-		| IGNORED_MEMBERS 
-		| UNMANAGED_MEMBERS 
-		| MANAGED_MEMBERS 
-		| EXISTING_MEMBERS;
-	public static final int ALL_UNIGNORED_MEMBERS = FILE_MEMBERS
-		| FOLDER_MEMBERS
-		| UNMANAGED_MEMBERS
-		| MANAGED_MEMBERS
-		| EXISTING_MEMBERS
-		| PHANTOM_MEMBERS;
-	
-	/**
-	 * Answers and array of <code>ICVSResource</code> elements that are immediate 
-	 * children of this remote resource, in no particular order. The server may be contacted.
-	 * 
- 	 * @param monitor a progress monitor to indicate the duration of the operation, or
-	 * <code>null</code> if progress reporting is not required.
-	 * 
-	 * @return array of immediate children of this remote resource. 
-	 */
-	public ICVSResource[] fetchChildren(IProgressMonitor monitor) throws CVSException;
-	
-	/**
-	 * Answer the immediate children of the resource that are known
-	 * at the time of invocation. The server is never contacted.
-	 * The flags indicate the type of members to be included.
-	 * Here are the rules for specifying just one flag:
-	 * 
-	 *   a) FILE_MEMBERS and FOLDER_MEMBERS will return managed 
-	 *     and unmanaged resource of the corresponding type
-	 *   b) IGNORED_MEMBERS, MANAGED_RESOURCES and UNMANAGED_RESOURCES
-	 *     will return files and folders of the given type
-	 *   c) EXISTING_MEMBERS and PHANTOM_MEMBERS will return existing 
-	 *     and phantom resource of the corresponding type
-	 * 
-	 * Note: Unmanaged resources are those that are neither managed or ignored.
-	 * 
-	 * If all of the flags from either group a), group b) or group c)
-	 * are not present, the same rule for default types applies. 
-	 * For example,
-	 * - FILE_MEMBERS | FOLDER_MEMBERS will return all managed
-	 *   and unmanaged, existing and phantom files and folders. 
-	 * - IGNORED_MEMBERS | UNMANAGED_MEMBERS will return all
-	 *   ignored or unmanaged, existing or phantom files and folders
-	 * If a flag from each group is present, the result is the
-	 * union of the sets. For example,
-	 * - FILE_MEMBERS | IGNORED_MEMBERS | EXISTING_MEMBERS will return all
-	 *   existing ignored files.
-	 */
-	public ICVSResource[] members(int flags) throws CVSException;
-	
-	/**
-	 * Answers a child folder of this resource with the given name or <code>null</code> if 
-	 * the given folder does not have a child with that name.
-	 */
-	public ICVSFolder getFolder(String name) throws CVSException;
-	
-	/**
-	 * Answers a child file of this resource with the given name or <code>null</code> if 
-	 * the given folder does not have a child with that name.
-	 */
-	public ICVSFile getFile(String name) throws CVSException;
-
-	/**
-	 * Return the child resource at the given path relative to
-	 * the receiver.
-	 */
-	public ICVSResource getChild(String path) throws CVSException;
-	
-	/**
-	 * Create the folder if it did not exist before. Does only
-	 * work if the direct subfolder did exist.
-	 * 
-	 * @throws CVSException if for some reason it was not possible to create the folder
-	 */
-	public void mkdir() throws CVSException;
-
-	/**
-	 * Answers the folder's synchronization information or <code>null</code> if the folder
-	 * is not a CVS folder.
-	 * <p>
-	 * To modify the folder sync info the caller must call <code>setFolderSyncInfo</code> with
-	 * new sync information.</p>
-	 */
-	public FolderSyncInfo getFolderSyncInfo() throws CVSException;
-	
-	/**
-	 * Set the folder sync information for this folder. Setting the folder information
-	 * to <code>null</code> is not supported. The only mechanism for removing an existing
-	 * CVS folder is to delete the resource.
-	 */
-	public void setFolderSyncInfo(FolderSyncInfo folderInfo) throws CVSException;	
-	
-	/**
-	 * Accepts the visitor on all files and all subFolder in the folder. Files are
-	 * visited first, then all the folders..
-	 */
-	public void acceptChildren(ICVSResourceVisitor visitor) throws CVSException;
-	
-	/**
-	 * Answers <code>true</code> if the folder has valid CVS synchronization information and
-	 * <code>false</code> otherwise. 
-	 * 
-	 * Note: This method does not throw an exception so this method does not differentiate
-	 * between a folder not be shared with CVS and a folder that is shared but whose sync info has
-	 * become corrupt. Use getFolderSyncInfo() to differentiate between these situations.
-	 * 
-	 * Also Note: A folder that is a CVS folder may not exist in the workspace. The purpose of
-	 * such a folder is to act as a remotely existing folder that does not exist locally. 
-	 * This is normally done in order to remember outgoing file deletions when a parent
-	 * folder is deleted.
-	 * Creating the folder will result in a folder that is mapped to a remote folder.
-	 */
-	public boolean isCVSFolder() throws CVSException;
-	
-	/**
-	 * Runs the given action as an atomic cvs local workspace operation 
-	 * rooted at this cvs folder.
-	 * <p>
-	 * After running a method that modifies cvs resource state in the 
-	 * local workspace, registered listeners receive after-the-fact 
-	 * notification in the form of a resource state change event. In addition,
-	 * any resource state information persistance is batched.
-	 * This method allows clients to call a number of
-	 * methods that modify resources and only have resource
-	 * change event notifications reported at the end of the entire
-	 * batch.
-	 * </p>
-	 * <p>
-	 * If this method is called in the dynamic scope of another such
-	 * call, this method simply runs the action.
-	 * </p>
-	 *
-	 * @param job the action to perform
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @exception CVSException if the operation failed.
-	 */
-	public void run(ICVSRunnable job, IProgressMonitor monitor) throws CVSException;
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSListener.java
deleted file mode 100644
index f2aa079..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSListener.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-
-
-public interface ICVSListener {
-	public void repositoryAdded(ICVSRepositoryLocation root);
-	public void repositoryRemoved(ICVSRepositoryLocation root);
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRemoteFile.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRemoteFile.java
deleted file mode 100644
index f5efd79..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRemoteFile.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
- 
-import java.io.InputStream;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.TeamException;
-
- /**
-  * This interface represents a file in a repository.
-  * Instances of this interface can be used to fetch the contents
-  * of the remote file.
-  * 
-  * In the future, additional information should be available (tags, revisions, etc.)
-  * 
-  * Clients are not expected to implement this interface.
-  */
-public interface ICVSRemoteFile extends ICVSRemoteResource, ICVSFile {
-
-	/**
-	 * Returns a stream over the contents of this remote element.
-	 * 
-	 * @param progress a progress monitor to indicate the duration of the operation, or
-	 * <code>null</code> if progress reporting is not required.
-	 */
-	public InputStream getContents(IProgressMonitor progress) throws TeamException;
-	
-	/**
-	 * Get the log entry for the revision the remote file represents.
-	 * This method will return null until after the getContents(IProgressMonitor)
-	 * method is called (i.e. the call to getContents also fetches the entry.
-	 */
-	public ILogEntry getLogEntry(IProgressMonitor monitor) throws TeamException;
-	
-	/**
-	 * Get all the log entries of the remote file
-	 */
-	public ILogEntry[] getLogEntries(IProgressMonitor monitor) throws TeamException;
-	
-	/**
-	 * Get the revision of the remote file (e.g. 1.1)
-	 * 
-	 * The revision depends on any tagging associated with the remote parent used
-	 * to access the file. 
-	 */
-	public String getRevision() throws TeamException;
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRemoteFolder.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRemoteFolder.java
deleted file mode 100644
index 0f0eff9..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRemoteFolder.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
- 
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-
- /**
-  * This interface represents a remote folder in a repository. It provides
-  * access to the members (remote files and folders) of a remote folder
-  * 
-  * Clients are not expected to implement this interface.
-  */
-public interface ICVSRemoteFolder extends ICVSRemoteResource, ICVSFolder {
-	
-	// This constant is the name of the folder at the root of a repository
-	public static final String REPOSITORY_ROOT_FOLDER_NAME = ""; //$NON-NLS-1$
-	
-	/**
-	 * Return the context of this handle. The returned tag can be a branch or
-	 * version tag.
-	 */
-	public CVSTag getTag();
-	
-	/**
-	 * Return the local options that are used to determine how memebers are retrieved.
-	 * 
-	 * Interesting options are:
-	 *     Checkout.ALIAS
-	 *     Command.DO_NOT_RECURSE
-	 */
-	public LocalOption[] getLocalOptions();
-	
-	/**
-	 * Indicates whether the remote folder can be expanded. 
-	 * 
-	 * This is a temporary (hopefully) means of indicating certain types of folders 
-	 * (i.e. module definitions) that are not expandable due to lack of mdoule expansion.
-	 * They can still be checked out.
-	 */
-	public boolean isExpandable();
-	
-	/**
-	 * Indicates whether the remote folder is an actual remote folder is a
-	 * module defined in the CVSROOT/modules file (or some other module
-	 * definition).
-	 */
-	public boolean isDefinedModule();
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRemoteResource.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRemoteResource.java
deleted file mode 100644
index 7921004..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRemoteResource.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
- 
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-
-/**
- * The interface represents a resource that exists in a CVS repository.
- * It purpose is to provide information about the remote resource from
- * the repository.
- * 
- * Clients are not expected to implement this interface.
- */
-public interface ICVSRemoteResource extends ICVSResource, IAdaptable {
-	
-	/**
-	 * Answers if the remote element may have children.
-	 * 
-	 * @return <code>true</code> if the remote element may have children and 
-	 * <code>false</code> otherwise.
-	 */
-	public boolean isContainer();
-	
-	/**
-	 * Return the repository
-	 */
-	public ICVSRepositoryLocation getRepository();
-	
-	/**
-	 * Returns the parent of this remote resource or <code>null</code> if the
-	 * remote resource does not have a parent.
-	 */
-	public ICVSRemoteResource getRemoteParent();
-	
-	/**
-	 * Does the remote resource represented by this handle exist on the server. This
-	 * method may contact the server and be long running.
-	 */
-	public boolean exists(IProgressMonitor monitor) throws TeamException;
-	
-	/**
-	 * Answers the repository relative path of this remote folder.
-	 */
-	public String getRepositoryRelativePath();
-	
-	/**
-	 * Compares two objects for equality; for cvs remote resources, equality is defined in 
-	 * terms of their handles: same cvs resource type, equal relative paths, and
-	 * for files, identical revision numbers. Remote resources are not equal to objects other 
-	 * than cvs remote resources.
-	 *
-	 * @param other the other object
-	 * @return an indication of whether the objects are equals
-	 */
-	public boolean equals(Object other);
-
-	/**
-	 * Allows a client to change the context of a remote resource handle.  For
-	 * example, if a remote resource was created with the HEAD context (e.g. can
-	 * be used to browse the main branch) use this method to change the
-	 * context to another branch tag or to a version tag.
-	 */
-	public ICVSRemoteResource forTag(CVSTag tagName);
-			
-	/**
-	 * Tag the remote resources referenced by the receiver (using rtag)
-	 */
-	public IStatus tag(CVSTag tag, LocalOption[] localOptions, IProgressMonitor monitor) throws CVSException;
-	
-	/**
-	 * TODO: Temporary 
-	 * @param progress
-	 * @return
-	 */
-	public ICVSRemoteResource[] members(IProgressMonitor progress) throws TeamException;
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRepositoryLocation.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRepositoryLocation.java
deleted file mode 100644
index b86c1a2..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRepositoryLocation.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
- 
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * This interface provides access to the specific portions of
- * the repository location string for use by connection methods
- * and the user authenticator.
- * 
- * It is not intended to implemented by clients.
- * 
- * @see IUserAuthenticator
- * @see IConnectionMethod
- */
-public interface ICVSRepositoryLocation  extends IAdaptable {
-
-	/**
-	 * port value which indicates to a connection method to use the default port
-	 */
-	public static int USE_DEFAULT_PORT = 0;
-	
-	/**
-	 * Return the connection method for making the connection
-	 */
-	public IConnectionMethod getMethod();
-	
-	/**
-	 * Returns the host where the repository is located
-	 */
-	public String getHost();
-	
-	/**
-	 * Returns the port to connect to or USE_DEFAULT_PORT if
-	 * the connection method is to use its default port.
-	 */
-	public int getPort();
-	
-	/**
-	 * Returns the root directory of the repository.
-	 */
-	public String getRootDirectory();
-	
-	/**
-	 * Returns the string representing the receiver. This string
-	 * should contain enough information to recreate the receiver.
-	 */
-	public String getLocation(boolean forDisplay);
-
-	/**
-	 * Returns the immediate children of this location. If tag is <code>null</code> the
-	 * HEAD branch is assumed.
-	 * 
-	 * If modules is true, then the module definitions from the CVSROOT/modules file are returned.
-	 * Otherwise, the root level projects are returned.
-	 * 
-	 * @param tag the context in which to return the members (e.g. branch or version).
-	 */
-	public ICVSRemoteResource[] members(CVSTag tag, boolean modules, IProgressMonitor progress)  throws CVSException;
-	
-	/**
-	 * Returns a handle to a remote file at this repository location using the given tag as the
-	 * context. The corresponding remote file may not exist or may be a folder.
-	 */
-	public ICVSRemoteFile getRemoteFile(String remotePath, CVSTag tag);
-	
-	/**
-	 * Returns a handle to a remote folder at this repository location using the given tag as the
-	 * context. The corresponding remote folder may not exist or may be a file.
-	 */
-	public ICVSRemoteFolder getRemoteFolder(String remotePath, CVSTag tag);
-	
-	/**
-	 * encoding for commit comments. 
-	 */
-	public String getEncoding();
-		
-	/**
-	 * Return the connection timeout value in seconds.
-	 * A value of 0 means there is no timeout value.
-	 */
-	public int getTimeout();
-	
-	/**
-	 * Return the username 
-	 */
-	public String getUsername();
-	
-	/**
-	 * Returns the user information for the location.
-	 */
-	public IUserInfo getUserInfo(boolean allowModificationOfUsername);	
-	
-	/**
-	 * Flush any cahced user information related to the repository location
-	 */
-	public void flushUserInfo();
-	
-	/**
-	 * Validate that the receiver can be used to connect to a repository.
-	 * An exception is thrown if connection fails
-	 * 
-	 * @param monitor the progress monitor used while validating
-	 */
-	public void validateConnection(IProgressMonitor monitor) throws CVSException;
-	
-	/**
-	 * Set the option to allow the user settings to be cached between sessions.
-	 * @since 3.0
-	 */
-	public void setAllowCaching(boolean allowCaching);
-
-	/**
-	 * Returns if the user info for this location is cached
-	 */
-	public boolean getUserInfoCached();
-	
-	/**
-	 * Sets the user information used for this location
-	 */
-	public void setUsername(String username);
-	
-	/**
-	 * Sets the user information used for this location
-	 */
-	public void setPassword(String password);
-	
-	/**
-	 * Returns the plugged-in authenticator for this location.
-	 * @since 3.0
-	 */
-	public IUserAuthenticator getUserAuthenticator();
-	
-	/**
-	 * Sets the plugged-in authenticator for this location. This is a hook
-	 * for testing.
-	 * @since 3.0
-	 */
-	public void setUserAuthenticator(IUserAuthenticator authenticator);	
-
-	/**
-	 * Sets encoding for commit messages.
-	 * @since 3.0
-	 */
-	public void setEncoding(String encoding);
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSResource.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSResource.java
deleted file mode 100644
index 6926f9a..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSResource.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-
-/**
- * The CVS analog of file system files and directories. These are handles to
- * state maintained by a CVS client. That is, the CVS resource does not 
- * actually contain data but rather represents CVS state and behavior. You are
- * free to manipulate handles for CVS resources that do not exist but be aware
- * that some methods require that an actual resource be available.
- * <p>
- * The CVS client has been designed to work on these handles uniquely. As such, the
- * handle could be to a remote resource or a local resource and the client could
- * perform CVS operations ignoring the actual location of the resources.</p>
- * 
- * @see ICVSFolder
- * @see ICVSFile
- */
-public interface ICVSResource {
-	
-	/**
-	 * Answers the name of the resource.
-	 * 
-	 * @return the name of the resource this handle represents. It can never
-	 * be <code>null</code>.
-	 */
-	public String getName();
-	
-	/**
-	 * Answers if this resource has CVS synchronization information associated
-	 * with it.
-	 * 
-	 * @return <code>true</code> if the resource is
-	 */
-	public boolean isManaged() throws CVSException;
-
-	/**
-	 * Unmanage the given resource by purging any CVS synchronization associated with the 
-	 * resource. The only way a resource can become managed is by running the 
-	 * appropriate CVS commands (e.g. add/commit/update).
-	 */
-	public void unmanage(IProgressMonitor monitor) throws CVSException;
-
-	/**
-	 * Answer whether the resource could be ignored because it is in the one of the 
-	 * ignore lists maintained by CVS. Even if a resource is ignored, it can still be
-	 * added to a repository, at which time it should never be ignored by the CVS
-	 * client.
-	 * 
-	 * @return <code>true</code> if this resource is listed in one of the ignore
-	 * files maintained by CVS and <code>false</code> otherwise.
-	 */
-	public boolean isIgnored() throws CVSException;
-	
-	/**
-	 * Add the following pattern to the file's parent ignore list
-	 * 
-	 * XXX This should really be a method of ICVSFolder
-	 */
-	public void setIgnoredAs(String pattern) throws CVSException;
-			
-	/**
-	 * Answers if the handle is a file or a folder handle.
-	 * 
-	 * @return <code>true</code> if this is a folder handle and <code>false</code> if
-	 * it is a file handle.
-	 */
-	public boolean isFolder();
-	
-	/**
-	 * Answers if the resource identified by this handle exists.
-	 * 
-	 * @return <code>true</code> if the resource represented by this handle
-	 * exists and <code>false</code> false otherwise.
-	 */
-	public boolean exists() throws CVSException;	
-
-	/**
-	 * Answers the underlying IResource for the cvs resource (or null if there
-	 * is not a corresponding local resource).
-	 * 
-	 * @return the IResource that corresponds to the CVS resource
-	 */
-	public IResource getIResource();
-	
-	/**
-	 * Answers the local relative path from the given ancestor to the receiver.
-	 * This method will return a path for files that are themselves not added
-	 * to CVS control but who have an ancestor that is under CVS control.
-	 * 
-	 * @return the ancestor relative path for this resource.
-	 */
-	public String getRelativePath(ICVSFolder ancestor) throws CVSException;
-
-	/**
-	 * Return the repository relative path of the remote resource. Return
-	 * <code>null</code> if the resource is not under CVS control.
-	 * 
-	 * @return
-	 * @throws CVSException
-	 */
-	public String getRepositoryRelativePath() throws CVSException;
-	
-	/**
-	 * Get the absolute remote location of a resource. This method is used by
-	 * the CVS command infrastructure during command execution. The root is used
-	 * in situations where the resource is not under CVS control. The remote
-	 * path that the resource would have if it was is determined by recursively
-	 * searching the resource's parent until a managed folder is found. The
-	 * provided root is used to stop the recursive search if no managed parent
-	 * is found.
-	 * 
-	 * @param root the root folder of the command.
-	 * 
-	 * @return the remote location.
-	 */
-	public String getRemoteLocation(ICVSFolder root) throws CVSException;
-	
-	/**
-	 * Answers the workspace synchronization information for this resource. This would 
-	 * typically include information from the <b>Entries</b> file that is used to track
-	 * the base revisions of local CVS resources.
-	 * 
-	 * @return the synchronization information for this resource, or <code>null</code>
-	 * if the resource does not have synchronization information available.
-	 */
-	public ResourceSyncInfo getSyncInfo() throws CVSException;
-
-	/** 
-	 * Deletes the resource represented by the handle.
-	 */
-	public void delete() throws CVSException;
-	
-	/**
-	 * Give the folder that contains this resource. If the resource is not managed 
-	 * then the result of the operation is not specified.
-	 * 
-	 * @return a handle to the parent of this resource.
-	 */
-	public ICVSFolder getParent();
-
-	/**
-	 * Accept a vistor to this resource.
-	 */
-	public void accept(ICVSResourceVisitor visitor) throws CVSException;
-	
-	/**
-	 * Accept a visitor to this resource. The recurse parameter corresponds to the CVS
-	 * -l (do not recurse) and -R (recurse) options. If recurse is false, only the resource
-	 * and it's children are visited. Otherwise, the resource and all it's decendants are
-	 * visited.
-	 */
-	public void accept(ICVSResourceVisitor visitor, boolean recurse) throws CVSException;
-	
-	/**
-	 * Method isModified.
-	 * @return boolean
-	 */
-	public boolean isModified(IProgressMonitor monitor) throws CVSException;
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSResourceVisitor.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSResourceVisitor.java
deleted file mode 100644
index 8947867..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSResourceVisitor.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-
-
-
-/**
- * Interface for an visitor of the IManagedResources.
- */
-public interface ICVSResourceVisitor {
-	public void visitFile(ICVSFile file) throws CVSException;
-	public void visitFolder(ICVSFolder folder) throws CVSException;	
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRunnable.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRunnable.java
deleted file mode 100644
index 2ff3e42..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSRunnable.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * A runnable which executes as a batch operation within a specific cvs local
- * workspace.
- * The <code>ICVSRunnable</code> interface should be implemented by any class whose 
- * instances are intended to be run by <code>IWorkspace.run</code>.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see 
- */
-public interface ICVSRunnable {
-	/**
-	 * Runs the operation reporting progress to and accepting
-	 * cancellation requests from the given progress monitor.
-	 * <p>
-	 * Implementors of this method should check the progress monitor
-	 * for cancellation when it is safe and appropriate to do so.  The cancellation
-	 * request should be propagated to the caller by throwing 
-	 * <code>OperationCanceledException</code>.
-	 * </p>
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @exception CoreException if this operation fails.
-	 */
-	public void run(IProgressMonitor monitor) throws CVSException;
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSStorage.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSStorage.java
deleted file mode 100644
index 11f44c9..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ICVSStorage.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-import java.io.InputStream;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * This interface is used by the Session to transfer file contents.
- * It is used for regular files in a local sandbox as well as special files
- * such as the CVS/Template file.
- */
-public interface ICVSStorage {
-
-	/**
-	 * Return the name for this ICVSStorage.
-	 * @return 
-	 */
-	String getName();
-	
-	/**
-	 * Set the contents of the file to the contents of the provided input stream.
-	 * 
-	 * This method is used by the command framework and should not be used by other clients.
-	 * Other clients should set the contents of the underlying <code>IFile</code> which
-	 * can be obtained using <code>getIResource()</code>.
-	 * 
-	 * @param responseType the type of reponse that was received from the server
-	 * 
-	 *    UPDATED - could be a new file or an existing file
-	 *    MERGED - merging remote changes with local changes. Failure could result in loss of local changes
-	 *    CREATED - contents for a file that doesn't exist locally
-	 *    UPDATE_EXISTING - Replacing a local file with no local changes with remote changes.
-	 */
-	public void setContents(InputStream stream, int responseType, boolean keepLocalHistory, IProgressMonitor monitor) throws CVSException;
-
-	/**
-	 * Answers the size of the file. 
-	 */
-	long getSize();
-	
-	/**
-	 * Gets an input stream for reading from the file.
-	 * It is the responsibility of the caller to close the stream when finished.
-	 */
-	InputStream getContents() throws CVSException;
-	
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IConnectionMethod.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IConnectionMethod.java
deleted file mode 100644
index 979b087..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IConnectionMethod.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
- 
-/**
- * Implementators of this class can act as factories for creating connections to a CVS server
- * with the desired custom communication protocol. Providers of CVS connection methods must implement 
- * this interface and register the implementation with the extension point:
- * 
- * 		org.eclipse.team.cvs.core.connectionmethods
- * 
- * The <code>createConnection()</code> method will be invoked by the CVS client when the user 
- * is attempting to make a connection to the server using the connection name which matches
- * the <code>String</code> returned by <code>getName()</code> (e.g. "pserver", "ext", etc.).
- */
-public interface IConnectionMethod {
-	
-	/**
-	 * Returns the name of this connection method (e.g."local", "ext").
-	 */
-	public String getName();
-	
-	/**
-	 * Creates a new server connection using the given repository root
-	 * (which includes the user name) and the given password.
-	 * If password is not given, null will be passed.
-	 */
-	public IServerConnection createConnection(ICVSRepositoryLocation location, String password);
-	
-	/**
-	 * Some connection method may persist the physical connection to the server
-	 * through several IServerConnections.  For example, when making several
-	 * successive connections to the same location using SSH2, it would be very
-	 * expensive to re-connect, re-negotiate and re-authenticate for each
-	 * operation; therefore the SSH2 connection method will create one SSH
-	 * session and open several channels (one for each IServerConnection
-	 * created), and keep the session open until disconnect() is called.
-	 * <p>
-	 *  This method actually closes any connection to the indicated location.
-	 * </p>
-	 */
-	public void disconnect(ICVSRepositoryLocation location);
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ILogEntry.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ILogEntry.java
deleted file mode 100644
index 3312c59..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/ILogEntry.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-
-import java.util.Date;
-
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * Instances of ILogEntry represent an entry for a CVS file that results
- * from the cvs log command.
- * 
- * Clients are not expected to implement this interface
- */
-public interface ILogEntry extends IAdaptable {
-
-	/**
-	 * Get the revision for the entry
-	 */
-	public String getRevision();
-	
-	/**
-	 * Get the author of the revision
-	 */
-	public String getAuthor();
-	
-	/**
-	 * Get the date the revision was committed
-	 */
-	public Date getDate();
-	
-	/**
-	 * Get the comment for the revision
-	 */
-	public String getComment();
-	
-	/**
-	 * Get the state
-	 */
-	public String getState();
-	
-	/**
-	 * Get the tags associated with the revision
-	 */
-	public CVSTag[] getTags();
-	
-	/**
-	 * Get the remote file for this entry
-	 */
-	public ICVSRemoteFile getRemoteFile();
-	
-	/**
-	 * Does the log entry represent a deletion (stat = "dead")
-	 */
-	public boolean isDeletion();
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IResourceStateChangeListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IResourceStateChangeListener.java
deleted file mode 100644
index 9c6f9eb..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IResourceStateChangeListener.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-
-import java.util.EventListener;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-
-/**
- * A resource state change listener is notified of changes to resources
- * regarding their team state. 
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see ITeamManager#addResourceStateChangeListener(IResourceStateChangeListener)
- */
-public interface IResourceStateChangeListener extends EventListener{
-	
-	/**
-	 * Notifies this listener that some resource sync info state changes have
-	 * already happened. For example, a resource's base revision may have
-	 * changed. The resource tree is open for modification when this method is
-	 * invoked, so markers can be created, etc.
-	 * <p>
-	 * Note: This method is called by the CVS core; it is not intended to be
-	 * called directly by clients.
-	 * </p>
-	 *
-	 * @param changedResources that have sync info state changes
-	 * 
-	 * [Note: The changed state event is purposely vague. For now it is only
-	 * a hint to listeners that they should query the provider to determine the
-	 * resources new sync info.]
-	 */
-	public void resourceSyncInfoChanged(IResource[] changedResources);
-	
-	/**
-	 * Notifies this listener that the resource sync info may have been changed
-	 * by an external tool. It is not always easy to differentiate external
-	 * changes from intenal ones. Therefore, the changed resources may include
-	 * some whose sync info was changed internally. This method is called
-	 * from a POST_CHANGE delta listener so the workspace cannot be modified.
-	 * 
-	 * @param changeResources that have sync info state changes
-	 */
-	public void externalSyncInfoChange(IResource[] changedResources);
-	
-	/**
-	 * Notifies this listener that the resource's have been modified. This
-	 * doesn't necessarily mean that the resource state isModified. The listener
-	 * must check the state.
-	 * <p>
-	 * Note: This method is called by CVS team core; it is not intended to be
-	 * called directly by clients.
-	 * </p>
-	 *
-	 * @param changedResources that have changed state
-	 * @param changeType the type of state change.
-	 */
-	public void resourceModified(IResource[] changedResources);
-	
-	/**
-	 * Notifies this listener that the project has just been configured
-	 * to be a CVS project.
-	 * <p>
-	 * Note: This method is called by the CVS core; it is not intended to be
-	 * called directly by clients.
-	 * </p>
-	 *
-	 * @param project The project that has just been configured
-	 */
-	public void projectConfigured(IProject project);
-	
-	/**
-	 * Notifies this listener that the project has just been deconfigured
-	 * and no longer has the CVS nature.
-	 * <p>
-	 * Note: This method is called by the CVS core; it is not intended to be
-	 * called directly by clients.
-	 * </p>
-	 *
-	 * @param project The project that has just been configured
-	 */
-	public void projectDeconfigured(IProject project);
-	
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IServerConnection.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IServerConnection.java
deleted file mode 100644
index 660e97e..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IServerConnection.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
- 
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.connection.CVSAuthenticationException;
-/**
-* CVS supports different connection methods for communicating between a client and the server.
-* Furthermore, custom connection methods can be added. Connection methods are added
-* to the CVS client as an IConnectionMethod, which can be used to create connections of 
-* type IServerConnection.
-* 
-* @see IConnectionMethod
-*/
-public interface IServerConnection {
-	/**
-	 * Open a connection to the CVS server.
-	 * 
-	 * Throw CVSAuthenticationException if the username or password is invalid.
-	 * Throw IOExceptions for other failures.
-	 */
-	public void open(IProgressMonitor monitor) throws IOException, CVSAuthenticationException;
-	/**
-	 * Close the connection
-	 * 
-	 * Throw IOException on failures
-	 */
-	public void close() throws IOException;
-	/**
-	 * Get the input stream to receive responses from the server
-	 */
-	public InputStream getInputStream();
-	/**
-	 * Get the output stream to send requests to the server
-	 */
-	public OutputStream getOutputStream();
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IUserAuthenticator.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IUserAuthenticator.java
deleted file mode 100644
index 6eb5cbc..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IUserAuthenticator.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Atsuhiko Yamanaka, JCraft,Inc. - adding promptForKeyboradInteractive method
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-import java.util.Map;
-
-/**
- * IUserAuthenticators are used to ensure that the user
- * is validated for access to a given repository.  The
- * user is prompted for a username and password as
- * appropriate for the given repository type.
- */
-public interface IUserAuthenticator {
-	
-	/**
-	 * Button id for an "Ok" button (value 0).
-	 */
-	public int OK_ID = 0;
-
-	/**
-	 * Button id for a "Cancel" button (value 1).
-	 */
-	public int CANCEL_ID = 1;
-
-	/**
-	 * Button id for a "Yes" button (value 2).
-	 */
-	public int YES_ID = 2;
-
-	/**
-	 * Button id for a "No" button (value 3).
-	 */
-	public int NO_ID = 3;
-	
-	/**
-	 * 	Constant for a prompt with no type (value 0).
-	 */
-	public final static int NONE = 0;
-
-	/**
-	 * Constant for an error prompt (value 1).
-	 */
-	public final static int ERROR = 1;
-
-	/**
-	 * 	Constant for an information prompt (value 2).
-	 */
-	public final static int INFORMATION = 2;
-
-	/**
-	 * 	Constant for a question prompt (value 3).
-	 */
-	public final static int QUESTION = 3;
-
-	/**
-	 * 	Constant for a warning dialog (value 4).
-	 */
-	public final static int WARNING = 4;	
-	
-	/**
-	 * Authenticates the user for access to a given repository.
-	 * The obtained values for user name and password will be placed
-	 * into the supplied user info object. Implementors are allowed to
-	 * save user names and passwords. The user should be prompted for
-	 * user name and password if there is no saved one, or if <code>retry</code>
-	 * is <code>true</code>.
-	 *
-	 * @param location The repository location to authenticate the user for or <code>null</code>
-	 * if this authentication is not for a CVS repository location.
-	 * @param info The object to place user validation information into.
-	 * @param retry <code>true</code> if a previous attempt to log in failed.
-	 * @param message An optional message to display if, e.g., previous authentication failed.
-	 * @return true if the validation was successful, and false otherwise.
-	 */
-	public void promptForUserInfo(ICVSRepositoryLocation location, IUserInfo userInfo, String message) throws CVSException;
-	
-	/**
-	 * Prompts the user for a number values using text fields. The labels are provided in
-	 * the <core>prompt</code> array.  Implementors will return the entered values, or null if
-	 * the user cancel the prompt.
-	 *
-	 * @param location The repository location to authenticate the user for or <code>null</code>
-	 * if this authentication is not for a CVS repository location.
-	 * @param destination The destination in the format like username@hostname:port
-	 * @param name A name about this dialog.
-	 * @param instruction A message for the instruction.
-	 * @param prompt Labels for text fields.
-	 * @param echo the array to show which fields are secret.
-	 * @return the entered values, or null if the user canceled.
-	 *
-	 * @since 3.0
-	 */
-	public String[] promptForKeyboradInteractive(ICVSRepositoryLocation location, String destination, String name, String instruction, String[] prompt, boolean[] echo) throws CVSException;
-
-	/**
-	 * Prompts the authenticator for additional information regarding this authentication 
-	 * request. A default implementation of this method should return the <code>defaultResponse</code>,
-	 * whereas alternate implementations could prompt the user with a dialog.
-	 * 
-	 * @param location the repository location for this authentication or <code>null</code>
-	 * if this authentication is not for a CVS repository location.
-	 * @param promptType one of the following values:
-	 * <ul>
-	 *	<li> <code>NONE</code> for a unspecified prompt type </li>
-	 *	<li> <code>ERROR</code> for an error prompt </li>
-	 *	<li> <code>INFORMATION</code> for an information prompt </li>
-	 * 	<li> <code>QUESTION </code> for a question prompt </li>
-	 *	<li> <code>WARNING</code> for a warning prompt </li>
-	 * </ul>
-	 * @param title the prompt title that could be displayed to the user
-	 * @param message the prompt
-	 * @param promptResponses the possible responses to the prompt
-	 * @param defaultResponse the default response to the prompt
-	 * @return the response to the prompt
-	 * 
-	 * @since 3.0
-	 */
-	public int prompt(ICVSRepositoryLocation location, int promptType, String title, String message, int[] promptResponses, int defaultResponseIndex);
-
-    /**
-     * The host key for the given location has changed.
-     * @param location
-     * @return true if new host key should be accepted
-     */
-    public boolean promptForHostKeyChange(ICVSRepositoryLocation location);
-    
-    /**
-	 * If the project set contains only partial repository information (some of
-	 * location are unknown) we will display a dialog to associate each project
-	 * set repository with a known repository location or create a new one or at
-	 * last use the default locations.
-	 * 
-	 * @param alternativeMap
-	 *            a map of CVS repository locations form the project set (as
-	 *            keys) and a list of suggested alternative (known) CVS
-	 *            repository locations (as values)
-	 * @return a map of CVS repository locations from the project set (as keys)
-	 *         and confirmed CVS repository locations to be used during checkout
-	 *         (as values) or <code>null</code> if the operation is to be
-	 *         canceled
-	 */
-	public abstract Map promptToConfigureRepositoryLocations(Map alternativeMap);
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IUserInfo.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IUserInfo.java
deleted file mode 100644
index 14adb11..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/IUserInfo.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-
-/**
- * Instances of this class represent a username password pair.
- * Both values can be set and the username can be retrieved.
- * However, it is possible that the username is not mutable.
- * Users must check before trying to set the username.
- * 
- * Clients are not expected to implement this interface
- */
-public interface IUserInfo {
-	/**
-	 * Get the username for this user.
-	 */
-	public String getUsername();
-	/**
-	 * Return true if the username is mutable. If not, setUsername should not be called.
-	 */
-	public boolean isUsernameMutable();
-	/**
-	 * Sets the password for this user.
-	 */
-	public void setPassword(String password);
-	/**
-	 * Sets the username for this user. This should not be called if
-	 * isUsernameMutable() returns false.
-	 */
-	public void setUsername(String username);
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/Policy.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/Policy.java
deleted file mode 100644
index f6bb234b..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/Policy.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core;
-
-
-import java.io.PrintStream;
-import java.lang.reflect.Field;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.internal.core.InfiniteSubProgressMonitor;
-
-public class Policy {
-	public static PrintStream recorder;
-	
-	//debug constants
-	public static boolean DEBUG_METAFILE_CHANGES = false;
-	public static boolean DEBUG_CVS_PROTOCOL = false;
-	public static boolean DEBUG_THREADING = false;
-	public static boolean DEBUG_DIRTY_CACHING = false;
-	public static boolean DEBUG_SYNC_CHANGE_EVENTS = false;
-
-	static {
-		//init debug options
-		if (CVSProviderPlugin.getPlugin().isDebugging()) {
-			DEBUG_METAFILE_CHANGES = "true".equalsIgnoreCase(Platform.getDebugOption(CVSProviderPlugin.ID + "/metafiles"));//$NON-NLS-1$ //$NON-NLS-2$
-			DEBUG_CVS_PROTOCOL = "true".equalsIgnoreCase(Platform.getDebugOption(CVSProviderPlugin.ID + "/cvsprotocol"));//$NON-NLS-1$ //$NON-NLS-2$
-			DEBUG_THREADING = "true".equalsIgnoreCase(Platform.getDebugOption(CVSProviderPlugin.ID + "/threading"));//$NON-NLS-1$ //$NON-NLS-2$
-			DEBUG_DIRTY_CACHING = "true".equalsIgnoreCase(Platform.getDebugOption(CVSProviderPlugin.ID + "/dirtycaching"));//$NON-NLS-1$ //$NON-NLS-2$
-			DEBUG_SYNC_CHANGE_EVENTS = "true".equalsIgnoreCase(Platform.getDebugOption(CVSProviderPlugin.ID + "/syncchangeevents"));//$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-	/**
-	 * Progress monitor helpers
-	 */
-	public static void checkCanceled(IProgressMonitor monitor) {
-		if (monitor.isCanceled())
-			throw new OperationCanceledException();
-	}
-	public static IProgressMonitor monitorFor(IProgressMonitor monitor) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		return monitor;
-	}	
-	
-	public static IProgressMonitor subMonitorFor(IProgressMonitor monitor, int ticks) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		if (monitor instanceof NullProgressMonitor)
-			return monitor;
-		return new SubProgressMonitor(monitor, ticks);
-	}
-	
-	public static IProgressMonitor infiniteSubMonitorFor(IProgressMonitor monitor, int ticks) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		if (monitor instanceof NullProgressMonitor)
-			return monitor;
-		return new InfiniteSubProgressMonitor(monitor, ticks);
-	}
-	
-	public static boolean isDebugProtocol() {
-	    return DEBUG_CVS_PROTOCOL || recorder != null;
-	}
-	
-	public static void printProtocolLine(String line) {
-	    printProtocol(line, true);
-	}
-
-    public static void printProtocol(String string, boolean newLine) {
-        if (DEBUG_CVS_PROTOCOL) {
-	        System.out.print(string);
-	        if (newLine) {
-	            System.out.println();
-	        }
-        }
-        if (recorder != null) {
-            recorder.print(string);
-            if (newLine) {
-                recorder.println();
-            }
-        }
-    }
-    
-    public static String getMessage(String key) {
-        try {
-            Field f = CVSMessages.class.getDeclaredField(key);
-            Object o = f.get(null);
-            if (o instanceof String)
-                return (String)o;
-        } catch (SecurityException e) {
-        } catch (NoSuchFieldException e) {
-        } catch (IllegalArgumentException e) {
-        } catch (IllegalAccessException e) {
-        }
-        return null;
-    }
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AbstractMessageCommand.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AbstractMessageCommand.java
deleted file mode 100644
index ae2b8d4..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AbstractMessageCommand.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSResource;
-
-/**
- * Superclass for commands that do not change the structure on 
- * the local working copy (it can change the content of the files).<br>
- * Most of the subclasses are asking the server for response in 
- * message format (log, status)
- */
-abstract class AbstractMessageCommand extends Command {
-
-	protected ICVSResource[] sendLocalResourceState(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, ICVSResource[] resources, IProgressMonitor monitor)
-		throws CVSException {			
-		
-		// Send all folders that are already managed to the server
-		new FileStructureVisitor(session, localOptions, false, false).visit(session, resources, monitor);
-		return resources;
-	}
-
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AbstractStructureVisitor.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AbstractStructureVisitor.java
deleted file mode 100644
index ec89199..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AbstractStructureVisitor.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Matt McCutchen <hashproduct+eclipse@gmail.com> - Bug 178874 Test failure against CVS 1.11.22
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import java.util.*;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-import org.eclipse.team.internal.ccvs.core.resources.CVSEntryLineTag;
-import org.eclipse.team.internal.ccvs.core.syncinfo.*;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-/**
- * An ICVSResourceVisitor that is superclass to all ICVSResourceVisitor's used
- * by Command and it's subclasses.
- * Provides helper methods to send files and folders with modifications
- * to the server.
- * 
- * This class does not perform a beginTask of done on the provided monitor.
- * It is used only to signal worl and subTask.
- */
-abstract class AbstractStructureVisitor implements ICVSResourceVisitor {
-	
-	protected Session session;
-	private ICVSFolder lastFolderSent;
-	protected IProgressMonitor monitor;
-	protected boolean sendQuestionable;
-	protected boolean sendModifiedContents;
-	private boolean sendBinary;
-    
-    private boolean recurse = true;
-
-	public AbstractStructureVisitor(Session session, LocalOption[] localOptions, boolean sendQuestionable, boolean sendModifiedContents) {
-		this(session, localOptions, sendQuestionable, sendModifiedContents, true);
-	}
-
-	public AbstractStructureVisitor(Session session, LocalOption[] localOptions, boolean sendQuestionable, boolean sendModifiedContents, boolean sendBinary) {
-		this.session = session;
-		this.sendQuestionable = sendQuestionable;
-		this.sendModifiedContents = sendModifiedContents;
-		this.sendBinary = sendBinary;
-        if (Command.DO_NOT_RECURSE.isElementOf(localOptions))
-            recurse = false;
-	}
-		
-	/** 
-	 * Helper method to indicate if a directory has already been sent to the server
-	 */
-	protected boolean isLastSent(ICVSFolder folder) {
-		return folder.equals(lastFolderSent);
-	}
-	
-	/** 
-	 * Helper method to record if a directory has already been sent to the server
-	 */
-	protected void recordLastSent(ICVSFolder folder) {
-		lastFolderSent = folder;
-	}
-	
-	/** 
-	 * Helper which indicates if a folder is an orphaned subtree. 
-	 * That is, a directory which contains a CVS subdirectory but is
-	 * not managed by its parent. The root directory of the session
-	 * is not considered orphaned even if it is not managed by its
-	 * parent.
-	 */
-	protected boolean isOrphanedSubtree(ICVSFolder mFolder) throws CVSException {
-		return mFolder.isCVSFolder() && ! mFolder.isManaged() && ! mFolder.equals(session.getLocalRoot()) && mFolder.getParent().isCVSFolder();
-	}
-	
-	/**
-	 * Send the folder relative to the root to the server. Send all 
-	 * appropiate modifier like Sticky, Questionable, Static-directory.
-	 * <br>
-	 * Folders will only be sent once.
-	 */
-	protected void sendFolder(ICVSFolder mFolder) throws CVSException {
-
-		Policy.checkCanceled(monitor);
-		
-		boolean exists = mFolder.exists();
-		FolderSyncInfo info = mFolder.getFolderSyncInfo();
-		boolean isCVSFolder = info != null;
-		
-		// We are only interested in folders that exist or are CVS folders
-		// A folder could be a non-existant CVS folder if it is a holder for outgoing file deletions
-		if ( ! exists && ! isCVSFolder) return;
-		
-		// Do not send the same folder twice
-		if (isLastSent(mFolder)) return;
-		
-		// Do not send virtual directories
-        if (isCVSFolder && info.isVirtualDirectory()) {
-			return;
-		}
-
-		String localPath = mFolder.getRelativePath(session.getLocalRoot());
-		
-		monitor.subTask(NLS.bind(CVSMessages.AbstractStructureVisitor_sendingFolder, new String[] { Util.toTruncatedPath(mFolder, session.getLocalRoot(), 3) })); 
-		
-		// Deal with questionable directories
-		boolean isQuestionable = exists && (! isCVSFolder || isOrphanedSubtree(mFolder));
-		if (isQuestionable) {
-			if (sendQuestionable) {
-				// We need to make sure the parent folder was sent 
-				sendFolder(mFolder.getParent());
-				session.sendQuestionable(mFolder);
-			}
-			return;
-		}
-
-		// Send the directory to the server
-		String remotePath = mFolder.getRemoteLocation(session.getLocalRoot());
-		if (remotePath == null) {
-			IStatus status = new CVSStatus(IStatus.ERROR,CVSStatus.ERROR, CVSMessages.AbstractStructureVisitor_noRemote, session.getLocalRoot());
-			throw new CVSException(status); 
-		}
-		session.sendDirectory(localPath, remotePath);
-
-		// Send any directory properties to the server
-		if (info != null) {
-
-			if (info.getIsStatic()) {
-				session.sendStaticDirectory();
-			}
-
-			CVSEntryLineTag tag = info.getTag();
-
-			if (tag != null && tag.getType() != CVSTag.HEAD) {
-				session.sendSticky(tag.toEntryLineFormat(false));
-			}
-		}
-
-		// Record that we sent this folder
-		recordLastSent(mFolder);
-		
-		monitor.worked(1);
-	}
-
-	/**
-	 * Send the information about the file to the server.
-	 * 
-	 * If the file is modified, its contents are sent as well.
-	 */
-	protected void sendFile(ICVSFile mFile) throws CVSException {
-
-		Policy.checkCanceled(monitor);
-
-		// Send the parent folder if it hasn't been sent already
-		sendFolder(mFile.getParent());
-		
-		// Send the file's entry line to the server
-		byte[] syncBytes = mFile.getSyncBytes();
-		boolean isManaged = syncBytes != null;
-		
-		if (isManaged) {
-		    sendPendingNotification(mFile);
-		} else {
-			// If the file is not managed, send a questionable to the server if the file exists locally
-			// A unmanaged, locally non-existant file results from the explicit use of the file name as a command argument
-			if (sendQuestionable) {
-				if (mFile.exists()) {
-					session.sendQuestionable(mFile);
-				}
-				return;
-			}
-			// else we are probably doing an import so send the file contents below
-		}
-		
-		// Determine if we need to send the contents.
-		// If the file is unmodified since a conflict, we need to not send the
-		// contents so that the server rejects the file (bug 178874).
-		boolean sendContents = mFile.exists() && mFile.isModified(monitor)
-			&& !mFile.getSyncInfo().isNeedsMerge(mFile.getTimeStamp());
-		if (ResourceSyncInfo.isDeletion(syncBytes)) {
-		    sendEntryLineToServer(mFile, syncBytes);
-		} else if (sendContents) {
-		    // Perform the send of modified contents in a sheduling rule to ensure that
-		    // the contents are not modified while we are sending them
-		    final IResource resource = mFile.getIResource();
-            try {
-                if (resource != null)
-                    Job.getJobManager().beginRule(resource, monitor);
-		        
-				sendEntryLineToServer(mFile, syncBytes);
-				if (mFile.exists() && mFile.isModified(null)) {
-					boolean binary = ResourceSyncInfo.isBinary(syncBytes);
-					if (sendModifiedContents) {
-						session.sendModified(mFile, binary, sendBinary, monitor);
-					} else {
-						session.sendIsModified(mFile, binary, monitor);
-					}
-				} else {
-					session.sendUnchanged(mFile);
-				}
-		    } finally {
-		        if (resource != null)
-		            Job.getJobManager().endRule(resource);
-		    }
-		} else {
-		    sendEntryLineToServer(mFile, syncBytes);
-			session.sendUnchanged(mFile);
-		}
-		
-		monitor.worked(1);
-	}
-
-    private void sendEntryLineToServer(ICVSFile mFile, byte[] syncBytes) throws CVSException {
-        if (syncBytes != null) {
-            String syncBytesToServer = ResourceSyncInfo.getTimestampToServer(syncBytes, mFile.getTimeStamp());
-            session.sendEntry(syncBytes, syncBytesToServer);
-        }
-    }
-
-    protected void sendPendingNotification(ICVSFile mFile) throws CVSException {
-		NotifyInfo notify = mFile.getPendingNotification();
-		if (notify != null) {
-			sendFolder(mFile.getParent());
-			session.sendNotify(mFile.getParent(), notify);
-		}
-	}
-	
-	/**
-	 * This method is used to visit a set of ICVSResources. Using it ensures
-	 * that a common parent between the set of resources is only sent once
-	 */
-	public void visit(Session session, ICVSResource[] resources, IProgressMonitor monitor) throws CVSException {
-		
-		// Sort the resources to avoid sending the same directory multiple times
-		List resourceList = new ArrayList(resources.length);
-		resourceList.addAll(Arrays.asList(resources));
-		final ICVSFolder localRoot = session.getLocalRoot();
-		Collections.sort(resourceList, new Comparator() {
-			public int compare(Object object1, Object object2) {
-				ICVSResource resource1 = (ICVSResource)object1;
-				ICVSResource resource2 = (ICVSResource)object2;
-				try {
-					String path1 = resource1.getParent().getRelativePath(localRoot);
-					String path2 = resource2.getParent().getRelativePath(localRoot);
-					int pathCompare = path1.compareTo(path2);
-					if (pathCompare == 0) {
-						if (resource1.isFolder() == resource2.isFolder()) {
-							return resource1.getName().compareTo(resource2.getName());
-						} else if (resource1.isFolder()) {
-							return 1;
-						} else {
-							return -1;
-						}
-					} else {
-						return pathCompare;
-					}
-				} catch (CVSException e) {
-					return resource1.getName().compareTo(resource2.getName());
-				}
-			}
-		});
-
-		// Create a progress monitor suitable for the visit
-		int resourceHint = 64;
-		monitor.beginTask(null, resourceHint);
-		this.monitor = Policy.infiniteSubMonitorFor(monitor, resourceHint);
-		try {
-			// Visit all the resources
-			this.monitor.beginTask(null, resourceHint);
-			session.setSendFileTitleKey(getSendFileMessage());
-			for (int i = 0; i < resourceList.size(); i++) {
-				((ICVSResource)resourceList.get(i)).accept(this);
-			}
-		} finally {
-			monitor.done();
-		}
-	}
-	
-    /**
-     * Return a send file message that contains one argument slot
-     * for the file name.
-     * @return a send file message that contains one argument slot
-     * for the file name
-     */
-	protected String getSendFileMessage() {
-		return CVSMessages.AbstractStructureVisitor_sendingFile;
-	}
-    public boolean isRecurse() {
-        return recurse;
-    }
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Add.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Add.java
deleted file mode 100644
index b8dfba8..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Add.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.MutableFolderSyncInfo;
-
-public class Add extends Command {
-	/*** Local options: specific to add ***/
-
-	protected Add() { }
-	protected String getRequestId() {
-		return "add";  //$NON-NLS-1$
-	}
-	
-	protected ICVSResource[] sendLocalResourceState(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, ICVSResource[] resources, IProgressMonitor monitor)
-		throws CVSException {			
-
-		// Check that all the arguments can give you an
-		// repo that you will need while traversing the
-		// file-structure
-		for (int i = 0; i < resources.length; i++) {
-			Assert.isNotNull(resources[i].getRemoteLocation(session.getLocalRoot()));
-		}
-		
-		// Get a vistor and use it on every resource we should
-		// work on
-		AddStructureVisitor visitor = new AddStructureVisitor(session, localOptions);
-		visitor.visit(session, resources, monitor);
-		return resources;
-	}
-	
-	/**
-	 * If the add succeeded then folders have to be initialized with the 
-	 * sync info
-	 */
-	protected IStatus commandFinished(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, ICVSResource[] resources, IProgressMonitor monitor,
-		IStatus status) throws CVSException {
-		
-		if (status.getCode() == CVSStatus.SERVER_ERROR) {
-			return status;
-		}
-				
-		for (int i = 0; i < resources.length; i++) {
-			if (resources[i].isFolder()) {
-				ICVSFolder mFolder = (ICVSFolder) resources[i];
-				FolderSyncInfo info = mFolder.getParent().getFolderSyncInfo();
-				if (info == null) {
-					status = mergeStatus(status, new CVSStatus(IStatus.ERROR, NLS.bind(CVSMessages.Add_invalidParent, new String[] { mFolder.getRelativePath(session.getLocalRoot()) }))); 
-				} else {
-					String repository = info.getRepository() + "/" + mFolder.getName();	 //$NON-NLS-1$
-                    MutableFolderSyncInfo newInfo = info.cloneMutable();
-                    newInfo.setRepository(repository);
-					mFolder.setFolderSyncInfo(newInfo);
-				}
-			}
-		}
-		return status;
-	}
-	
-	/* (non-Javadoc)
-     * @see org.eclipse.team.internal.ccvs.core.client.Command#getDefaultCommandOutputListener()
-     */
-    protected ICommandOutputListener getDefaultCommandOutputListener() {
-        return new CommandOutputListener() {
-            public IStatus errorLine(String line,
-                    ICVSRepositoryLocation location, ICVSFolder commandRoot,
-                    IProgressMonitor monitor) {
-                
-                String serverMessage = getServerMessage(line, location);
-                if (serverMessage != null) {
-                    if (serverMessage.indexOf("cvs commit") != -1 && serverMessage.indexOf("add") != -1 && serverMessage.indexOf("permanently") != -1) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-                        return OK;
-                    if (serverMessage.startsWith("scheduling file") && serverMessage.indexOf("for addition") != -1) //$NON-NLS-1$ //$NON-NLS-2$
-                        return OK;
-                }
-                return super.errorLine(line, location, commandRoot, monitor);
-            }
-        };
-    }
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AddStructureVisitor.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AddStructureVisitor.java
deleted file mode 100644
index 4ce7009..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AddStructureVisitor.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-
-/**
- * This visitor is used by the Add command to ensure that the parent
- * folder is sent along with the added resource.
- */
-class AddStructureVisitor extends AbstractStructureVisitor {
-	
-	public AddStructureVisitor(Session session, LocalOption[] localOptions) {
-		super(session, localOptions, false, true);
-	}
-
-	/**
-	 * @see ICVSResourceVisitor#visitFile(IManagedFile)
-	 */
-	public void visitFile(ICVSFile mFile) throws CVSException {
-		
-		// Send the parent folder
-		sendFolder(mFile.getParent());
-		
-		// Sends the Is-modified request if it is supported, otherwise
-		// the file contents are sent as binary.  The server does not
-		// need the contents at this stage so this should not be a problem.
-		session.sendIsModified(mFile, true, monitor);
-		
-	}
-
-	/**
-	 * @see ICVSResourceVisitor#visitFolder(ICVSFolder)
-	 */
-	public void visitFolder(ICVSFolder mFolder) throws CVSException {
-		
-		Assert.isNotNull(mFolder);
-		
-		// Send the parent folder
-		sendFolder(mFolder.getParent());
-		
-		// Send the directory
-		String localPath = mFolder.getRelativePath(session.getLocalRoot());
-		String remotePath = mFolder.getRemoteLocation(session.getLocalRoot());
-		session.sendDirectory(localPath, remotePath);
-		
-		// Record that we sent this folder
-		recordLastSent(mFolder);
-	}
-
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Admin.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Admin.java
deleted file mode 100644
index 58afba4..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Admin.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-public class Admin extends AbstractMessageCommand {
-	/*** Local options: specific to admin ***/
-
-	protected Admin() { }
-	protected String getRequestId() {
-		return "admin";  //$NON-NLS-1$
-	}
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Annotate.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Annotate.java
deleted file mode 100644
index 3c1a04a..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Annotate.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-/**
- * The CVS Annotate Command.
- * Answers a resource with each line annotated with the revision the line
- * was added/changed and the user making the change.
- */
-public class Annotate extends AbstractMessageCommand {
-
-    public static final Object FORCE_BINARY_ANNOTATE = new LocalOption("-F"); //$NON-NLS-1$
-
-	protected Annotate() { }
-	
-	protected String getRequestId() {
-		return "annotate"; //$NON-NLS-1$
-	}
-
-	// Local options specific to Annotate - revision (can be tag or revision)
-	public static LocalOption makeRevisionOption(String revision) {
-		return new LocalOption("-r" + revision, null); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ByteCountOutputStream.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ByteCountOutputStream.java
deleted file mode 100644
index c1f89d8..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ByteCountOutputStream.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import java.io.*;
-
-class ByteCountOutputStream extends OutputStream {
-
-	private long size = 0; 
-
-	public void write(int b) throws IOException {
-		size++;
-	}
-	public long getSize() {
-		return size;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CRLFDetectInputStream.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CRLFDetectInputStream.java
deleted file mode 100644
index 32f7371..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CRLFDetectInputStream.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import java.io.*;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-
-/**
- * Stream which detects CRLF in text file contents recieved from the server
- */
-public class CRLFDetectInputStream extends FilterInputStream {
-
-	private boolean previousCR;
-	private String filename;
-	private boolean reported = false;
-
-	protected CRLFDetectInputStream(InputStream in, ICVSStorage file) {
-		super(in);
-		try {
-			this.filename = getFileName(file);
-		} catch (CVSException e) {
-			this.filename = file.getName();
-		}
-	}
-
-	private String getFileName(ICVSStorage storage) throws CVSException {
-		String fileName;
-		if (storage instanceof ICVSFile) {
-			ICVSFile file = (ICVSFile)storage;
-			fileName = file.getRepositoryRelativePath();
-			if (fileName == null) {
-				IResource resource = file.getIResource();
-				if (resource == null) {
-					fileName = file.getName();
-				} else {
-					// Use the resource path if there is one since the remote pat
-					fileName = file.getIResource().getFullPath().toString();
-				}
-			}
-		} else {
-			fileName = storage.getName();
-		}
-		return fileName;
-	}
-
-	/**
-	 * Wraps the underlying stream's method.
-	 * Translates CR/LF sequences to LFs transparently.
-	 * @throws InterruptedIOException if the operation was interrupted before all of the
-	 *         bytes specified have been skipped, bytesTransferred will be zero
-	 * @throws IOException if an i/o error occurs
-	 */
-	public int read() throws IOException {
-		int next = in.read();
-		if (next != -1) {
-			testForCRLF((byte)next);
-		}
-		return next;
-	}
-
-	/**
-	 * Wraps the underlying stream's method.
-	 * Translates CR/LF sequences to LFs transparently.
-	 * @throws InterruptedIOException if the operation was interrupted before all of the
-	 *         bytes specified have been skipped, bytesTransferred may be non-zero
-	 * @throws IOException if an i/o error occurs
-	 */
-	public int read(byte[] buffer, int off, int len) throws IOException {
-		int count = super.read(buffer, off, len);
-		for (int i = off; i < count; i++) {
-			testForCRLF(buffer[i]);
-		}
-		return count;
-	}
-	
-	/**
-	 * Test the byte to see if a CRLF sequence was read
-	 */
-	private void testForCRLF(byte next) {
-		if (reported) return;
-		if (previousCR && next == '\n') {
-			CVSProviderPlugin.log(IStatus.WARNING, NLS.bind(CVSMessages.CRLFDetectInputStream_0, new String[] { filename }), null); 
-			reported = true;
-		}
-		previousCR = (next == '\r');
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CheckedInHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CheckedInHandler.java
deleted file mode 100644
index 8f62131..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CheckedInHandler.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-/**
- * Handles a "Checked-in" response from the CVS server.
- * <p>
- * Suppose as a result of performing a command the CVS server responds
- * as follows:<br>
- * <pre>
- *   [...]
- *   Checked-in ??? \n
- *   [...]
- * </pre>
- * Then 
- * </p>
- */
-class CheckedInHandler extends ResponseHandler {
-	public String getResponseID() {
-		return "Checked-in"; //$NON-NLS-1$
-	}
-
-	public void handle(Session session, String localDir, IProgressMonitor monitor) throws CVSException {
-		// read additional data for the response
-		String repositoryFile = session.readLine();
-		String entryLine = session.readLine();
-		
-		// clear file update modifiers
-		session.setModTime(null);
-		
-		// Get the local file		
-		String fileName = repositoryFile.substring(repositoryFile.lastIndexOf("/") + 1); //$NON-NLS-1$
-		ICVSFolder mParent = session.getLocalRoot().getFolder(localDir);
-		ICVSFile mFile = mParent.getFile(fileName);
-		
-		// Marked the local file as checked-in
-		monitor.subTask(NLS.bind(CVSMessages.CheckInHandler_checkedIn, new String[] { Util.toTruncatedPath((ICVSResource)mFile, session.getLocalRoot(), 3) })); 
-		mFile.checkedIn(entryLine, session.getCurrentCommand() instanceof Commit);
-	}
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Checkout.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Checkout.java
deleted file mode 100644
index 4b00f40..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Checkout.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
- 
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.listeners.*;
-import org.eclipse.team.internal.ccvs.core.connection.CVSServerException;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteModule;
-
-public class Checkout extends Command {
-	/*** Local options: specific to checkout ***/
-	public static final LocalOption DO_NOT_SHORTEN = new LocalOption("-N"); //$NON-NLS-1$
-	public static final LocalOption FETCH_MODULE_ALIASES = new LocalOption("-c"); //$NON-NLS-1$
-	public static LocalOption makeDirectoryNameOption(String moduleName) {
-		return new LocalOption("-d", moduleName); //$NON-NLS-1$
-	}
-
-	/*** Default command output listener ***/
-	private static final ICommandOutputListener DEFAULT_OUTPUT_LISTENER = new UpdateListener(null);
-	
-	/** Command options found in the CVSROOT/modules file */
-	public static LocalOption ALIAS = new LocalOption("-a"); //$NON-NLS-1$
-	public static LocalOption makeStatusOption(String status) {
-		return new LocalOption("-s", status); //$NON-NLS-1$
-	}
-	
-	protected Checkout() { }	
-	protected String getRequestId() {
-		return "co"; //$NON-NLS-1$
-	}
-	
-	protected ICommandOutputListener getDefaultCommandOutputListener() {
-		return DEFAULT_OUTPUT_LISTENER;
-	}
-	
-	protected ICVSResource[] computeWorkResources(Session session, LocalOption[] localOptions,
-		String[] arguments) throws CVSException {
-			
-		// We shouldn't have any arguments if we're fetching the module definitions
-		if (arguments.length < 1 && ! FETCH_MODULE_ALIASES.isElementOf(localOptions)) throw new IllegalArgumentException();
-		
-		// We can determine the local directories using either the -d option or the module expansions
-		Option dOption = findOption(localOptions, "-d");  //$NON-NLS-1$
-		if (dOption != null) {
-			// Should we append the expansions to the -d argument?
-			return new ICVSResource[] {session.getLocalRoot().getFolder(dOption.argument)};
-		}
-		String[] modules = session.getModuleExpansions();
-		ICVSResource[] resources = new ICVSResource[modules.length];
-		for (int i = 0; i < resources.length; i++) {
-			resources[i] = session.getLocalRoot().getFolder(modules[i]);
-		}
-		return resources;
-	}
-	
-	/**
-	 * Start the Checkout command:
-	 *    Send the module that is going to be checked-out to the server 
-	 *    by reading the name of the resource given
-	 *    (This has to change to we give it the name of the modul and the
-	 *    Checkout creates everything for us)
-	 */
-	protected ICVSResource[] sendLocalResourceState(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, ICVSResource[] resources, IProgressMonitor monitor)
-		throws CVSException {			
-		
-		// We need a folder to put the project(s) we checkout into
-		Assert.isTrue(session.getLocalRoot().isFolder());
-		
-		// Send the information about the local workspace resources to the server
-		List resourcesToSend = new ArrayList(resources.length);
-		for (int i = 0; i < resources.length; i++) {
-			ICVSResource resource = resources[i];
-			if (resource.exists() && resource.isFolder() && ((ICVSFolder)resource).isCVSFolder()) {
-				resourcesToSend.add(resource);
-			}
-		}
-		if ( ! resourcesToSend.isEmpty()) {
-			resources = (ICVSResource[]) resourcesToSend.toArray(new ICVSResource[resourcesToSend.size()]);
-			new FileStructureVisitor(session, localOptions, true, true).visit(session, resources, monitor);
-		} else {
-			monitor.beginTask(null, 100);
-			monitor.done();
-		}
-		return resources;
-	}
-
-	protected void sendLocalWorkingDirectory(Session session) throws CVSException {
-		session.sendConstructedRootDirectory();
-	}
-
-	/**
-	 * On sucessful finish, prune empty directories if 
-	 * the -P option was specified (or is implied by -D or -r)
-	 */
-	protected IStatus commandFinished(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, ICVSResource[] resources, IProgressMonitor monitor,
-		IStatus status) throws CVSException {
-		// If we didn't succeed, don't do any post processing
-		if (status.getCode() == CVSStatus.SERVER_ERROR) {
-			return status;
-		}
-	
-		// If we are retrieving the modules file, ignore other options
-		if (FETCH_MODULE_ALIASES.isElementOf(localOptions)) return status;
-
-		// If we are pruning (-P) or getting a sticky copy (-D or -r), then prune empty directories
-		if (PRUNE_EMPTY_DIRECTORIES.isElementOf(localOptions) ||
-			(findOption(localOptions, "-D") != null) || //$NON-NLS-1$
-			(findOption(localOptions, "-r") != null)) { //$NON-NLS-1$			
-
-			// Prune empty directories
-			new PruneFolderVisitor().visit(session, resources);
-		}
-		
-		return status;
-	}
-	
-	/**
-	 * Override execute to perform a expand-modules before the checkout
-	 */
-	protected IStatus doExecute(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, String[] arguments, ICommandOutputListener listener,
-		IProgressMonitor monitor) throws CVSException {
-		monitor.beginTask(null, 100);
-
-		if ( ! FETCH_MODULE_ALIASES.isElementOf(localOptions)) {
-			// Execute the expand-modules command. 
-			// This will put the expansions in the session for later retrieval
-			IStatus status = Request.EXPAND_MODULES.execute(session, arguments, Policy.subMonitorFor(monitor, 10));
-			if (status.getCode() == CVSStatus.SERVER_ERROR)
-				return status;
-			
-			// If -d is not included in the local options, then send -N (do not shorten directory paths)
-			// to the server (as is done by other cvs clients)
-			if (findOption(localOptions, "-d") == null) { //$NON-NLS-1$
-				if ( ! DO_NOT_SHORTEN.isElementOf(localOptions)) {
-					LocalOption[] newLocalOptions = new LocalOption[localOptions.length + 1];
-					newLocalOptions[0] = DO_NOT_SHORTEN;
-					System.arraycopy(localOptions, 0, newLocalOptions, 1, localOptions.length);
-					localOptions = newLocalOptions;
-				}
-			}
-		}
-		
-		return super.doExecute(session, globalOptions, localOptions, arguments, listener, Policy.subMonitorFor(monitor, 90));
-	}
-	
-	/**
-	 * Perform a checkout to get the module expansions defined in the CVSROOT/modules file
-	 */
-	public RemoteModule[] getRemoteModules(Session session, CVSTag tag, IProgressMonitor monitor)
-		throws CVSException {
-		
-		ModuleDefinitionsListener moduleDefinitionListener = new ModuleDefinitionsListener();
-		
-		IStatus status = super.execute(session, NO_GLOBAL_OPTIONS, new LocalOption[] {FETCH_MODULE_ALIASES}, NO_ARGUMENTS, 
-			moduleDefinitionListener, monitor);
-			
-		if (status.getCode() == CVSStatus.SERVER_ERROR) {
-			throw new CVSServerException(status);
-		}
-		
-		return RemoteModule.createRemoteModules(moduleDefinitionListener.getModuleExpansions(), session.getCVSRepositoryLocation(), tag);
-	}
-    
-    protected String getDisplayText() {
-        return "checkout"; //$NON-NLS-1$
-    }
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CheckoutWithOverwrite.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CheckoutWithOverwrite.java
deleted file mode 100644
index b5169ab..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CheckoutWithOverwrite.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener;
-
-/**
- * This checkout will overwrite any resources even for created responses
- */
-public class CheckoutWithOverwrite extends Checkout {
-
-	/**
-	 * This class overrides the "Created" handler but uses the "Updated"
-	 * behavior which will overwrite existing files.
-	 */
-	public class CreatedResponseHandler extends UpdatedHandler {
-		public CreatedResponseHandler() {
-			super(UpdatedHandler.HANDLE_UPDATED);
-		}
-		public String getResponseID() {
-			return "Created"; //$NON-NLS-1$
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.Command#doExecute(org.eclipse.team.internal.ccvs.core.client.Session, org.eclipse.team.internal.ccvs.core.client.Command.GlobalOption[], org.eclipse.team.internal.ccvs.core.client.Command.LocalOption[], java.lang.String[], org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IStatus doExecute(
-		Session session,
-		GlobalOption[] globalOptions,
-		LocalOption[] localOptions,
-		String[] arguments,
-		ICommandOutputListener listener,
-		IProgressMonitor monitor)
-		throws CVSException {
-		
-		ResponseHandler newCreated = new CreatedResponseHandler();
-		ResponseHandler oldCreated = session.getResponseHandler(newCreated.getResponseID());
-		session.registerResponseHandler(newCreated);
-		try {
-			return super.doExecute(
-				session,
-				globalOptions,
-				localOptions,
-				arguments,
-				listener,
-				monitor);
-		} finally {
-			session.registerResponseHandler(oldCreated);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Command.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Command.java
deleted file mode 100644
index 52c3a26..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Command.java
+++ /dev/null
@@ -1,834 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Matt McCutchen <hashproduct+eclipse@gmail.com> - Bug 179174 CVS client sets timestamps back when replacing
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import java.util.*;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener;
-
-/**
- * Abstract base class for command requests.
- * Provides a framework for implementing command execution.
- */
-public abstract class Command extends Request {
-	/*** Command singleton instances ***/
-	public final static Add ADD = new Add();
-	public final static Admin ADMIN = new Admin();
-	public final static Annotate ANNOTATE = new Annotate();
-	public final static Checkout CHECKOUT = new CheckoutWithOverwrite();
-	public final static Commit COMMIT = new Commit();
-	public final static Diff DIFF = new Diff();
-	public final static RDiff RDIFF = new RDiff();
-	public final static Editors EDITORS = new Editors();
-	public final static Import IMPORT = new Import();
-	public final static Log LOG = new Log();
-	public final static Remove REMOVE = new Remove();
-	public final static Status STATUS = new Status();
-	public final static Tag TAG = new Tag();
-	// The CUSTOM_TAG command has special handling for added and removed resources.
-	// This behavior supports branching with local changes in the workspace
-	public final static Tag CUSTOM_TAG = new Tag(true);
-	public final static RTag RTAG = new RTag();
-	public final static Update UPDATE = new Update();
-	public final static Update REPLACE = new Replace();
-	public final static SyncUpdate SYNCUPDATE = new SyncUpdate();
-	public final static Version VERSION = new Version();
-	public final static NOOPCommand NOOP = new NOOPCommand();
-	
-	// Empty argument array
-	public final static String[] NO_ARGUMENTS = new String[0];
-
-	/*** Global options ***/
-	// Empty global option array
-	public static final GlobalOption[] NO_GLOBAL_OPTIONS = new GlobalOption[0];
-	// Do not change file contents
-	public static final GlobalOption DO_NOT_CHANGE = new GlobalOption("-n");  //$NON-NLS-1$
-	// Do not record this operation into CVS command history
-	public static final GlobalOption DO_NOT_LOG = new GlobalOption("-l");  //$NON-NLS-1$
-	// Make new working files read-only
-	public static final GlobalOption MAKE_READ_ONLY = new GlobalOption("-r"); //$NON-NLS-1$
-	// Trace command execution
-	public static final GlobalOption TRACE_EXECUTION = new GlobalOption("-t"); //$NON-NLS-1$
-
-	/*** Global options: quietness ***/
-	// Don't be quiet (normal verbosity)
-	public static final QuietOption VERBOSE = new QuietOption(""); //$NON-NLS-1$
-	// Be somewhat quiet (suppress informational messages)
-	public static final QuietOption PARTLY_QUIET = new QuietOption("-q"); //$NON-NLS-1$
-	// Be really quiet (silent but for serious problems)
-	public static final QuietOption SILENT = new QuietOption("-Q"); //$NON-NLS-1$
-
-	/*** Local options: common to many commands ***/
-	// Empty local option array
-	public static final LocalOption[] NO_LOCAL_OPTIONS = new LocalOption[0];
-	// valid for: annotate checkout commit diff export log rdiff remove rtag status tag update
-    public static final LocalOption RECURSE = new LocalOption("-R"); //$NON-NLS-1$
-	public static final LocalOption DO_NOT_RECURSE = new LocalOption("-l"); //$NON-NLS-1$	
-	// valid for: checkout export update
-	public static final LocalOption PRUNE_EMPTY_DIRECTORIES = new LocalOption("-P"); //$NON-NLS-1$
-	// valid for: checkout export update
-	public static final LocalOption MESSAGE_OPTION = new LocalOption("-m"); //$NON-NLS-1$
-
-	/*** Local options: keyword substitution mode ***/
-	// valid for: add admin checkout export import update
-	private static final Map ksubstOptionMap = new HashMap();
-	public static final KSubstOption KSUBST_BINARY = new KSubstOption("-kb"); //$NON-NLS-1$
-	public static final KSubstOption KSUBST_TEXT = new KSubstOption("-ko"); //$NON-NLS-1$
-	public static final KSubstOption KSUBST_TEXT_EXPAND = new KSubstOption("-kkv"); //$NON-NLS-1$
-	public static final KSubstOption KSUBST_TEXT_EXPAND_LOCKER = new KSubstOption("-kkvl"); //$NON-NLS-1$
-	public static final KSubstOption KSUBST_TEXT_VALUES_ONLY = new KSubstOption("-kv"); //$NON-NLS-1$
-	public static final KSubstOption KSUBST_TEXT_KEYWORDS_ONLY = new KSubstOption("-kk"); //$NON-NLS-1$
-
-	/*** Default command output listener ***/
-	protected static final ICommandOutputListener DEFAULT_OUTPUT_LISTENER = new CommandOutputListener();
-	
-	/**
-	 * Prevents client code from instantiating us.
-	 */
-	protected Command() { }
-
-	/**
-	 * Provides the default command output listener which is used to accumulate errors.
-	 * 
-	 * Subclasses can override this method in order to properly interpret information
-	 * received from the server.
-	 */
-	protected ICommandOutputListener getDefaultCommandOutputListener() {
-		return DEFAULT_OUTPUT_LISTENER;
-	}
-
-	/**
-	 * Sends the command's arguments to the server.
-	 * [template method]
-	 * <p>
-	 * The default implementation sends all arguments.  Subclasses may override
-	 * this method to provide alternate behaviour.
-	 * </p>
-	 * 
-	 * @param session the CVS session
-	 * @param arguments the arguments that were supplied by the caller of execute()
-	 */
-	protected void sendArguments(Session session, String[] arguments) throws CVSException {
-		for (int i = 0; i < arguments.length; ++i) {
-			session.sendArgument(arguments[i]);
-		}
-	}
-
-	/**
-	 * Describes the local resource state to the server prior to command execution.
-	 * [template method]
-	 * <p>
-	 * Commands must override this method to inform the server about the state of
-	 * local resources using the Entries, Modified, Unchanged, and Questionable
-	 * requests as needed.
-	 * </p>
-	 * <p>
-	 * This method should return the resources that are of interest to the
-	 * <code>Command#commandFinished()</code> method. In most cases, it
-	 * is the same resources that are provided but in some cases (e.g. Commit)
-	 * the resources to be passed to the above method are different.
-	 * </p>
-	 * 
-	 * @param session the CVS session
-	 * @param globalOptions the global options for the command
-	 * @param localOptions the local options for the command
-	 * @param resources the resource arguments for the command
-	 * @param monitor the progress monitor
-	 * @return ICVSResource[]
-	 */
-	protected abstract ICVSResource[] sendLocalResourceState(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, ICVSResource[] resources, IProgressMonitor monitor)
-		throws CVSException;
-
-	/**
-	 * Cleans up after command execution.
-	 * [template method] 
-	 * <p>
-	 * The default implementation is a no-op.  Subclasses may override this
-	 * method to follow up command execution on the server with clean up
-	 * operations on local resources.
-	 * </p>
-	 *
-	 * @param session the CVS session
-	 * @param globalOptions the global options for the command
-	 * @param localOptions the local options for the command
-	 * @param resources the resource arguments for the command
-	 * @param monitor the progress monitor
-	 * @param status the status accumulated so far. If the code == CVSStatus.SERVER_ERROR
-	 *    then the command failed
-	 * @return status the status past in plus any additional status accumulated during the finish
-	 */
-	protected IStatus commandFinished(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, ICVSResource[] resources, IProgressMonitor monitor,
-		IStatus status) throws CVSException {
-			return status;
-	}
-
-	/**
-	 * Sends the local working directory path prior to command execution.
-	 * [template method]
-	 * <p>
-	 * The default implementation sends the paths of local root directory
-	 * (assuming it exists).  Subclasses may override this method to provide
-	 * alternate behaviour.
-	 * </p>
-	 * 
-	 * @param session the CVS session
-	 */
-	protected void sendLocalWorkingDirectory(Session session) throws CVSException {
-		ICVSFolder localRoot = session.getLocalRoot();
-		if (localRoot.isCVSFolder()) {
-			session.sendLocalRootDirectory();
-		} else {
-			session.sendConstructedRootDirectory();
-		}
-	}
-
-	/**
-	 * Computes an array of ICVSResources corresponding to command arguments.
-	 * [template method]
-	 * <p>
-	 * The default implementation assumes that all arguments supplied to the
-	 * command represent resources in the local root that are to be manipulated.
-	 * Subclasses must override this method if this assumption does not hold.
-	 * </p>
-	 * @param session the CVS session
-	 * @param localOptions the command local options
-	 * @param arguments the command arguments
-	 * @return the resource arguments for the command
-	 */
-	protected ICVSResource[] computeWorkResources(Session session,
-		LocalOption[] localOptions, String[] arguments) throws CVSException {
-		ICVSFolder localRoot = session.getLocalRoot();
-
-		if (arguments.length == 0) {
-			// As a convenience, passing no arguments to the CVS command
-			// implies the command will operate on the local root folder.
-			return new ICVSResource[] { localRoot };
-		} else {
-			// Assume all arguments represent resources that are descendants
-			// of the local root folder.
-			ICVSResource[] resources = new ICVSResource[arguments.length];
-			for (int i = 0; i < arguments.length; i++) {
-				ICVSResource resource = localRoot.getChild(arguments[i]);				
-				// file does not exist, it could have been deleted. It doesn't matter
-				// which type we return since only the name of the resource is used
-				// and sent to the server.
-				if(resource==null) {
-					if(localRoot.getName().length()==0) {
-						// Return a folder because it is the safest choice when
-						// localRoot is a handle to the IWorkspaceRoot!
-						resource = localRoot.getFolder(arguments[i]);
-					} else {
-						resource = localRoot.getFile(arguments[i]);
-					}
-				}
-				resources[i] = resource;
-			}
-			return resources;
-		}
-	}
-
-	/**
-	 * Send an array of Resources.
-	 * @param localOptions 
-	 * 
-	 * @see Command#sendFileStructure(ICVSResource,IProgressMonitor,boolean,boolean,boolean)
-	 */
-	protected void sendFileStructure(Session session, ICVSResource[] resources,
-		LocalOption[] localOptions, boolean emptyFolders, IProgressMonitor monitor) throws CVSException {
-		checkResourcesManaged(session, resources);
-		
-		new FileStructureVisitor(session, localOptions, emptyFolders, true).visit(session, resources, monitor);
-	}
-
-	/**
-	 * Checks that all work resources are managed.
-	 * @param session TODO
-	 * @param resources the resource arguments for the command
-	 * 
-	 * @throws CVSException if some resources are not managed
-	 */
-	protected void checkResourcesManaged(Session session, ICVSResource[] resources) throws CVSException {
-		for (int i = 0; i < resources.length; ++i) {
-			ICVSFolder folder;
-			if (resources[i].isFolder()) {
-				folder = (ICVSFolder) resources[i];
-			}
-			else {
-				folder = resources[i].getParent();
-			}
-			if (!folder.isCVSFolder() && folder.exists()) {
-				IStatus status = new CVSStatus(IStatus.ERROR,CVSStatus.ERROR,NLS.bind(CVSMessages.Command_argumentNotManaged, new String[] { folder.getName() }),session.getLocalRoot());
-				throw new CVSException(status);
-			}
-		}
-	}
-		
-	/**
-	 * Executes a CVS command.
-	 * <p>
-	 * Dispatches the commands, retrieves the results, and determines whether or
-	 * not an error occurred.  A listener may be supplied to capture message text
-	 * that would normally be written to the standard error and standard output
-	 * streams of a command line CVS client.
-	 * </p>
-	 * @param session the open CVS session
-	 * @param globalOptions the array of global options, or NO_GLOBAL_OPTIONS
-	 * @param localOptions the array of local options, or NO_LOCAL_OPTIONS
-	 * @param arguments the array of arguments (usually filenames relative to localRoot), or NO_ARGUMENTS
-	 * @param listener the command output listener, or null to discard all messages
-	 * @param monitor the progress monitor
-	 * @return a status code indicating success or failure of the operation
-	 * @throws CVSException if a fatal error occurs (e.g. connection timeout)
-	 */
-	public final IStatus execute(final Session session, final GlobalOption[] globalOptions,
-		final LocalOption[] localOptions, final String[] arguments, final ICommandOutputListener listener,
-		IProgressMonitor pm) throws CVSException {		
-		final IStatus[] status = new IStatus[1];
-		ICVSRunnable job = new ICVSRunnable() {
-			public void run(IProgressMonitor monitor) throws CVSException {
-				// update the global and local options
-				GlobalOption[] gOptions = filterGlobalOptions(session, globalOptions);
-				LocalOption[] lOptions = filterLocalOptions(session, gOptions, localOptions);
-				
-				// print the invocation string to the console
-				if (session.isOutputToConsole() || Policy.isDebugProtocol()) {
-					IPath commandRootPath;
-					IResource resource = session.getLocalRoot().getIResource();
-					if (resource == null) {
-						commandRootPath = Path.EMPTY;
-					} else {
-						commandRootPath = resource.getFullPath();
-					}
-					String line = constructCommandInvocationString(commandRootPath, gOptions, lOptions, arguments);
-					ConsoleListeners.getInstance().commandInvoked(session, line);
-					if (Policy.isDebugProtocol()) Policy.printProtocolLine("CMD> " + line); //$NON-NLS-1$
-				}
-				
-				// run the command
-				try {
-				    session.setCurrentCommand(Command.this);
-					status[0] = doExecute(session, gOptions, lOptions, arguments, listener, monitor);
-					notifyConsoleOnCompletion(session, status[0], null);
-				} catch (CVSException e) {
-					notifyConsoleOnCompletion(session, null, e);
-					throw e;
-				} catch (RuntimeException e) {
-					notifyConsoleOnCompletion(session, null, e);
-					throw e;
-				}
-			}
-		};
-		if (isWorkspaceModification()) {
-			session.getLocalRoot().run(job, pm);
-		} else {
-			job.run(pm);
-		}
-		return status[0];
-	}
-	
-	/**
-	 * Return whether this command modifies the workspace.
-	 * If <code>true</code> is returned, a scheduling rule on
-	 * the session local root is obtained. Otherwise, no
-	 * scheduling rule is obtained. By default, <code>true</code>
-	 * is returned
-	 * @return whether this command modifies the workspace
-	 */
-	protected boolean isWorkspaceModification() {
-		return true;
-	}
-
-	private void notifyConsoleOnCompletion(Session session, IStatus status, Exception exception) {
-		ConsoleListeners.getInstance().commandCompleted(session, status, exception);
-		if (Policy.isDebugProtocol()) {
-			if (status != null) Policy.printProtocolLine("RESULT> " + status.toString()); //$NON-NLS-1$
-			else Policy.printProtocolLine("RESULT> " + exception.toString()); //$NON-NLS-1$
-		}
-	}
-
-	protected IStatus doExecute(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, String[] arguments, ICommandOutputListener listener,
-		IProgressMonitor monitor) throws CVSException {
-		ICVSResource[] resources = null;
-		/*** setup progress monitor ***/
-		monitor = Policy.monitorFor(monitor);
-		monitor.beginTask(null, 100);
-		Policy.checkCanceled(monitor);
-		try {
-			/*** prepare for command ***/
-			// clear stale command state from previous runs
-			session.setNoLocalChanges(DO_NOT_CHANGE.isElementOf(globalOptions));
-			session.setModTime(null);
-
-			/*** initiate command ***/
-			// send global options
-			for (int i = 0; i < globalOptions.length; i++) {
-				globalOptions[i].send(session);
-			}
-			Policy.checkCanceled(monitor);
-			// send local options
-			for (int i = 0; i < localOptions.length; i++) {
-				localOptions[i].send(session);
-			}
-			Policy.checkCanceled(monitor);
-			// compute the work resources
-			resources = computeWorkResources(session, localOptions, arguments);			
-			Policy.checkCanceled(monitor);
-			// send local working directory state contributes 48% of work
-			resources = sendLocalResourceState(session, globalOptions, localOptions,
-					resources, Policy.infiniteSubMonitorFor(monitor, 48));
-			Policy.checkCanceled(monitor);
-			// escape file names, see bug 149683
-			for(int i = 0; i < arguments.length; i++){
-				if(arguments[i].startsWith("-")){ //$NON-NLS-1$
-					arguments[i] = "./" + arguments[i]; //$NON-NLS-1$
-				}
-			}
-			// send arguments
-			sendArguments(session, arguments);
-			// send local working directory path
-			sendLocalWorkingDirectory(session);
-
-			// if no listener was provided, use the command's default in order to get error reporting
-			if (listener == null) listener = getDefaultCommandOutputListener();
-
-			/*** execute command and process responses ***/
-			// Processing responses contributes 50% of work.
-			IStatus status = executeRequest(session, listener, Policy.subMonitorFor(monitor, 50));
-
-			// Finished adds last 2% of work.
-			status = commandFinished(session, globalOptions, localOptions, resources, Policy.subMonitorFor(monitor, 2),
-				status);
-			return status;
-		} finally {			
-			monitor.done();
-		}
-	}
-	
-	/**
-	 * Constucts the CVS command invocation string corresponding to the arguments.
-	 * 
-	 * @param globalOptions the global options
-	 * @param localOption the local options
-	 * @param arguments the arguments
-	 * @return the command invocation string
-	 */
-	private String constructCommandInvocationString(IPath commandRootPath, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, String[] arguments) {
-		StringBuffer commandLine = new StringBuffer("cvs"); //$NON-NLS-1$
-		for (int i = 0; i < globalOptions.length; ++i) {
-			String option = globalOptions[i].toString();
-			if (option.length() == 0) continue;
-			commandLine.append(' ');
-			commandLine.append(option);
-		}
-		commandLine.append(' ');
-		commandLine.append(getRequestId());
-		for (int i = 0; i < localOptions.length; ++i) {
-			String option = localOptions[i].toString();
-			if (option.length() == 0) continue;
-			commandLine.append(' ');
-			commandLine.append(option);
-		}
-		for (int i = 0; i < arguments.length; ++i) {
-			if (arguments[i].length() == 0) continue;
-			commandLine.append(" \""); //$NON-NLS-1$
-			IPath completePath = commandRootPath;
-			if (!arguments[i].equals(Session.CURRENT_LOCAL_FOLDER)) {
-				completePath = completePath.append(arguments[i]);
-			}
-			commandLine.append(completePath.toString());
-			commandLine.append('"'); 
-		}
-		return commandLine.toString();
-	}	
-
-	/**
-	 * Superclass for all CVS command options
-	 */
-	protected static abstract class Option {
-		protected String option, argument;
-		protected Option(String option, String argument) {
-			this.option = option;
-			this.argument = argument;
-		}
-		/**
-		 * Determines if this option is an element of an array of options
-		 * @param array the array of options
-		 * @return true iff the array contains this option
-		 */
-		public boolean isElementOf(Option[] array) {
-			return findOption(array, option) != null;
-		}
-		/**
-		 * Returns the option part of the option
-		 */
-		String getOption() {
-			return option;
-		}
-		/**
-		 * Compares two options for equality.
-		 * @param other the other option
-		 */
-		public boolean equals(Object other) {
-			if (this == other) return true;
-			if (other instanceof Option) {
-				Option otherOption = (Option) other;
-				return option.equals(otherOption.option);
-			}
-			return false;
-		}
-		/**
-		 * Sends the option to a CVS server
-		 * @param session the CVS session
-		 */
-		public abstract void send(Session session) throws CVSException;		
-		/*
-		 * To make debugging a tad easier.
-		 */
-		public String toString() {
-			if (argument != null && argument.length() != 0) {
-				return option + " \"" + argument + '"'; //$NON-NLS-1$
-			} else {
-				return option;
-			}
-		}
-	}	
-	/**
-	 * Option subtype for global options that are common to all commands.
-	 */
-	public static class GlobalOption extends Option {
-		protected GlobalOption(String option) {
-			super(option, null);
-		}
-		public void send(Session session) throws CVSException {
-			session.sendGlobalOption(option);
-		}
-		/**
-		 * Add the given global option to the end of the provided list
-		 *
-		 * @param newOption
-		 * @param options
-		 * @return GlobalOption[]
-		 */
-		protected GlobalOption[] addToEnd(GlobalOption[] options) {
-			GlobalOption[] globalOptions = new GlobalOption[options.length + 1];
-			System.arraycopy(options, 0, globalOptions, 0, options.length);
-			globalOptions[globalOptions.length - 1] = this;
-			return globalOptions;
-		}
-	}
-	/**
-	 * Option subtype for global quietness options.
-	 */
-	public static final class QuietOption extends GlobalOption {
-		private QuietOption(String option) {
-			super(option);
-		}
-		public void send(Session session) throws CVSException {
-			if (option.length() != 0) super.send(session);
-		}
-	}
-	/**
-	 * Option subtype for local options that vary from command to command.
-	 */
-	public static class LocalOption extends Option {
-		protected LocalOption(String option) {
-			super(option, null);
-		}
-		protected LocalOption(String option, String argument) {
-			super(option, argument);
-		}
-		public void send(Session session) throws CVSException {
-			session.sendArgument(option);
-			if (argument != null) session.sendArgument(argument);
-		}
-        public LocalOption[] addTo(LocalOption[] options) {
-            if (this.isElementOf(options)) {
-                return options;
-            }
-            LocalOption[] newOptions = new LocalOption[options.length + 1];
-            System.arraycopy(options, 0, newOptions, 0, options.length);
-            newOptions[options.length] = this;
-            return newOptions;
-        }
-        public LocalOption[] removeFrom(LocalOption[] options) {
-            if (!this.isElementOf(options)) {
-                return options;
-            }
-            List result = new ArrayList();
-            for (int i = 0; i < options.length; i++) {
-                Command.LocalOption option = options[i];
-                if (!option.equals(this)) {
-                    result.add(option);
-                }
-            }
-            return (LocalOption[]) result.toArray(new LocalOption[result.size()]);
-        }
-	}
-	/**
-	 * Options subtype for keyword substitution options.
-	 */
-	public static class KSubstOption extends LocalOption {
-		private boolean isUnknownMode;
-		private KSubstOption(String option) {
-			this(option, false);
-		}
-		private KSubstOption(String option, boolean isUnknownMode) {
-			super(option);
-			this.isUnknownMode = isUnknownMode;
-			ksubstOptionMap.put(option, this);
-		}
-		/**
-		 * Gets the KSubstOption instance for the specified mode.
-		 * 
-		 * @param mode the mode, e.g. -kb
-		 * @return an instance for that mode
-		 */
-		public static KSubstOption fromMode(String mode) {
-			if (mode.length() == 0) mode = "-kkv"; // use default //$NON-NLS-1$
-			KSubstOption option = (KSubstOption) ksubstOptionMap.get(mode);
-			if (option == null) option = new KSubstOption(mode, true);
-			return option;
-		}
-		/**
-		 * Gets the KSubstOption instance for the specified file.
-		 *
-		 * @param file the file to get the option for
-		 * @return an instance for that mode
-		 */
-		public static KSubstOption fromFile(IFile file) {
-			if (CVSProviderPlugin.isText(file))
-				return getDefaultTextMode();
-			return KSUBST_BINARY;
-		}
-		/**
-		 * Returns an array of all valid modes.
-		 */
-		public static KSubstOption[] getAllKSubstOptions() {
-			return (KSubstOption[]) ksubstOptionMap.values().toArray(new KSubstOption[ksubstOptionMap.size()]);
-		}
-		/**
-		 * Returns the entry line mode string for this instance. Note that it might return blank strings
-		 * for certain options. For UI, use {@link #toMode()} which will always return the a string
-		 * containing the keyword substitution.
-		 */
-		public String toEntryLineMode() {
-			if (KSUBST_TEXT_EXPAND.equals(this)) return ""; //$NON-NLS-1$
-			return getOption();
-		}
-		
-		/**
-		 * Returns the entry line mode string for this instance.
-		 */
-		public String toMode(){
-			return getOption();
-		}
-		
-		/**
-		 * Returns true if the substitution mode requires no data translation
-		 * during file transfer.
-		 */
-		public boolean isBinary() {
-			return KSUBST_BINARY.equals(this);
-		}
-		/**
-		 * Returns a short localized text string describing this mode.
-		 */
-		public String getShortDisplayText() {
-			if (isUnknownMode)
-                return NLS.bind(CVSMessages.KSubstOption_unknown_short, new String[] { option }); 
-            if (option.equals("-kb")) //$NON-NLS-1$
-                return CVSMessages.KSubstOption__kb_short;
-            if (option.equals("-kkv")) //$NON-NLS-1$
-                return CVSMessages.KSubstOption__kkv_short;
-            if (option.equals("-ko")) //$NON-NLS-1$
-                return CVSMessages.KSubstOption__ko_short;
-            if (option.equals("-kk")) //$NON-NLS-1$
-                return CVSMessages.KSubstOption__kk_short;
-            if (option.equals("-kv")) //$NON-NLS-1$
-                return CVSMessages.KSubstOption__kv_short;
-            if (option.equals("-kkvl")) //$NON-NLS-1$
-                return CVSMessages.KSubstOption__kkvl_short;
-            return NLS.bind(CVSMessages.KSubstOption_unknown_short, new String[] { option }); 
-		}
-		/**
-		 * Returns a long localized text string describing this mode.
-		 */
-		public String getLongDisplayText() {
-			if (isUnknownMode)
-                return NLS.bind(CVSMessages.KSubstOption_unknown_long, new String[] { option }); 
-            if (option.equals("-kb")) //$NON-NLS-1$
-                return CVSMessages.KSubstOption__kb_long;
-            if (option.equals("-kkv")) //$NON-NLS-1$
-                return CVSMessages.KSubstOption__kkv_long;
-            if (option.equals("-ko")) //$NON-NLS-1$
-                return CVSMessages.KSubstOption__ko_long;
-            if (option.equals("-kk")) //$NON-NLS-1$
-                return CVSMessages.KSubstOption__kk_long;
-            if (option.equals("-kv")) //$NON-NLS-1$
-                return CVSMessages.KSubstOption__kv_long;
-            if (option.equals("-kkvl")) //$NON-NLS-1$
-                return CVSMessages.KSubstOption__kkvl_long;
-            return NLS.bind(CVSMessages.KSubstOption_unknown_long, new String[] { option }); 
-		}
-		/**
-		 * Return the text mode that will be used by default
-		 */
-		public static KSubstOption getDefaultTextMode() {
-			return CVSProviderPlugin.getPlugin().getDefaultTextKSubstOption();
-		}
-	}
-
-	/**
-	 * Makes a -m log message option.
-	 * Valid for: add commit import
-	 */
-	public static LocalOption makeArgumentOption(LocalOption option, String argument) {
-		if(argument == null) {
-			argument = ""; //$NON-NLS-1$
-		}
-		return new LocalOption(option.getOption(), argument);  
-	}
-	
-	/**
-	 * Makes a -r or -D option for a tag.
-	 * Valid for: checkout export history rdiff update
-	 */
-	public static LocalOption makeTagOption(CVSTag tag) {
-		int type = tag.getType();
-		switch (type) {
-			case CVSTag.BRANCH:
-			case CVSTag.VERSION:
-				return new LocalOption("-r", tag.getName()); //$NON-NLS-1$
-			case CVSTag.DATE:
-				return new LocalOption("-D", tag.getName()); //$NON-NLS-1$
-			default:
-				// tag must not be HEAD
-				throw new IllegalArgumentException(CVSMessages.Command_invalidTag); 
-		}
-	}
-
-	/**
-	 * Find a specific option in an array of options
-	 * @param array the array of options
-	 * @param option the option string to search for
-	 * @return the first element matching the option string, or null if none
-	 */
-	public static Option findOption(Option[] array, String option) {
-		for (int i = 0; i < array.length; ++i) {
-			if (array[i].getOption().equals(option)) return array[i];
-		}
-		return null;
-	}
-
-	/**
-	 * Collect all arguments of a specific option from an array of options
-	 * @param array the array of options
-	 * @param option the option string to search for
-	 * @return an array of all arguments of belonging to matching options
-	 */
-	protected static String[] collectOptionArguments(Option[] array, String option) {
-		List /* of String */ list = new ArrayList();
-		for (int i = 0; i < array.length; ++i) {
-			if (array[i].getOption().equals(option)) {
-				list.add(array[i].argument);
-			}
-		}
-		return (String[]) list.toArray(new String[list.size()]);
-	}
-	
-	/**
-	 * Allows commands to filter the set of global options to be sent.
-	 * This method invokes the method of the same name on the session
-	 * itself in order to get any session wide or globally set options.
-	 * Subclasses that override this method should call the superclass.
-	 * 
-	 * @param session the session
-	 * @param globalOptions the global options, read-only
-	 * @return the filtered global options
-	 */
-	protected GlobalOption[] filterGlobalOptions(Session session, GlobalOption[] globalOptions) {
-		return session.filterGlobalOptions(globalOptions);
-	}
-	
-	/**
-	 * Allows commands to filter the set of local options to be sent.
-	 * Subclasses that override this method should call the superclass.
-	 * 
-	 * @param session the session
-	 * @param globalOptions the global options, read-only
-	 * @param localOptions the local options, read-only
-	 * @return the filtered local options
-	 */
-	protected LocalOption[] filterLocalOptions(Session session, GlobalOption[] globalOptions, LocalOption[] localOptions) {
-		return localOptions;
-	}
-	
-	/**
-	 * Execute a CVS command on an array of ICVSResource. This method simply converts
-	 * the ICVSResource to String paths relative to the local root of the session and
-	 * invokes <code>execute(Session, GlobalOption[], LocalOption[], String[], ICommandOutputListener, IProgressMonitor)</code>.
-	 * </p>
-	 * @param session the open CVS session
-	 * @param globalOptions the array of global options, or NO_GLOBAL_OPTIONS
-	 * @param localOptions the array of local options, or NO_LOCAL_OPTIONS
-	 * @param arguments the array of ICVSResource to be operated on
-	 * @param listener the command output listener, or null to discard all messages
-	 * @param monitor the progress monitor
-	 * @return a status code indicating success or failure of the operation
-	 * @throws CVSException if a fatal error occurs (e.g. connection timeout)
-	 * 
-	 * @see Command#execute(Session, GlobalOption[], LocalOption[], String[], ICommandOutputListener, IProgressMonitor)
-	 */
-	public final IStatus execute(Session session, GlobalOption[] globalOptions, LocalOption[] localOptions, ICVSResource[] arguments, 
-		ICommandOutputListener listener, IProgressMonitor pm) throws CVSException {
-		
-		String[] stringArguments = convertArgumentsForOpenSession(arguments, session);
-		return execute(session, globalOptions, localOptions, stringArguments, listener, pm);
-	}
-	
-	protected String[] convertArgumentsForOpenSession(ICVSResource[] arguments, Session openSession) throws CVSException {
-		// Convert arguments
-		List stringArguments = new ArrayList(arguments.length);
-		for (int i = 0; i < arguments.length; i++) {
-			stringArguments.add(arguments[i].getRelativePath(openSession.getLocalRoot()));
-		}
-		return (String[]) stringArguments.toArray(new String[stringArguments.size()]);
-	}
-	
-	/**
-	 * Method mergeStatus.
-	 * @param status
-	 * @param cVSStatus
-	 * @return IStatus
-	 */
-	protected IStatus mergeStatus(IStatus accumulatedStatus, IStatus newStatus) {
-		if (accumulatedStatus.isMultiStatus()) {
-			((MultiStatus)accumulatedStatus).merge(newStatus);
-			return accumulatedStatus;
-		}
-		if (accumulatedStatus.isOK()) return newStatus;
-		if (newStatus.isOK()) return accumulatedStatus;
-		MultiStatus result = new MultiStatus(CVSProviderPlugin.ID, IStatus.INFO,
-				new IStatus[] {accumulatedStatus, newStatus},
-				NLS.bind(CVSMessages.Command_warnings, new String[] { getDisplayText() }), null);
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CommandOutputListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CommandOutputListener.java
deleted file mode 100644
index 8eed851..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CommandOutputListener.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.CVSStatus;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-
-public class CommandOutputListener implements ICommandOutputListener {
-    
-    /*
-     * Failure string that is returned from the server when pserver is used and the root directory
-     * is not readable. The problem can be fixed by making the directory readable or by using -f in 
-     * the pserver configuration file. We will ignore the error since it does not affect the command.
-     */
-    public static final String ROOT_CVSIGNORE_READ_FAILURE = "cvs server: cannot open /root/.cvsignore: Permission denied"; //$NON-NLS-1$
-    
-	public IStatus messageLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot, IProgressMonitor monitor) {
-		return OK;
-	}
-	public IStatus errorLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot, IProgressMonitor monitor) {
-		String protocolError = getProtocolError(line, location);
-		if (protocolError != null) {
-			return new CVSStatus(IStatus.ERROR, CVSStatus.PROTOCOL_ERROR, protocolError, commandRoot);
-		}
-		if (line.equals(ROOT_CVSIGNORE_READ_FAILURE) || getServerMessage(ROOT_CVSIGNORE_READ_FAILURE, location).equals(getServerMessage(line, location))) {
-		    // Don't report this as an error since it does not affect the command
-		    return new CVSStatus(IStatus.WARNING, CVSStatus.ERROR_LINE, line, commandRoot);
-		}
-		return new CVSStatus(IStatus.ERROR, CVSStatus.ERROR_LINE, line, commandRoot);
-	}
-	
-	/**
-	 * Return the portion of the line that describes the error if the error line
-	 * is a protocol error or null if the line is not a protocol error.
-	 * 
-	 * @param line the error line received from the server
-	 * @param location the repository location
-	 * @return String the potocol error or null
-	 */
-	protected String getProtocolError(String line, ICVSRepositoryLocation location) {
-		if (line.startsWith("Protocol error:")) { //$NON-NLS-1$
-			return line;
-		}
-		return null;
-	}
-
-	public String getServerMessage(String line, ICVSRepositoryLocation location) {
-		return ((CVSRepositoryLocation)location).getServerMessageWithoutPrefix(line, SERVER_PREFIX);
-	}
-
-	public String getServerAbortedMessage(String line, ICVSRepositoryLocation location) {
-		return ((CVSRepositoryLocation)location).getServerMessageWithoutPrefix(line, SERVER_ABORTED_PREFIX);
-	}
-
-	public String getServerRTagMessage(String line, ICVSRepositoryLocation location) {
-		return ((CVSRepositoryLocation)location).getServerMessageWithoutPrefix(line, RTAG_PREFIX);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Commit.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Commit.java
deleted file mode 100644
index 6ad5c67..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Commit.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import java.util.Collection;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener;
-
-public class Commit extends Command {
-	/*** Local options: specific to commit ***/
-	// Forces a file to be committed even if it has not been modified; implies -l.
-	// NOTE: This option is not fully supported -- a file will not be sent
-	//       unless it is dirty.  The primary use is to resend a file that may
-	//       or may not be changed (e.g. could depend on CR/LF translations, etc...)
-	//       and force the server to create a new revision and reply Checked-in.
-	public static final LocalOption FORCE = new LocalOption("-f"); //$NON-NLS-1$
-
-	protected Commit() { }
-	protected String getRequestId() {
-		return "ci"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Send all files under the workingFolder as changed files to 
-	 * the server.
-	 */		
-	protected ICVSResource[] sendLocalResourceState(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, ICVSResource[] resources, IProgressMonitor monitor)
-		throws CVSException {			
-
-		// Get the folders we want to work on
-		checkResourcesManaged(session, resources);
-		
-		// Send all changed files to the server	
-		ModifiedFileSender visitor = new ModifiedFileSender(session, localOptions);
-		visitor.visit(session, resources, monitor);
-		
-		// Send the changed files as arguments (because this is what other cvs clients do)
-		ICVSFile[] changedFiles = visitor.getModifiedFiles();
-		for (int i = 0; i < changedFiles.length; i++) {
-			// escape file names, see bug 149683
-			String fileName = changedFiles[i].getRelativePath(session.getLocalRoot());
-			if(fileName.startsWith("-")){ //$NON-NLS-1$
-				fileName = "./" + fileName; //$NON-NLS-1$
-			}
-			session.sendArgument(fileName);
-		}
-		return changedFiles;
-	}
-	
-	/**
-	 * On successful finish, prune empty directories if the -P or -D option was specified.
-	 */
-	protected IStatus commandFinished(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, ICVSResource[] resources, IProgressMonitor monitor,
-		IStatus status) throws CVSException {
-		// If we didn't succeed, don't do any post processing
-		if (status.getCode() == CVSStatus.SERVER_ERROR) {
-			return status;
-		}
-
-		// If pruning is enable, prune empty directories after a commit
-		if (CVSProviderPlugin.getPlugin().getPruneEmptyDirectories()) { 
-			new PruneFolderVisitor().visit(session, resources);
-		}
-		
-		// Reset the timestamps of any committed files that are still dirty.
-		// Only do so if there were no E messages from the server
-		if (status.isOK()) {
-			for (int i = 0; i < resources.length; i++) {
-				ICVSResource resource = resources[i];
-				if (!resource.isFolder()) {
-					ICVSFile cvsFile = (ICVSFile)resources[i];
-					if (cvsFile.exists() && cvsFile.isModified(null)) {
-						status = mergeStatus(status, clearModifiedState(cvsFile));
-					}
-				}
-			}
-		}
-		return status;
-	}
-	
-	protected IStatus clearModifiedState(ICVSFile cvsFile) throws CVSException {
-		byte[] info = cvsFile.getSyncBytes();
-		IResource resource = cvsFile.getIResource();
-		String filePath;
-		if (resource == null) {
-			filePath = cvsFile.getRepositoryRelativePath();
-		} else {
-			filePath = resource.getFullPath().toString();
-		}
-		if (info == null) {
-			// There should be sync info. Log the problem
-			return new Status(IStatus.WARNING, CVSProviderPlugin.ID, 0, NLS.bind(CVSMessages.Commit_syncInfoMissing, new String[] { filePath }), null); 
-		}
-		cvsFile.checkedIn(null, true /* commit in progress */);
-		return new Status(IStatus.INFO, CVSProviderPlugin.ID, 0, NLS.bind(CVSMessages.Commit_timestampReset, new String[] { filePath }), null); //;
-	}
-	
-	/**
-	 * We do not want to send the arguments here, because we send
-	 * them in sendRequestsToServer (special handling).
-	 */
-	protected void sendArguments(Session session, String[] arguments) throws CVSException {
-	}
-	
-	public final IStatus execute(Session session, GlobalOption[] globalOptions, LocalOption[] localOptions, 
-		ICVSResource[] arguments, Collection filesToCommitAsText,
-		ICommandOutputListener listener, IProgressMonitor pm) throws CVSException {
-		
-		session.setTextTransferOverride(filesToCommitAsText);
-		try {
-			return super.execute(session, globalOptions, localOptions, arguments, listener, pm);
-		} finally {
-			session.setTextTransferOverride(null);
-		}
-	}
-    
-    protected String getDisplayText() {
-        return "commit"; //$NON-NLS-1$
-    }
-}	
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ConsoleListeners.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ConsoleListeners.java
deleted file mode 100644
index f5ec56c..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ConsoleListeners.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.team.internal.ccvs.core.client.listeners.IConsoleListener;
-
-/**
- * Class which forwards CVS console output to 1 or more
- * registered console listeners.
- */
-public class ConsoleListeners implements IConsoleListener {
-
-    private static ConsoleListeners instance = new ConsoleListeners();
-    private Set listeners = new HashSet();
-    
-    /**
-     * Return the console listeners
-     * @return the console listeners
-     */
-    public static ConsoleListeners getInstance() {
-        return instance;
-    }
-    
-    public void addListener(IConsoleListener listener) {
-        synchronized(listeners) {
-            listeners.add(listener);
-        }
-    }
-    
-    public void removeListener(IConsoleListener listener) {
-        synchronized(listeners) {
-            listeners.remove(listener);
-        }
-    }
-
-    private IConsoleListener[] getListeners() {
-        synchronized(listeners) {
-            return (IConsoleListener[]) listeners.toArray(new IConsoleListener[listeners.size()]);
-        }
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.team.internal.ccvs.core.client.listeners.IConsoleListener#commandInvoked(java.lang.String)
-     */
-    public void commandInvoked(final Session session, final String line) {
-        if (listeners.isEmpty()) return;
-        IConsoleListener[] listeners = getListeners();
-        for (int i = 0; i < listeners.length; i++) {
-            final IConsoleListener listener = listeners[i];
-            Platform.run(new ISafeRunnable() {
-                public void handleException(Throwable exception) {
-                    // Exception logged by Platform
-                }
-                public void run() throws Exception {
-                    listener.commandInvoked(session, line);
-                }
-            });
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.team.internal.ccvs.core.client.listeners.IConsoleListener#messageLineReceived(java.lang.String)
-     */
-    public void messageLineReceived(final Session session, final String line, final IStatus status) {
-        if (listeners.isEmpty()) return;
-        IConsoleListener[] listeners = getListeners();
-        for (int i = 0; i < listeners.length; i++) {
-            final IConsoleListener listener = listeners[i];
-            Platform.run(new ISafeRunnable() {
-                public void handleException(Throwable exception) {
-                    // Exception logged by Platform
-                }
-                public void run() throws Exception {
-                    listener.messageLineReceived(session, line, status);
-                }
-            });
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.team.internal.ccvs.core.client.listeners.IConsoleListener#errorLineReceived(java.lang.String)
-     */
-    public void errorLineReceived(final Session session, final String line, final IStatus status) {
-        if (listeners.isEmpty()) return;
-        IConsoleListener[] listeners = getListeners();
-        for (int i = 0; i < listeners.length; i++) {
-            final IConsoleListener listener = listeners[i];
-            Platform.run(new ISafeRunnable() {
-                public void handleException(Throwable exception) {
-                    // Exception logged by Platform
-                }
-                public void run() throws Exception {
-                    listener.errorLineReceived(session, line, status);
-                }
-            });
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.team.internal.ccvs.core.client.listeners.IConsoleListener#commandCompleted(org.eclipse.core.runtime.IStatus, java.lang.Exception)
-     */
-    public void commandCompleted(final Session session, final IStatus status, final Exception exception) {
-        if (listeners.isEmpty()) return;
-        IConsoleListener[] listeners = getListeners();
-        for (int i = 0; i < listeners.length; i++) {
-            final IConsoleListener listener = listeners[i];
-            Platform.run(new ISafeRunnable() {
-                public void handleException(Throwable exception) {
-                    // Exception logged by Platform
-                }
-                public void run() throws Exception {
-                    listener.commandCompleted(session, status, exception);
-                }
-            });
-        }
-    }
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CopyHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CopyHandler.java
deleted file mode 100644
index d2a25d5..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/CopyHandler.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.*;
-
-/**
- * Handles a "Copy-file" response from the CVS server.
- * <p>
- * Suppose as a result of performing a command the CVS server responds
- * as follows:<br>
- * <pre>
- *   [...]
- *   Copy-file myproject/ \n
- *   /u/cvsroot/myproject/oldfile.txt \n
- *   newfile.txt
- *   [...]
- * </pre>
- * Then we copy (or optionally rename) the local file "oldfile.txt" in
- * folder "myproject" to "newfile.txt".  This response is used to create
- * a backup copy of an existing file before merging in new changes.
- * </p>
- */
-class CopyHandler extends ResponseHandler {
-	public String getResponseID() {
-		return "Copy-file"; //$NON-NLS-1$
-	}
-
-	public void handle(Session session, String localDir,
-		IProgressMonitor monitor) throws CVSException {
-		// read additional data for the response
-		String repositoryFile = session.readLine();
-		String newFile = session.readLine();
-		if (session.isNoLocalChanges() || ! session.isCreateBackups()) return;
-
-		// Get the local file		
-		String fileName = repositoryFile.substring(repositoryFile.lastIndexOf("/") + 1); //$NON-NLS-1$
-		ICVSFolder mParent = session.getLocalRoot().getFolder(localDir);
-		ICVSFile mFile = mParent.getFile(fileName);
-
-		Assert.isTrue(mParent.exists());
-		Assert.isTrue(mFile.exists() && mFile.isManaged());
-		
-		// rename the file
-		mFile.copyTo(newFile);
-	}
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Diff.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Diff.java
deleted file mode 100644
index 07ef7f0..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Diff.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSResource;
-import org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener;
-import org.eclipse.team.internal.ccvs.core.connection.CVSServerException;
-
-/**
- * Runs the CVS diff command.
- */
-public class Diff extends Command {
-	/*** Local options: specific to diff ***/
-	public static final LocalOption UNIFIED_FORMAT = new LocalOption("-u"); //$NON-NLS-1$
-	public static final LocalOption CONTEXT_FORMAT = new LocalOption("-c"); //$NON-NLS-1$
-	public static final LocalOption INCLUDE_NEWFILES = new LocalOption("-N"); //$NON-NLS-1$
-	public static final LocalOption BRIEF = new LocalOption("--brief"); //$NON-NLS-1$
-
-	protected Diff() { }
-	protected String getRequestId() {
-		return "diff"; //$NON-NLS-1$
-	}
-	
-	/**
-	 * Overwritten to throw the CVSDiffException if the server returns an error, because it just does 
-	 * so when there is a difference between the checked files.	
-	 */
-	protected IStatus doExecute(Session session, GlobalOption[] globalOptions, LocalOption[] localOptions,
-								  String[] arguments, ICommandOutputListener listener, IProgressMonitor monitor) throws CVSException {
-		try {
-			IStatus status = super.doExecute(session, globalOptions, localOptions, arguments, listener, monitor);
-            if (status.getCode() == CVSStatus.SERVER_ERROR) {
-                if (status.isMultiStatus()) {
-                    IStatus[] children = status.getChildren();
-                    for (int i = 0; i < children.length; i++) {
-                        IStatus child = children[i];
-                        if (child.getMessage().indexOf("[diff aborted]") != -1) { //$NON-NLS-1$
-                            throw new CVSServerException(status);
-                        }
-                    }
-                }
-            }
-            return status;
-		} catch (CVSServerException e) {
-			if (e.containsErrors()) throw e;
-			return e.getStatus();
-		}
-	}
-
-	protected ICVSResource[] sendLocalResourceState(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, ICVSResource[] resources, IProgressMonitor monitor)
-		throws CVSException {			
-
-		checkResourcesManaged(session, resources);
-		DiffStructureVisitor visitor = new DiffStructureVisitor(session, localOptions);
-		visitor.visit(session, resources, monitor);
-		return resources;
-	}
-	
-	protected String getServerErrorMessage() {
-		return CVSMessages.Diff_serverError; 
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/DiffStructureVisitor.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/DiffStructureVisitor.java
deleted file mode 100644
index 4c3d45c..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/DiffStructureVisitor.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-
-/**
- * The diff command needs to send a file structure to the server that differs somewhat from the canonical
- * format sent by other commands. Instead of sending new files as questionables this class sends
- * new files as modified and fakes them being added. The contents are sent to the server and are 
- * included in the returned diff report.
- */
-class DiffStructureVisitor extends FileStructureVisitor {
-	
-	public DiffStructureVisitor(Session session, LocalOption[] localOptions) {
-		super(session, localOptions, true, true);
-	}
-	
-	/**
-	 * Send unmanaged files as modified with a default entry line.
-	 */
-	protected void sendFile(ICVSFile mFile) throws CVSException {
-		byte[] info = mFile.getSyncBytes();
-		if (info==null)  {
-			return;
-		}
-		
-		// Send the parent folder if it hasn't been sent already
-		sendFolder(mFile.getParent());
-		Policy.checkCanceled(monitor);
-		session.sendEntry(info, null);
-		
-		if (!mFile.exists()) {
-			return;
-		}
-
-		if (mFile.isModified(null)) {
-			session.sendModified(mFile, ResourceSyncInfo.isBinary(info), monitor);
-		} else {
-			session.sendUnchanged(mFile);
-		}
-	}			
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Editors.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Editors.java
deleted file mode 100644
index 4175282..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Editors.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     CSC - Intial implementation
- *     IBM Corporation - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-/**
- * 
- * The editors command
- *
- *  @author <a href="mailto:kohlwes@gmx.net">Gregor Kohlwes</a>
- */
-public class Editors extends AbstractMessageCommand {
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.client.Request#getRequestId()
-	 */
-	protected String getRequestId() {
-		return "editors"; //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.Command#isWorkspaceModification()
-	 */
-	protected boolean isWorkspaceModification() {
-		return false;
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ExpandModules.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ExpandModules.java
deleted file mode 100644
index dd7297c..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ExpandModules.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
- 
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-
-public class ExpandModules extends Request {
-	protected ExpandModules() { }
-	protected String getRequestId() {
-		return "expand-modules"; //$NON-NLS-1$
-	}
-
-	public IStatus execute(Session session, String[] modules, IProgressMonitor monitor) throws CVSException {
-		// Reset the module expansions before the responses arrive
-		session.resetModuleExpansion();
-		for (int i = 0; i < modules.length; ++i) {
-			session.sendArgument(modules[i]);
-		}
-		return executeRequest(session, Command.DEFAULT_OUTPUT_LISTENER, monitor);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/FileStructureVisitor.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/FileStructureVisitor.java
deleted file mode 100644
index 298c338..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/FileStructureVisitor.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSFile;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSResource;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-
-/**
- * Visitor to send the local file structure to the CVS Server.
- * 
- * Files are sent as Unchanged or Modified.
- * Folders are sent if they contain files unless sendEmptyFolders is true
- * in which case all folders are sent.
- *
- * @param sendEmptyFolders sends the folder-entrie even if there is no file 
- 		  to send in it
- */
-
-class FileStructureVisitor extends AbstractStructureVisitor {
-
-	private boolean sendEmptyFolders;
-
-	public FileStructureVisitor(Session session, LocalOption[] localOptions, boolean sendEmptyFolders, boolean sendModifiedContents) {
-		this(session, localOptions, sendEmptyFolders, sendModifiedContents, true);
-	}
-
-	public FileStructureVisitor(Session session, LocalOption[] localOptions, boolean sendEmptyFolders, boolean sendModifiedContents, boolean sendBinary) {
-		super(session, localOptions, true, sendModifiedContents, sendBinary);
-		this.sendEmptyFolders = sendEmptyFolders;
-	}
-
-	/**
-	 * @see ICVSResourceVisitor#visitFile(IManagedFile)
-	 */
-	public void visitFile(ICVSFile mFile) throws CVSException {
-		sendFile(mFile);
-	}
-
-	/**
-	 * @see ICVSResourceVisitor#visitFolder(ICVSFolder)
-	 */
-	public void visitFolder(ICVSFolder mFolder) throws CVSException {
-
-		if (sendEmptyFolders) {
-			// If we want to send empty folder, that just send it when
-			// we come to it
-			sendFolder(mFolder);
-		}
-
-		boolean exists = mFolder.exists();
-		boolean isCVSFolder = mFolder.isCVSFolder();
-		
-		// We are only interested in CVS folders
-		// A folder could be a non-existant CVS folder if it is a holder for outgoing file deletions
-		if ( ! isCVSFolder) return;
-		
-		if (exists &&  isOrphanedSubtree(mFolder)) {
-			return;
-		}
-
-		// Send files, then the questionable folders, then the managed folders
-		ICVSResource[] children = mFolder.members(ICVSFolder.ALL_UNIGNORED_MEMBERS);
-		sendFiles(children);
-		sendQuestionableFolders(children);
-        if (isRecurse()) {
-    		sendManagedFolders(children);
-        }
-	}
-
-	/**
-	 * Method sendManagedFolders.
-	 * @param children
-	 */
-	private void sendManagedFolders(ICVSResource[] children) throws CVSException {
-		for (int i = 0; i < children.length; i++) {
-			ICVSResource resource = children[i];
-			if (resource.isFolder() && resource.isManaged()) {
-				resource.accept(this);
-			}
-		}
-	}
-
-	/**
-	 * Method sendQuestionableFolders.
-	 * @param children
-	 */
-	private void sendQuestionableFolders(ICVSResource[] children) throws CVSException {
-		for (int i = 0; i < children.length; i++) {
-			ICVSResource resource = children[i];
-			if (resource.isFolder() && ! resource.isManaged()) {
-				resource.accept(this);
-			}
-		}
-	}
-
-	/**
-	 * Method sendFiles.
-	 * @param children
-	 */
-	private void sendFiles(ICVSResource[] children) throws CVSException {
-		for (int i = 0; i < children.length; i++) {
-			ICVSResource resource = children[i];
-			if (!resource.isFolder()) {
-				resource.accept(this);
-			}
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Import.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Import.java
deleted file mode 100644
index 8ff4cac..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Import.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSResource;
-import org.eclipse.team.internal.ccvs.core.ICVSResourceVisitor;
-import org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener;
-
-
-public class Import extends Command {
-	protected Import() { }
-	protected String getRequestId() {
-		return "import"; //$NON-NLS-1$
-	}
-
-	protected ICVSResource[] computeWorkResources(Session session, LocalOption[] localOptions,
-		String[] arguments) throws CVSException {
-		if (arguments.length < 3) throw new IllegalArgumentException();
-		return new ICVSResource[0];
-	}
-	
-	protected IStatus doExecute(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, String[] arguments, ICommandOutputListener listener,
-		IProgressMonitor monitor) throws CVSException {
-			
-		// If the branch option is not provided, a default value of 1.1.1 is used.
-	 	// This is done to maintain reference client compatibility
-	 	if (findOption(localOptions, "-b") == null) { //$NON-NLS-1$
-	 		LocalOption[] newLocalOptions = new LocalOption[localOptions.length + 1];
-			newLocalOptions[0] = new LocalOption("-b", "1.1.1");  //$NON-NLS-1$ //$NON-NLS-2$
-			System.arraycopy(localOptions, 0, newLocalOptions, 1, localOptions.length);
-			localOptions = newLocalOptions;
-	 	}
-		return super.doExecute(session, globalOptions, localOptions, arguments, listener, monitor);
-	}
-	
-	protected ICVSResource[] sendLocalResourceState(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, ICVSResource[] resources, IProgressMonitor monitor)
-		throws CVSException {
-	
-		ICVSResourceVisitor visitor = new ImportStructureVisitor(session,
-			collectOptionArguments(localOptions, "-W"), monitor);		 //$NON-NLS-1$
-		session.getLocalRoot().accept(visitor);
-		return resources;
-	}
-
-	protected void sendLocalWorkingDirectory(Session session) throws CVSException {
-		session.sendConstructedRootDirectory();
-	}
-
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ImportStructureVisitor.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ImportStructureVisitor.java
deleted file mode 100644
index d218a4e..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ImportStructureVisitor.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.Team;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption;
-import org.eclipse.team.internal.ccvs.core.util.FileNameMatcher;
-
-/**
- * The ImportStructureVisitor sends the content of the folder it is
- * used on to the server. It constructs the locations of the resources
- * because the resources do not yet have a remote-location.<br>
- * It can also ignore certain files and decides wether to send
- * a file in binary or text mode due to a specification that is passed 
- * as a "wrapper" argument.
- */
-class ImportStructureVisitor implements ICVSResourceVisitor {
-	
-	private static final String KEYWORD_OPTION = "-k"; //$NON-NLS-1$
-	private static final String QUOTE = "'"; //$NON-NLS-1$
-	
-	protected Session session;
-	protected IProgressMonitor monitor;
-	
-	private FileNameMatcher ignoreMatcher;
-	private FileNameMatcher wrapMatcher;
-	
-	/**
-	 * Constructor for ImportStructureVisitor.
-	 * @param requestSender
-	 * @param mRoot
-	 * @param monitor
-	 */
-	public ImportStructureVisitor(Session session, 
-		String[] wrappers, IProgressMonitor monitor) {
-
-		this.session = session;
-		this.monitor = Policy.infiniteSubMonitorFor(monitor, 512);
-		wrapMatcher = initWrapMatcher(wrappers);
-	}
-	
-
-	/**
-	 * Inits the wrapMatcher, that is responsible to find out
-	 * whether a file is to be send as a binary (on an import)
-	 * or not.
-	 * 
-	 * Takes wrappers of this format:
-	 *   *.class -k 'o'
-	 * 
-	 * and inits the FileNameMatcher to give
-	 *   -ko back if you call it with match("somename.class")
-	 * 
-	 * ignores all wrappers, that do not contain -k
-	 */
-	private FileNameMatcher initWrapMatcher(String[] wrappers) {
-		
-		FileNameMatcher wrapMatcher;
-		
-		if (wrappers == null) {
-			return null;
-		}
-		
-		wrapMatcher = new FileNameMatcher();
-		
-		for (int i = 0; i < wrappers.length; i++) {
-			
-			if (wrappers[i].indexOf(KEYWORD_OPTION) == -1) {
-				continue;
-			}
-			
-			StringTokenizer st = new StringTokenizer(wrappers[i]);
-			String pattern = st.nextToken();
-			String option = st.nextToken();
-			// get rid of the quotes
-			StringTokenizer quoteSt = 
-				new StringTokenizer(st.nextToken(),QUOTE);
-			option += quoteSt.nextToken();
-			
-			wrapMatcher.register(pattern,option);
-		}
-		
-		return wrapMatcher;
-	}	
-	
-	/**
-	 * @see ICVSResourceVisitor#visitFile(IManagedFile)
-	 */
-	public void visitFile(ICVSFile mFile) throws CVSException {
-		if (ignoreMatcher != null && ignoreMatcher.match(mFile.getName())) {
-			return;
-		}
-		
-		boolean binary = Team.getFileContentManager().getType((IFile)mFile.getIResource()) == Team.BINARY;
-		if (wrapMatcher != null) {
-			String mode = wrapMatcher.getMatch(mFile.getName());
-			if (mode != null) binary = KSubstOption.fromMode(mode).isBinary();
-		}
-		session.sendModified(mFile, binary, monitor);
-	}
-
-	/**
-	 * @see ICVSResourceVisitor#visitFolder(ICVSFolder)
-	 */
-	public void visitFolder(ICVSFolder mFolder) throws CVSException {
-		
-		if (ignoreMatcher != null && ignoreMatcher.match(mFolder.getName())) {
-			return;
-		}
-		
-		String localPath = mFolder.getRelativePath(session.getLocalRoot());
-		monitor.subTask(NLS.bind(CVSMessages.AbstractStructureVisitor_sendingFolder, new String[] { localPath })); 
-		
-		session.sendConstructedDirectory(localPath);
-		mFolder.acceptChildren(this);
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Log.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Log.java
deleted file mode 100644
index 69e6bef..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Log.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSResource;
-
-public class Log extends AbstractMessageCommand {
-	/*** Local options: specific to log ***/
-	
-	public static LocalOption makeRevisionOption(String revision) {
-		return new LocalOption("-r" + revision, null); //$NON-NLS-1$
-	}
-	public static final LocalOption RCS_FILE_NAMES_ONLY = new LocalOption("-R"); //$NON-NLS-1$
-	
-	public static final LocalOption NO_TAGS = new LocalOption("-N"); //$NON-NLS-1$
-	
-	protected Log() { }
-	protected String getRequestId() {
-		return "log"; //$NON-NLS-1$
-	}
-	
-	protected ICVSResource[] sendLocalResourceState(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, ICVSResource[] resources, IProgressMonitor monitor)
-		throws CVSException {			
-		
-		// Send all folders that are already managed to the server
-		boolean sendEmptyFolders = Command.findOption(localOptions, RCS_FILE_NAMES_ONLY.getOption()) != null;
-		new FileStructureVisitor(session, localOptions, sendEmptyFolders, false /* send modified contents */).visit(session, resources, monitor);
-		return resources;
-	}
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/MTHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/MTHandler.java
deleted file mode 100644
index 7bc1bc2..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/MTHandler.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-
-public class MTHandler extends ResponseHandler {
-
-	private String nextLine;
-	private boolean isLineAvailable;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.ResponseHandler#getInstance()
-	 */
-	ResponseHandler getInstance() {
-		return new MTHandler();
-	}
-
-	/**
-	 * @see ResponseHandler#getResponseID()
-	 */
-	public String getResponseID() {
-		return "MT"; //$NON-NLS-1$
-	}
-
-	/**
-	 * @see ResponseHandler#handle(Session, String, IProgressMonitor)
-	 */
-	public void handle(Session session, String argument, IProgressMonitor monitor)
-		throws CVSException {
-		
-		// If there was a line available from before, clear it
-		if (isLineAvailable()) {
-			startNextLine();
-		}
-		
-		if (argument.charAt(0) == '+') {
-			// Reset any previously accumulated text
-			startNextLine();
-		} else if (argument.charAt(0) == '-') {
-			// Mark the line as available in case there was no trailing newline
-			if (nextLine != null) {
-				isLineAvailable = true;
-			}
-		} else {
-			// Extract the tag and text from the line
-			String tag;
-			String text;
-			int spaceIndex = argument.indexOf(' ');
-			if (spaceIndex == -1) {
-				tag = argument;
-				text = null;
-			} else {
-				tag = argument.substring(0, spaceIndex);
-				text = argument.substring(spaceIndex + 1);
-			}
-			
-			// Accumulate the line and indicate if its available for use
-			if (tag.equals("newline")) { //$NON-NLS-1$
-				isLineAvailable = true;
-			} else if (text != null) {
-				// Reset the previous line if required
-				if (isLineAvailable()) {
-					startNextLine();
-				}
-				// Accumulate the line
-				if (nextLine == null) {
-					nextLine = text;
-				} else {
-					// The text from the sevrver contains spaces when appropriate so just append
-					nextLine = nextLine + text;
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Check if there is a line available. If there is, it should be fetched with
-	 * getLine() immediatly before the next MT response is processed.
-	 */
-	public boolean isLineAvailable() {
-		return isLineAvailable;
-	}
-	
-	/**
-	 * Get the available line. This purges the line from the handler
-	 */
-	public String getLine() {
-		return nextLine;
-	}
-	
-	private void startNextLine() {
-		isLineAvailable = false;
-		nextLine = null;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ModTimeHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ModTimeHandler.java
deleted file mode 100644
index 8a9f75c..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ModTimeHandler.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import java.text.ParseException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.util.CVSDateFormatter;
-
-/**
- * Handles a "Mod-time" response from the CVS server.
- * <p>
- * Suppose as a result of performing a command the CVS server responds
- * as follows:<br>
- * <pre>
- *   [...]
- *   Mod-time 18 Oct 2001 20:21:13 -0330\n
- *   [...]
- * </pre>
- * Then we parse and remember the date for use in subsequent
- * file transfer responses such as Updated.
- * </p>
- */
-class ModTimeHandler extends ResponseHandler {
-	public String getResponseID() {
-		return "Mod-time"; //$NON-NLS-1$
-	}
-
-	public void handle(Session session, String timeStamp,
-		IProgressMonitor monitor) throws CVSException {
-		try {
-			session.setModTime(CVSDateFormatter.serverStampToDate(timeStamp));
-		} catch (ParseException e) {
-			IStatus status = new CVSStatus(IStatus.ERROR,CVSStatus.ERROR,NLS.bind(CVSMessages.ModTimeHandler_invalidFormat, new String[] { timeStamp }), e, session.getLocalRoot());
-			throw new CVSException(status); 
-		}
-	}
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ModifiedFileSender.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ModifiedFileSender.java
deleted file mode 100644
index 25d5525..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ModifiedFileSender.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
- 
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSFile;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-
-/**
- * Visit the CVS file structure, only sending files if they are modified.
- */
-class ModifiedFileSender extends FileStructureVisitor {
-
-	private final Set modifiedFiles;
-	
-	public ModifiedFileSender(Session session, LocalOption[] localOptions) {
-		super(session, localOptions, false, true);
-		modifiedFiles = new HashSet();
-	}
-	
-	/**
-	 * Override sendFile to only send modified files
-	 */
-	protected void sendFile(ICVSFile mFile) throws CVSException {
-		// Only send the file if its modified
-		if (mFile.isManaged() && mFile.isModified(null)) {
-			super.sendFile(mFile);
-			modifiedFiles.add(mFile);
-		}
-	}
-	
-	protected String getSendFileMessage() {
-		return null;
-	}
-	
-	/**
-	 * Return all the files that have been send to the server
-	 */
-	public ICVSFile[] getModifiedFiles() {
-		return (ICVSFile[]) modifiedFiles.toArray(new ICVSFile[modifiedFiles.size()]);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ModuleExpansionHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ModuleExpansionHandler.java
deleted file mode 100644
index f9ac317..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ModuleExpansionHandler.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
- 
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-
-public class ModuleExpansionHandler extends ResponseHandler {
-
-	/*
-	 * @see ResponseHandler#getResponseID()
-	 */
-	public String getResponseID() {
-		return "Module-expansion";//$NON-NLS-1$
-	}
-
-	/*
-	 * @see ResponseHandler#handle(Session, String, IProgressMonitor)
-	 */
-	public void handle(Session session, String expansion, IProgressMonitor monitor)
-		throws CVSException {
-			
-		session.addModuleExpansion(expansion);
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NOOPCommand.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NOOPCommand.java
deleted file mode 100644
index 331e760..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NOOPCommand.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSResource;
-
-/**
- * Noop command that sends edit notifications to the server.
- */
-public class NOOPCommand extends Command {
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.client.Command#sendLocalResourceState(Session, GlobalOption[], LocalOption[], ICVSResource[], IProgressMonitor)
-	 */
-	protected ICVSResource[] sendLocalResourceState(
-		Session session,
-		GlobalOption[] globalOptions,
-		LocalOption[] localOptions,
-		ICVSResource[] resources,
-		IProgressMonitor monitor)
-		throws CVSException {
-		
-		// The noop visitor will send any pending notifications
-		new NOOPVisitor(session, localOptions).visit(session, resources, monitor);
-		return resources;
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.client.Request#getRequestId()
-	 */
-	protected String getRequestId() {
-		return "noop"; //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.client.Command#sendArguments(Session, String[])
-	 */
-	protected void sendArguments(Session session, String[] arguments)throws CVSException {
-		// don't send any arguments
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.Command#isWorkspaceModification()
-	 */
-	protected boolean isWorkspaceModification() {
-		return false;
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NOOPVisitor.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NOOPVisitor.java
deleted file mode 100644
index c2c5a8c..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NOOPVisitor.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSFile;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-
-/**
- * Send the contents of the CVS/Notify files to the server
- */
-public class NOOPVisitor extends AbstractStructureVisitor {
-
-	public NOOPVisitor(Session session, LocalOption[] localOptions) {
-		// Only send non-empty folders
-		super(session, localOptions, false, false);
-	}
-	
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSResourceVisitor#visitFile(ICVSFile)
-	 */
-	public void visitFile(ICVSFile file) throws CVSException {
-		sendPendingNotification(file);
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSResourceVisitor#visitFolder(ICVSFolder)
-	 */
-	public void visitFolder(ICVSFolder folder) throws CVSException {
-		if (isRecurse() && folder.isCVSFolder()) {
-			folder.acceptChildren(this);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NewEntryHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NewEntryHandler.java
deleted file mode 100644
index 123b830..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NewEntryHandler.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.syncinfo.MutableResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-
-public class NewEntryHandler extends ResponseHandler {
-
-	/*
-	 * @see ResponseHandler#getResponseID()
-	 */
-	public String getResponseID() {
-		return "New-entry"; //$NON-NLS-1$
-	}
-
-	/*
-	 * @see ResponseHandler#handle(Session, String, IProgressMonitor)
-	 */
-	public void handle(Session session, String localDir, IProgressMonitor monitor)
-		throws CVSException {
-			
-		// read additional data for the response
-		String repositoryFile = session.readLine();
-		String entryLine = session.readLine();
-		
-		// Clear the recorded mod-time
-		session.setModTime(null);
-		
-		// Get the local file		
-		String fileName = repositoryFile.substring(repositoryFile.lastIndexOf("/") + 1); //$NON-NLS-1$
-		ICVSFolder mParent = session.getLocalRoot().getFolder(localDir);
-		ICVSFile mFile = mParent.getFile(fileName);
-
-		ResourceSyncInfo fileInfo = mFile.getSyncInfo();
-		MutableResourceSyncInfo newInfo = fileInfo.cloneMutable();
-		newInfo.setEntryLine(entryLine);
-		// Set the tag to the previous tag if the new tag is the base tag (see bug 106876)
-		CVSTag newTag = newInfo.getTag();
-		if(newTag != null && newTag.isBaseTag()) { 
-			newInfo.setTag(fileInfo.getTag());
-		}
-		mFile.setSyncInfo(newInfo, ICVSFile.UNKNOWN);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NotifiedHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NotifiedHandler.java
deleted file mode 100644
index 86f4246..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/NotifiedHandler.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSFile;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-
-/**
- * @author Administrator
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class NotifiedHandler extends ResponseHandler {
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.client.ResponseHandler#getResponseID()
-	 */
-	public String getResponseID() {
-		return "Notified"; //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.client.ResponseHandler#handle(Session, String, IProgressMonitor)
-	 */
-	public void handle(
-		Session session,
-		String localDir,
-		IProgressMonitor monitor)
-		throws CVSException {
-			
-		// read additional data for the response 
-		// (which is the full repository path of the file)
-		String repositoryFilePath = session.readLine();
-
-		// clear the notify info for the file
-		ICVSFolder folder = session.getLocalRoot().getFolder(localDir);
-		ICVSFile file = folder.getFile(new Path(null, repositoryFilePath).lastSegment());
-		file.notificationCompleted();
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/PruneFolderVisitor.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/PruneFolderVisitor.java
deleted file mode 100644
index 14dde59..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/PruneFolderVisitor.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSFile;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSResource;
-import org.eclipse.team.internal.ccvs.core.ICVSResourceVisitor;
-
-/**
- * Goes recursivly through the folders checks if they are empyty
- * and deletes them. Of course it is starting at the leaves of the
- * recusion (the folders that do not have subfolders).
- */
-public class PruneFolderVisitor implements ICVSResourceVisitor {
-	
-	private ICVSFolder localRoot;
-	
-	public PruneFolderVisitor() {
-	}
-	
-	/**
-	 * This method is used to visit a set of ICVSResources.
-	 */
-	public void visit(Session s, ICVSResource[] resources) throws CVSException {
-		visit(s.getLocalRoot(), resources);
-	}
-	
-	/**
-	 * This method is used to visit a set of ICVSResources.
-	 */
-	public void visit(ICVSFolder root, ICVSResource[] resources) throws CVSException {
-		localRoot = root;
-		
-		// Visit the resources
-		Set prunableParents = new HashSet();
-		for (int i = 0; i < resources.length; i++) {
-			ICVSResource cvsResource = resources[i];
-			// prune the resource and it's children when appropriate
-			cvsResource.accept(this);
-			// if the resource doesn't exists, attempt to prune it's parent
-			if (!cvsResource.exists())
-				prunableParents.add(cvsResource.getParent());
-		}
-		for (Iterator iter = prunableParents.iterator(); iter.hasNext();) {
-			ICVSFolder cvsFolder = (ICVSFolder)iter.next();
-			pruneFolderAndParentsIfAppropriate(cvsFolder);
-		}
-	}
-	/**
-	 * @see ICVSResourceVisitor#visitFile(IManagedFile)
-	 */
-	public void visitFile(ICVSFile file) throws CVSException {
-		// nothing to do here
-	}
-
-	/**
-	 * @see ICVSResourceVisitor#visitFolder(ICVSFolder)
-	 */
-	public void visitFolder(ICVSFolder folder) throws CVSException {
-		// First prune any empty children
-		folder.acceptChildren(this);
-		// Then prune the folder if it is empty
-		pruneFolderIfAppropriate(folder);
-	}
-	
-	private void pruneFolderIfAppropriate(ICVSFolder folder) throws CVSException {
-		// Only prune managed folders that are not the root of the operation
-		if (folder.exists() && folder.isManaged() 
-			&& ! folder.equals(getLocalRoot())
-			&& folder.members(ICVSFolder.ALL_EXISTING_MEMBERS).length == 0) {
-			
-			// Delete the folder but keep a phantom for local folders
-			folder.delete();
-		}
-	}
-	
-	private ICVSFolder getLocalRoot() {
-		return localRoot;
-	}
-
-	/**
-	 * Attempt to prune the given folder. If the folder is pruned, attempt to prune it's parent.
-	 */
-	private void pruneFolderAndParentsIfAppropriate(ICVSFolder folder) throws CVSException {
-		pruneFolderIfAppropriate(folder);
-		if (!folder.exists()) {
-			ICVSFolder parent = folder.getParent();
-			pruneFolderAndParentsIfAppropriate(parent);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RDiff.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RDiff.java
deleted file mode 100644
index b1f5f1e..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RDiff.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import org.eclipse.team.internal.ccvs.core.CVSTag;
-
-public class RDiff extends RemoteCommand {
-
-	/*** Local options: specific to rdiff ***/
-	public static final LocalOption SUMMARY = new LocalOption("-s", null); //$NON-NLS-1$
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.Request#getRequestId()
-	 */
-	protected String getRequestId() {
-		return "rdiff"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Makes a -r or -D option for a tag.
-	 * Valid for: checkout export history rdiff update
-	 */
-	public static LocalOption makeTagOption(CVSTag tag) {
-		if (tag == null) tag = CVSTag.DEFAULT;
-		int type = tag.getType();
-		switch (type) {
-			case CVSTag.BRANCH:
-			case CVSTag.VERSION:
-			case CVSTag.HEAD:
-				return new LocalOption("-r", tag.getName()); //$NON-NLS-1$
-			case CVSTag.DATE:
-				return new LocalOption("-D", tag.getName()); //$NON-NLS-1$
-			default:
-				// Unknow tag type!!!
-				throw new IllegalArgumentException();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RLog.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RLog.java
deleted file mode 100644
index 12b9220..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RLog.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import java.util.Date;
-
-import org.eclipse.team.internal.ccvs.core.CVSTag;
-
-/**
- * The "cvs rlog..." command
- */
-public class RLog extends RemoteCommand {
-	
-	/*** Local options: specific to rlog ***/
-	public static final LocalOption NO_TAGS = new LocalOption("-N"); //$NON-NLS-1$ 
-	public static final LocalOption ONLY_INCLUDE_CHANGES = new LocalOption("-S"); //$NON-NLS-1$ 
-	public static final LocalOption REVISIONS_ON_DEFAULT_BRANCH = new LocalOption("-b"); //$NON-NLS-1$ 
-	public static final LocalOption LOCAL_DIRECTORY_ONLY = new LocalOption("-l"); //$NON-NLS-1$ 
-	/**
-	 * Makes a -r option for rlog. Here are the currently supported options:
-	 * 
-	 * tag1		tag2		result
-	 * ==== ==== =================================
-	 * date  	date		date<date (all revisions between date and later)
-	 * tag		tag		tag:tag (all revisions between tag and tag, must be on same branch)
- 	 * branch date 	>date (all revisions of date or later)
-	 * branch tag		tag: (all revisions from tag to the end of branchs tip)
-	 * 
-	 * Valid for: rlog
-	 */
-	public static LocalOption makeTagOption(CVSTag tag1, CVSTag tag2) {
-		int type1 = tag1.getType();
-		int type2 = tag2.getType();
-		
-		if(type1 == type2) {
-			switch (type1) {
-				case CVSTag.HEAD:
-				case CVSTag.BRANCH:
-					// A range of branches - all revisions on all the branches in that range.
-				case CVSTag.VERSION:
-					// Revisions from tag1 to tag2 (they must be on the same branch).
-					return new LocalOption("-r" + tag1.getName() + ":" + tag2.getName(), null); //$NON-NLS-1$ //$NON-NLS-2$
-				case CVSTag.DATE:
-					// Selects revisions created between DATE1 and DATE2. If DATE1 is after DATE2, use > instead; otherwise, no log messages are retrieved.
-					Date date1 = tag1.asDate();
-					Date date2 = tag2.asDate();
-					String operator = "<"; //$NON-NLS-1$
-					if(date1.compareTo(date2) > 0) {
-						operator = ">"; //$NON-NLS-1$
-					}
-					return new LocalOption("-d", tag1.getName() + operator + tag2.getName()); //$NON-NLS-1$
-				default:
-					// Unknow tag type!!!
-					throw new IllegalArgumentException();
-			}
-		}
-		
-		if((type1 == CVSTag.BRANCH || type1 == CVSTag.HEAD) && type2 == CVSTag.DATE) {
-			return new LocalOption("-d", ">" + tag2.getName()); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		
-		if((type1 == CVSTag.BRANCH || type1 == CVSTag.HEAD) && type2 == CVSTag.VERSION) {
-			return new LocalOption("-r" + tag2.getName() + ":", null); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		
-		// defaults
-		switch (type1) {
-			case CVSTag.HEAD:
-			case CVSTag.BRANCH:
-				// All revisions on this branch
-			case CVSTag.VERSION:
-				// revisions in this tag
-				return new LocalOption("-r" + tag1.getName(), null); //$NON-NLS-1$ 
-			case CVSTag.DATE:
-				// Revisions at this date tag
-				return new LocalOption("-d", tag1.getName()); //$NON-NLS-1$ 
-			default:
-				// Unknow tag type!!!
-				throw new IllegalArgumentException();
-		}
-	}
-	
-	/***
-	 * Experimental - Used for obtaining the latest revisions on HEAD or the specified branch. 
-	 * @param tag1
-	 * @return the option to use
-	 * 
-	 * Valid for rlog
-	 */
-	public static LocalOption getCurrentTag(CVSTag tag1) {
-		
-		int type = tag1.getType();
-		
-		switch (type){
-			case CVSTag.HEAD:
-			return new LocalOption("-r"); //$NON-NLS-1$
-		
-			case CVSTag.BRANCH:
-			return new LocalOption("-r" + tag1.getName() + "."); //$NON-NLS-1$ //$NON-NLS-2$
-		
-			case CVSTag.VERSION:
-			return new LocalOption("-r" + tag1.getName()); //$NON-NLS-1$
-			
-			case CVSTag.DATE:
-			return new LocalOption("-d", tag1.asDate().toString()); //$NON-NLS-1$
-			default:
-				// Unknow tag type!!!
-				throw new IllegalArgumentException();
-		}
-		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.Request#getRequestId()
-	 */
-	protected String getRequestId() {
-		return "rlog"; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RTag.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RTag.java
deleted file mode 100644
index 99ff4de..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RTag.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSStatus;
-import org.eclipse.team.internal.ccvs.core.CVSTag;
-import org.eclipse.team.internal.ccvs.core.ICVSRemoteResource;
-import org.eclipse.team.internal.ccvs.core.ICVSResource;
-import org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener;
-import org.eclipse.team.internal.ccvs.core.client.listeners.TagListener;
-
-public class RTag extends RemoteCommand {
-	/*** Local options: specific to tag ***/
-	public static final LocalOption CREATE_BRANCH = Tag.CREATE_BRANCH;
-	public static final LocalOption CLEAR_FROM_REMOVED = new LocalOption("-a", null); //$NON-NLS-1$	
-	public static final LocalOption FORCE_REASSIGNMENT = new LocalOption("-F", null); //$NON-NLS-1$
-	public static final LocalOption FORCE_BRANCH_REASSIGNMENT = new LocalOption("-B", null); //$NON-NLS-1$
-
-	/*** Default command output listener ***/
-	private static final ICommandOutputListener DEFAULT_OUTPUT_LISTENER = new TagListener();
-	
-	/**
-	 * Makes a -r or -D option for a tag.
-	 * Valid for: checkout export history rdiff update
-	 */
-	public static LocalOption makeTagOption(CVSTag tag) {
-		int type = tag.getType();
-		switch (type) {
-			case CVSTag.BRANCH:
-			case CVSTag.VERSION:
-			case CVSTag.HEAD:
-				return new LocalOption("-r", tag.getName()); //$NON-NLS-1$
-			case CVSTag.DATE:
-				return new LocalOption("-D", tag.getName()); //$NON-NLS-1$
-			default:
-				// Unknow tag type!!!
-				throw new IllegalArgumentException();
-		}
-	}
-	
-	protected String getRequestId() {
-		return "rtag"; //$NON-NLS-1$
-	}
-
-	protected ICVSResource[] computeWorkResources(Session session, LocalOption[] localOptions,
-		String[] arguments) throws CVSException {
-		if (arguments.length < 2) throw new IllegalArgumentException();
-		return super.computeWorkResources(session, localOptions, arguments);
-	}
-	
-	public IStatus execute(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, CVSTag sourceTag, CVSTag tag, String[] arguments,
-		IProgressMonitor monitor) throws CVSException {
-		
-		if(tag.getType() != CVSTag.VERSION && tag.getType() != CVSTag.BRANCH) {
-			throw new CVSException(new CVSStatus(IStatus.ERROR, CVSMessages.Tag_notVersionOrBranchError)); 
-		}
-		
-		// Add the source tag to the local options
-		List modifiedLocalOptions = new ArrayList(localOptions.length + 1);
-		if (sourceTag==null) sourceTag = CVSTag.DEFAULT;
-		modifiedLocalOptions.addAll(Arrays.asList(localOptions));
-		modifiedLocalOptions.add(makeTagOption(sourceTag));
-		
-		// Add the CREATE_BRANCH option for a branch tag
-		if (tag.getType() == CVSTag.BRANCH) {
-			if ( ! CREATE_BRANCH.isElementOf(localOptions)) {
-				modifiedLocalOptions.add(CREATE_BRANCH);
-			}
-		}
-		
-		// Add the tag name to the start of the arguments
-		String[] newArguments = new String[arguments.length + 1];
-		newArguments[0] = tag.getName();
-		System.arraycopy(arguments, 0, newArguments, 1, arguments.length);
-		
-		return execute(session, globalOptions, 
-			(LocalOption[]) modifiedLocalOptions.toArray(new LocalOption[modifiedLocalOptions.size()]), 
-			newArguments, null, monitor);
-	}
-	
-	public IStatus execute(Session session, GlobalOption[] globalOptions, LocalOption[] localOptions, 
-		CVSTag sourceTag, CVSTag tag, ICVSRemoteResource[] arguments, IProgressMonitor monitor) 
-		throws CVSException {
-		
-		String[] stringArguments = convertArgumentsForOpenSession(arguments, session);
-
-		return execute(session, globalOptions, localOptions, sourceTag, tag, stringArguments, monitor);
-	}
-	
-	protected ICommandOutputListener getDefaultCommandOutputListener() {
-		return DEFAULT_OUTPUT_LISTENER;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RemoteCommand.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RemoteCommand.java
deleted file mode 100644
index fbecc62..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RemoteCommand.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSResource;
-
-/**
- * This class acts as a super class for those CVS commands that do not send up the local file structure
- */
-public abstract class RemoteCommand extends Command {
-
-	protected ICVSResource[] computeWorkResources(Session session, LocalOption[] localOptions,
-		String[] arguments) throws CVSException {
-		return new ICVSResource[0];
-	}
-
-	protected ICVSResource[] sendLocalResourceState(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, ICVSResource[] resources, IProgressMonitor monitor)
-		throws CVSException {
-			
-		// do nothing
-		monitor.beginTask(null, 100);
-		monitor.done();
-		return resources;
-	}
-	
-	protected void sendLocalWorkingDirectory(Session session) throws CVSException {
-		// do nothing
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.Command#convertArgumentsForOpenSession(org.eclipse.team.internal.ccvs.core.ICVSResource[], org.eclipse.team.internal.ccvs.core.client.Session)
-	 */
-	protected String[] convertArgumentsForOpenSession(
-		ICVSResource[] arguments,
-		Session openSession)
-		throws CVSException {
-		
-			// Convert arguments
-			List stringArguments = new ArrayList(arguments.length);
-			for (int i = 0; i < arguments.length; i++) {
-			    ICVSResource resource = arguments[i];
-			    String remotePath;
-                if (isDefinedModule(resource)) {
-			        remotePath = resource.getName();
-			    } else {
-			        remotePath = resource.getRepositoryRelativePath();
-                    
-			    }
-                stringArguments.add(remotePath);
-			}
-			return (String[]) stringArguments.toArray(new String[stringArguments.size()]);
-	}
-
-    private boolean isDefinedModule(ICVSResource resource) {
-        return resource instanceof ICVSRemoteFolder && ((ICVSRemoteFolder)resource).isDefinedModule();
-    }
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Remove.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Remove.java
deleted file mode 100644
index a275fdf..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Remove.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSResource;
-
-public class Remove extends Command {
-	/*** Local options: specific to remove ***/
-
-	protected Remove() { }	
-	protected String getRequestId() {
-		return "remove"; //$NON-NLS-1$
-	}
-
-	protected ICVSResource[] sendLocalResourceState(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, ICVSResource[] resources, IProgressMonitor monitor)
-		throws CVSException {			
-		
-		// Send all modified files to the server
-		// XXX Does the command line client send all modified files?
-		new ModifiedFileSender(session, localOptions).visit(session, resources, monitor);
-		return resources;
-	}
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RemoveEntryHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RemoveEntryHandler.java
deleted file mode 100644
index 274a3d4..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RemoveEntryHandler.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-
-/**
- * Handles a "Remove-entry" response from the CVS server.
- * <p>
- * Suppose as a result of performing a command the CVS server responds
- * as follows:<br>
- * <pre>
- *   [...]
- *   Remove-entry ??? \n
- *   [...]
- * </pre>
- * Then 
- * </p>
- */
-
-/**
- * It removes the file from both the entries of the parent-folder. 
- * This happen, when the folder has allready been removed locally
- * what happens on a checkin that includes a removed file.
- */
-class RemoveEntryHandler extends ResponseHandler {
-	public String getResponseID() {
-		return "Remove-entry"; //$NON-NLS-1$
-	}
-
-	public void handle(Session session, String localDir,
-		IProgressMonitor monitor) throws CVSException {
-		// read additional data for the response
-		String repositoryFile = session.readLine();
-
-		// Get the local file		
-		String fileName = repositoryFile.substring(repositoryFile.lastIndexOf("/") + 1); //$NON-NLS-1$
-		ICVSFolder mParent = session.getLocalRoot().getFolder(localDir);
-		ICVSFile mFile = mParent.getFile(fileName);
-		if (mFile.exists()) {
-			IStatus status = new CVSStatus(IStatus.ERROR,CVSStatus.ERROR, NLS.bind(CVSMessages.RemoveEntryHandler_2, new String[] { mFile.getRepositoryRelativePath() }),session.getLocalRoot());
-			CVSProviderPlugin.log(status); 
-		} else {
-			mFile.unmanage(null);
-		}
-	}
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RemovedHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RemovedHandler.java
deleted file mode 100644
index 237eb09..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/RemovedHandler.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-
-/**
- * Handles a "Removed" response from the CVS server.
- * <p>
- * Suppose as a result of performing a command the CVS server responds
- * as follows:<br>
- * <pre>
- *   [...]
- *   Removed ??? \n
- *   [...]
- * </pre>
- * Then 
- * </p>
- */
-
-/**
- * It removes the file from both the entries of the parent-folder
- * and from the local filesystem.
- */
-class RemovedHandler extends ResponseHandler {
-	public String getResponseID() {
-		return "Removed"; //$NON-NLS-1$
-	}
-
-	public void handle(Session session, String localDir, IProgressMonitor monitor) throws CVSException {
-		
-		// read additional data for the response
-		String repositoryFile = session.readLine();
-
-		// Get the local file		
-		String fileName = repositoryFile.substring(repositoryFile.lastIndexOf("/") + 1); //$NON-NLS-1$
-		ICVSFolder mParent = session.getLocalRoot().getFolder(localDir);
-		ICVSFile mFile = mParent.getFile(fileName);
-		
-		if ( ! mFile.isManaged()) {
-			IStatus status = new CVSStatus(IStatus.ERROR,CVSStatus.ERROR,NLS.bind(CVSMessages.RemovedHandler_invalid, new String[] { new Path(null, localDir).append(fileName).toString() }),session.getLocalRoot());
-			throw new CVSException(status); 
-		}
-		
-		// delete then unmanage the file
-		try {
-            if (mFile.isReadOnly()) mFile.setReadOnly(false);
-	        mFile.delete();
-	        mFile.unmanage(null);
-        } catch (CVSException e) {
-        	IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.RESPONSE_HANDLING_FAILURE, NLS.bind(CVSMessages.RemovedHandler_0, new String[] { getPath(mFile) }), e, session.getLocalRoot());
-            session.handleResponseError(status); 
-        }
-	}
-
-    private String getPath(ICVSFile file) {
-        IResource resource = file.getIResource();
-        if (resource != null) {
-            return resource.getFullPath().toString();
-        }
-        try {
-            return file.getRepositoryRelativePath();
-        } catch (CVSException e1) {
-            return file.getName();
-        }
-    }
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Replace.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Replace.java
deleted file mode 100644
index 04f039f..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Replace.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Matt McCutchen <hashproduct+eclipse@gmail.com> - Bug 179174 CVS client sets timestamps back when replacing
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import java.util.Date;
-import java.util.Set;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSFile;
-import org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener;
-
-/**
- * A specialized update that will ignore unmanaged local content like
- * CheckoutWithOverwrite and avoid setting back the timestamps of files
- * recreated after being deleted by PrepareForReplaceVisitor.
- */
-public class Replace extends Update {
-
-	private Set/*<ICVSFile>*/ prepDeletedFiles = null;
-
-	public Replace() {}
-	public Replace(Set/*<ICVSFile>*/ prepDeletedFiles) {
-		this.prepDeletedFiles = prepDeletedFiles;
-	}
-	
-	/**
-	 * This class overrides the "Created" handler but uses the "Updated"
-	 * behavior which will overwrite existing files.
-	 */
-	public class CreatedResponseHandler extends UpdatedHandler {
-		public CreatedResponseHandler() {
-			super(UpdatedHandler.HANDLE_UPDATED);
-		}
-		public String getResponseID() {
-			return "Created"; //$NON-NLS-1$
-		}
-		protected void receiveTargetFile(Session session, ICVSFile file, String entryLine, Date modTime,
-			boolean binary, boolean readOnly, boolean executable, IProgressMonitor monitor) throws CVSException {
-			// Discard any timestamp for files being recreated after being
-			// deleted by PrepareForReplaceVisitor.
-			if (prepDeletedFiles != null && prepDeletedFiles.contains(file))
-				modTime = null;
-			super.receiveTargetFile(session, file, entryLine, modTime, binary, readOnly, executable, monitor);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.Command#doExecute(org.eclipse.team.internal.ccvs.core.client.Session, org.eclipse.team.internal.ccvs.core.client.Command.GlobalOption[], org.eclipse.team.internal.ccvs.core.client.Command.LocalOption[], java.lang.String[], org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IStatus doExecute(
-			Session session,
-			GlobalOption[] globalOptions,
-			LocalOption[] localOptions,
-			String[] arguments,
-			ICommandOutputListener listener,
-			IProgressMonitor monitor)
-	throws CVSException {
-		
-		ResponseHandler newCreated = new CreatedResponseHandler();
-		ResponseHandler oldCreated = session.getResponseHandler(newCreated.getResponseID());
-		session.registerResponseHandler(newCreated);
-		try {
-			return super.doExecute(
-					session,
-					globalOptions,
-					localOptions,
-					arguments,
-					listener,
-					monitor);
-		} finally {
-			session.registerResponseHandler(oldCreated);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Request.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Request.java
deleted file mode 100644
index 9278f4b..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Request.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener;
-import org.eclipse.team.internal.ccvs.core.connection.CVSServerException;
-
-/**
- * Abstract base class for requests that are to be sent to the server.
- */
-public abstract class Request {
-	public static final ExpandModules EXPAND_MODULES = new ExpandModules();
-	public static final ValidRequests VALID_REQUESTS = new ValidRequests();
-
-	/*** Response handler map ***/
-	private static final Map responseHandlers = new HashMap();
-	
-	private static void initializeHandlerCache() {
-		synchronized(responseHandlers) {
-			registerResponseHandler(new CheckedInHandler());
-			registerResponseHandler(new CopyHandler());
-			registerResponseHandler(new ModTimeHandler());
-			registerResponseHandler(new NewEntryHandler());
-			registerResponseHandler(new RemovedHandler());
-			registerResponseHandler(new RemoveEntryHandler());
-			registerResponseHandler(new StaticHandler(true));
-			registerResponseHandler(new StaticHandler(false));
-			registerResponseHandler(new StickyHandler(true));
-			registerResponseHandler(new StickyHandler(false));
-			registerResponseHandler(new UpdatedHandler(UpdatedHandler.HANDLE_UPDATED));
-			registerResponseHandler(new UpdatedHandler(UpdatedHandler.HANDLE_UPDATE_EXISTING));
-			registerResponseHandler(new UpdatedHandler(UpdatedHandler.HANDLE_CREATED));
-			registerResponseHandler(new UpdatedHandler(UpdatedHandler.HANDLE_MERGED));
-			registerResponseHandler(new ValidRequestsHandler());
-			registerResponseHandler(new ModuleExpansionHandler());
-			registerResponseHandler(new MTHandler());
-			registerResponseHandler(new NotifiedHandler());
-			registerResponseHandler(new TemplateHandler());
-		}
-	}
-	private static void registerResponseHandler(ResponseHandler handler) {
-		synchronized(responseHandlers) {
-			responseHandlers.put(handler.getResponseID(), handler);
-		}
-	}
-	
-	/**
-	 * This method is invoked by Session to get a mutable copy of the
-	 * global list of acceptable response handlers.
-	 * 
-	 * @return a map of reponse handlers
-	 */
-	protected static Map getReponseHandlerMap() {
-		synchronized(responseHandlers) {
-			if (responseHandlers.isEmpty()) {
-				initializeHandlerCache();
-			}
-			Map copy = new HashMap();
-			for (Iterator iter = responseHandlers.values().iterator(); iter.hasNext();) {
-				ResponseHandler handler = (ResponseHandler) iter.next();
-				copy.put(handler.getResponseID(), handler.getInstance());
-				
-			}
-			return copy;
-		}
-	}
-	/**
-	 * Prevents client code from instantiating us.
-	 */
-	protected Request() { }
-
-	/**
-	 * Returns the string used to invoke this request on the server.
-	 * [template method]
-	 * 
-	 * @return the request identifier string
-	 */
-	protected abstract String getRequestId();
-
-	/**
-	 * Executes a request and processes the responses.
-	 * 
-	 * @param session the open CVS session
-	 * @param listener the command output listener, or null to discard all messages
-	 * @param monitor the progress monitor
-	 * @return a status code indicating success or failure of the operation
-	 */
-	protected IStatus executeRequest(Session session, ICommandOutputListener listener,
-		IProgressMonitor monitor) throws CVSException {
-		// send request
-		session.sendRequest(getRequestId());
-
-		// This number can be tweaked if the monitor is judged to move too
-		// quickly or too slowly. After some experimentation this is a good
-		// number for both large projects (it doesn't move so quickly as to
-		// give a false sense of speed) and smaller projects (it actually does
-		// move some rather than remaining still and then jumping to 100).
-		final int TOTAL_WORK = 300;
-		monitor.beginTask(CVSMessages.Command_receivingResponses, TOTAL_WORK); 
-        monitor.subTask(CVSMessages.Command_receivingResponses); 
-		int halfWay = TOTAL_WORK / 2;
-		int currentIncrement = 4;
-		int nextProgress = currentIncrement;
-		int worked = 0;
-		
-		// If the session is connected to a CVSNT server (1.11.1.1), we'll need to do some special handling for
-		// some errors. Unfortunately, CVSNT 1.11.1.1 will drop the connection after so some functionality is
-		// still effected
-		boolean isCVSNT = session.isCVSNT();
-
-		session.clearErrors();
-		for (;;) {
-			// update monitor work amount
-			if (--nextProgress <= 0) {
-				monitor.worked(1);
-				worked++;
-				if (worked >= halfWay) {
-					// we have passed the current halfway point, so double the
-					// increment and reset the halfway point.
-					currentIncrement *= 2;
-					halfWay += (TOTAL_WORK - halfWay) / 2;				
-				}
-				// reset the progress counter to another full increment
-				nextProgress = currentIncrement;
-			}			
-			Policy.checkCanceled(monitor);
-
-			// retrieve a response line
-			String response = session.readLine();
-			int spacePos = response.indexOf(' ');
-			String argument;
-			if (spacePos != -1) {
-				argument = response.substring(spacePos + 1);
-				response = response.substring(0, spacePos);
-			} else argument = "";  //$NON-NLS-1$
-
-			// handle completion responses
-			if (response.equals("ok")) {  //$NON-NLS-1$
-				break;
-			} else if (response.equals("error") || (isCVSNT && response.equals(""))) {  //$NON-NLS-1$ //$NON-NLS-2$
-				argument = argument.trim();
-				boolean serious = false;
-				if (argument.length() == 0) {
-					argument = getServerErrorMessage();
-				} else {
-					argument = NLS.bind(CVSMessages.Command_seriousServerError, new String[] { argument }); 
-					if (!session.hasErrors()) {
-						session.addError(new CVSStatus(IStatus.ERROR, CVSStatus.SERVER_ERROR, argument,session.getLocalRoot()));
-					}
-					serious = true;
-				}
-					
-				if (!session.hasErrors()) {
-				    session.addError(new CVSStatus(IStatus.ERROR, CVSStatus.SERVER_ERROR, CVSMessages.Command_noMoreInfoAvailable,session.getLocalRoot()));
-				}
-				IStatus status = new MultiStatus(CVSProviderPlugin.ID, CVSStatus.SERVER_ERROR, 
-				        session.getErrors(),
-					argument, null);
-				if (serious) {
-					throw new CVSServerException(status);
-				} else {
-					// look for particularly bad errors in the accumulated statii
-				    IStatus[] errors = session.getErrors();
-				    for (int i = 0; i < errors.length; i++) {
-                        IStatus s = errors[i];
-						if (s.getCode() == CVSStatus.PROTOCOL_ERROR) {
-							throw new CVSServerException(status);
-						}
-					}
-				}
-				return status;
-			// handle message responses
-			} else if (response.equals("MT")) {  //$NON-NLS-1$
-				// Handle the MT response
-				MTHandler handler = (MTHandler) session.getResponseHandler(response);
-				if (handler != null) {
-					handler.handle(session, argument, monitor);
-				} else {
-					throw new CVSException(new org.eclipse.core.runtime.Status(IStatus.ERROR,
-						CVSProviderPlugin.ID, TeamException.IO_FAILED,
-						NLS.bind(CVSMessages.Command_unsupportedResponse, new String[] { response, argument }), null)); 
-				}
-				// If a line is available, pass it on to the message listener 
-				// and console as if it were an M response
-				if (handler.isLineAvailable()) {
-					String line = handler.getLine();
-					IStatus status = listener.messageLine(line, session.getCVSRepositoryLocation(), session.getLocalRoot(), monitor);
-					session.addError(status); // The session ignores OK status
-					ConsoleListeners.getInstance().messageLineReceived(session, line, status);
-
-				}
-			} else if (response.equals("M")) {  //$NON-NLS-1$
-				IStatus status = listener.messageLine(argument, session.getCVSRepositoryLocation(), session.getLocalRoot(), monitor);
-				session.addError(status); // The session ignores OK status
-				ConsoleListeners.getInstance().messageLineReceived(session, argument, status);
-			} else if (response.equals("E")) { //$NON-NLS-1$
-				IStatus status = listener.errorLine(argument, session.getCVSRepositoryLocation(), session.getLocalRoot(), monitor);
-				session.addError(status); // The session ignores OK status
-				ConsoleListeners.getInstance().errorLineReceived(session, argument, status);
-			// handle other responses
-			} else {
-				ResponseHandler handler = session.getResponseHandler(response);
-				if (handler != null) {
-					handler.handle(session, argument, monitor);
-				} else {
-					throw new CVSException(new org.eclipse.core.runtime.Status(IStatus.ERROR,
-						CVSProviderPlugin.ID, TeamException.IO_FAILED,
-						NLS.bind(CVSMessages.Command_unsupportedResponse, new String[] { response, argument }), null)); 
-				}
-			}
-		}
-		if (!session.hasErrors()) {
-			return ICommandOutputListener.OK;
-		} else {
-			return new MultiStatus(CVSProviderPlugin.ID, IStatus.INFO,
-				session.getErrors(),
-				NLS.bind(CVSMessages.Command_warnings, new String[] { getDisplayText() }), null);  //  
-		}
-	}
-	
-	/*
-	 * Provide the message that is used for the status that is generated when the server
-	 * reports as error.
-	 */
-	protected String getServerErrorMessage() {
-		return NLS.bind(CVSMessages.Command_serverError, new String[] { getDisplayText() }); //  
-	}
-    protected String getDisplayText() {
-        return getRequestId();
-    }
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ResponseHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ResponseHandler.java
deleted file mode 100644
index 176d290..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ResponseHandler.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-/**
- * Handles server responses that arise as a result of issuing a request
- * (usually a command) to a CVS server.  The processing of each such
- * response is deferred to subclasses.
- */
-public abstract class ResponseHandler {
-	/**
-	 * Returns the text string of the server response handled by this object.
-	 * @return the id
-	 */
-	public abstract String getResponseID();
-
-	/**
-	 * Handles a server response.
-	 * <p>
-	 * Suppose as a result of performing a command the CVS server responds
-	 * as follows:<br>
-	 * <pre>
-	 *   [...]
-	 *   Clear-sticky myDirectory \n
-	 *   /u/cvsroot/myDirectory \n
-	 *   [...]
-	 * </pre>
-	 * Then the <code>handle</code> method of the <code>ResponseHandler</code>
-	 * for <em>Clear-sticky</em> will be invoked with <code>argument</code>
-	 * set to <em>"myDirectory"</em>.  It must then read the remaining
-	 * response data from the connection (<em>"/u/cvsroot/myDirectory"</em>
-	 * including the newline) and take any necessary action.
-	 * </p><p>
-	 * Note:  The type and quantity of additional data that must be read
-	 * from the connection varies on a per-response basis.
-	 * </p>
-	 * @param session the Session used for CVS communication
-	 * @param argument the argument supplied with the response
-	 * @param monitor the progress monitor for the current CVS command
-	 */
-	public abstract void handle(Session session, String argument,
-		IProgressMonitor monitor) throws CVSException;
-	
-	/**
-	 * Creates a new CVS folder.
-	 * @param localDir the local path of the folder relative to root
-	 * @param repositoryDir the remote path of the folder relative to the repository
-	 * @return the new folder
-	 */
-	protected static ICVSFolder createFolder(
-			Session session,
-			String localDir, 
-			String repositoryDir) throws CVSException {
-		
-		ICVSFolder folder = session.getLocalRoot().getFolder(localDir);
-		if (!folder.exists() 
-				&&  (!CVSProviderPlugin.getPlugin().getPruneEmptyDirectories() 
-						|| !folder.getParent().isCVSFolder())) {
-			// Only create the folder if pruning is disabled or the
-			// folder's parent is not a CVS folder (which occurs on checkout).
-			// When pruning is enabled, the folder will be lazily created
-			// when it contains a file (see getExistingFolder)
-			folder.mkdir();
-		}
-		if (! folder.isCVSFolder()) {
-			String repositoryRoot = session.getRepositoryRoot();
-            String relativePath;
-            if (repositoryDir.startsWith(repositoryRoot)) {
-                // The repositoryDir is an absolute path
-                relativePath = Util.getRelativePath(repositoryRoot, repositoryDir);
-            } else {
-                // The repositoryDir is already a relative path
-                relativePath = repositoryDir;
-            }
-            IResource resource = folder.getIResource();
-            if (resource != null) {
-            	IProject project = resource.getProject();
-				if (project != null && project.isAccessible() && !CVSTeamProvider.isSharedWithCVS(project)) {
-	            	// The project isn't shared but we are about to perform an operation on it.
-	            	// we need to flag the project as shared so that the sync info management works
-	            	CVSTeamProvider.markAsTempShare(project);
-            	}
-            }
-            try{
-            folder.setFolderSyncInfo(new FolderSyncInfo(
-				relativePath,
-				session.getCVSRepositoryLocation().getLocation(false),
-				null, false));
-            } catch (CVSException ex){
-            	IStatus status = ex.getStatus();
-            	if (status != null){
-            		if (status.getCode() == IResourceStatus.INVALID_VALUE){
-            			//if it's an invalid value, just ignore the exception (see Bug# 152053),
-            			//else throw it again
-            		} else {
-            			throw ex;
-            		}
-            	}
-            }
-		}
-		return folder;
-	}
-
-	protected ICVSFolder getExistingFolder(Session session, String localDir) throws CVSException {
-			ICVSFolder mParent = session.getLocalRoot().getFolder(localDir);
-			if (! mParent.exists()) {
-				// First, check if the parent is a phantom
-				IContainer container = (IContainer)mParent.getIResource();
-				if (container != null) {
-					try {
-                        // Create all the parents as need
-                        recreatePhantomFolders(mParent);
-                    } catch (CVSException e) {
-                        if (!handleInvalidResourceName(session, mParent, e)) {
-                            throw e;
-                        }
-                    }
-				}
-			}
-			return mParent;
-		}
-
-	/**
-	 * Method recreatePhantomFolders.
-	 * @param mParent
-	 */
-	private void recreatePhantomFolders(ICVSFolder folder) throws CVSException {
-		ICVSFolder parent = folder.getParent();
-		if (!parent.exists()) {
-			recreatePhantomFolders(parent);
-		}
-		folder.mkdir();
-	}
-
-	/**
-	 * Return as instance that can be used by an open session. Subclasses that contain
-	 * session related state must override this message to return a copy of themselves.
-	 */
-	/* package */ ResponseHandler getInstance() {
-		return this;
-	}
-	
-    protected boolean handleInvalidResourceName(Session session, ICVSResource resource, CVSException e) {
-        int code = e.getStatus().getCode();
-        if (code == IResourceStatus.INVALID_VALUE
-                || code == IResourceStatus.INVALID_RESOURCE_NAME
-                || code == IResourceStatus.RESOURCE_NOT_FOUND
-                || code == IResourceStatus.RESOURCE_EXISTS
-                || code == IResourceStatus.RESOURCE_WRONG_TYPE
-                || code == IResourceStatus.CASE_VARIANT_EXISTS
-                || code == IResourceStatus.PATH_OCCUPIED) {
-            
-            try {
-                IResource local = resource.getIResource();
-                String path;
-                if (local == null) {
-                    path = resource.getRepositoryRelativePath();
-                } else {
-                    path = local.getFullPath().toString();
-                }
-                IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.INVALID_LOCAL_RESOURCE_PATH, NLS.bind(CVSMessages.ResponseHandler_0, new String[] { path, e.getMessage() }), e, session.getLocalRoot()); 
-                session.handleResponseError(status);
-            } catch (CVSException e1) {
-                CVSProviderPlugin.log(e1);
-            }
-            return true;
-        }
-        return false;
-    }
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Session.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Session.java
deleted file mode 100644
index 9699695..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Session.java
+++ /dev/null
@@ -1,1038 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Red Hat Incorporated - is/setExecutable() code
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import java.util.zip.GZIPInputStream;
-import java.util.zip.GZIPOutputStream;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Command.GlobalOption;
-import org.eclipse.team.internal.ccvs.core.client.Command.QuietOption;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.connection.Connection;
-import org.eclipse.team.internal.ccvs.core.syncinfo.NotifyInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-import org.eclipse.team.internal.core.streams.*;
-
-/**
- * Maintains CVS communication state for the lifetime of a connection
- * to a remote repository.  This class covers the initialization, use,
- * and eventual shutdown of a dialogue between a CVS client and a
- * remote server.  This dialogue may be monitored through the use of
- * a console.
- * 
- * Initially the Session is in a CLOSED state during which communication
- * with the server cannot take place.  Once OPENED, any number of commands
- * may be issued serially to the server, one at a time.  When finished, the
- * Session MUST be CLOSED once again to prevent eventual local and/or
- * remote resource exhaustion.  The session can either be discarded, or
- * re-opened for use with the same server though no state is persisted from
- * previous connections except for console attributes.
- * 
- * CVSExceptions are thrown only as a result of unrecoverable errors.  Once
- * this happens, commands must no longer be issued to the server.  If the
- * Session is in the OPEN state, it is still the responsibility of the
- * caller to CLOSE it before moving on.
- */
-public class Session {
-	public static final String CURRENT_LOCAL_FOLDER = "."; //$NON-NLS-1$
-	public static final String CURRENT_REMOTE_FOLDER = ""; //$NON-NLS-1$
-	public static final String SERVER_SEPARATOR = "/"; //$NON-NLS-1$
-
-	// default file transfer buffer size (in bytes)
-	private static final int TRANSFER_BUFFER_SIZE = 8192;
-	// update progress bar in increments of this size (in bytes)
-	//   no incremental progress shown for files smaller than this size
-	private static final int TRANSFER_PROGRESS_INCREMENT = 32768;
-
-	public static final boolean IS_CRLF_PLATFORM = Arrays.equals(
-		System.getProperty("line.separator").getBytes(), new byte[] { '\r', '\n' }); //$NON-NLS-1$
-	
-	private CVSRepositoryLocation location;
-	private ICVSFolder localRoot;
-	private boolean outputToConsole;
-	private Connection connection = null;
-	private String validRequests = null;
-	private Date modTime = null;
-	private boolean noLocalChanges = false;
-	private boolean createBackups = true;
-	private int compressionLevel = 0;
-	private List expansions;
-	private Collection /* of ICVSFile */ textTransferOverrideSet = null;
-	
-	// state need to indicate whether 
-	private boolean ignoringLocalChanges = false;
-
-	// The resource bundle key that provides the file sending message
-	private String sendFileTitleMessage;
-	private Map responseHandlers;
-	
-	// List of errors accumulated while the command is executing
-    private List errors = new ArrayList();
-    
-    private Command currentCommand;
-
-	/**
-	 * Creates a new CVS session, initially in the CLOSED state.
-	 * By default, command output is directed to the console.
-	 * 
-	 * @param location the CVS repository location used for this session
-	 * @param localRoot represents the current working directory of the client
-	 */
-	public Session(ICVSRepositoryLocation location, ICVSFolder localRoot) {
-		this(location, localRoot, true);
-	}
-	
-	/**
-	 * Creates a new CVS session, initially in the CLOSED state.
-	 * 
-	 * @param location the CVS repository location used for this session
-	 * @param localRoot represents the current working directory of the client
-	 * @param outputToConsole if true, command output is directed to the console
-	 */
-	public Session(ICVSRepositoryLocation location, ICVSFolder localRoot, boolean outputToConsole) {
-		this.location = (CVSRepositoryLocation) location;
-		this.localRoot = localRoot;
-		this.outputToConsole = outputToConsole;
-	}
-	
-	/*
-	 * Add a module expansion receivered from the server.
-	 * This is only used by the ModuleExpansionsHandler
-	 */
-	protected void addModuleExpansion(String expansion) {
-		expansions.add(expansion);
-	}
-	
-	/*
-	 * Add a module expansion receivered from the server.
-	 * This is only used by the ExpandModules command
-	 */
-	protected void resetModuleExpansion() {
-		if (expansions == null) 
-			expansions = new ArrayList();
-		else
-			expansions.clear();
-	}
-	
-	/**
-	 * Opens, authenticates and initializes a connection to the server specified
-	 * for the remote location.
-	 *
-	 * @param monitor the progress monitor
-	 * @throws IllegalStateException if the Session is not in the CLOSED state
-	 */
-	public void open(IProgressMonitor monitor) throws CVSException {
-		open(monitor, true /* write access*/);
-	}
-	
-	public void open(IProgressMonitor monitor, boolean writeAccess) throws CVSException {
-		if (connection != null) throw new IllegalStateException();
-		monitor = Policy.monitorFor(monitor);
-		monitor.beginTask(null, 100);
-		boolean opened = false;	
-	
-		try {
-			connection = getLocationForConnection(writeAccess).openConnection(Policy.subMonitorFor(monitor, 50));
-			
-			// If we're connected to a CVSNT server or we don't know the platform, 
-			// accept MT. Otherwise don't.
-			boolean useMT = ! (location.getServerPlatform() == CVSRepositoryLocation.CVS_SERVER);
-			if ( ! useMT) {
-				removeResponseHandler("MT"); //$NON-NLS-1$
-			}
-			
-			// tell the server the names of the responses we can handle
-			connection.writeLine("Valid-responses " + makeResponseList()); //$NON-NLS-1$
-			// Flush in order to recieve the valid requests
-			connection.flush();
-	
-			// ask for the set of valid requests
-			IStatus status = Request.VALID_REQUESTS.execute(this, Policy.subMonitorFor(monitor, 40));
-			if (!status.isOK()) {
-				throw new CVSException(status);
-			}
-			
-			// set the root directory on the server for this connection
-			connection.writeLine("Root " + getRepositoryRoot()); //$NON-NLS-1$
-
-			// enable compression
-			compressionLevel = CVSProviderPlugin.getPlugin().getCompressionLevel();
-			if (compressionLevel != 0 && isValidRequest("gzip-file-contents")) { //$NON-NLS-1$
-				// Enable the use of CVS 1.8 per-file compression mechanism.
-				// The newer Gzip-stream request seems to be problematic due to Java's
-				// GZIPInputStream tendency to block on read() rather than to return a
-				// partially filled buffer.  The latter option would be better since it
-				// can make more effective use of the code dictionary, if it can be made
-				// to work...
-				connection.writeLine("gzip-file-contents " + Integer.toString(compressionLevel)); //$NON-NLS-1$
-			} else {
-				compressionLevel = 0;
-			}
-			
-			// get the server platform if it is unknown
-			if (CVSProviderPlugin.getPlugin().isDetermineVersionEnabled() && location.getServerPlatform() == CVSRepositoryLocation.UNDETERMINED_PLATFORM) {
-				Command.VERSION.execute(this, location, Policy.subMonitorFor(monitor, 10));
-			}
-			opened = true;
-		} finally {
-			if (connection != null && ! opened) {
-				close();
-			}
-			monitor.done();
-		}
-	}		
-	
-	/*
-	 * Return the location to be used for this connection
-	 */
-	private CVSRepositoryLocation getLocationForConnection(boolean writeAccess) {
-		return location;
-	}
-
-	/**
-	 * Closes a connection to the server.
-	 *
-	 * @throws IllegalStateException if the Session is not in the OPEN state
-	 */
-	public void close() {
-		if (connection != null) {
-			connection.close();
-			connection = null;
-			validRequests = null;
-		}
-	}
-	
-	/**
-	 * Determines if the server supports the specified request.
-	 * 
-	 * @param request the request string to verify
-	 * @return true iff the request is supported
-	 */
-	public boolean isValidRequest(String request) {
-		return (validRequests == null) ||
-			(validRequests.indexOf(" " + request + " ") != -1); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-	public boolean isCVSNT() {
-		if (location.getServerPlatform() == CVSRepositoryLocation.UNDETERMINED_PLATFORM) {
-			return location.getRootDirectory().indexOf(':') == 1;
-		} else {
-			return location.getServerPlatform() == CVSRepositoryLocation.CVSNT_SERVER;
-		}
-	}
-	
-	/**
-	 * Returns the local root folder for this session.
-	 * <p>
-	 * Generally speaking, specifies the "current working directory" at
-	 * the time of invocation of an equivalent CVS command-line client.
-	 * </p>
-	 * 
-	 * @return the local root folder
-	 */
-	public ICVSFolder getLocalRoot() {
-		return localRoot;
-	}
-
-	/**
-	 * Return the list of module expansions communicated from the server.
-	 * 
-	 * The modules expansions are typically a directory path of length 1
-	 * but can be of greater length on occasion. 
-	 */
-	public String[] getModuleExpansions() {
-		if (expansions == null) return new String[0];
-		return (String[]) expansions.toArray(new String[expansions.size()]);
-	}
-	
-	/**
-	 * Returns the repository root folder for this session.
-	 * <p>
-	 * Specifies the unqualified path to the CVS repository root folder
-	 * on the server.
-	 * </p>
-	 * 
-	 * @return the repository root folder
-	 */
-	public String getRepositoryRoot() {
-		return location.getRootDirectory();
-	}
-	
-	/**
-	 * Returns an object representing the CVS repository location for this session.
-	 * 
-	 * @return the CVS repository location
-	 */
-	public ICVSRepositoryLocation getCVSRepositoryLocation() {
-		return location;
-	}
-	
-	/**
-	 * Receives a line of text minus the newline from the server.
-	 * 
-	 * @return the line of text
-	 */
-	public String readLine() throws CVSException {
-		return connection.readLine();
-	}
-
-	/**
-	 * Sends a line of text followed by a newline to the server.
-	 * 
-	 * @param line the line of text
-	 */
-	public void writeLine(String line) throws CVSException {
-		connection.writeLine(line);
-	}
-
-	/**
-	 * Sends an argument to the server.
-	 * <p>e.g. sendArgument("Hello\nWorld\n  Hello World") sends:
-	 * <pre>
-	 *   Argument Hello \n
-	 *   Argumentx World \n
-	 *   Argumentx Hello World \n
-	 * </pre></p>
-	 *
-	 * @param arg the argument to send
-	 */
-	public void sendArgument(String arg) throws CVSException {
-		connection.write("Argument "); //$NON-NLS-1$
-		int oldPos = 0;
-		for (;;) {
-			int pos = arg.indexOf('\n', oldPos);
-			if (pos == -1) break;
-			connection.writeLine(stripTrainingCR(arg.substring(oldPos, pos)));
-			connection.write("Argumentx "); //$NON-NLS-1$
-			oldPos = pos + 1;
-		}
-		connection.writeLine(stripTrainingCR(arg.substring(oldPos)));
-	}
-
-	/*
-	 * Remove any trailing CR from the string
-	 */
-	private String stripTrainingCR(String string) {
-		if (string.endsWith("\r")) { //$NON-NLS-1$
-			return string.substring(0, string.length() - 1);
-		}
-		return string;
-	}
-
-	/**
-	 * Sends a request to the server and flushes any output buffers.
-	 * 
-	 * @param requestId the string associated with the request to be executed
-	 */
-	public void sendRequest(String requestId) throws CVSException {
-		connection.writeLine(requestId);
-		connection.flush();
-	}
-
-	/**
-	 * Sends an Is-modified request to the server without the file contents.
-	 * <p>e.g. if a file called "local_file" was modified, sends:
-	 * <pre>
-	 *   Is-modified local_file \n
-	 * </pre></p><p>
-	 * This request is an optimized form of the Modified request and may not
-	 * be supported by all servers.  Hence, if it is not supported, a Modified
-	 * request is sent instead along with the file's contents.  According to
-	 * the CVS protocol specification, this request is only safe for use with
-	 * some forms of: admin, annotate, diff, editors, log, watch-add, watch-off,
-	 * watch-on, watch-remove, and watchers.<br>
-	 * It may be possible to use this for: add, export, remove and status.<br>
-	 * Do not use with co, ci, history, init, import, release, rdiff, rtag, or update.
-	 * </p><p>
-	 * Note: The most recent Directory request must have specified the file's
-	 *       parent folder.
-	 * </p>
-	 * 
-	 * @param file the file that was modified
-	 * @see #sendModified
-	 */
-	public void sendIsModified(ICVSFile file, boolean isBinary, IProgressMonitor monitor)
-		throws CVSException {
-		if (isValidRequest("Is-modified")) { //$NON-NLS-1$
-			connection.writeLine("Is-modified " + file.getName()); //$NON-NLS-1$
-		} else {
-			sendModified(file, isBinary, monitor);
-		}
-	}
-
-	/**
-	 * Sends a Static-directory request to the server.
-	 * <p>
-	 * Indicates that the directory specified in the most recent Directory request
-	 * is static.  No new files will be checked out into this directory unless
-	 * explicitly requested.
-	 * </p>
-	 */
-	public void sendStaticDirectory() throws CVSException {
-		connection.writeLine("Static-directory"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Sends a Directory request to the server with a constructed path.
-	 * <p>
-	 * It may be necessary at times to guess the remote path of a directory since
-	 * it does not exist yet.  In this case we construct a remote path based on the
-	 * local path by prepending the local path with the repository root.  This may
-	 * not work in the presence of modules, so only use it for creating new projects.
-	 * </p><p>
-	 * Note: A CVS repository root can end with a trailing slash. The CVS server
-	 *       expects that the repository root sent contain this extra slash. Including
-	 *       the foward slash in addition to the absolute remote path makes for a string
-	 *       containing two consecutive slashes (e.g. /home/cvs/repo//projecta/a.txt).
-	 *       This is valid in the CVS protocol.
-	 * </p>
-	 */
-	public void sendConstructedDirectory(String localDir) throws CVSException {
-		String path = Util.appendPath(getRepositoryRoot(), localDir);
-		sendDirectory(localDir, path);
-	}
-
-	/**
-	 * Sends a Directory request to the server.
-	 * <p>e.g. sendDirectory("local_dir", "remote_dir") sends:
-	 * <pre>
-	 *   Directory local_dir
-	 *   repository_root/remote_dir
-	 * </pre></p>
-	 * 
-	 * @param localDir the path of the local directory relative to localRoot
-	 * @param remoteDir the path of the remote directory relative to repositoryRoot
-	 */
-	public void sendDirectory(String localDir, String remoteDir) throws CVSException {
-		if (localDir.length() == 0) localDir = CURRENT_LOCAL_FOLDER; 
-		connection.writeLine("Directory " + localDir); //$NON-NLS-1$
-		connection.writeLine(remoteDir);
-	}
-
-	/**
-	 * Sends a Directory request for the localRoot.
-	 */
-	public void sendLocalRootDirectory() throws CVSException {
-		sendDirectory(CURRENT_LOCAL_FOLDER, localRoot.getRemoteLocation(localRoot)); 
-	}
-
-	/**
-	 * Sends a Directory request for the localRoot with a constructed path.
-	 * <p>
-	 * Use this when creating a new project that does not exist in the repository.
-	 * </p>
-	 * @see #sendConstructedDirectory
-	 */
-	public void sendConstructedRootDirectory() throws CVSException {
-		sendConstructedDirectory(""); //$NON-NLS-1$
-	}
-
-	/**
-	 * Sends an Entry request to the server.
-	 * <p>
-	 * Indicates that a file is managed (but it may not exist locally).  Sends
-	 * the file's entry line to the server to indicate the version that was
-	 * previously checked out.
-	 * </p><p>
-	 * Note: The most recent Directory request must have specified the file's
-	 *       parent folder.
-	 * </p>
-	 * 
-	 * @param entryLine the formatted entry line of the managed file.
-	 */
-	public void sendEntry(byte[] syncBytes, String serverTimestamp) throws CVSException {
-		connection.write("Entry "); //$NON-NLS-1$
-		if (serverTimestamp == null) {
-			serverTimestamp = ""; //$NON-NLS-1$
-		}
-		int start = Util.getOffsetOfDelimeter(syncBytes, (byte)'/', 0, 3);
-		if (start == -1) {
-			// something is wrong with the entry line so just send it as is
-			// and let the server report the error.
-			connection.writeLine(new String(syncBytes));
-			return;
-		}
-		int end = Util.getOffsetOfDelimeter(syncBytes, (byte)'/', start + 1, 1);
-		if (end == -1) {
-			// something is wrong with the entry line so just send it as is
-			// and let the server report the error.
-			connection.writeLine(new String(syncBytes));
-			return;
-		}
-		connection.write(new String(syncBytes, 0, start + 1));
-		connection.write(serverTimestamp);
-		connection.writeLine(new String(syncBytes, end, syncBytes.length - end));
-	}
-
-	/**
-	 * Sends a global options to the server.
-	 * <p>e.g. sendGlobalOption("-n") sends:
-	 * <pre>
-	 *   Global_option -n \n
-	 * </pre></p>
-	 * 
-	 * @param option the global option to send
-	 */
-	public void sendGlobalOption(String option) throws CVSException {
-		connection.writeLine("Global_option " + option); //$NON-NLS-1$
-	}
-
-	/**
-	 * Sends an Unchanged request to the server.
-	 * <p>e.g. if a file called "local_file" was not modified, sends:
-	 * <pre>
-	 *   Unchanged local_file \n
-	 * </pre></p><p>
-	 * Note: The most recent Directory request must have specified the file's
-	 *       parent folder.
-	 * </p>
-	 * 
-	 * @param file the file that was not modified
-	 */
-	public void sendUnchanged(ICVSFile file) throws CVSException {
-		connection.writeLine("Unchanged " + file.getName()); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Sends the Notify request to the server
-	 */
-	public void sendNotify(ICVSFolder parent, NotifyInfo info)
-		throws CVSException {
-		
-		String filename = info.getName();
-		connection.writeLine("Notify " + filename); //$NON-NLS-1$
-		connection.writeLine(info.getServerLine(parent));
-	}
-		
-	/**
-	 * Sends a Questionable request to the server.
-	 * <p>
-	 * Indicates that a file exists locally but is unmanaged.  Asks the server
-	 * whether or not the file should be ignored in subsequent CVS operations.
-	 * The reply to the request occurs in the form of special M-type message
-	 * responses prefixed with '?' when the next command is executed.
-	 * </p><p>
-	 * Note: The most recent Directory request must have specified the file's
-	 *       parent folder.
-	 * </p>
-	 * 
-	 * @param resource the local file or folder
-	 */
-	public void sendQuestionable(ICVSResource resource) throws CVSException {
-		connection.writeLine("Questionable " + resource.getName()); //$NON-NLS-1$
-	}
-
-	/**
-	 * Sends a Sticky tag request to the server.
-	 * <p>
-	 * Indicates that the directory specified in the most recent Directory request
-	 * has a sticky tag or date, and sends the tag's contents.
-	 * </p>
-	 * 
-	 * @param tag the sticky tag associated with the directory
-	 */
-	public void sendSticky(String tag) throws CVSException {
-		connection.writeLine("Sticky " + tag); //$NON-NLS-1$
-	}
-
-	/**
-	 * Sends a Modified request to the server along with the file contents.
-	 * <p>e.g. if a file called "local_file" was modified, sends:
-	 * <pre>
-	 *   Modified local_file \n
-	 *   file_permissions \n
-	 *   file_size \n
-	 *   [... file_contents ...]
-	 * </pre></p><p>
-	 * Under some circumstances, Is-modified may be used in place of this request.<br>
-	 * Do not use with history, init, import, rdiff, release, rtag, or update.
-	 * </p><p>
-	 * Note: The most recent Directory request must have specified the file's
-	 *       parent folder.
-	 * </p>
-	 * 
-	 * @param file the file that was modified
-	 * @param isBinary if true the file is sent without translating line delimiters
-	 * @param monitor the progress monitor
-	 * @see #sendIsModified
-	 */
-	public void sendModified(ICVSFile file, boolean isBinary, IProgressMonitor monitor)
-		throws CVSException {
-			sendModified(file, isBinary, true, monitor);
-	}
-
-	public void sendModified(ICVSFile file, boolean isBinary, boolean sendBinary, IProgressMonitor monitor)
-				throws CVSException {
-		
-		String filename = file.getName();
-		connection.writeLine("Modified " + filename); //$NON-NLS-1$
-		// send the default permissions for now
-		if (file.isExecutable()) {
-			connection.writeLine(ResourceSyncInfo.getDefaultExecutablePermissions());
-		} else {
-			connection.writeLine(ResourceSyncInfo.getDefaultPermissions());
-		} 
-		sendFile(file, isBinary, sendBinary, monitor);
-	}
-	
-		/**
-		 * Sends a file to the remote CVS server, possibly translating line delimiters.
-		 * <p>
-		 * Line termination sequences are automatically converted to linefeeds only
-		 * (required by the CVS specification) when sending non-binary files.  This
-		 * may alter the actual size and contents of the file that is sent.
-		 * </p><p>
-		 * Note: Non-binary files must be small enough to fit in available memory.
-		 * </p>
-		 * @param file the file to be sent
-		 * @param isBinary is true if the file should be sent without translation
-		 * @param monitor the progress monitor
-		 */
-		public void sendFile(ICVSStorage file, boolean isBinary, boolean sendBinary, IProgressMonitor monitor) throws CVSException {
-			// check overrides
-			if (textTransferOverrideSet != null &&
-				textTransferOverrideSet.contains(file)) isBinary = false;
-	
-			// update progress monitor
-			final String title = NLS.bind(getSendFileTitleMessage(), (new Object[]{ Util.toTruncatedPath(file, localRoot, 3) })); 
-			monitor.subTask(NLS.bind(CVSMessages.Session_transferNoSize, new String[] { title })); 
-			try {
-				InputStream in = null;
-				long length;
-				try {
-					if (isBinary && !sendBinary)  {
-						byte[] bytes = "hello".getBytes();  //$NON-NLS-1$
-						sendUncompressedBytes(new ByteArrayInputStream(bytes), bytes.length);
-						return;
-					}
-					
-					if (compressionLevel == 0) {
-						in = file.getContents();
-						if (!isBinary && IS_CRLF_PLATFORM){
-							// uncompressed text
-							byte[] buffer = new byte[TRANSFER_BUFFER_SIZE];
-							in = new CRLFtoLFInputStream(in);
-							ByteCountOutputStream counter = new ByteCountOutputStream();
-							try {
-								for (int count; (count = in.read(buffer)) != -1;) counter.write(buffer, 0, count);
-							} finally {
-								counter.close();
-							}
-							in.close();
-							length = counter.getSize();
-							in = new CRLFtoLFInputStream(file.getContents());
-						} else {
-							// uncompressed binary
-							length = file.getSize();
-						}
-						in = new ProgressMonitorInputStream(in, length, TRANSFER_PROGRESS_INCREMENT, monitor) {
-							protected void updateMonitor(long bytesRead, long bytesTotal, IProgressMonitor monitor) {
-								if (bytesRead == 0) return;
-								Assert.isTrue(bytesRead <= bytesTotal);
-								monitor.subTask(NLS.bind(CVSMessages.Session_transfer, (new Object[] { title, Long.toString(bytesRead >> 10), Long.toString(bytesTotal >> 10) })));
-							}
-						};
-						sendUncompressedBytes(in, length);
-					} else {
-						monitor.subTask(NLS.bind(CVSMessages.Session_calculatingCompressedSize, new String[] { Util.toTruncatedPath(file, localRoot, 3) })); 
-						in = file.getContents();
-						byte[] buffer = new byte[TRANSFER_BUFFER_SIZE];
-						ByteCountOutputStream counter = new ByteCountOutputStream();
-						OutputStream zout = new GZIPOutputStream(counter);
-						if (!isBinary && IS_CRLF_PLATFORM) in = new CRLFtoLFInputStream(in);
-						try {
-							for (int count; (count = in.read(buffer)) != -1;) zout.write(buffer, 0, count);
-						} finally {
-							zout.close();
-						}
-						in.close();
-						in = file.getContents();
-						in = new ProgressMonitorInputStream(in, file.getSize(), TRANSFER_PROGRESS_INCREMENT, monitor) {
-							protected void updateMonitor(long bytesRead, long bytesTotal, IProgressMonitor monitor) {
-								if (bytesRead == 0) return;
-								Assert.isTrue(bytesRead <= bytesTotal);
-								monitor.subTask(NLS.bind(CVSMessages.Session_transfer, (new Object[] { title, Long.toString(bytesRead >> 10), Long.toString(bytesTotal >> 10) })));
-							}
-						};
-						if (!isBinary && IS_CRLF_PLATFORM) in = new CRLFtoLFInputStream(in);
-						sendCompressedBytes(in, counter.getSize());
-					}
-				} finally {
-					if (in != null) in.close();
-				}
-			} catch (IOException e) {
-				throw CVSException.wrapException(e);
-			}
-		}
-
-	/*
-	 * Send the contents of the input stream to CVS.
-	 * Length must equal the number of bytes that will be transferred
-	 * across the wire, that is, the compressed file size.
-	 */
-	private void sendCompressedBytes(InputStream in, long length) throws IOException, CVSException {
-		String sizeLine = "z" + Long.toString(length); //$NON-NLS-1$
-		writeLine(sizeLine);
-		OutputStream out = connection.getOutputStream();
-		GZIPOutputStream zo = new GZIPOutputStream(out);
-		byte[] buffer = new byte[TRANSFER_BUFFER_SIZE];
-		for (int count;
-		(count = in.read(buffer)) != -1;)
-		zo.write(buffer, 0, count);
-		zo.finish();
-	}
-
-	/*
-	 * Send the contents of the input stream to CVS.
-	 * Length must equal the number of bytes that will be transferred
-	 * across the wire.
-	 */
-	private void sendUncompressedBytes(InputStream in, long length) throws IOException, CVSException {
-		OutputStream out = connection.getOutputStream();
-		String sizeLine = Long.toString(length);
-		writeLine(sizeLine);
-		byte[] buffer = new byte[TRANSFER_BUFFER_SIZE];
-		for (int count; (count = in.read(buffer)) != -1;) out.write(buffer, 0, count);
-	}
-
-
-
-
-	/**
-	 * Receives a file from the remote CVS server, possibly translating line delimiters.
-	 * <p>
-	 * Line termination sequences are automatically converted to platform format
-	 * only when receiving non-binary files.  This may alter the actual size and
-	 * contents of the file that is received.
-	 * </p><p>
-	 * Translation is performed on-the-fly, so the file need not fit in available memory.
-	 * </p>
-	 * @param file the file to be received
-	 * @param isBinary is true if the file should be received without translation
-	 * @param responseType one of the ICVSFile updated types (UPDATED, CREATED, MERGED, UPDATE_EXISTING)
-	 * indicating what repsonse type provided the file contents
-	 * @param monitor the progress monitor
-	 */
-	public void receiveFile(ICVSStorage file, boolean isBinary, int responseType, IProgressMonitor monitor)
-	throws CVSException {
-		// check overrides
-		if (textTransferOverrideSet != null &&
-			textTransferOverrideSet.contains(file)) isBinary = false;
-
-		// update progress monitor
-		final String title = NLS.bind(CVSMessages.Session_receiving, (new Object[]{ Util.toTruncatedPath(file, localRoot, 3) })); 
-		monitor.subTask(NLS.bind(CVSMessages.Session_transferNoSize, new String[] { title })); 
-		// get the file size from the server
-		long size;
-		boolean compressed = false;
-		String sizeLine = null;
-		try {
-			sizeLine = readLine();
-			if (sizeLine.charAt(0) == 'z') {
-				compressed = true;
-				sizeLine = sizeLine.substring(1);
-			}
-			size = Long.parseLong(sizeLine, 10);
-		} catch (NumberFormatException e) {
-		    // In some cases, the server will give us an error line here
-		    if (sizeLine != null && sizeLine.startsWith("E")) { //$NON-NLS-1$
-		        handleErrorLine(sizeLine.substring(1).trim(), org.eclipse.core.runtime.Status.OK_STATUS);
-		        return;
-		    } else {
-		    	IStatus status = new CVSStatus(IStatus.ERROR,CVSStatus.ERROR,CVSMessages.Session_badInt, e, localRoot);
-		        throw new CVSException(status); 
-		    }
-		}
-		// create an input stream that spans the next 'size' bytes from the connection
-		InputStream in = new SizeConstrainedInputStream(connection.getInputStream(), size, true /*discardOnClose*/);
-		// setup progress monitoring
-		in = new ProgressMonitorInputStream(in, size, TRANSFER_PROGRESS_INCREMENT, monitor) {
-			protected void updateMonitor(long bytesRead, long bytesTotal, IProgressMonitor monitor) {
-				if (bytesRead == 0) return;
-				monitor.subTask(NLS.bind(CVSMessages.Session_transfer, (new Object[] { title, Long.toString(bytesRead >> 10), Long.toString(bytesTotal >> 10) })));
-			}
-		};
-		// if compression enabled, decompress on the fly
-		if (compressed) {
-			try {
-				in = new GZIPInputStream(in);
-			} catch (IOException e) {
-				throw CVSException.wrapException(e);
-			}
-		}
-		// if not binary, translate line delimiters on the fly
-		if (! isBinary) {
-			// switch from LF to CRLF if appropriate
-			if (IS_CRLF_PLATFORM && CVSProviderPlugin.getPlugin().isUsePlatformLineend()) {
-				// auto-correct for CRLF line-ends that come from the server
-				in = new CRLFtoLFInputStream(in);
-				// convert LF to CRLF
-				in = new LFtoCRLFInputStream(in);
-			} else {
-				// be nice and warn about text files that contain CRLF
-				in = new CRLFDetectInputStream(in, file);
-			}
-		}
-		// write the file locally
-		file.setContents(in, responseType, true, new NullProgressMonitor());
-	}
-
-    /**
-	 * Stores the value of the last Mod-time response encountered.
-	 * Valid only for the duration of a single CVS command.
-	 */
-	void setModTime(Date modTime) {
-		this.modTime = modTime;
-	}
-	
-	/**
-	 * Returns the stored value of the last Mod-time response,
-	 * or null if there was none while processing the current command.
-	 */
-	Date getModTime() {
-		return modTime;
-	}
-	
-	/**
-	 * Stores true if the -n global option was specified for the current command.
-	 * Valid only for the duration of a single CVS command.
-	 */
-	void setNoLocalChanges(boolean noLocalChanges) {
-		this.noLocalChanges = noLocalChanges;
-	}
-	
-	/**
-	 * Returns true if the -n global option was specified for the current command,
-	 * false otherwise.
-	 */
-	boolean isNoLocalChanges() {
-		return noLocalChanges;
-	}
-	
-	/**
-	 * Callback hook for the ValidRequestsHandler to specify the set of valid
-	 * requests for this session.
-	 */
-	void setValidRequests(String validRequests) {
-		this.validRequests = " " + validRequests + " "; //$NON-NLS-1$  //$NON-NLS-2$
-	}
-
-	public boolean isOutputToConsole() {
-		return outputToConsole;
-	}
-
-	/**
-	 * Stores a flag as to whether .# files will be created. (Default is true)
-	 * @param createBackups if true, creates .# files at the server's request
-	 */
-	void setCreateBackups(boolean createBackups) {
-		this.createBackups = createBackups;
-	}
-
-	/**
-	 * Returns a flag as to whether .# files will be created.
-	 */
-	boolean isCreateBackups() {
-		return createBackups;
-	}
-
-	/**
-	 * Gets the sendFileTitleKey.
-	 * @return Returns a String
-	 */
-	String getSendFileTitleMessage() {
-		if (sendFileTitleMessage == null)
-			return CVSMessages.Session_sending; 
-		return sendFileTitleMessage;
-	}
-
-	/**
-	 * Sets the sendFileTitleKey.
-	 * @param sendFileTitleKey The sendFileTitleKey to set
-	 */
-	public void setSendFileTitleKey(String sendFileTitleMessage) {
-		this.sendFileTitleMessage = sendFileTitleMessage;
-	}
-	
-	/**
-	 * Remembers a set of files that must be transferred as 'text'
-	 * regardless of what the isBinary parameter to sendFile() is.
-	 * 
-	 * @param textTransferOverrideSet the set of ICVSFiles to override, or null if none
-	 */
-	public void setTextTransferOverride(Collection textTransferOverrideSet) {
-		this.textTransferOverrideSet = textTransferOverrideSet;
-	}
-	
-	/**
-	 * Filter the provided global options using parameters set on this session
-	 * or globally. The session may add global options that correspond to user
-	 * preferences or remove those that contradict requirements for this
-	 * particular session.
-	 *
-	 * @param globalOptions the global options, read-only
-	 * @return the filtered global options
-	 */
-	protected GlobalOption[] filterGlobalOptions(GlobalOption[] globalOptions) {
-		if (! Command.DO_NOT_CHANGE.isElementOf(globalOptions)) {
-			// Get the user preference for verbosity
-			QuietOption quietOption = CVSProviderPlugin.getPlugin().getQuietness();
-			if (quietOption != null) {
-				globalOptions = quietOption.addToEnd(globalOptions);
-			}
-			// Get the user preference for read-only
-			if (isWatchEditEnabled()) {
-				if (!Command.MAKE_READ_ONLY.isElementOf(globalOptions)) {
-					globalOptions = Command.MAKE_READ_ONLY.addToEnd(globalOptions);
-				}
-			}
-		}
-		return globalOptions;
-	}
-
-	private boolean isWatchEditEnabled() {
-		// First, look at the global preference
-		if (CVSProviderPlugin.getPlugin().getPluginPreferences().getBoolean(CVSProviderPlugin.READ_ONLY)) {
-			return true;
-		}
-		// If there is a provider, use the providers setting for watch/edit
-		try {
-			IResource resource = getLocalRoot().getIResource();
-			if (resource != null && resource.getType() != IResource.ROOT) {
-				RepositoryProvider provider = RepositoryProvider.getProvider(resource.getProject(), CVSProviderPlugin.getTypeId());
-				if (provider != null) {
-					return ((CVSTeamProvider) provider).isWatchEditEnabled();
-				}
-			}
-		} catch (CVSException e) {
-			CVSProviderPlugin.log(e);
-		}
-		return false;
-	}
-	
-	/**
-	 * Method setIgnoringLocalChanges.
-	 * @param b
-	 */
-	protected void setIgnoringLocalChanges(boolean b) {
-		ignoringLocalChanges = b;
-	}
-	/**
-	 * Returns the ignoringLocalChanges.
-	 * @return boolean
-	 */
-	protected boolean isIgnoringLocalChanges() {
-		return ignoringLocalChanges;
-	}
-
-	/*
-	 * Get the response handler map to be used for this session. The map is created by making a copy of the global
-	 * reponse handler map.
-	 */
-	protected Map getReponseHandlers() {
-		if (responseHandlers == null) {
-			responseHandlers = Request.getReponseHandlerMap();
-		}
-		return responseHandlers;
-	}
-	
-	/*
-	 * Makes a list of all valid responses; for initializing a session.
-	 * @return a space-delimited list of all valid response strings
-	 */
-	private String makeResponseList() {
-		StringBuffer result = new StringBuffer("ok error M E");  //$NON-NLS-1$
-		Iterator elements = getReponseHandlers().keySet().iterator();
-		while (elements.hasNext()) {
-			result.append(' ');
-			result.append((String) elements.next());
-		}
-		
-		return result.toString();
-	}
-	public void registerResponseHandler(ResponseHandler handler) {
-		getReponseHandlers().put(handler.getResponseID(), handler);
-	}
-	
-	public void removeResponseHandler(String responseID) {
-		getReponseHandlers().remove(responseID);
-	}
-	
-	public ResponseHandler getResponseHandler(String responseID) {
-		return (ResponseHandler)getReponseHandlers().get(responseID);
-	}
-
-    /**
-     * Accumulate the added errors so they can be included in the status returned
-     * when the command execution is finished. OK status are ignored.
-     * @param status the status to be accumulated
-     */
-    public void addError(IStatus status) {
-        if (!status.isOK())
-            errors.add(status);
-    }
-    
-    public boolean hasErrors() {
-        return !errors.isEmpty();
-    }
-    
-    public IStatus[] getErrors() {
-        return (IStatus[]) errors.toArray(new IStatus[errors.size()]);
-    }
-	
-    public void clearErrors() {
-        errors.clear();
-    }
-
-    public void setCurrentCommand(Command c) {
-        currentCommand = c;
-    }
-    
-    public Command getCurrentCommand() {
-        return currentCommand;
-    }
-
-	/**
-	 * Report the given error line to any listeners
-     * @param line the error line
-     * @param status the status that indicates any problems encountered parsing the line
-     */
-    public void handleErrorLine(String line, IStatus status) {
-        ConsoleListeners.getInstance().errorLineReceived(this, line, status);
-    }
-    
-    /**
-     * An error has occurred while processing responses from the 
-     * server. Place this error is the status that will be returned
-     * from the command and show the error in the console
-     * @param status the status that descibes the error
-     */
-    public void handleResponseError(IStatus status) {
-        addError(status);
-        handleErrorLine(NLS.bind(CVSMessages.Session_0, new String[] { status.getMessage() }), status); 
-    }
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/StaticHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/StaticHandler.java
deleted file mode 100644
index 7464d71..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/StaticHandler.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.MutableFolderSyncInfo;
-
-/**
- * Handles any "Set-static-directory" and "Clear-static-directory" responses
- * from the CVS server.
- * <p>
- * Suppose as a result of performing a command the CVS server responds
- * as follows:<br>
- * <pre>
- *   [...]
- *   Set-static-directory myproject/ \n
- *   /u/cvsroot/myproject/ \n
- *   [...]
- * </pre>
- * Then we set or clear the static flag of the folder "myproject",
- * automatically creating it if it does not exist locally,
- * </p>
- */
-class StaticHandler extends ResponseHandler {
-	private final boolean setStaticDirectory;
-
-	public StaticHandler(boolean setStaticDirectory) {
-		this.setStaticDirectory = setStaticDirectory;
-	}
-
-	public String getResponseID() {
-		if (setStaticDirectory) {
-			return "Set-static-directory"; //$NON-NLS-1$
-		} else {
-			return "Clear-static-directory"; //$NON-NLS-1$
-		}
-	}
-
-	public void handle(Session session, String localDir,
-		IProgressMonitor monitor) throws CVSException {
-		// read additional data for the response
-		String repositoryDir = session.readLine();
-
-		// create the directory then set or clear the static flag
-		Assert.isTrue(repositoryDir.endsWith("/")); //$NON-NLS-1$
-		repositoryDir = repositoryDir.substring(0, repositoryDir.length() - 1);
-		try {
-            ICVSFolder folder = createFolder(session, localDir, repositoryDir);
-            FolderSyncInfo syncInfo = folder.getFolderSyncInfo();
-            // Added to ignore sync info for workspace root
-            if (syncInfo == null) return;
-            MutableFolderSyncInfo newInfo = syncInfo.cloneMutable();
-            newInfo.setStatic(setStaticDirectory);
-            // only set the sync info if it has changed
-            if (!syncInfo.equals(newInfo))
-            	folder.setFolderSyncInfo(newInfo);
-        } catch (CVSException e) {
-            if (!handleInvalidResourceName(session, session.getLocalRoot().getFolder(localDir), e)) {
-                throw e;
-            }
-        }
-	}
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Status.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Status.java
deleted file mode 100644
index 146ad41..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Status.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-public class Status extends AbstractMessageCommand {
-	/*** Local options: specific to status ***/
-
-	protected Status() { }
-	protected String getRequestId() {
-		return "status"; //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/StickyHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/StickyHandler.java
deleted file mode 100644
index 080b5ce..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/StickyHandler.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.CVSEntryLineTag;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.MutableFolderSyncInfo;
-
-/**
- * Handles any "Set-sticky" and "Clear-stick" responses from the CVS server.
- * <p>
- * Suppose as a result of performing a command the CVS server responds
- * as follows:<br>
- * <pre>
- *   [...]
- *   Set-sticky myproject/ \n
- *   /u/cvsroot/myproject/ \n
- *   Tsometag \n
- *   [...]
- * </pre>
- * Then we set or clear the sticky tag property of the folder "myproject",
- * automatically creating it if it does not exist locally,
- * </p>
- */
-class StickyHandler extends ResponseHandler {
-	private final boolean setSticky;
-		
-	public StickyHandler(boolean setSticky) {
-		this.setSticky = setSticky;
-	}
-
-	public String getResponseID() {
-		if (setSticky) {
-			return "Set-sticky"; //$NON-NLS-1$
-		} else {
-			return "Clear-sticky"; //$NON-NLS-1$
-		}
-	}
-
-	public void handle(Session session, String localDir,
-		IProgressMonitor monitor) throws CVSException {
-		// read additional data for the response
-		String repositoryDir = session.readLine();
-		String tag = null;
-		if (setSticky) {
-			tag = session.readLine();
-			if (tag != null && tag.length() == 0) tag = null;
-		}
-
-		// create the directory then set or clear the sticky tag
-		Assert.isTrue(repositoryDir.endsWith("/")); //$NON-NLS-1$
-		repositoryDir = repositoryDir.substring(0, repositoryDir.length() - 1);		
-		try {
-            ICVSFolder folder = createFolder(session, localDir, repositoryDir);
-            FolderSyncInfo syncInfo = folder.getFolderSyncInfo();
-            // Added to ignore sync info for workspace root
-            if (syncInfo == null) return;
-            MutableFolderSyncInfo newInfo = syncInfo.cloneMutable();
-            newInfo.setTag(tag != null ? new CVSEntryLineTag(tag) : null);
-            /* if we are reverting to BASE we do not change anything here 
-             * see bug 106876 */
-            if(tag != null && tag.equals("TBASE"))  //$NON-NLS-1$
-            	newInfo.setTag(syncInfo.getTag());
-            // only set the sync info if it has changed
-            if (!syncInfo.equals(newInfo))
-            	folder.setFolderSyncInfo(newInfo);
-        } catch (CVSException e) {
-            if (!handleInvalidResourceName(session, session.getLocalRoot().getFolder(localDir), e)) {
-                throw e;
-            }
-        }
-	}
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/SyncUpdate.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/SyncUpdate.java
deleted file mode 100644
index 62e15e5..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/SyncUpdate.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSResource;
-
-public class SyncUpdate extends Update {
-
-	public SyncUpdate() { };
-
-	/*
-	 * @see Command#sendFileStructure(ICVSResource,IProgressMonitor,boolean,boolean,boolean)
-	 */
-    protected void sendFileStructure(Session session, ICVSResource[] resources,
-            LocalOption[] localOptions, boolean emptyFolders, IProgressMonitor monitor) throws CVSException {
-			
-		checkResourcesManaged(session, resources);
-		new FileStructureVisitor(session, localOptions, emptyFolders, true, false).visit(session, resources, monitor);
-	}
-	
-	/* (non-Javadoc)
-     * @see org.eclipse.team.internal.ccvs.core.client.Command#isWorkspaceModification()
-     */
-    protected boolean isWorkspaceModification() {
-        // The sync-update will not modify the workspace
-        return false;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.team.internal.ccvs.core.client.Command#filterGlobalOptions(org.eclipse.team.internal.ccvs.core.client.Session, org.eclipse.team.internal.ccvs.core.client.Command.GlobalOption[])
-     */
-    protected GlobalOption[] filterGlobalOptions(Session session, GlobalOption[] globalOptions) {
-        // Ensure that the DO_NOT_CHANGE (-n) global option is present
-		if (! Command.DO_NOT_CHANGE.isElementOf(globalOptions)) {
-			globalOptions = Command.DO_NOT_CHANGE.addToEnd(globalOptions);
-		}
-        return super.filterGlobalOptions(session, globalOptions);
-    }
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Tag.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Tag.java
deleted file mode 100644
index 3cb2e99..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Tag.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSStatus;
-import org.eclipse.team.internal.ccvs.core.CVSTag;
-import org.eclipse.team.internal.ccvs.core.ICVSResource;
-import org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener;
-import org.eclipse.team.internal.ccvs.core.client.listeners.TagListener;
-
-public class Tag extends Command {
-	/*** Local options: specific to tag ***/
-	public static final LocalOption CREATE_BRANCH = new LocalOption("-b", null);	 //$NON-NLS-1$	
-	public static final LocalOption FORCE_REASSIGNMENT = new LocalOption("-F", null); //$NON-NLS-1$	
-
-	/*** Default command output listener ***/
-	private static final ICommandOutputListener DEFAULT_OUTPUT_LISTENER = new TagListener();
-	
-	// handle added and removed resources in a special way
-	private boolean customBehaviorEnabled;
-	
-	protected Tag(boolean customBehaviorEnabled) {
-		this.customBehaviorEnabled = customBehaviorEnabled;
-	}
-	
-	protected Tag() {
-		this(false);
-	}
-	
-	protected String getRequestId() {
-		return "tag"; //$NON-NLS-1$
-	}
-
-	protected ICVSResource[] computeWorkResources(Session session, LocalOption[] localOptions,
-		String[] arguments) throws CVSException {
-			
-		if (arguments.length < 1) throw new IllegalArgumentException();
-		String[] allButFirst = new String[arguments.length - 1];
-		System.arraycopy(arguments, 1, allButFirst, 0, arguments.length - 1);
-		return super.computeWorkResources(session, localOptions, allButFirst);
-	}
-
-	public IStatus execute(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, CVSTag tag, String[] arguments, ICommandOutputListener listener,
-		IProgressMonitor monitor) throws CVSException {
-		
-		if(tag.getType() != CVSTag.VERSION && tag.getType() != CVSTag.BRANCH) {
-			throw new CVSException(new CVSStatus(IStatus.ERROR, CVSMessages.Tag_notVersionOrBranchError)); 
-		}
-		
-		// Add the CREATE_BRANCH option for a branch tag
-		if (tag.getType() == CVSTag.BRANCH) {
-			if ( ! CREATE_BRANCH.isElementOf(localOptions)) {
-				LocalOption[] newLocalOptions = new LocalOption[localOptions.length + 1];
-				System.arraycopy(localOptions, 0, newLocalOptions, 0, localOptions.length);
-				newLocalOptions[newLocalOptions.length - 1] = CREATE_BRANCH;
-				localOptions = newLocalOptions;
-			}
-		}
-		
-		// Add the tag name to the start of the arguments
-		String[] newArguments = new String[arguments.length + 1];
-		newArguments[0] = tag.getName();
-		System.arraycopy(arguments, 0, newArguments, 1, arguments.length);
-		
-		return execute(session, globalOptions, localOptions, newArguments, listener, monitor);	
-	}
-
-	public IStatus execute(Session session, GlobalOption[] globalOptions, LocalOption[] localOptions, 
-		CVSTag tag, ICVSResource[] arguments, ICommandOutputListener listener, IProgressMonitor monitor) 
-		throws CVSException {
-		
-		String[] stringArguments = convertArgumentsForOpenSession(arguments, session);
-
-		return execute(session, globalOptions, localOptions, tag, stringArguments, listener, monitor);
-	}
-	
-	protected ICommandOutputListener getDefaultCommandOutputListener() {
-		return DEFAULT_OUTPUT_LISTENER;
-	}
-		
-	protected ICVSResource[] sendLocalResourceState(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, ICVSResource[] resources, IProgressMonitor monitor)
-		throws CVSException {			
-
-		// Send all folders that are already managed to the server
-		if (customBehaviorEnabled) {
-			new TagFileSender(session, localOptions).visit(session, resources, monitor);
-		} else {
-			new FileStructureVisitor(session, localOptions, false, false).visit(session, resources, monitor);
-		}
-		return resources;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/TagFileSender.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/TagFileSender.java
deleted file mode 100644
index a15df38..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/TagFileSender.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
- 
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-
-/**
- * Special visitor which handles added and removed files in a special way.
- * Added resources are skipped. Deleted resources are sent as if they were not deleted.
- */
-class TagFileSender extends FileStructureVisitor {
-
-	public TagFileSender(Session session, LocalOption[] localOptions) {
-		super(session, localOptions, false, false);
-	}
-	
-	/** 
-	 * Override sendFile to provide custom handling of added and deleted resources.
-	 * Added resources are skipped. Deleted resources are sent as if they were not deleted.
-	 */
-	protected void sendFile(ICVSFile mFile) throws CVSException {
-		Policy.checkCanceled(monitor);
-		byte[] syncBytes = mFile.getSyncBytes();
-		if (syncBytes != null) {
-			// Send the parent folder if it hasn't been sent already
-			sendFolder(mFile.getParent());
-			// Send the file if appropriate
-			if (ResourceSyncInfo.isDeletion(syncBytes)) {
-				// makes this resource sync undeleted
-				syncBytes = ResourceSyncInfo.convertFromDeletion(syncBytes);
-			}
-			if (!ResourceSyncInfo.isAddition(syncBytes)) {
-				session.sendEntry(syncBytes, ResourceSyncInfo.getTimestampToServer(syncBytes, mFile.getTimeStamp()));
-				session.sendIsModified(mFile, ResourceSyncInfo.isBinary(syncBytes), monitor);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/TemplateHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/TemplateHandler.java
deleted file mode 100644
index 1f64df4..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/TemplateHandler.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import java.io.*;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.util.SyncFileWriter;
-
-/**
- * @author Administrator
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class TemplateHandler extends ResponseHandler {
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.client.ResponseHandler#getResponseID()
-	 */
-	public String getResponseID() {
-		return "Template"; //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.client.ResponseHandler#handle(org.eclipse.team.internal.ccvs.core.client.Session, java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void handle(Session session, String localDir, IProgressMonitor monitor) throws CVSException {
-		session.readLine(); /* read the remote dir which is not needed */
-        // Only read the template file if the container exists.
-        // This is OK as we only use the template from the project folder which must exist
-        ICVSFolder localFolder = session.getLocalRoot().getFolder(localDir);
-		IContainer container = (IContainer)localFolder.getIResource();
-		ICVSStorage templateFile = null;
-		if (container != null && container.exists()) {
-		    try {
-                templateFile = CVSWorkspaceRoot.getCVSFileFor(SyncFileWriter.getTemplateFile(container));
-            } catch (CVSException e) {
-                // Log the inability to create the template file
-                CVSProviderPlugin.log(new CVSStatus(IStatus.ERROR, CVSStatus.ERROR, "Could not write template file in " + container.getFullPath() + ": " + e.getMessage(), e, session.getLocalRoot())); //$NON-NLS-1$ //$NON-NLS-2$
-            }
-		}
-		if (container == null || templateFile == null) {
-			// Create a dummy storage handle to recieve the contents from the server
-			templateFile = new ICVSStorage() {
-				public String getName() {
-					return "Template"; //$NON-NLS-1$
-				}
-				public void setContents(
-					InputStream stream,
-					int responseType,
-					boolean keepLocalHistory,
-					IProgressMonitor monitor)
-					throws CVSException {
-
-					try {
-						// Transfer the contents
-						OutputStream out = new ByteArrayOutputStream();
-						try {
-							byte[] buffer = new byte[1024];
-							int read;
-							while ((read = stream.read(buffer)) >= 0) {
-								Policy.checkCanceled(monitor);
-								out.write(buffer, 0, read);
-							}
-						} finally {
-							out.close();
-						}
-					} catch (IOException e) {
-						throw CVSException.wrapException(e); 
-					} finally {
-						try {
-							stream.close();
-						} catch (IOException e1) {
-							// Ignore close errors
-						}
-					}
-				}
-				public long getSize() {
-					return 0;
-				}
-				public InputStream getContents() throws CVSException {
-					return new ByteArrayInputStream(new byte[0]);
-				}
-			};
-		}
-		try {
-            session.receiveFile(templateFile, false, UpdatedHandler.HANDLE_UPDATED, monitor);
-        } catch (CVSException e) {
-            if (!(templateFile instanceof ICVSFile && handleInvalidResourceName(session, (ICVSFile)templateFile, e))) {
-                throw e;
-            }
-        }
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Update.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Update.java
deleted file mode 100644
index c127307..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Update.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener;
-import org.eclipse.team.internal.ccvs.core.client.listeners.UpdateListener;
-
-public class Update extends Command {
-	/*** Local options: specific to update ***/
-	public static final LocalOption CLEAR_STICKY = new LocalOption("-A"); //$NON-NLS-1$
-	public static final LocalOption IGNORE_LOCAL_CHANGES = new LocalOption("-C"); //$NON-NLS-1$
-	public static final LocalOption RETRIEVE_ABSENT_DIRECTORIES = new LocalOption("-d"); //$NON-NLS-1$
-	public static final LocalOption JOIN = new LocalOption("-j"); //$NON-NLS-1$
-	
-	/*** Default command output listener ***/
-	private static final ICommandOutputListener DEFAULT_OUTPUT_LISTENER = new UpdateListener(null);
-	
-	/*** File information status returned from update ***/
-	public static final int STATE_NONE = 0;							// no state information available
-	public static final int STATE_ADDED_LOCAL = 1; 			// new file locally that was added but not comitted to server yet
-	public static final int STATE_UNKOWN = 2; 						// new file locally but not added to server
-	public static final int STATE_REMOTE_CHANGES = 3; 		// remote changes to an unmodified local file
-	public static final int STATE_DELETED = 4; 						// removed locally but still exists on the server
-	public static final int STATE_MODIFIED = 5; 					// modified locally
-	public static final int STATE_CONFLICT = 6; 					// modified locally and on the server but cannot be auto-merged
-	public static final int STATE_MERGEABLE_CONFLICT = 7;  // modified locally and on the server but can be auto-merged
-
-	/**
-	 * Makes a -r or -D or -A option for a tag.
-	 * Valid for: checkout export history rdiff update
-	 */
-	public static LocalOption makeTagOption(CVSTag tag) {
-		int type = tag.getType();
-		switch (type) {
-			case CVSTag.HEAD:
-				return CLEAR_STICKY;
-			default:
-				return Command.makeTagOption(tag);
-		}
-	}
-	
-	protected Update() { }
-	protected String getRequestId() {
-		return "update"; //$NON-NLS-1$
-	}
-	
-	protected ICommandOutputListener getDefaultCommandOutputListener() {
-		return DEFAULT_OUTPUT_LISTENER;
-	}
-	
-	protected ICVSResource[] sendLocalResourceState(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, ICVSResource[] resources, IProgressMonitor monitor)
-		throws CVSException {			
-		
-		// Send all folders that are already managed to the server
-		// even folders that are empty
-		sendFileStructure(session, resources, localOptions, true, monitor);
-		return resources;
-	}
-	
-	/**
-	 * On successful finish, prune empty directories if the -P or -D option was specified.
-	 */
-	protected IStatus commandFinished(Session session, GlobalOption[] globalOptions,
-		LocalOption[] localOptions, ICVSResource[] resources, IProgressMonitor monitor,
-		IStatus status) throws CVSException {
-		// If we didn't succeed, don't do any post processing
-		if (status.getCode() == CVSStatus.SERVER_ERROR) {
-			return status;
-		}
-
-		// If we are pruning (-P), then prune empty directories
-		// Note, the CVS spec says that Date (-D) and version (-r) updates
-		// should automatically prune but this is a problem for remote CVS handles
-		// which fetch a level at a time
-		if (PRUNE_EMPTY_DIRECTORIES.isElementOf(localOptions)) { 
-			// Delete empty directories
-			new PruneFolderVisitor().visit(session, resources);
-			
-		}
-		return status;
-	}
-	
-	protected LocalOption[] filterLocalOptions(Session session, GlobalOption[] globalOptions, LocalOption[] localOptions) {
-		List newOptions = new ArrayList(Arrays.asList(localOptions));
-		
-		if (shouldRetrieveAbsentDirectories(session) && ! RETRIEVE_ABSENT_DIRECTORIES.isElementOf(localOptions)) {
-			newOptions.add(Update.RETRIEVE_ABSENT_DIRECTORIES);
-		}
-
-		// Prune empty directories if pruning is enabled and the command in not being run in non-update mode
-		if (CVSProviderPlugin.getPlugin().getPruneEmptyDirectories() && ! PRUNE_EMPTY_DIRECTORIES.isElementOf(localOptions)) {
-			if (! DO_NOT_CHANGE.isElementOf(globalOptions)) {
-				newOptions.add(Command.PRUNE_EMPTY_DIRECTORIES);
-			}
-		}
-		localOptions = (LocalOption[]) newOptions.toArray(new LocalOption[newOptions.size()]);
-		return super.filterLocalOptions(session, globalOptions, localOptions);
-	}
-	
-	/**
-	 * Return whether the update command should retrieve absent directories.
-	 * @param session the session
-	 * @return whether the update command should retrieve absent directories
-	 */
-	protected boolean shouldRetrieveAbsentDirectories(Session session) {
-		// Look for absent directories if enabled and the option is not already included
-		IResource resource = null;
-		RepositoryProvider provider = null;
-		// If there is a provider, use the providers setting
-		try {
-			resource = session.getLocalRoot().getIResource();
-			if (resource != null) {
-				provider = RepositoryProvider.getProvider(resource.getProject(), CVSProviderPlugin.getTypeId());
-				if (provider != null) {
-					if (((CVSTeamProvider)provider).getFetchAbsentDirectories()) {
-						return true;
-					}
-				}
-			}
-		} catch (CVSException e) {
-			CVSProviderPlugin.log(e);
-		}
-		// If there is no provider, use the global setting
-		if (provider == null) {
-			if (CVSProviderPlugin.getPlugin().getFetchAbsentDirectories()) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * We allow unmanaged resources as long as there parents are managed.
-	 * 
-	 * @see Command#checkResourcesManaged(Session, ICVSResource[])
-	 */
-	protected void checkResourcesManaged(Session session, ICVSResource[] resources) throws CVSException {
-		for (int i = 0; i < resources.length; ++i) {
-			ICVSFolder folder;
-			if (resources[i].isFolder()) {
-				if (((ICVSFolder)resources[i]).isCVSFolder()) {
-					folder = (ICVSFolder)resources[i];
-				} else {
-					folder = resources[i].getParent();
-				}
-			}
-			else {
-				folder = resources[i].getParent();
-			}
-			if (folder==null || (!folder.isCVSFolder() && folder.exists())) {
-                if (folder == null)
-                    folder = (ICVSFolder)resources[i];
-                IStatus status = new CVSStatus(IStatus.ERROR,CVSStatus.ERROR,NLS.bind(CVSMessages.Command_argumentNotManaged, new String[] { folder.getName() }),session.getLocalRoot());
-				throw new CVSException(status);
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.client.Command#doExecute(org.eclipse.team.internal.ccvs.core.client.Session, org.eclipse.team.internal.ccvs.core.client.Command.GlobalOption, org.eclipse.team.internal.ccvs.core.client.Command.LocalOption, java.lang.String, org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IStatus doExecute(
-			Session session,
-			GlobalOption[] globalOptions,
-			LocalOption[] localOptions,
-			String[] arguments,
-			ICommandOutputListener listener,
-			IProgressMonitor monitor)
-			throws CVSException {
-			
-		session.setIgnoringLocalChanges(IGNORE_LOCAL_CHANGES.isElementOf(localOptions));
-		try {
-			return super.doExecute(
-				session,
-				globalOptions,
-				localOptions,
-				arguments,
-				listener,
-				monitor);
-		} finally {
-			session.setIgnoringLocalChanges(false);
-		}
-
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/UpdateMergableOnly.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/UpdateMergableOnly.java
deleted file mode 100644
index 8c7f4d7..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/UpdateMergableOnly.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Red Hat Incorporated - is/setExecutable() code
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.listeners.*;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-
-/**
- * This custom update command will only update files that 
- * are either incoming changes (Update-existing) or auto-mergable
- * (Merged with no "+=" in entry line).
- */
-public class UpdateMergableOnly extends Update {
-	
-	private static final String LOCAL_FILE_PATH_VARIABLE_NAME = "localFilePath"; //$NON-NLS-1$
-	private static ServerMessageLineMatcher MERGE_UPDATE_CONFLICTING_ADDITION_MATCHER;
-	static {
-		// TODO: temprary until proper lifecycle is defined
-		initializePatterns();
-	}
-	public static void initializePatterns() {
-		try {
-			MERGE_UPDATE_CONFLICTING_ADDITION_MATCHER = new ServerMessageLineMatcher(
-				IMessagePatterns.MERGE_UPDATE_CONFLICTING_ADDITION, new String[] {LOCAL_FILE_PATH_VARIABLE_NAME});
-		} catch (CVSException e) {
-			// This is serious as the listener will not function properly
-			CVSProviderPlugin.log(e);
-		}
-	}
-	
-	List skippedFiles = new ArrayList();
-	
-	public class MergableOnlyUpdatedHandler extends UpdatedHandler {
-		
-		public MergableOnlyUpdatedHandler() {
-			// handle "Merged" responses
-			super(UpdatedHandler.HANDLE_MERGED);
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.team.internal.ccvs.core.client.UpdatedHandler#getTargetFile(org.eclipse.team.internal.ccvs.core.ICVSFolder, java.lang.String, byte[])
-		 */
-		protected ICVSFile getTargetFile(ICVSFolder mParent, String fileName, byte[] entryBytes) throws CVSException {
-			String adjustedFileName = fileName;
-			if (ResourceSyncInfo.isMergedWithConflicts(entryBytes)) {
-				// for merged-with-conflict, return a temp file
-				adjustedFileName = ".##" + adjustedFileName + " " + ResourceSyncInfo.getRevision(entryBytes); //$NON-NLS-1$ //$NON-NLS-2$
-				skippedFiles.add(((IContainer)mParent.getIResource()).getFile(new Path(null, fileName)));
-			}
-			return super.getTargetFile(mParent, adjustedFileName, entryBytes);
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.team.internal.ccvs.core.client.UpdatedHandler#receiveTargetFile(org.eclipse.team.internal.ccvs.core.client.Session, org.eclipse.team.internal.ccvs.core.ICVSFile, java.lang.String, java.util.Date, boolean, boolean, org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		protected void receiveTargetFile(
-			Session session,
-			ICVSFile mFile,
-			String entryLine,
-			Date modTime,
-			boolean binary,
-			boolean readOnly,
-			boolean executable,
-			IProgressMonitor monitor)
-			throws CVSException {
-			
-			if (ResourceSyncInfo.isMergedWithConflicts(entryLine.getBytes())) {
-				// For merged-with-conflict, just recieve the file contents.
-				// Use the Updated handler type so that the file will be created or
-				// updated.
-				session.receiveFile(mFile, binary, UpdatedHandler.HANDLE_UPDATED, monitor);
-				// Now delete the file since it is not used
-				mFile.delete();
-			} else {
-				super.receiveTargetFile(session, mFile, entryLine, modTime, binary, readOnly, executable, monitor);
-			}
-		}
-	}
-	
-	/**
-	 * Override the general update listener to handle the following
-	 * message:
-	 *   cvs server: file folder/file.ext exists, but has been added in revision TAG_NAME
-	 * This is required because MergeSubscriber adjusts the base when an update 
-	 * occurs and we can end up in a situation where the update faile with the
-	 * above message (see buh 58654).
-	 */
-	public class MergeUpdateListener extends UpdateListener {
-		public MergeUpdateListener(IUpdateMessageListener updateMessageListener) {
-			super(updateMessageListener);
-		}
-		public IStatus errorLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot, IProgressMonitor monitor) {
-			Map variables = MERGE_UPDATE_CONFLICTING_ADDITION_MATCHER.processServerMessage(line);
-			if (variables != null) {
-				String filePath = (String)variables.get(LOCAL_FILE_PATH_VARIABLE_NAME);
-				try {
-					ICVSResource cvsResource = commandRoot.getChild(filePath);
-					IResource resource = cvsResource.getIResource();
-					if (resource != null && resource.getType() == IResource.FILE) {
-						skippedFiles.add(resource);
-						return OK;
-					}
-				} catch (CVSException e) {
-					CVSProviderPlugin.log(e);
-					// Fall through to let the superclass process the error line
-				}
-			}
-			return super.errorLine(line, location, commandRoot, monitor);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.Command#doExecute(org.eclipse.team.internal.ccvs.core.client.Session, org.eclipse.team.internal.ccvs.core.client.Command.GlobalOption[], org.eclipse.team.internal.ccvs.core.client.Command.LocalOption[], java.lang.String[], org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IStatus doExecute(
-		Session session,
-		GlobalOption[] globalOptions,
-		LocalOption[] localOptions,
-		String[] arguments,
-		ICommandOutputListener listener,
-		IProgressMonitor monitor)
-		throws CVSException {
-		
-		MergableOnlyUpdatedHandler newHandler = new MergableOnlyUpdatedHandler();
-		ResponseHandler oldHandler = session.getResponseHandler(newHandler.getResponseID());
-		skippedFiles.clear();
-		try {
-			session.registerResponseHandler(newHandler);
-			// Don't create backup files since merges won't be overridden
-			session.setCreateBackups(false);
-			return super.doExecute(
-				session,
-				globalOptions,
-				localOptions,
-				arguments,
-				new MergeUpdateListener(null),
-				monitor);
-		} finally {
-			session.registerResponseHandler(oldHandler);
-			session.setCreateBackups(true);
-		}
-	}
-
-	public IFile[] getSkippedFiles() {
-		return (IFile[]) skippedFiles.toArray(new IFile[skippedFiles.size()]);
-	}
-	
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/UpdatedHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/UpdatedHandler.java
deleted file mode 100644
index dd6e43b..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/UpdatedHandler.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Red Hat Incorporated - is/setExecutable() code
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import java.util.Date;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.syncinfo.MutableResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-
-/**
- * Handles any "Updated" and "Merged" responses
- * from the CVS server.
- * <p>
- * Suppose as a result of performing a command the CVS server responds
- * as follows:<br>
- * <pre>
- *   [...]
- *   Updated ???\n
- *   [...]
- * </pre>
- * Then 
- * </p>
- */
-
-/**
- * Does get information about the file that is updated
- * and the file-content itself and puts it on the fileSystem.
- * 
- * The difference beetween the "Updated" and the "Merged" is, that
- * an "Merged" file is not going to be up-to-date after the operation.
- * 
- * Requiers a exisiting parent-folder.
- */
-public class UpdatedHandler extends ResponseHandler {
-	
-	private int handlerType;
-	
-	public static final int HANDLE_UPDATED = ICVSFile.UPDATED;
-	public static final int HANDLE_MERGED = ICVSFile.MERGED;
-	public static final int HANDLE_UPDATE_EXISTING = ICVSFile.UPDATE_EXISTING;
-	public static final int HANDLE_CREATED = ICVSFile.CREATED;
-	
-	private static final String READ_ONLY_FLAG = "u=rw"; //$NON-NLS-1$
-	private static final String EXECUTE_FLAG = "x"; //$NON-NLS-1$
-	
-	public UpdatedHandler(int handlerType) {
-		this.handlerType = handlerType;
-	}
-	
-	public String getResponseID() {
-		switch (handlerType) {
-			case HANDLE_UPDATED: return "Updated"; //$NON-NLS-1$
-			case HANDLE_MERGED: return "Merged"; //$NON-NLS-1$
-			case HANDLE_UPDATE_EXISTING: return "Update-existing"; //$NON-NLS-1$
-			case HANDLE_CREATED: return "Created"; //$NON-NLS-1$
-		}
-		return null;
-	}
-
-	public void handle(Session session, String localDir, IProgressMonitor monitor) throws CVSException {
-		// read additional data for the response
-		String repositoryFile = session.readLine();
-		String entryLine = session.readLine();
-		byte[] entryBytes = entryLine.getBytes();
-		String permissionsLine = session.readLine();
-
-		// clear file update modifiers
-		Date modTime = session.getModTime();
-		session.setModTime(null);
-		
-		// Get the local file
-		String fileName = repositoryFile.substring(repositoryFile.lastIndexOf("/") + 1); //$NON-NLS-1$
-		ICVSFolder mParent = getExistingFolder(session, localDir);
-		ICVSFile mFile = getTargetFile(mParent, fileName, entryBytes);
-		
-		boolean binary = ResourceSyncInfo.isBinary(entryBytes);
-		boolean readOnly = permissionsLine.indexOf(READ_ONLY_FLAG) == -1;
-		boolean executable = permissionsLine.indexOf(EXECUTE_FLAG) != -1;
-		
-		try {
-            // The file may have been set as read-only by a previous checkout/update
-            if (mFile.isReadOnly()) mFile.setReadOnly(false);
-        } catch (CVSException e) {
-            // Just log and keep going
-            CVSProviderPlugin.log(e);
-        }
-		
-		try {
-            receiveTargetFile(session, mFile, entryLine, modTime, binary, readOnly, executable, monitor);
-        } catch (CVSException e) {
-            // An error occurred while recieving the file.
-            // If it is due to an invalid file name,
-            // accumulate the error and continue.
-            // Otherwise, exit
-            if (!handleInvalidResourceName(session, mFile, e)) {
-                throw e;
-            }
-        }
-	}
-
-    protected ICVSFile getTargetFile(ICVSFolder mParent, String fileName, byte[] entryBytes) throws CVSException {
-		return mParent.getFile(fileName);
-	}
-	
-	protected void receiveTargetFile(Session session, ICVSFile mFile, String entryLine, Date modTime, boolean binary, boolean readOnly, boolean executable, IProgressMonitor monitor) throws CVSException {
-		
-		// receive the file contents from the server
-		session.receiveFile(mFile, binary, handlerType, monitor);
-		
-		// Set the timestamp in the file and get it again so that we use the *real* timestamp
-		// in the sync info. The os may not actually set the time we provided :)
-		mFile.setTimeStamp(modTime);
-		modTime = mFile.getTimeStamp();
-		ResourceSyncInfo info = new ResourceSyncInfo(entryLine, null);
-		MutableResourceSyncInfo newInfoWithTimestamp = info.cloneMutable();
-		newInfoWithTimestamp.setTimeStamp(modTime);
-		
-		//see bug 106876
-		CVSTag tag = newInfoWithTimestamp.getTag();
-		if(tag != null && CVSTag.BASE.getName().equals(tag.getName())){
-			newInfoWithTimestamp.setTag(mFile.getSyncInfo().getTag());
-		}
-		
-		int modificationState = ICVSFile.UNKNOWN;
-		if(handlerType==HANDLE_MERGED) {
-			newInfoWithTimestamp.setMerged();
-		} else if (!session.isIgnoringLocalChanges()
-			&& !info.isAdded() /* could be an added entry during a merge in which case it is dirty */
-			&& (handlerType==HANDLE_UPDATE_EXISTING || handlerType==HANDLE_CREATED)) {
-			// both these cases result in an unmodified file.
-			// reporting is handled by the FileModificationManager
-			modificationState = ICVSFile.CLEAN;
-			CVSProviderPlugin.getPlugin().getFileModificationManager().updated(mFile);
-		}
-		mFile.setSyncInfo(newInfoWithTimestamp, modificationState);
-		try {
-            if (readOnly) mFile.setReadOnly(true);
-			if (executable) mFile.setExecutable(true);
-        } catch (CVSException e) {
-            // Just log and keep going
-            CVSProviderPlugin.log(e);
-        }
-	}
-
-	public int getHandlerType() {
-		return handlerType;
-	}
-	
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ValidRequests.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ValidRequests.java
deleted file mode 100644
index cdb088e..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ValidRequests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-
-class ValidRequests extends Request {
-		
-	protected ValidRequests() { }
-	
-	protected String getRequestId() {
-		return "valid-requests"; //$NON-NLS-1$
-	}
-
-	public IStatus execute(Session session, IProgressMonitor monitor) throws CVSException {
-		return executeRequest(session, Command.DEFAULT_OUTPUT_LISTENER, monitor);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ValidRequestsHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ValidRequestsHandler.java
deleted file mode 100644
index d2c60a8..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/ValidRequestsHandler.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.client.Session;
-
-/**
- * Handles a "Valid-requests" response from the CVS server.
- * <p>
- * Suppose as a result of performing a command the CVS server responds
- * as follows:<br>
- * <pre>
- *   [...]
- *   Valid-requests ci co update Root Directory Valid-responses Argument ...\n
- *   [...]
- * </pre>
- * Then we remember the set of valid requests for this session in
- * preparation for isValidRequests queries.
- * </p>
- */
-class ValidRequestsHandler extends ResponseHandler {
-	public String getResponseID() {
-		return "Valid-requests"; //$NON-NLS-1$
-	}
-
-	public void handle(Session session, String validRequests,
-		IProgressMonitor monitor) throws CVSException {
-		// remember the set of valid requests for this session
-		session.setValidRequests(validRequests);
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Version.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Version.java
deleted file mode 100644
index 5fdee7d..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/Version.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
-import org.eclipse.team.internal.ccvs.core.CVSStatus;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-
-/**
- * Here are some of the output formats we know about:
- * 
- * Concurrent Versions System (CVS) 1.11.1p1 (client/server)
- * Concurrent Versions System (CVS) NT 1.11.1.1 (Build 27)
- * Concurrent Versions System (CVSNT) 1.11.1.3  (Build 57a) (client/server)
- */
-public class Version extends RemoteCommand {
-
-	private static final String CVS_NT_PREFIX_1 = "Concurrent Versions System (CVS) NT "; //$NON-NLS-1$
-	private static final String CVS_NT_PREFIX_2 = "Concurrent Versions System (CVSNT) "; //$NON-NLS-1$
-	private static final String CVS_PREFIX = "Concurrent Versions System (CVS) "; //$NON-NLS-1$
-	/**
-	 * @see Request#getRequestId()
-	 */
-	protected String getRequestId() {
-		return "version"; //$NON-NLS-1$
-	}
-
-	public IStatus execute(Session session, final ICVSRepositoryLocation location, IProgressMonitor monitor) throws CVSException {
-		
-		// The server may not support the version request
-		if ( ! session.isValidRequest(getRequestId())) {
-			IStatus status = new CVSStatus(IStatus.WARNING, CVSStatus.SERVER_IS_UNKNOWN, NLS.bind(CVSMessages.Version_versionNotValidRequest, new String[] { location.getHost() }), session.getLocalRoot());
-			((CVSRepositoryLocation)location).setServerPlaform(CVSRepositoryLocation.UNKNOWN_SERVER);
-			CVSProviderPlugin.log(status);
-			return status;
-		}
-		
-		ICommandOutputListener listener = new ICommandOutputListener() {
-			public IStatus messageLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot, IProgressMonitor monitor) {
-				String knownPrefix = null;
-				boolean isCVSNT = false;
-				if (line.startsWith(CVS_NT_PREFIX_1)) {
-					isCVSNT = true;
-					knownPrefix = CVS_NT_PREFIX_1;
-				} else if (line.startsWith(CVS_NT_PREFIX_2)) {
-					isCVSNT = true;
-					knownPrefix = CVS_NT_PREFIX_2;
-				} else if (line.startsWith(CVS_PREFIX)) {
-					knownPrefix = CVS_PREFIX;
-				}
-				IStatus status = OK;
-				int serverType = CVSRepositoryLocation.CVS_SERVER;
-				if (knownPrefix != null) {
-					String versionNumber = line.substring(knownPrefix.length(), line.indexOf(' ', knownPrefix.length() + 1));
-					if (versionNumber.startsWith("1.10") || versionNumber.equals("1.11") || versionNumber.equals("1.11.1")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					    serverType = CVSRepositoryLocation.UNSUPPORTED_SERVER;
-						status = new CVSStatus(IStatus.WARNING, CVSStatus.UNSUPPORTED_SERVER_VERSION, NLS.bind(CVSMessages.Version_unsupportedVersion, new String[] { location.getHost(), versionNumber }),location);
-					} else if (isCVSNT) {
-					    serverType = CVSRepositoryLocation.CVSNT_SERVER;
-					}
-				} else {
-				    serverType = CVSRepositoryLocation.UNKNOWN_SERVER;
-					status = new CVSStatus(IStatus.INFO, CVSStatus.SERVER_IS_UNKNOWN, NLS.bind(CVSMessages.Version_unknownVersionFormat, new String[] { location.getHost(), line }), location);
-				}
-				((CVSRepositoryLocation)location).setServerPlaform(serverType);
-				return status;
-			}
-			public IStatus errorLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot, IProgressMonitor monitor) {
-				return new CVSStatus(IStatus.ERROR, CVSStatus.ERROR_LINE, line, commandRoot);
-			}
-		};
-		
-		return execute(session, NO_GLOBAL_OPTIONS, NO_LOCAL_OPTIONS, new String[] {}, listener, monitor);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.Command#isWorkspaceModification()
-	 */
-	protected boolean isWorkspaceModification() {
-		return false;
-	}
-	
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/AdminKSubstListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/AdminKSubstListener.java
deleted file mode 100644
index 78341bb..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/AdminKSubstListener.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client.listeners;
-
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.CommandOutputListener;
-import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-/**
- * Used with 'admin -ksubst' to capture lines of text that are issued
- * as confirmation that the remote keyword substitution mode has been
- * changed.  When encountered, updates the local ResourceSyncInfo for
- * the file in question to reflect
- * 
- * e.g.
- *   RCS file: path/filename,v
- *   done
- * 
- * We don't expect to see anything special on stderr if the command succeeds.
- */
-public class AdminKSubstListener extends CommandOutputListener {
-	private KSubstOption ksubstMode;
-	
-	public AdminKSubstListener(KSubstOption ksubstMode) {
-		this.ksubstMode = ksubstMode;
-	}
-	
-	public IStatus messageLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot,
-		IProgressMonitor monitor) {
-		if (line.startsWith("RCS file:")) { //$NON-NLS-1$
-			String rcsFile = line.substring(10).trim();
-			if (! rcsFile.endsWith(",v")) { //$NON-NLS-1$
-				return new CVSStatus(IStatus.ERROR,
-					NLS.bind(CVSMessages.AdminKSubstListener_expectedRCSFile, new String[] { rcsFile })); 
-			}
-			IPath rcsFilePath = new Path(null, Util.removeAtticSegment(rcsFile.substring(0, rcsFile.length() - 2)));
-			try {
-				ICVSFile file = findLocalFileFor(commandRoot, rcsFilePath);
-				//ResourceSyncInfo info = file.getSyncInfo();
-				byte[] syncBytes = file.getSyncBytes();
-				if (syncBytes != null) {
-					// only update sync info if we have it locally
-					file.setSyncBytes(ResourceSyncInfo.setKeywordMode(syncBytes, ksubstMode), ICVSFile.UNKNOWN);
-				}
-			} catch (CVSException e) {
-				return e.getStatus();
-			}
-		}
-		return OK;
-	}
-	
-	private ICVSFile findLocalFileFor(ICVSFolder commandRoot, IPath rcsFilePath) throws CVSException {
-		
-		// First, look for the local file by following the remote path
-		FolderSyncInfo info = commandRoot.getFolderSyncInfo();
-		String remoteRootLocation = info.getRemoteLocation();
-		if (remoteRootLocation == null) {
-			throw new CVSException(new CVSStatus(IStatus.ERROR,
-				CVSMessages.AdminKSubstListener_commandRootNotManaged)); 
-		}
-		IPath remoteRootPath = new Path(null, remoteRootLocation);
-		if (remoteRootPath.isPrefixOf(rcsFilePath)) {
-			IPath relativeFilePath = rcsFilePath.removeFirstSegments(remoteRootPath.segmentCount());
-			ICVSFile file = commandRoot.getFile(relativeFilePath.toString());
-			if (file.isManaged() && isMatchingPath(file, rcsFilePath)) {
-			    return file;
-			}
-		}
-		
-		// We couldn't find the file that way which means we're working in a defined module.
-		// Scan all folders looking for a match
-		ICVSFolder parent = findFolder(commandRoot, rcsFilePath.removeLastSegments(1));
-		if (parent != null) {
-			ICVSFile file = parent.getFile(rcsFilePath.lastSegment());
-			if (file.isManaged()) {
-			    return file;
-			}
-		}
-		
-		// No file was found so return null;
-		throw new CVSException(new CVSStatus(IStatus.ERROR,
-				NLS.bind(CVSMessages.AdminKSubstListener_expectedChildOfCommandRoot, new String[] { rcsFilePath.toString(), remoteRootPath.toString() })));
-	}
-
-    private ICVSFolder findFolder(ICVSFolder commandRoot, IPath path) throws CVSException {
-        final String remotePath = path.toString();
-        final ICVSFolder[] result = new ICVSFolder[] { null };
-        commandRoot.accept(new ICVSResourceVisitor() {
-            public void visitFile(ICVSFile file) throws CVSException {
-                // Nothing to do for files
-            }
-            public void visitFolder(ICVSFolder folder) throws CVSException {
-                FolderSyncInfo info = folder.getFolderSyncInfo();
-                if (info != null && info.getRemoteLocation().equals(remotePath)) {
-                    // We found the folder we're looking for
-                    result[0] = folder;
-                }
-                if (result[0] == null) {
-                    folder.acceptChildren(this);
-                }
-            }
-        });
-        return result[0];
-    }
-
-    private boolean isMatchingPath(ICVSFile file, IPath rcsFilePath) throws CVSException {
-        FolderSyncInfo info = file.getParent().getFolderSyncInfo();
-        return info != null 
-           && info.getRemoteLocation().equals(rcsFilePath.removeLastSegments(1).toString());
-    }
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/AnnotateListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/AnnotateListener.java
deleted file mode 100644
index d757688..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/AnnotateListener.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client.listeners;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.CommandOutputListener;
-
-public class AnnotateListener extends CommandOutputListener {
-
-/**
- * Handle output from the CVS Annotate command.
- */	
-	ByteArrayOutputStream aStream = new ByteArrayOutputStream();
-	List blocks = new ArrayList();
-	int lineNumber;
-	
-	public IStatus messageLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot, IProgressMonitor monitor) {
-        String error = null;
-		CVSAnnotateBlock aBlock = new CVSAnnotateBlock(line, lineNumber++);
-		if (!aBlock.isValid()) {
-			error = line;
-		}
-		
-		/**
-		 * Make sure all lines have a line terminator.
-		 */
-		try {
-			aStream.write(line.substring(aBlock.getSourceOffset()).getBytes());
-			if (!(line.endsWith("\r") || line.endsWith("\r\n"))) { //$NON-NLS-1$ //$NON-NLS-2$
-				aStream.write(System.getProperty("line.separator").getBytes()); //$NON-NLS-1$
-			}
-		} catch (IOException e) {
-		}
-		add(aBlock);
-        if (error != null)
-            return new CVSStatus(IStatus.ERROR, CVSStatus.ERROR_LINE_PARSE_FAILURE, error, commandRoot);
-		return OK;
-	}
-	
-	public InputStream getContents() {
-		return new ByteArrayInputStream(aStream.toByteArray());
-	}
-	
-	public List getCvsAnnotateBlocks() {
-		return blocks;
-	}
-	/**
-	 * Add an annotate block to the receiver merging this block with the
-	 * previous block if it is part of the same change.
-	 * @param aBlock
-	 */
-	private void add(CVSAnnotateBlock aBlock) {
-		
-		int size = blocks.size();
-		if (size == 0) {
-			blocks.add(aBlock);
-		} else {
-			CVSAnnotateBlock lastBlock = (CVSAnnotateBlock) blocks.get(size - 1);
-			if (lastBlock.getRevision().equals(aBlock.getRevision())) {
-				lastBlock.setEndLine(aBlock.getStartLine());
-			} else {
-				blocks.add(aBlock);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener#errorLine(java.lang.String, org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation, org.eclipse.team.internal.ccvs.core.ICVSFolder, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus errorLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot, IProgressMonitor monitor) {
-		if(line.startsWith(CVSMessages.AnnotateListener_3)) { 
-			String error = CVSMessages.AnnotateListener_4; 
-			return new CVSStatus(IStatus.ERROR, CVSStatus.SERVER_ERROR, error, commandRoot);
-		}
-		return super.errorLine(line, location, commandRoot, monitor);
-	}
-
-	/**
-	 * Set the contents of the listener to the provided contents.
-	 * This is done if the contents fetched by the annotate command
-	 * has a charater set that may have been mangled by the transfer
-	 * @param remoteContents the actual contens of the file
-	 */
-	public void setContents(InputStream remoteContents) {
-		try {
-			ByteArrayOutputStream stream = new ByteArrayOutputStream();
-			byte[] buffer = new byte[1024];
-			int n = remoteContents.read(buffer);
-			while (n != -1) {
-				stream.write(buffer, 0, n);
-				n = remoteContents.read(buffer);
-			}
-			aStream = stream;
-		} catch (IOException e) {
-			// Log and continue
-			CVSProviderPlugin.log(CVSException.wrapException(e));
-		}
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/DiffListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/DiffListener.java
deleted file mode 100644
index 7de08ec..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/DiffListener.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client.listeners;
-
-
-import java.io.PrintStream;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.client.CommandOutputListener;
-import org.eclipse.team.internal.ccvs.core.client.Session;
-
-public class DiffListener extends CommandOutputListener {
-	PrintStream patchStream;
-	boolean wroteToStream;
-	
-	//Error Messages returned by CVS
-	static final String ERR_NOSUCHDIRECTORY = "cvs [diff aborted]: no such directory"; //$NON-NLS-1$
-	
-	public DiffListener(PrintStream patchStream) {
-		this.patchStream = patchStream;
-		wroteToStream=false;
-	}
-	
-	public IStatus messageLine(
-			String line, 
-			ICVSRepositoryLocation location, 
-			ICVSFolder commandRoot,
-			IProgressMonitor monitor) {
-		
-		// Special handling to avoid getting duplicate CRs when generating a patch on windows.  
-		// If the remote file has CR/LF in it, then the line will have a CR at the end.
-        // We need to remove it so we don't end up with two CRs (since the printStream will also add one).
-        // On *nix, we want to include the CR since it will not be added by the printStream (see bug 92162).
-		if (Session.IS_CRLF_PLATFORM && line.length() > 0 && line.charAt(line.length() - 1) == '\r') {
-			line = line.substring(0, line.length() - 1);
-		}
-		patchStream.println(line);
-		wroteToStream=true;
-		
-		return OK;
-	}
-
-	public IStatus errorLine(
-			String line, 
-			ICVSRepositoryLocation location, 
-			ICVSFolder commandRoot,
-			IProgressMonitor monitor) {
-		// ignore server messages for now - this is used only with the diff
-		// request and the errors can be safely ignored.
-		if (getServerMessage(line, location) != null) {
-			return OK;
-		}
-		
-		//Check to see if this is a no such directory message
-		if (line.indexOf(ERR_NOSUCHDIRECTORY) != -1){
-			return OK;
-		}
-		return super.errorLine(line, location, commandRoot, monitor);
-	}
-
-	public boolean wroteToStream() {
-		return wroteToStream;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/EditorsListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/EditorsListener.java
deleted file mode 100644
index db5438f..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/EditorsListener.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     CSC - Intial implementation
- *     IBM Corporation - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client.listeners;
-
-import java.util.LinkedList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.EditorsInfo;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.client.CommandOutputListener;
-
-
-/**
- * 
- *
- * Listener for the Editors command
- * 
- * @author <a href="mailto:kohlwes@gmx.net">Gregor Kohlwes</a>
- * 
- */
-public class EditorsListener extends CommandOutputListener {
-	/**
-	 *  List to store the EditorsInfos
-	 */
-	private List infos = new LinkedList();
-	
-	/**
-	 *  Name of the current file 
-	 */
-	private String fileName;
-
-	/**
-	 * Constructor EditorsListener.
-	 */
-	public EditorsListener() {
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener#messageLine(java.lang.String, org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation, org.eclipse.team.internal.ccvs.core.ICVSFolder, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus messageLine(
-		String line,
-		ICVSRepositoryLocation location,
-		ICVSFolder commandRoot,
-		IProgressMonitor monitor) {
-
-		// If there is a file with multiple editors
-		// then cvs will write the filename only 
-		// in the first line and the following
-		// line will start with a Tab
-		if (line.startsWith("\t")) { //$NON-NLS-1$
-			line = fileName + line;
-		}
-		EditorsInfo info = new EditorsInfo();
-		StringTokenizer tokenizer = new StringTokenizer(line,"\t"); //$NON-NLS-1$
-		int i = 0;
-		while(tokenizer.hasMoreTokens()) {
-			String token = tokenizer.nextToken();
-			switch (i) {
-				case 0:
-					info.setFileName(token);
-					fileName = token;
-					break;
-				case 1:
-					info.setUserName(token);
-					break;
-				case 2:
-					info.setDateString(token);
-					break;
-				case 3:
-					info.setComputerName(token);
-					break;
-				default :
-					break;
-			}
-			i++;			
-		}
-		
-		infos.add(info);
-		return OK;
-
-	}
-	/**
-	 * Method getEditorsInfos.
-	 * @return IEditorsInfo[]
-	 */
-	public EditorsInfo[] getEditorsInfos() {
-		return (EditorsInfo[]) infos.toArray(new EditorsInfo[infos.size()]);
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ICommandOutputListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ICommandOutputListener.java
deleted file mode 100644
index 0515913..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ICommandOutputListener.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client.listeners;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.CVSStatus;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-
-/**
- * Instances of this interface can be passed to the <code>Command#execute</code> methods
- * and will receive notification when M or E messages are received from the server.
- */
-public interface ICommandOutputListener {
-	
-	/*** Status to be returned when no error or warning occured ***/
-	public static final IStatus OK = new CVSStatus(IStatus.OK, CVSMessages.ok); 
-	
-	public static final String SERVER_PREFIX = "server: "; //$NON-NLS-1$
-	public static final String SERVER_ABORTED_PREFIX = "[server aborted]: "; //$NON-NLS-1$
-	public static final String RTAG_PREFIX = "rtag: "; //$NON-NLS-1$
-	
-	/**
-	 * Invoked when a message line is received from the server.
-	 * <p>
-	 * Any status other than ICommandOutputListener.OK will be accumulated
-	 * by the command and returned. The severity of the status matches those of
-	 * IStatus and must indicate whether this is a warning, error, or informational 
-	 * text.while the code should be one of the codes provided by CVSStatus.
-	 * The status code must not be CVSStatus.SERVER_ERROR.
-	 * </p>
-	 * 
-	 * @param line the line of message text sent by the server
-	 * @param commandRoot the root directory of the command
-	 * @param monitor the progress monitor
-	 * @return a status indicating success or failure based on the text
-	 */
-	public IStatus messageLine(String line,
-		ICVSRepositoryLocation location,
-		ICVSFolder commandRoot,
-		IProgressMonitor monitor);
-
-	/**
-	 * Invoked when an error line is received from the server.
-	 * <p>
-	 * Any status other than ICommandOutputListener.OK will be accumulated
-	 * by the command and returned. The severity of the status matches those of
-	 * IStatus and must indicate whether this is a warning, error, or informational 
-	 * text.while the code should be one of the codes provided by CVSStatus.
-	 * The status code must not be CVSStatus.SERVER_ERROR.
-	 * </p>
-	 * 
-	 * @param line the line of error text sent by the server
-	 * @param commandRoot the root directory of the command
-	 * @param monitor the progress monitor
-	 * @return a status indicating success or failure based on the text
-	 */
-	public IStatus errorLine(String line,
-		ICVSRepositoryLocation location,
-		ICVSFolder commandRoot,
-		IProgressMonitor monitor);
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/IConsoleListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/IConsoleListener.java
deleted file mode 100644
index a625735..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/IConsoleListener.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client.listeners;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.client.Session;
-
-public interface IConsoleListener {
-	/**
-	 * Called when a command is invoked.
-	 * @param session the session that the command is being executed over
-	 * @param line the command invocation string
-	 */
-	public void commandInvoked(Session session, String line);
-	
-	/**
-	 * Called when a line of message text has been received.
-	 * @param session the session that the command is being executed over
-	 * @param line the line of text
-	 * @param status the status returned from the command message parser
-	 */
-	public void messageLineReceived(Session session, String line, IStatus status);
-	
-	/**
-	 * Called when a line of error text has been received.
-	 * @param session the session that the command is being executed over
-	 * @param line the line of text
-	 * @param status the status returned from the command message parser
-	 */
-	public void errorLineReceived(Session session, String line, IStatus status);
-	
-	/**
-	 * Called when a command has been completed.
-	 * @param session the session that the command is being executed over
-	 * @param status the status code, or null if not applicable
-	 * @param exception an exception, or null if not applicable
-	 */
-	public void commandCompleted(Session session, IStatus status, Exception exception);
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ILogEntryListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ILogEntryListener.java
deleted file mode 100644
index 91a4c7b..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ILogEntryListener.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client.listeners;
-
-import org.eclipse.team.internal.ccvs.core.ILogEntry;
-
-/**
- * Interface for receiving log entries from the <code>LogListener</code>
- */
-public interface ILogEntryListener {
-
-    /**
-     * A log entry was received for the current file
-     * @param entry the received log entry.
-     */
-    void handleLogEntryReceived(ILogEntry entry);
-    
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/IMessagePatterns.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/IMessagePatterns.java
deleted file mode 100644
index 9d3a690..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/IMessagePatterns.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client.listeners;
-
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-/**
- * This class contains the default server message patterns
- */
-public interface IMessagePatterns {
-
-	public static final String SERVER_MESSAGE_PREFIX = "\\w* \\w*: "; //$NON-NLS-1$
-	public static final String SERVER_ABORTED_MESSAGE_PREFIX = "\\w* [\\w* aborted]: "; //$NON-NLS-1$
-	
-	// TODO: These patterns could be more specific but this would require non-capturing
-	// groups which currently throw off variable matching
-	public static final String TAG_PATTERN = "\\w*"; //$NON-NLS-1$
-	public static final String REVISION_PATTERN = ".*"; //$NON-NLS-1$
-	public static final String FILE_PATH_PATTERN = ".*"; //$NON-NLS-1$
-	
-	// TODO: It would be better if the prefix was optional but this requires the use of a capturing group which throws the group count off
-	public static final String RDIFF_DIRECTORY = SERVER_MESSAGE_PREFIX + "Diffing " + Util.getVariablePattern(FILE_PATH_PATTERN, "remoteFolderPath"); //$NON-NLS-1$ //$NON-NLS-2$
-	public static final String RDIFF_SUMMARY_FILE_DIFF = "File " + Util.getVariablePattern(FILE_PATH_PATTERN, "remoteFilePath") + " changed from revision " + Util.getVariablePattern(REVISION_PATTERN, "leftRevision") + " to " + Util.getVariablePattern(REVISION_PATTERN, "rightRevision"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-	public static final String RDIFF_SUMMARY_NEW_FILE = "File " + Util.getVariablePattern(FILE_PATH_PATTERN, "remoteFilePath") + " is new; " + TAG_PATTERN + " revision " + Util.getVariablePattern(REVISION_PATTERN, "rightRevision"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	public static final String RDIFF_SUMMARY_DELETED_FILE = "File " + Util.getVariablePattern(FILE_PATH_PATTERN, "remoteFilePath") + " is removed; not included in release tag " + TAG_PATTERN; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	// This format was introduced in 1.11.7
-	public static final String RDIFF_SUMMARY_DELETED_FILE2 = "File " + Util.getVariablePattern(FILE_PATH_PATTERN, "remoteFilePath") + " is removed; " + TAG_PATTERN + " revision " + Util.getVariablePattern(REVISION_PATTERN, "leftRevision"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	
-	public static final String MERGE_UPDATE_CONFLICTING_ADDITION = SERVER_MESSAGE_PREFIX + "file " + Util.getVariablePattern(FILE_PATH_PATTERN, "localFilePath") + " exists, but has been added in revision " + TAG_PATTERN;  //$NON-NLS-1$ //$NON-NLS-2$//$NON-NLS-3$
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/IStatusListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/IStatusListener.java
deleted file mode 100644
index 3e0093a..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/IStatusListener.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client.listeners;
- 
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-
-public interface IStatusListener {
-	
-	public static final String FOLDER_REVISION = ""; //$NON-NLS-1$
-	
-	/**
-	 * Provides access to the revision of a file through the use of the Status command.
-	 * 
-	 * @param commandRoot the root directory of the command
-	 * @param path the absolute remote path of the resource including the repository root directory
-	 * @param remoteRevision the remote revision of the file
-	 */
-	public void fileStatus(ICVSFolder commandRoot, String path, String remoteRevision);
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/IUpdateMessageListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/IUpdateMessageListener.java
deleted file mode 100644
index 009e8b4..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/IUpdateMessageListener.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client.listeners;
- 
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-
-/**
- * This listener is used by RemoteFolder to listener for E and M messages
- * from the CVS server in order to determine the files and folders contained in a parent folder.
- */
-public interface IUpdateMessageListener {
-	/**
-	 * Notification that a directory (which may or may not have been reported by 
-	 * directoryInformation()) does not exist.
-	 * 
-	 * @param commandRoot the root directory of the command
-	 * @param path the path of the directory relative to the commandRoot
-	 */
-	public void directoryDoesNotExist(ICVSFolder commandRoot, String path);
-	/**
-	 * Notification of information about a directory.
-	 * 
-	 * @param commandRoot the root directory of the command
-	 * @param path the path of the directory relative to the commandRoot
-	 * @param newDirectory true if the directory does not exist locally (i.e. in the commandRoot hierarchy)
-	 */
-	public void directoryInformation(ICVSFolder commandRoot, String path, boolean newDirectory);
-	/**
-	 * Notification of information about a file
-	 * 
-	 * @param type the type of update for the file (see Update for type constants)
-	 * @param commandRoot the root directory of the command
-	 * @param filename the path of the file relative to the commandRoot
-	 */
-	public void fileInformation(int type, ICVSFolder parent, String filename);
-	/**
-	 * Notification that a file does not exists remotely
-	 * 
-	 * @param commandRoot the root directory of the command
-	 * @param filename the path of the file relative to the commandRoot
-	 */
-	public void fileDoesNotExist(ICVSFolder parent, String filename);
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/LogEntry.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/LogEntry.java
deleted file mode 100644
index af2937a..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/LogEntry.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client.listeners;
-
- 
-import java.util.Date;
-
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFile;
-
-public class LogEntry extends PlatformObject implements ILogEntry {
-
-	private RemoteFile file;
-	private String author;
-	private Date date;
-	private String comment;
-	private String state;
-	private CVSTag[] tags;
-    private String[] revisions;
-    
-	/*
-	 * Flatten the text in the multi-line comment
-	 */
-	public static String flattenText(String string) {
-		StringBuffer buffer = new StringBuffer(string.length() + 20);
-		boolean skipAdjacentLineSeparator = true;
-		for (int i = 0; i < string.length(); i++) {
-			char c = string.charAt(i);
-			if (c == '\r' || c == '\n') {
-				if (!skipAdjacentLineSeparator)
-					buffer.append(CVSMessages.LogEntry_0); 
-				skipAdjacentLineSeparator = true;
-			} else {
-				buffer.append(c);
-				skipAdjacentLineSeparator = false;
-			}
-		}
-		return buffer.toString();
-	}
-	
-	public LogEntry(RemoteFile file, String revision, String author, Date date, String comment, String state, CVSTag[] tags) {
-		this.file = file.toRevision(revision);
-		this.author = author;
-		this.date = date;
-		this.comment = comment;
-		this.state = state;
-		this.tags = tags;
-	}
-	
-	public LogEntry(RemoteFile file, String revision, String author, Date date, String comment, String state, CVSTag[] tags, String[] revisions) {
-		this(file,revision,author,date,comment,state,tags);
-		this.revisions=revisions;
-	}
-
-	/**
-	 * @see ILogEntry#getRevision()
-	 */
-	public String getRevision() {
-		return file.getRevision();
-	}
-
-	/**
-	 * @see ILogEntry#getAuthor()
-	 */
-	public String getAuthor() {
-		return author;
-	}
-
-	/**
-	 * @see ILogEntry#getDate()
-	 */
-	public Date getDate() {
-		return date;
-	}
-
-	/**
-	 * @see ILogEntry#getComment()
-	 */
-	public String getComment() {
-		return comment;
-	}
-
-	/**
-	 * @see ILogEntry#getState()
-	 */
-	public String getState() {
-		return state;
-	}
-
-	/**
-	 * @see ILogEntry#getTags()
-	 */
-	public CVSTag[] getTags() {
-		CVSTag[] result = new CVSTag[tags.length];
-		System.arraycopy(tags, 0, result, 0, tags.length);
-		return result;
-	}
-
-	/**
-	 * @see ILogEntry#getRemoteFile()
-	 */
-	public ICVSRemoteFile getRemoteFile() {
-		return file;
-	}
-	
-	/**
-	 * @see ILogEntry#isDeletion()
-	 */
-	public boolean isDeletion() {
-		return getState().equals("dead"); //$NON-NLS-1$
-	}
-
-	/**
-	 * In the case where files on a branch haven't been modified since their initial branch point, 
-	 * they keep the revision number of their predecessor. In this case no revision info will be displayed
-	 * while doing a log, so all branch revision numbers are recorded. This allows the user to pick which revision
-	 * they are interested in.
-	 * @return an array of branch revision strings or an empty array if no branch revisions were recorded
-	 */
-	public String[] getBranchRevisions(){
-		
-		if (revisions != null)
-			return revisions;
-		
-		return new String[0];
-	}
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/LogListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/LogListener.java
deleted file mode 100644
index aab7efc..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/LogListener.java
+++ /dev/null
@@ -1,330 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Brock Janiczak <brockj@tpg.com.au> - Bug 179977 CVS log command doesn't scale well with lots of tags and versions
- *     Brock Janiczak <brockj@tpg.com.au> - Bug 194396 Reduce retained memory usage of LogEntry objects
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client.listeners;
-
-import java.text.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.CommandOutputListener;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFile;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-/**
- * Log listener that parses the log entries returned from the
- * server but delegates the handling of the entries to a subclass.
- */
-public class LogListener extends CommandOutputListener {
-    
-    /*
-     * A new format for log dates was introduced in 1.12.9
-     */
-    private static final String LOG_TIMESTAMP_FORMAT_OLD= "yyyy/MM/dd HH:mm:ss zzz";//$NON-NLS-1$
-    private static final String LOG_TIMESTAMP_FORMAT= "yyyy-MM-dd HH:mm:ss zzz";//$NON-NLS-1$
-    private static final Locale LOG_TIMESTAMP_LOCALE= Locale.US;
-    private final DateFormat LOG_DATE_FORMATTER_OLD = new SimpleDateFormat(LOG_TIMESTAMP_FORMAT_OLD, LOG_TIMESTAMP_LOCALE);
-    private final DateFormat LOG_DATE_FORMATTER = new SimpleDateFormat(LOG_TIMESTAMP_FORMAT, LOG_TIMESTAMP_LOCALE);
-    
-    // Server message prefix used for error detection
-    private static final String NOTHING_KNOWN_ABOUT = "nothing known about "; //$NON-NLS-1$
-
-    // States of log accumulation.
-    private final int DONE = 4;
-    private final int COMMENT = 3;
-    private final int REVISION = 2;
-    private final int SYMBOLIC_NAMES = 1;
-    private final int BEGIN = 0;
-    
-    //Tag used for accumulating all of a branch's revision info
-    public final static String BRANCH_REVISION = "branchRevision"; //$NON-NLS-1$
-    
-    private static final CVSTag[] NO_TAGS = new CVSTag[0];
-    private static final String[] NO_VERSIONS = new String[0];
-    
-    // Instance variables for accumulating Log information
-    private RemoteFile currentFile;
-    private int state = BEGIN;
-    private StringBuffer comment;
-    private String fileState;
-    private String revision;
-    private String author;
-    private Date creationDate;
-    private List versions = new ArrayList();
-    private Map internedStrings = new HashMap();
-    private final ILogEntryListener listener;
-    
-    /**
-     * Create a log listener for receiving entries for one or more files.
-     */
-    public LogListener(ILogEntryListener listener) {
-        this.listener = listener;
-    }
-
-    public LogListener(RemoteFile file, ILogEntryListener listener) {
-        this(listener);
-        this.currentFile = file;   
-    }
-
-    private String getRelativeFilePath(ICVSRepositoryLocation location, String fileName) {
-    	if (fileName.endsWith(",v")) { //$NON-NLS-1$
-    		fileName = fileName.substring(0, fileName.length() - 2);
-    	}
-    	fileName = Util.removeAtticSegment(fileName);
-    	String rootDirectory = location.getRootDirectory();
-    	if (fileName.startsWith(rootDirectory)) {
-    		try {
-    			fileName = Util.getRelativePath(rootDirectory, fileName);
-    		} catch (CVSException e) {
-    			CVSProviderPlugin.log(e);
-    			return null;
-    		}
-    	}
-    	return fileName;
-    }
-
-    public IStatus errorLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot, IProgressMonitor monitor) {
-    	String serverMessage = getServerMessage(line, location);
-    	if (serverMessage != null) {
-    		// look for the following condition
-    		// E cvs server: nothing known about fileName
-    		if (serverMessage.startsWith(NOTHING_KNOWN_ABOUT)) {
-    			return new CVSStatus(IStatus.ERROR, CVSStatus.DOES_NOT_EXIST, line, commandRoot);
-    		}
-    	}
-    	return OK;
-    }
-
-    public IStatus messageLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot, IProgressMonitor monitor) {
-    	// Fields we will find in the log for a file
-    	// keys = String (tag name), values = String (tag revision number) */
-    	switch (state) {
-    		case BEGIN:
-    			if (line.startsWith("RCS file: ")) { //$NON-NLS-1$
-    				// We are starting to recieve the log for a file
-    				String fileName = getRelativeFilePath(location, line.substring(10).trim());
-    				if (fileName == null) {
-    				    currentFile = null;
-    					handleInvalidFileName(location, fileName);
-    				} else {
-    			        if (currentFile == null || !currentFile.getRepositoryRelativePath().equals(fileName)) {
-    			        	// We are starting another file
-    			        	beginFile(location, fileName);
-    			        }
-    				}
-    			} else  if (line.startsWith("symbolic names:")) { //$NON-NLS-1$
-    				state = SYMBOLIC_NAMES;
-    			} else if (line.startsWith("revision ")) { //$NON-NLS-1$
-    				revision = internAndCopyString(line.substring(9));
-    				state = REVISION;
-    			} else if (line.startsWith("total revisions:")){ //$NON-NLS-1$
-    				//if there are no current revision selected and this is a branch then we are in the 
-    				//case where there have been no changes made on the branch since the initial branching
-    				//and we need to get the revision that the branch was made from
-    				int indexOfSelectedRevisions = line.lastIndexOf("selected revisions: "); //$NON-NLS-1$
-    				//20 for length of "selected revisions: "
-    				String selectedRevisions = line.substring(indexOfSelectedRevisions + 20).trim();
-    				if (selectedRevisions.equals("0")){ //$NON-NLS-1$
-    					//ok put into comment state to await ======= and add info to log
-    					state = COMMENT;
-    					revision = BRANCH_REVISION;
-    					comment = new StringBuffer();
-    				}
-    			}
-    			break;
-    		case SYMBOLIC_NAMES:
-    			if (line.startsWith("keyword substitution:")) { //$NON-NLS-1$
-    				state = BEGIN;
-    			} else {
-    				int firstColon = line.indexOf(':');
-    				String tagName = internAndCopyString(line.substring(1, firstColon));
-    				String tagRevision = internAndCopyString(line.substring(firstColon + 2));
-    				versions.add(new VersionInfo(tagRevision, tagName));
-    			}
-    			break;
-    		case REVISION:
-    			// date: 2000/06/19 04:56:21;  author: somebody;  state: Exp;  lines: +114 -45
-    			// get the creation date
-    			int endOfDateIndex = line.indexOf(';', 6);
-    			creationDate = convertFromLogTime(line.substring(6, endOfDateIndex) + " GMT"); //$NON-NLS-1$
-    
-    			// get the author name
-    			int endOfAuthorIndex = line.indexOf(';', endOfDateIndex + 1);
-    			author = internAndCopyString(line.substring(endOfDateIndex + 11, endOfAuthorIndex));
-    
-    			// get the file state (because this revision might be "dead")
-    			fileState = internAndCopyString(line.substring(endOfAuthorIndex + 10, line.indexOf(';', endOfAuthorIndex + 1)));
-    			comment = new StringBuffer();
-    			state = COMMENT;
-    			break;
-    		case COMMENT:
-    			// skip next line (info about branches) if it exists, if not then it is a comment line.
-    			if (line.startsWith("branches:")) break; //$NON-NLS-1$
-    			if (line.equals("=============================================================================") //$NON-NLS-1$
-    				|| line.equals("----------------------------")) { //$NON-NLS-1$
-    				state = DONE;
-    				break;
-    			}
-    			//check for null if we are in the waiting to finish case (brought on by branches)
-    			if (comment == null)
-    				break; 
-    			
-    			if (comment.length() != 0) comment.append('\n');
-    			comment.append(line);
-    			break;
-    	}
-    	if (state == DONE) {
-    		// we are only interested in tag names for this revision, remove all others.
-    		List thisRevisionTags = versions.isEmpty() ? Collections.EMPTY_LIST : new ArrayList(3);
-    		//a parallel lists for revision tags (used only for branches with no commits on them)
-    		List revisionVersions = versions.isEmpty() ? Collections.EMPTY_LIST : new ArrayList(3);
-    		for (Iterator i = versions.iterator(); i.hasNext();) {
-    			VersionInfo version = (VersionInfo) i.next();
-    			String tagName = version.getTagName();
-    			String tagRevision = version.getTagRevision();
-    			
-    			if (tagRevision.equals(revision) ||
-    				revision.equals(BRANCH_REVISION)) {
-    				int type = version.isBranch() ? CVSTag.BRANCH : CVSTag.VERSION;
-    				thisRevisionTags.add(new CVSTag(tagName, type));
-    				if (revision.equals(BRANCH_REVISION)){
-    					//also record the tag revision
-    					revisionVersions.add(tagRevision);
-    				}
-    			}
-    		}
-    		
-    		if (currentFile != null) {
-    			LogEntry entry = new LogEntry(currentFile, revision, author, creationDate,
-    				internString(comment.toString()), fileState, !thisRevisionTags.isEmpty() ? (CVSTag[]) thisRevisionTags.toArray(new CVSTag[thisRevisionTags.size()]) : NO_TAGS, !revisionVersions.isEmpty() ? (String[]) revisionVersions.toArray(new String[revisionVersions.size()]) : NO_VERSIONS);
-    			addEntry(entry);
-    		}
-    		state = BEGIN;
-    	}
-    	return OK;
-    }
-
-    protected void beginFile(ICVSRepositoryLocation location, String fileName) {
-    	currentFile = RemoteFile.create(fileName, location);
-    	versions.clear();
-    }
-
-    protected void addEntry(LogEntry entry) {
-        listener.handleLogEntryReceived(entry);
-    }
-
-    protected void handleInvalidFileName(ICVSRepositoryLocation location, String badFilePath) {
-        CVSProviderPlugin.log(IStatus.WARNING, "Invalid file path '" + badFilePath + "' received from " + location.toString(), null); //$NON-NLS-1$ //$NON-NLS-2$
-    }
-
-    /**
-     * Converts a time stamp as sent from a cvs server for a "log" command into a
-     * <code>Date</code>.
-     */
-    private Date convertFromLogTime(String modTime) {
-        DateFormat format = LOG_DATE_FORMATTER;
-        // Compatibility for older cvs version (pre 1.12.9)
-        if (modTime.length() > 4 && modTime.charAt(4) == '/')
-            format = LOG_DATE_FORMATTER_OLD;
-        
-        try {
-            return format.parse(modTime);
-        } catch (ParseException e) {
-            // fallback is to return null
-            return null;
-        }
-    }
-    
-    private String internAndCopyString(String string) {
-    	String internedString = (String) internedStrings.get(string);
-    	if (internedString == null) {
-    		internedString = new String(string);
-    		internedStrings.put(internedString, internedString);
-    	}
-    	return internedString;
-    }
-    
-    private String internString(String string) {
-    	String internedString = (String) internedStrings.get(string);
-    	if (internedString == null) {
-    		internedString = string;
-    		internedStrings.put(internedString, internedString);
-    	}
-    	return internedString;    	
-    }
-    
-    private static class VersionInfo {
-		private final String version;
-		private final boolean isBranch;
-		private String tagRevision;
-		private final String tagName;
-		
-    	public VersionInfo(String version, String tagName) {
-			this.version = version;
-			this.tagName = tagName;
-			this.isBranch = isBranchTag(version);
-			tagRevision = version;
-			if (isBranch) {
-				int lastDot = version.lastIndexOf('.');
-				if (lastDot == -1) {
-					CVSProviderPlugin.log(IStatus.ERROR, 
-						NLS.bind(CVSMessages.LogListener_invalidRevisionFormat, new String[] { tagName, version }), null); 
-				} else {
-					if (version.charAt(lastDot - 1) == '0' && version.charAt(lastDot - 2) == '.') {
-						lastDot = lastDot - 2;
-					}
-					tagRevision = version.substring(0, lastDot);
-				}
-			}
-    	}
-    	
-		public String getVersion() {
-			return this.version;
-		}
-		
-		public String getTagName() {
-			return this.tagName;
-		}
-		
-		public String getTagRevision() {
-			return this.tagRevision;
-		}
-    	
-    	public boolean isBranch() {
-    		return isBranch;
-    	}
-    	
-        /** branch tags have odd number of segments or have
-         *  an even number with a zero as the second last segment
-         *  e.g: 1.1.1, 1.26.0.2 are branch revision numbers */
-        private boolean isBranchTag(String tagName) {
-        	// First check if we have an odd number of segments (i.e. even number of dots)
-        	int numberOfDots = 0;
-        	int lastDot = 0;
-        	for (int i = 0; i < tagName.length(); i++) {
-        		if (tagName.charAt(i) == '.') {
-        			numberOfDots++;
-        			lastDot = i;
-        		}
-        	}
-        	if ((numberOfDots % 2) == 0) return true;
-        	if (numberOfDots == 1) return false;
-        	
-        	// If not, check if the second lat segment is a zero
-        	if (tagName.charAt(lastDot - 1) == '0' && tagName.charAt(lastDot - 2) == '.') return true;
-        	return false;
-        }
-    }
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ModuleDefinitionsListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ModuleDefinitionsListener.java
deleted file mode 100644
index 99da58e..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ModuleDefinitionsListener.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client.listeners;
-
- 
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.client.CommandOutputListener;
-
-/*
- * This class pares the output of the "cvs checkout -c" command which returns the list of modules 
- * defined in the CVSROOT/modules file.
- */
-public class ModuleDefinitionsListener extends CommandOutputListener {
-
-	// the last line read from the context (used to accumulate multi-line definitions)
-	private String lastLine = ""; //$NON-NLS-1$
-	
-	private Map moduleMap;
-	
-	public ModuleDefinitionsListener() {
-		reset();
-	}
-	
-	/*
-	 * @see ICommandOutputListener#messageLine(String, ICVSFolder, IProgressMonitor)
-	 */
-	public IStatus messageLine(
-		String line,
-		ICVSRepositoryLocation location,
-		ICVSFolder commandRoot,
-		IProgressMonitor monitor) {
-		
-		// Lines that start with a space indicate a multi line entry
-		if( line.charAt(0) == ' ' ) {
-			lastLine += line;
-			line = lastLine;
-		}
-		else
-			lastLine = line;
-		
-		// Use the module name as the key so that multi-line modules will be recorded properly
-		int firstSpace = line.indexOf(" "); //$NON-NLS-1$
-		if (firstSpace > -1) {
-			String module = line.substring(0, firstSpace);
-			moduleMap.put(module, line);
-		}
-		return OK;
-	}
-	
-	public String[] getModuleExpansions() {
-		return (String[])moduleMap.values().toArray(new String[moduleMap.size()]);
-	}
-
-	public void reset() {
-		this.moduleMap = new HashMap();
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/RDiffSummaryListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/RDiffSummaryListener.java
deleted file mode 100644
index ff704aa..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/RDiffSummaryListener.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client.listeners;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.client.CommandOutputListener;
-
-/**
- * This class parses the messages recieved in response to an "cvs rdiff -s ..." command
- */
-public class RDiffSummaryListener extends CommandOutputListener {
-
-	private static final String RIGHT_REVISION_VARIABLE_NAME = "rightRevision"; //$NON-NLS-1$
-	private static final String LEFT_REVISION_VARIABLE_NAME = "leftRevision"; //$NON-NLS-1$
-	private static final String REMOTE_FILE_PATH_VARIABLE_NAME = "remoteFilePath"; //$NON-NLS-1$
-	private static final String REMOTE_FOLDER_PATH_VARIABLE_NAME = "remoteFolderPath"; //$NON-NLS-1$
-	
-	private IFileDiffListener listener;
-	private static ServerMessageLineMatcher DIRECTORY_MATCHER;
-	private static ServerMessageLineMatcher FILE_DIFF_MATCHER;
-	private static ServerMessageLineMatcher NEW_FILE_MATCHER;
-	private static ServerMessageLineMatcher DELETED_FILE_MATCHER;
-	private static ServerMessageLineMatcher DELETED_FILE_MATCHER2;
-	
-	static {
-		// TODO: temprary until proper lifecycle is defined
-		initializePatterns();
-	}
-	public static void initializePatterns() {
-		try {
-			DIRECTORY_MATCHER = new ServerMessageLineMatcher(
-				IMessagePatterns.RDIFF_DIRECTORY, new String[] {REMOTE_FOLDER_PATH_VARIABLE_NAME});
-			FILE_DIFF_MATCHER = new ServerMessageLineMatcher(
-				IMessagePatterns.RDIFF_SUMMARY_FILE_DIFF, new String[] {REMOTE_FILE_PATH_VARIABLE_NAME, LEFT_REVISION_VARIABLE_NAME, RIGHT_REVISION_VARIABLE_NAME});
-			NEW_FILE_MATCHER = new ServerMessageLineMatcher(
-				IMessagePatterns.RDIFF_SUMMARY_NEW_FILE, new String[] {REMOTE_FILE_PATH_VARIABLE_NAME, RIGHT_REVISION_VARIABLE_NAME});
-			DELETED_FILE_MATCHER = new ServerMessageLineMatcher(
-				IMessagePatterns.RDIFF_SUMMARY_DELETED_FILE, new String[] {REMOTE_FILE_PATH_VARIABLE_NAME});
-			DELETED_FILE_MATCHER2 = new ServerMessageLineMatcher(
-					IMessagePatterns.RDIFF_SUMMARY_DELETED_FILE2, new String[] {REMOTE_FILE_PATH_VARIABLE_NAME, LEFT_REVISION_VARIABLE_NAME});
-		} catch (CVSException e) {
-			// This is serious as the listener will not function properly
-			CVSProviderPlugin.log(e);
-		}
-	}
-	
-	public interface IFileDiffListener {
-		public void fileDiff(
-				String remoteFilePath,
-				String leftRevision,
-				String rightRevision);
-		public void newFile(
-				String remoteFilePath,
-				String rightRevision);
-		public void deletedFile(
-				String remoteFilePath, 
-				String leftRevision);
-		public void directory(String remoteFolderPath);
-	}
-	
-	public RDiffSummaryListener(IFileDiffListener listener) {
-		this.listener = listener;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener#messageLine(java.lang.String, org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation, org.eclipse.team.internal.ccvs.core.ICVSFolder, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus messageLine(
-		String line,
-		ICVSRepositoryLocation location,
-		ICVSFolder commandRoot,
-		IProgressMonitor monitor) {
-		
-		Map variables = FILE_DIFF_MATCHER.processServerMessage(line);
-		if (variables != null) {
-			listener.fileDiff(
-					(String)variables.get(REMOTE_FILE_PATH_VARIABLE_NAME), 
-					(String)variables.get(LEFT_REVISION_VARIABLE_NAME), 
-					(String)variables.get(RIGHT_REVISION_VARIABLE_NAME));
-			return OK;
-		}
-		
-		variables = NEW_FILE_MATCHER.processServerMessage(line);
-		if (variables != null) {
-			listener.newFile(
-					(String)variables.get(REMOTE_FILE_PATH_VARIABLE_NAME), 
-					(String)variables.get(RIGHT_REVISION_VARIABLE_NAME));
-			return OK;
-		}
-		
-		variables = DELETED_FILE_MATCHER.processServerMessage(line);
-		if (variables != null) {
-			listener.deletedFile(
-					(String)variables.get(REMOTE_FILE_PATH_VARIABLE_NAME),
-					null);
-			return OK;
-		}
-		
-		variables = DELETED_FILE_MATCHER2.processServerMessage(line);
-		if (variables != null) {
-			listener.deletedFile(
-					(String)variables.get(REMOTE_FILE_PATH_VARIABLE_NAME),
-					(String)variables.get(LEFT_REVISION_VARIABLE_NAME));
-			return OK;
-		}
-		
-		return super.messageLine(line, location, commandRoot, monitor);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener#errorLine(java.lang.String, org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation, org.eclipse.team.internal.ccvs.core.ICVSFolder, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus errorLine(
-		String line,
-		ICVSRepositoryLocation location,
-		ICVSFolder commandRoot,
-		IProgressMonitor monitor) {
-		
-		Map variables = DIRECTORY_MATCHER.processServerMessage(line);
-		if (variables != null) {
-			listener.directory(
-					(String)variables.get(REMOTE_FOLDER_PATH_VARIABLE_NAME));
-			return OK;
-		}
-			
-		return super.errorLine(line, location, commandRoot, monitor);
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ServerMessageLineMatcher.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ServerMessageLineMatcher.java
deleted file mode 100644
index 7be00a4..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/ServerMessageLineMatcher.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client.listeners;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-
-/**
- * This class extracts matches server lines to expected patterns and extracts
- * required information from the line.
- */
-public class ServerMessageLineMatcher {
-
-	protected static final Pattern VARIABLE_MATCHING_PATTERN = Pattern.compile("(\\((\\w*):.*:\\2\\))"); //$NON-NLS-1$
-	
-	Pattern pattern;
-	String[] variables;
-
-	public ServerMessageLineMatcher(String template, String[] expectedVariables) throws CVSException {
-		// Extract the variable names from the template
-		Matcher matcher = VARIABLE_MATCHING_PATTERN.matcher(template);
-		List variables = new ArrayList();
-		while (matcher.find()) {
-			if (matcher.groupCount() != 2) {
-				IStatus status = new CVSStatus(IStatus.ERROR,NLS.bind(CVSMessages.ServerMessageLineMatcher_5, new String[] { template }));
-				throw new CVSException(status); 
-			}
-			variables.add(matcher.group(2));
-		}
-		ensureMatches(template, variables, expectedVariables);
-		this.variables = (String[]) variables.toArray(new String[variables.size()]);
-
-		// Modify the template so it can be used to match message lines from the server
-		// (i.e. remove the variable markup)
-		for (Iterator iter = variables.iterator(); iter.hasNext();) {
-				String element = (String) iter.next();
-				template = template.replaceAll(element + ":", ""); //$NON-NLS-1$ //$NON-NLS-2$
-				template = template.replaceAll(":" + element, ""); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		// Ensure that the number of groups in the pattern match the number of variables
-		int count = 0;
-		int start = -1;
-		while ((start = template.indexOf('(', start + 1)) != -1) {
-			count++;
-		}
-		if (count != variables.size()) {
-			IStatus status = new CVSStatus(IStatus.ERROR,NLS.bind(CVSMessages.ServerMessageLineMatcher_6, new String[] { template }));
-			throw new CVSException(status); 
-		}
-
-		// Create the pattern fir matching lines from the server
-		this.pattern = Pattern.compile(template);
-	}
-
-	/*
-	 * Throw an exception if the found variables do not match the expected variables
-	 */
-	private void ensureMatches(String template, List variables, String[] expectedVariables) throws CVSException {
-		for (int i = 0; i < expectedVariables.length; i++) {
-			String expected = expectedVariables[i];
-			if (!variables.contains(expected)) {
-				IStatus status = new CVSStatus(IStatus.ERROR,NLS.bind(CVSMessages.ServerMessageLineMatcher_7, new String[] { expected, template }));
-				throw new CVSException(status); 
-			}
-		}
-	}
-
-	public Map processServerMessage(String line) {
-		Matcher matcher = pattern.matcher(line);
-		if (!matcher.find()) return null;
-		Assert.isTrue(matcher.groupCount() == variables.length);
-		Map result = new HashMap();
-		for (int i = 1; i <= matcher.groupCount(); i++) {
-			result.put(variables[i - 1], matcher.group(i));
-		}
-		return result;
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/StatusListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/StatusListener.java
deleted file mode 100644
index e172f03..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/StatusListener.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client.listeners;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.CommandOutputListener;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-public class StatusListener extends CommandOutputListener {
-	private static boolean isFolder = false;
-	private IStatusListener statusListener;
-
-	public StatusListener(IStatusListener statusListener) {
-		this.statusListener = statusListener;
-	}
-
-	public IStatus messageLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot,
-		IProgressMonitor monitor) {
-		
-		// We're only concerned about file revisions.
-		if (line.startsWith("   Repository revision:")) { //$NON-NLS-1$
-			if (!line.startsWith("   Repository revision:	No revision control file")) { //$NON-NLS-1$
-				int separatingTabIndex = line.indexOf('\t', 24);
-				String remoteRevision = line.substring(24, separatingTabIndex);
-
-				// This is the full location on the server (e.g. /home/cvs/repo/project/file.txt)
-				String fileLocation = line.substring(separatingTabIndex + 1, line.length() - 2);
-
-				// Inform the listener about the file revision
-				statusListener.fileStatus(commandRoot, removeAtticSegment(fileLocation), remoteRevision);
-			}
-		}
-		return OK;
-	}
-
-	public IStatus errorLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot, IProgressMonitor monitor) {
-		String serverMessage = getServerMessage(line, location);
-		if (serverMessage != null) {
-			if (serverMessage.startsWith("conflict:")) {//$NON-NLS-1$
-				// We get this because we made up an entry line to send to the server
-				// Therefore, we make this a warning!!!
-				return new CVSStatus(IStatus.WARNING, CVSStatus.CONFLICT, line, commandRoot);
-			}
-			if (serverMessage.startsWith("Examining")) {//$NON-NLS-1$
-				isFolder = true;
-				return OK;
-			}
-		}
-		if (isFolder) {
-			// This used to do something but it was obviously wrong and there was no indication
-			// why it was needed. Therefore, I have removed the code to see if anything is effected
-			isFolder = false;
-		}
-		return super.errorLine(line, location, commandRoot, monitor);
-	}
-	
-	/**
-	 * If the status returns that the file is in the Attic, then remove the
-	 * Attic segment. This is because files added to a branch that are not in
-	 * the main trunk (HEAD) are added to the Attic but cvs does magic on
-	 * updateto put them in the correct location.
-	 * (e.g. /project/Attic/file.txt -> /project/file.txt)
-	 */ 
-	private String removeAtticSegment(String path) {
-		return Util.removeAtticSegment(path);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/TagListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/TagListener.java
deleted file mode 100644
index a2e041c..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/TagListener.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client.listeners;
-
- 
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.CVSStatus;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.client.CommandOutputListener;
-
-public class TagListener extends CommandOutputListener {
-
-	/*
-	 * @see ICommandOutputListener#messageLine(String, ICVSFolder, IProgressMonitor)
-	 */
-	public IStatus messageLine(
-		String line,
-		ICVSRepositoryLocation location,
-		ICVSFolder commandRoot,
-		IProgressMonitor monitor) {
-		
-		// Received a warning in the form:
-		// W folder/file : v1 already exists on version 1.2 : NOT MOVING tag to version 1.3
-		// Indicate this as an error since no tagging was done
-		if(line.length() >= 2 && line.charAt(0) == 'W' && line.charAt(1) == ' ') {
-			return new CVSStatus(IStatus.ERROR, CVSStatus.TAG_ALREADY_EXISTS, line.substring(2), commandRoot);
-		}
-			
-		return OK;
-	}
-
-	/*
-	 * @see ICommandOutputListener#errorLine(String, ICVSFolder, IProgressMonitor)
-	 */
-	public IStatus errorLine(
-		String line,
-		ICVSRepositoryLocation location,
-		ICVSFolder commandRoot,
-		IProgressMonitor monitor) {
-			
-		// Ignore the lines: Tagging folder1/folder2
-		String serverMessage = getServerMessage(line, location);
-		if ((serverMessage != null) && serverMessage.startsWith("Tagging")) { //$NON-NLS-1$
-			return OK;
-		}
-		String rtagMessage = getServerRTagMessage(line, location);
-		if(rtagMessage != null && rtagMessage.startsWith("Tagging") ) { //$NON-NLS-1$
-			return OK;
-		}
-			
-		return super.errorLine(line, location, commandRoot, monitor);
-	}
-	
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/UpdateListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/UpdateListener.java
deleted file mode 100644
index 20ec349..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/UpdateListener.java
+++ /dev/null
@@ -1,294 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.client.listeners;
-
-import java.util.Map;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
-import org.eclipse.team.internal.ccvs.core.CVSStatus;
-import org.eclipse.team.internal.ccvs.core.ICVSFile;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.client.CommandOutputListener;
-import org.eclipse.team.internal.ccvs.core.client.Update;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-public class UpdateListener extends CommandOutputListener {
-
-	// Pattern matchers
-	private static ServerMessageLineMatcher MERGED_BINARY_FILE_LINE_1;
-	private static ServerMessageLineMatcher MERGED_BINARY_FILE_LINE_2;
-	
-	// Pattern Variables
-	private static final String REVISION_VARIABLE_NAME = "revision"; //$NON-NLS-1$
-	private static final String LOCAL_FILE_PATH_VARIABLE_NAME = "localFilePath"; //$NON-NLS-1$
-	private static final String BACKUP_FILE_VARIABLE_NAME = "backupFile"; //$NON-NLS-1$
-	
-	static {
-		try {
-			String line1 = "revision " //$NON-NLS-1$
-				+ Util.getVariablePattern(IMessagePatterns.REVISION_PATTERN, REVISION_VARIABLE_NAME)
-				+ " from repository is now in "  //$NON-NLS-1$
-				+ Util.getVariablePattern(IMessagePatterns.FILE_PATH_PATTERN, LOCAL_FILE_PATH_VARIABLE_NAME);
-			MERGED_BINARY_FILE_LINE_1 = new ServerMessageLineMatcher(
-					line1, 
-					new String[] {REVISION_VARIABLE_NAME, LOCAL_FILE_PATH_VARIABLE_NAME});
-			String line2 = "file from working directory is now in " //$NON-NLS-1$
-				+ Util.getVariablePattern(IMessagePatterns.REVISION_PATTERN, BACKUP_FILE_VARIABLE_NAME);
-			MERGED_BINARY_FILE_LINE_2 = new ServerMessageLineMatcher(
-					line2, 
-					new String[] {BACKUP_FILE_VARIABLE_NAME});
-
-		} catch (CVSException e) {
-			// Shouldn't happen
-			CVSProviderPlugin.log(e);
-		}
-	}
-	
-	IUpdateMessageListener updateMessageListener;
-	boolean merging = false;
-	boolean mergingBinary = false;
-	String mergedBinaryFileRevision, mergedBinaryFilePath;
-
-	public UpdateListener(IUpdateMessageListener updateMessageListener) {
-		this.updateMessageListener = updateMessageListener;
-	}
-	
-	public IStatus messageLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot,
-		IProgressMonitor monitor) {
-		mergingBinary = false;
-		if (updateMessageListener == null) return OK;
-		if(line.startsWith("Merging differences")) { //$NON-NLS-1$
-			merging = true;
-		} else if(line.indexOf(' ')==1) {
-			// We have a message that indicates the type of update. The possible messages are
-			// defined by the prefix constants MLP_*.
-			String path = line.substring(2);
-			char changeType = line.charAt(0);
-			
-			// calculate change type
-			int type = 0;
-			switch(changeType) {
-				case 'A': type = Update.STATE_ADDED_LOCAL; break; // new file locally that was added but not comitted to server yet
-				case '?': type = Update.STATE_UNKOWN; break; // new file locally but not added to server
-				case 'U': type = Update.STATE_REMOTE_CHANGES; break;  // remote changes to an unmodified local file
-				case 'R': type = Update.STATE_DELETED; break; // removed locally but still exists on the server
-				case 'M': type = Update.STATE_MODIFIED; break; // modified locally
-				case 'C': type = Update.STATE_CONFLICT; break;  // modified locally and on the server but cannot be auto-merged
-				case 'D': type = Update.STATE_DELETED; break;  // deleted locally but still exists on server
-				default: type = Update.STATE_NONE;
-			}
-				
-			if (merging) {
-				// If we are merging the modified prefix is used both to show merges and
-				// local changes. We have to detect this case and use a more specific change
-				// type.
-				if (type == Update.STATE_MODIFIED)
-					type = Update.STATE_MERGEABLE_CONFLICT;
-				merging = false;
-			}
-			updateMessageListener.fileInformation(type, commandRoot, path);
-		}
-		return OK;
-	}
-
-	/**
-	 * This handler is used by the RemoteResource hierarchy to retrieve E messages
-	 * from the CVS server in order to determine the folders contained in a parent folder.
-	 * 
-	 * WARNING: This class parses the message output to determine the state of files in the
-	 * repository. Unfortunately, these messages seem to be customizable on a server by server basis.
-	 * 
-	 * Here's a list of responses we expect in various situations:
-	 * 
-	 * Directory exists remotely:
-	 *    cvs server: Updating folder1/folder2
-	 * Directory doesn't exist remotely:
-	 *    cvs server: skipping directory folder1/folder2
-	 * New (or unknown) remote directory
-	 *    cvs server: New Directory folder1/folder2
-	 * File removed remotely
-	 *    cvs server: folder1/file.ext is no longer in the repository
-	 *    cvs server: warning: folder1/file.ext is not (any longer) pertinent
-	 * Locally added file was added remotely as well
-	 *    cvs server: conflict: folder/file.ext created independently by second party 
-	 * File removed locally and modified remotely
-	 *    cvs server: conflict: removed file.txt was modified by second party
-	 * File modified locally but removed remotely
-	 *    cvs server: conflict: file.txt is modified but no longer in the repository
-	 * Ignored Messages
-	 *    cvs server: cannot open directory ...
-	 *    cvs server: nothing known about ...
-	 * Tag error that really means there are no files in a directory
-	 *    cvs [server aborted]: no such tag
-	 * Merge contained conflicts
-	 *    rcsmerge: warning: conflicts during merge
-	 * Binary file conflict
-	 *    cvs server: nonmergeable file needs merge
-	 *    cvs server: revision 1.4 from repository is now in a1/a2/test
-	 *    cvs server: file from working directory is now in .#test.1.3
-	 */
-	public IStatus errorLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot,
-		IProgressMonitor monitor) {
-		
-		try {
-			// Reset flag globally here because we have to many exit points
-			boolean wasMergingBinary = mergingBinary;
-			mergingBinary = false;
-			String serverMessage = getServerMessage(line, location);
-			if (serverMessage != null) {
-				// Strip the prefix from the line
-				String message = serverMessage;
-				if (message.startsWith("Updating")) { //$NON-NLS-1$
-					if (updateMessageListener != null) {
-						String path = message.substring(9);
-						updateMessageListener.directoryInformation(commandRoot, path, false);
-					}
-					return OK;
-				} else if (message.startsWith("skipping directory")) { //$NON-NLS-1$
-					if (updateMessageListener != null) {
-						String path = message.substring(18).trim();
-						updateMessageListener.directoryDoesNotExist(commandRoot, path);
-					}
-					return OK;
-				} else if (message.startsWith("New directory")) { //$NON-NLS-1$
-					if (updateMessageListener != null) {
-						String path = message.substring(15, message.lastIndexOf('\''));
-						updateMessageListener.directoryInformation(commandRoot, path, true);
-					}
-					return OK;
-				} else if (message.endsWith("is no longer in the repository")) { //$NON-NLS-1$
-					if (updateMessageListener != null) {
-						String filename = message.substring(0, message.length() - 31);
-						filename = stripQuotes(filename);
-						updateMessageListener.fileDoesNotExist(commandRoot, filename);
-					}
-					return OK;
-				} else if (message.startsWith("conflict:")) { //$NON-NLS-1$
-					/*
-					 * We can get the following conflict warnings
-					 *    cvs server: conflict: folder/file.ext created independently by second party 
-					 *    cvs server: conflict: removed file.txt was modified by second party
-					 *    cvs server: conflict: file.txt is modified but no longer in the repository
-					 * If we get the above line, we have conflicting additions or deletions and we can expect a server error.
-					 * We still get "C foler/file.ext" so we don't need to do anything else (except in the remotely deleted case)
-					 */
-					if (updateMessageListener != null) {
-						if (message.endsWith("is modified but no longer in the repository")) { //$NON-NLS-1$
-							// The "C foler/file.ext" will come after this so if whould be ignored!
-							String filename = message.substring(10, message.length() - 44);
-							filename = stripQuotes(filename);
-							updateMessageListener.fileDoesNotExist(commandRoot, filename);
-						}
-					}
-					return new CVSStatus(IStatus.WARNING, CVSStatus.CONFLICT, line, commandRoot);
-				} else if (message.startsWith("warning:")) { //$NON-NLS-1$
-					/*
-					 * We can get the following conflict warnings
-					 *    cvs server: warning: folder1/file.ext is not (any longer) pertinent
-					 * If we get the above line, we have local changes to a remotely deleted file.
-					 */
-					if (updateMessageListener != null) {
-						if (message.endsWith("is not (any longer) pertinent")) { //$NON-NLS-1$
-							String filename = message.substring(9, message.length() - 30);
-							updateMessageListener.fileDoesNotExist(commandRoot, filename);
-						}
-					}
-					return new CVSStatus(IStatus.WARNING, CVSStatus.CONFLICT, line, commandRoot);
-				} else if (message.startsWith("conflicts")) { //$NON-NLS-1$
-					// This line is info only. The server doesn't report an error.
-					return new CVSStatus(IStatus.INFO, CVSStatus.CONFLICT, line, commandRoot);
-				} else if (message.startsWith("nonmergeable file needs merge")) { //$NON-NLS-1$
-					mergingBinary = true;
-					mergedBinaryFileRevision = null;
-					mergedBinaryFilePath = null;
-					return OK;
-				} else if (wasMergingBinary) {
-					Map variables = MERGED_BINARY_FILE_LINE_1.processServerMessage(message);
-					if (variables != null) {
-						mergedBinaryFileRevision = (String)variables.get(REVISION_VARIABLE_NAME);
-						mergedBinaryFilePath = (String)variables.get(LOCAL_FILE_PATH_VARIABLE_NAME);
-						mergingBinary = true;
-						return OK;
-					}
-					variables = MERGED_BINARY_FILE_LINE_2.processServerMessage(message);
-					if (variables != null) {
-						String backupFile = (String)variables.get(BACKUP_FILE_VARIABLE_NAME);
-						try {
-							if (mergedBinaryFileRevision != null && mergedBinaryFilePath != null) {
-								ICVSFile file = commandRoot.getFile(mergedBinaryFilePath);
-								IResource resource = file.getIResource();
-								if (resource != null) {
-									return new CVSStatus(IStatus.ERROR, CVSStatus.UNMEGERED_BINARY_CONFLICT,
-										NLS.bind(CVSMessages.UpdateListener_0, (new Object[] { 
-                                        resource.getFullPath().toString(), 
-                                        mergedBinaryFileRevision, 
-                                        resource.getFullPath().removeLastSegments(1).append(backupFile).toString()})), commandRoot);
-								}
-							}
-						} catch (CVSException e1) {
-							CVSProviderPlugin.log(e1);
-						}
-						return OK;
-					}
-				}
-				
-				// Fallthrough case for "cvs server" messages
-				if (!message.startsWith("cannot open directory") //$NON-NLS-1$
-						&& !message.startsWith("nothing known about")) { //$NON-NLS-1$
-					return super.errorLine(line, location, commandRoot, monitor);
-				} 
-			} else {
-				String serverAbortedMessage = getServerAbortedMessage(line, location);
-				if (serverAbortedMessage != null) {
-					// Strip the prefix from the line
-					String message = serverAbortedMessage;
-					if (message.startsWith("no such tag")) { //$NON-NLS-1$
-						// This is reported from CVS when a tag is used on the update there are no files in the directory
-						// To get the folders, the update request should be re-issued for HEAD
-						return new CVSStatus(IStatus.WARNING, CVSStatus.NO_SUCH_TAG, line, commandRoot);
-					} else if (message.startsWith("Numeric join") && message.endsWith("may not contain a date specifier")) { //$NON-NLS-1$ //$NON-NLS-2$
-					    // This error indicates a join failed because a date tag was used
-					    return super.errorLine(line, location, commandRoot, monitor);
-					} else {
-						return super.errorLine(line, location, commandRoot, monitor);
-					}
-				} else if (line.equals("rcsmerge: warning: conflicts during merge")) { //$NON-NLS-1$
-					// There were conflicts in the merge
-					return new CVSStatus(IStatus.WARNING, CVSStatus.CONFLICT, line, commandRoot);
-				}
-			}
-		} catch (StringIndexOutOfBoundsException e) {
-			// Something went wrong in the parsing of the message.
-			// Return a status indicating the problem
-			if (CVSProviderPlugin.getPlugin().isDebugging()) {
-				System.out.println("Error parsing E line: " + line); //$NON-NLS-1$
-			}
-			return new CVSStatus(IStatus.ERROR, CVSStatus.ERROR_LINE_PARSE_FAILURE, line, commandRoot);
-		}
-		return super.errorLine(line, location, commandRoot, monitor);
-	}
-
-	private String stripQuotes(String filename) {
-		// CVS version 12 fix - filenames are returned inside quotes
-		// Fixes bug 49056
-		if (filename.startsWith("`") && filename.endsWith("'")) //$NON-NLS-1$ //$NON-NLS-2$
-			filename = filename.substring(1,filename.length()-1);
-		return filename;
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSAuthenticationException.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSAuthenticationException.java
deleted file mode 100644
index b2ce58c..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSAuthenticationException.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.connection;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-
-public class CVSAuthenticationException extends CVSException {
-
-	private static final long serialVersionUID = 1L;
-	
-	private int retryStatus = 0;
-
-    /**
-	 * Code indicating that authentication can be retried after 
-	 * prompting the user for corrected authentication information
-	 */
-	public static final int RETRY = 1;
-	
-	/**
-	 * Code indicating that authentication should not be reattempted.
-	 */
-	public static final int NO_RETRY = 2;
-	
-	/**
-	 * Creates a new <code>CVSAuthenticationException</code>
-	 * 
-	 * @param status the status result describing this exception.
-	 */
-	private CVSAuthenticationException(IStatus status) {
-		super(status);
-	}	
-	
-	/**
-	 * Creates a new <code>CVSAuthenticationException</code>
-	 * 
-	 * @param detail  a message that describes the exception in detail.
-	 * @param code indicates whether authentication can be retried or not
-	 */
-	public CVSAuthenticationException(String detail, int retryStatus) {
-		this(new CVSStatus(IStatus.ERROR, CVSStatus.AUTHENTICATION_FAILURE,NLS.bind(CVSMessages.CVSAuthenticationException_detail, (new Object[] { detail })), (IResource) null)); //
-		this.retryStatus = retryStatus;
-	}
-	
-	/**
-	 * Creates a new <code>CVSAuthenticationException</code>
-	 * 
-	 * @param detail  a message that describes the exception in detail.
-	 * @param code indicates whether authentication can be retried or not
-	 * @param the location of the CVS server
-	 */
-	public CVSAuthenticationException(String detail, int retryStatus, ICVSRepositoryLocation cvsLocation) {
-		this(new CVSStatus(IStatus.ERROR, CVSStatus.AUTHENTICATION_FAILURE,NLS.bind(CVSMessages.CVSAuthenticationException_detail, (new Object[] { detail })),cvsLocation)); //
-		this.retryStatus = retryStatus;
-	}	
-    
-	/**
-	 * Creates a new <code>CVSAuthenticationException</code>
-	 * 
-	 * @param detail  a message that describes the exception in detail.
-	 * @param code indicates whether authentication can be retried or not
-	 * @param the location of the CVS server
-	 * @param the exception 
-	 */	
-    public CVSAuthenticationException(String detail, int retryStatus,ICVSRepositoryLocation cvsLocation, Exception e) {
-        this(new CVSStatus(IStatus.ERROR, CVSStatus.AUTHENTICATION_FAILURE , NLS.bind(CVSMessages.CVSAuthenticationException_detail, (new Object[] { detail })), e, cvsLocation)); //
-        this.retryStatus = retryStatus;
-    }
-
-	public int getRetryStatus() {
-		return retryStatus;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSCommunicationException.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSCommunicationException.java
deleted file mode 100644
index 7cdb14b..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSCommunicationException.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.connection;
-
- 
-import java.io.InterruptedIOException;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-
-public class CVSCommunicationException extends CVSException {
-
-	private static final long serialVersionUID = 1L;
-
-    /**
-	 * Create a new <code>CVSCommunicationException</code> with the
-	 * given status.
-	 */
-	private CVSCommunicationException(IStatus status) {
-		super(status);
-	}
-	/**
-	 * Create a new <code>CVSCommunicationException</code> with the
-	 * given message.
-	 */
-	public CVSCommunicationException(String message) {
-		super(message);
-	}
-	
-	/**
-	 * Create a new <code>CVSCommunicationException</code>.
-	 *
-	 * @param message a message describing the exception in detail.
-	 * @param the CVS server
-	 * @param the caught exception that has caused the communication
-	 *  exception.
-	 */
-	public CVSCommunicationException(String message, ICVSRepositoryLocation cvsLocation, Exception e) {
-		this(new CVSStatus(IStatus.ERROR, CVSStatus.COMMUNICATION_FAILURE, message, e, cvsLocation));		
-	}
-	
-	/**
-	 * Create a new <code>CVSCommunicationException </code>.
-	 *
-	 * @param the caught exception that has caused the communication
-	 *  exception.
-	 * @param the location of the CVS server.
-	 */
-	public CVSCommunicationException(ICVSRepositoryLocation cvsLocation,Exception e) {
-		this(getStatusFor(e,cvsLocation));
-	}	
-	
-	private static IStatus getStatusFor(Exception e,ICVSRepositoryLocation cvsLocation) {
-		if (e instanceof InterruptedIOException) {
-			MultiStatus status = new MultiStatus(CVSProviderPlugin.ID, 0, getMessageFor(e), e);
-			status.add(new CVSStatus(IStatus.ERROR, CVSStatus.COMMUNICATION_FAILURE, CVSMessages.CVSCommunicationException_interruptCause, cvsLocation)); 
-			status.add(new CVSStatus(IStatus.ERROR, CVSStatus.COMMUNICATION_FAILURE, CVSMessages.CVSCommunicationException_interruptSolution, cvsLocation)); 
-			status.add(new CVSStatus(IStatus.ERROR, CVSStatus.COMMUNICATION_FAILURE, CVSMessages.CVSCommunicationException_alternateInterruptCause, cvsLocation)); 
-			status.add(new CVSStatus(IStatus.ERROR, CVSStatus.COMMUNICATION_FAILURE, CVSMessages.CVSCommunicationException_alternateInterruptSolution, cvsLocation)); 
-			return status;
-		}
-		return new CVSStatus(IStatus.ERROR,CVSStatus.COMMUNICATION_FAILURE, getMessageFor(e), e, cvsLocation);
-	}
-	
-	public static String getMessageFor(Throwable throwable) {
-        String message = Policy.getMessage(getMessageKey(throwable));
-        if (message == null) {
-            message = NLS.bind(CVSMessages.CVSCommunicationException_io, (new Object[] {throwable.toString()}));
-        } else {
-            message = NLS.bind(message, (new Object[] {throwable.getMessage()}));
-        }
-		return message;
-	}
-    
-    private static String getMessageKey(Throwable t) {
-        String name = t.getClass().getName();
-        name = name.replace('.', '_');
-        return name;
-    }
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSRepositoryLocation.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSRepositoryLocation.java
deleted file mode 100644
index 0368975..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSRepositoryLocation.java
+++ /dev/null
@@ -1,1281 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.connection;
-
-
-import java.io.IOException;
-import java.util.*;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ILock;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.eclipse.equinox.security.storage.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.*;
-import org.eclipse.team.internal.ccvs.core.resources.*;
-import org.eclipse.team.internal.ccvs.core.util.KnownRepositories;
-import org.osgi.service.prefs.BackingStoreException;
-import org.osgi.service.prefs.Preferences;
-
-/**
- * This class manages a CVS repository location.
- * 
- * It provides the mapping between connection method name and the
- * plugged in ICunnectionMethod.
- * 
- * It parses location strings into instances.
- * 
- * It provides a method to open a connection to the server along
- * with a method to validate that connections can be made.
- * 
- * It manages its user info using the plugged in IUserAuthenticator
- * (unless a username and password are provided as part of the creation
- * string, in which case, no authenticator is used).
- * 
- * Instances must be disposed of when no longer needed in order to 
- * notify the authenticator so cached properties can be cleared
- * 
- */
-public class CVSRepositoryLocation extends PlatformObject implements ICVSRepositoryLocation, IUserInfo {
-
-	/**
-	 * Top secure preferences node to cache CVS information
-	 */
-	static final private String cvsNameSegment = "/CVS/"; //$NON-NLS-1$
-	
-	/**
-	 * Keys determining connection information for a given server
-	 */
-	static final private String PASSWORD_KEY = "password"; //$NON-NLS-1$
-	static final private String USERNAME_KEY = "login"; //$NON-NLS-1$
-	
-	/**
-	 * The name of the preferences node in the CVS preferences that contains
-	 * the known repositories as its children.
-	 */
-	public static final String PREF_REPOSITORIES_NODE = "repositories"; //$NON-NLS-1$
-	
-	/*
-	 * The name of the node in the default scope that has the default settings
-	 * for a repository.
-	 */
-	private static final String DEFAULT_REPOSITORY_SETTINGS_NODE = "default_repository_settings"; //$NON-NLS-1$
-
-	// Preference keys used to persist the state of the location
-	public static final String PREF_LOCATION = "location"; //$NON-NLS-1$
-	public static final String PREF_SERVER_ENCODING = "encoding"; //$NON-NLS-1$
-	
-	// server platform constants
-	public static final int UNDETERMINED_PLATFORM = 0;
-	public static final int CVS_SERVER = 1;
-	public static final int CVSNT_SERVER = 2;
-	public static final int UNSUPPORTED_SERVER = 3;
-	public static final int UNKNOWN_SERVER = 4;
-	
-	// static variables for extension points
-	private static IUserAuthenticator authenticator;
-	private static IConnectionMethod[] pluggedInConnectionMethods = null;
-	
-	// Locks for ensuring that authentication to a host is serialized
-	// so that invalid passwords do not result in account lockout
-	private static Map hostLocks = new HashMap(); 
-
-	private IConnectionMethod method;
-	private String user;
-	private String password;
-	private String host;
-	private int port;
-	private String root;
-	private boolean userFixed;
-	private boolean passwordFixed;
-	private boolean allowCaching;
-	
-	private int serverPlatform = UNDETERMINED_PLATFORM;
-	
-	public static final char COLON = ':';
-	public static final char SEMICOLON = ';';
-	public static final char HOST_SEPARATOR = '@';
-	public static final char PORT_SEPARATOR = '#';
-	public static final boolean STANDALONE_MODE = (System.getProperty("eclipse.cvs.standalone")==null) ? //$NON-NLS-1$ 
-		false	:(Boolean.valueOf(System.getProperty("eclipse.cvs.standalone")).booleanValue()); //$NON-NLS-1$ 
-	
-	// command to start remote cvs in server mode
-	private static final String INVOKE_SVR_CMD = "server"; //$NON-NLS-1$
-	
-	// fields needed for caching the password
-	public static final String INFO_PASSWORD = "org.eclipse.team.cvs.core.password";//$NON-NLS-1$ 
-	public static final String INFO_USERNAME = "org.eclipse.team.cvs.core.username";//$NON-NLS-1$ 
-	public static final String AUTH_SCHEME = "";//$NON-NLS-1$ 
-
-	/*
-	 * Fields used to create the EXT command invocation
-	 */
-	public static final String USER_VARIABLE = "{user}"; //$NON-NLS-1$
-	public static final String PASSWORD_VARIABLE = "{password}"; //$NON-NLS-1$
-	public static final String HOST_VARIABLE = "{host}"; //$NON-NLS-1$
-	public static final String PORT_VARIABLE = "{port}"; //$NON-NLS-1$
-
-	/*
-	 * Field that indicates which connection method is to be used for 
-	 * locations that use the EXT connection method.
-	 */
-	private static String extProxy;
-	
-	/*
-	 * Field that indicates that the last connection attempt made to 
-	 * this repository location failed due to an authentication failure. 
-	 * When this is set, subsequent attempts should prompt before attempting to connect
-	 */
-	private boolean previousAuthenticationFailed = false;
-	
-	/**
-	 * Return the preferences node whose child nodes are teh know repositories
-	 * @return a preferences node
-	 */
-	public static Preferences getParentPreferences() {
-		return CVSProviderPlugin.getPlugin().getInstancePreferences().node(PREF_REPOSITORIES_NODE);
-	}
-	
-	/**
-	 * Return a preferences node that contains suitabel defaults for a
-	 * repository location.
-	 * @return  a preferences node
-	 */
-	public static Preferences getDefaultPreferences() {
-		Preferences defaults = new DefaultScope().getNode(CVSProviderPlugin.ID).node(DEFAULT_REPOSITORY_SETTINGS_NODE);
-		defaults.put(PREF_SERVER_ENCODING, getDefaultEncoding());
-		return defaults;
-	}
-	
-	private static String getDefaultEncoding() {
-		return System.getProperty("file.encoding", "UTF-8"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-	/**
-	 * Set the proxy connection method that is to be used when a 
-	 * repository location has the ext connection method. This is
-	 * usefull with the extssh connection method as it can be used to 
-	 * kepp the sandbox compatible with the command line client.
-	 * @param string
-	 */
-	public static void setExtConnectionMethodProxy(String string) {
-		extProxy = string;
-	}
-	
-	/**
-	 * Create a repository location instance from the given properties.
-	 * The supported properties are:
-	 * 
-	 *   connection The connection method to be used
-	 *   user The username for the connection (optional)
-	 *   password The password used for the connection (optional)
-	 *   host The host where the repository resides
-	 *   port The port to connect to (optional)
-	 *   root The server directory where the repository is located
-	 *   encoding The file system encoding of the server
-	 */
-	public static CVSRepositoryLocation fromProperties(Properties configuration) throws CVSException {
-		// We build a string to allow validation of the components that are provided to us
-		String connection = configuration.getProperty("connection");//$NON-NLS-1$ 
-		if (connection == null)
-			connection = "pserver";//$NON-NLS-1$ 
-		IConnectionMethod method = getPluggedInConnectionMethod(connection);
-		if (method == null)
-			throw new CVSException(new Status(IStatus.ERROR, CVSProviderPlugin.ID, TeamException.UNABLE, NLS.bind(CVSMessages.CVSRepositoryLocation_methods, (new Object[] {getPluggedInConnectionMethodNames()})), null));// 
-		String user = configuration.getProperty("user");//$NON-NLS-1$ 
-		if (user.length() == 0)
-			user = null;
-		String password = configuration.getProperty("password");//$NON-NLS-1$ 
-		if (user == null)
-			password = null;
-		String host = configuration.getProperty("host");//$NON-NLS-1$ 
-		if (host == null)
-			throw new CVSException(new Status(IStatus.ERROR, CVSProviderPlugin.ID, TeamException.UNABLE, CVSMessages.CVSRepositoryLocation_hostRequired, null));// 
-		String portString = configuration.getProperty("port");//$NON-NLS-1$ 
-		int port;
-		if (portString == null)
-			port = ICVSRepositoryLocation.USE_DEFAULT_PORT;
-		else
-			port = Integer.parseInt(portString);
-		String root = configuration.getProperty("root");//$NON-NLS-1$ 
-		if (root == null)
-			throw new CVSException(new Status(IStatus.ERROR, CVSProviderPlugin.ID, TeamException.UNABLE, CVSMessages.CVSRepositoryLocation_rootRequired, null));// 
-
-		String encoding = configuration.getProperty("encoding"); //$NON-NLS-1$
-		
-		return new CVSRepositoryLocation(method, user, password, host, port, root, encoding, user != null, false);
-	}
-	
-	/**
-	 * Parse a location string and return a CVSRepositoryLocation.
-	 * 
-	 * On failure, the status of the exception will be a MultiStatus
-	 * that includes the original parsing error and a general status
-	 * displaying the passed location and proper form. This form is
-	 * better for logging, etc.
-	 */
-	public static CVSRepositoryLocation fromString(String location) throws CVSException {	
-		try {
-			return fromString(location, false);
-		} catch (CVSException e) {
-			// Parsing failed. Include a status that
-			// shows the passed location and the proper form
-			MultiStatus error = new MultiStatus(CVSProviderPlugin.ID, IStatus.ERROR, NLS.bind(CVSMessages.CVSRepositoryLocation_invalidFormat, (new Object[] {location})), null);// 
-			error.merge(new CVSStatus(IStatus.ERROR, CVSMessages.CVSRepositoryLocation_locationForm));// 
-			error.merge(e.getStatus());
-			throw new CVSException(error);
-		}
-	}
-	
-	/**
-	 * Parse a location string and return a CVSRepositoryLocation.
-	 * 
-	 * The valid format (from the cederqvist) is:
-	 * 
-	 * :method:[[user][:password]@]hostname[:[port]]/path/to/repository
-	 * 
-	 * However, this does not work with CVS on NT so we use the format
-	 * 
-	 * :method:[user[:password]@]hostname[#port]:/path/to/repository
-	 * 
-	 * Some differences to note:
-	 *    The : after the host/port is not optional because of NT naming including device
-	 *    e.g. :pserver:username:password@hostname#port:D:\cvsroot
-	 * 
-	 * Also parse alternative format from WinCVS, which stores connection
-	 * parameters such as username and hostname in method options:
-	 *
-	 * :method[;option=arg...]:other_connection_data
-	 * 
-	 * e.g. :pserver;username=anonymous;hostname=localhost:/path/to/repository
-	 * 
-	 * If validateOnly is true, this method will always throw an exception.
-	 * The status of the exception indicates success or failure. The status
-	 * of the exception contains a specific message suitable for displaying
-	 * to a user who has knowledge of the provided location string.
-	 * @see CVSRepositoryLocation.fromString(String)
-	 */
-	public static CVSRepositoryLocation fromString(String location, boolean validateOnly) throws CVSException {
-		String errorMessage = null;
-		try {
-			// Get the connection method
-			errorMessage = CVSMessages.CVSRepositoryLocation_parsingMethod;
-			int start = location.indexOf(COLON);
-			String methodName;
-			int end;
-			// For parsing alternative location format
-			int optionStart = location.indexOf(SEMICOLON);
-			HashMap hmOptions = new HashMap();
-
-			if (start == 0) {
-				end = location.indexOf(COLON, start + 1);
-				
-				// Check for alternative location syntax
-				if (optionStart != -1) {
-					// errorMessage = CVSMessages.CVSRepositoryLocation_parsingMethodOptions;
-					methodName = location.substring(start + 1, optionStart);
-					// Save options in hash table
-					StringTokenizer stOpt = new StringTokenizer(
-						location.substring(optionStart+1, end),
-            					"=;" //$NON-NLS-1$
-					);
-					while (stOpt.hasMoreTokens()) {
-						hmOptions.put(stOpt.nextToken(), stOpt.nextToken());
-					}
-					start = end + 1;
-				} else {
-					methodName = location.substring(start + 1, end);
-					start = end + 1;
-				}
-			} else {
-				// this could be an alternate format for ext: username:password@host:path
-				methodName = "ext"; //$NON-NLS-1$
-				start = 0;
-			}
-			
-			IConnectionMethod method = getPluggedInConnectionMethod(methodName);
-			if (method == null)
-				throw new CVSException(new CVSStatus(IStatus.ERROR, NLS.bind(CVSMessages.CVSRepositoryLocation_methods, (new Object[] {getPluggedInConnectionMethodNames()}))));// 
-			
-			// Get the user name and password (if provided)
-			errorMessage = CVSMessages.CVSRepositoryLocation_parsingUser;
-			
-			end = location.indexOf(HOST_SEPARATOR, start);
-			String user = null;
-			String password = null;
-			// if end is -1 then there is no host separator meaning that the username is not present
-			// or set in options of alternative-style location string
-			if (end != -1) {		
-				// Get the optional user and password
-				user = location.substring(start, end);
-				// Separate the user and password (if there is a password)
-				start = user.indexOf(COLON);
-				if (start != -1) {
-					errorMessage = CVSMessages.CVSRepositoryLocation_parsingPassword;
-					password = user.substring(start+1);
-					user = user.substring(0, start);	
-				}
-				// Set start to point after the host separator
-				start = end + 1;
-			} else if (optionStart != -1) {
-				// alternative location string data
-				// errorMessage = CVSMessages.CVSRepositoryLocation_parsingOptionsUsername;
-				if (hmOptions.containsKey("username")) user = hmOptions.get("username").toString(); //$NON-NLS-1$ //$NON-NLS-2$
-				// errorMessage = CVSMessages.CVSRepositoryLocation_parsingOptionsPassword;
-				if (hmOptions.containsKey("password")) password = hmOptions.get("password").toString(); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			
-			// Get the host (and port)
-			errorMessage = CVSMessages.CVSRepositoryLocation_parsingHost;
-			end= location.indexOf(COLON, start);
-			int hostEnd = end;
-			if (end == -1) {
-			    // The last colon is optional so look for the slash that starts the path
-			    end = location.indexOf('/', start);
-			    hostEnd = end;
-			    // Decrement the end since the slash is part of the path
-			    if (end != -1) end--;
-			}
-			String host = (optionStart != -1) ? hmOptions.get("hostname").toString() : location.substring(start, hostEnd); //$NON-NLS-1$
-			int port = USE_DEFAULT_PORT;
-			boolean havePort = false;
-			if (hmOptions.containsKey("port")) { //$NON-NLS-1$
-				port = Integer.parseInt(hmOptions.get("port").toString()); //$NON-NLS-1$
-				havePort = true;
-			}
-			// Separate the port and host if there is a port
-			start = host.indexOf(PORT_SEPARATOR);
-			if (start != -1) {
-				try {
-					// Initially, we used a # between the host and port
-					errorMessage = CVSMessages.CVSRepositoryLocation_parsingPort;
-					port = Integer.parseInt(host.substring(start+1));
-					host = host.substring(0, start);
-					havePort = true;
-				} catch (NumberFormatException e) {
-					// Ignore this as the #1234 port could be part of a proxy host string
-				}
-			}
-			if (!havePort) {
-				// In the correct CVS format, the port follows the COLON
-				errorMessage = CVSMessages.CVSRepositoryLocation_parsingPort;
-				int index = end;
-				char c = location.charAt(++index);
-				String portString = new String();
-				while (Character.isDigit(c)) {
-					portString += c;
-					c = location.charAt(++index);
-				}
-				if (portString.length() > 0) {
-					end = index - 1;
-					port = Integer.parseInt(portString);
-				}
-			}
-			
-			// Get the repository path (translating backslashes to slashes)
-			errorMessage = CVSMessages.CVSRepositoryLocation_parsingRoot;
-			start = end + 1;
-			String root = location.substring(start);
-			
-			if (validateOnly)
-				throw new CVSException(new CVSStatus(IStatus.OK, CVSMessages.ok));// 		
-			return new CVSRepositoryLocation(method, user, password, host, port, root, null /* encoding */, (user != null), (password != null));
-		}
-		catch (IndexOutOfBoundsException e) {
-			// We'll get here if anything funny happened while extracting substrings
-			IStatus status = new CVSStatus(IStatus.ERROR, errorMessage);
-			throw new CVSException(status);
-		}
-		catch (NumberFormatException e) {
-			IStatus status = new CVSStatus(IStatus.ERROR, errorMessage);
-			// We'll get here if we couldn't parse a number
-			throw new CVSException(status);
-		}
-	}
-	
-	/**
-	 * Get the plugged-in user authenticator if there is one.
-	 * @return the plugged-in user authenticator or <code>null</code>
-	 */
-	public static IUserAuthenticator getAuthenticator() {
-		if (authenticator == null) {
-			authenticator = getPluggedInAuthenticator();
-		}
-		return authenticator;
-	}
-	
-	/**
-	 * Return the sorted array of plugged-in connection methods.
-	 * @return the sorted array of plugged-in connection methods
-	 */
-	public static IConnectionMethod[] getPluggedInConnectionMethods() {
-		if(pluggedInConnectionMethods==null) {
-			List connectionMethods = new ArrayList();
-			
-			if (STANDALONE_MODE) {				
-				connectionMethods.add(new PServerConnectionMethod());
-			} else {
-				IExtension[] extensions = Platform.getExtensionRegistry().getExtensionPoint(CVSProviderPlugin.ID, CVSProviderPlugin.PT_CONNECTIONMETHODS).getExtensions();
-				for(int i=0; i<extensions.length; i++) {
-					IExtension extension = extensions[i];
-					IConfigurationElement[] configs = extension.getConfigurationElements();
-					if (configs.length == 0) {
-						CVSProviderPlugin.log(IStatus.ERROR, NLS.bind("Connection method {0} is missing required fields", new Object[] {extension.getUniqueIdentifier()}), null);//$NON-NLS-1$ 
-						continue;
-					}
-					try {
-						IConfigurationElement config = configs[0];
-						connectionMethods.add(config.createExecutableExtension("run"));//$NON-NLS-1$ 
-					} catch (CoreException ex) {
-						CVSProviderPlugin.log(IStatus.ERROR, NLS.bind("Could not instantiate connection method for  {0}", new Object[] {extension.getUniqueIdentifier()}), ex);//$NON-NLS-1$ 
-					}
-				}
-			}
-			IConnectionMethod[] methods = (IConnectionMethod[]) connectionMethods.toArray(new IConnectionMethod[0]);
-			Arrays.sort(methods, new Comparator(){
-				public int compare(Object o1, Object o2) {
-					if (o1 instanceof IConnectionMethod && o2 instanceof IConnectionMethod) {
-						IConnectionMethod cm1 = (IConnectionMethod) o1;
-						IConnectionMethod cm2 = (IConnectionMethod) o2;
-						return cm1.getName().compareTo(cm2.getName());
-					}
-					return 0;
-				}});
-			pluggedInConnectionMethods = methods;
-		}
-		return pluggedInConnectionMethods;
-	}
-	
-	/*
-	 * Return the connection method registered for the given name 
-	 * or <code>null</code> if none is registered with the given name.
-	 */
-	private static IConnectionMethod getPluggedInConnectionMethod(String methodName) {
-		Assert.isNotNull(methodName);
-		IConnectionMethod[] methods = getPluggedInConnectionMethods();
-		for(int i=0; i<methods.length; i++) {
-			if(methodName.equals(methods[i].getName()))
-				return methods[i];
-		}
-		return null;		
-	}
-	
-	/*
-	 * Return a string containing a list of all connection methods
-	 * that is suitable for inclusion in an error message.
-	 */
-	private static String getPluggedInConnectionMethodNames() {
-		IConnectionMethod[] methods = getPluggedInConnectionMethods();
-		StringBuffer methodNames = new StringBuffer();
-		for(int i=0; i<methods.length; i++) {
-			String name = methods[i].getName();
-			if (i>0)
-				methodNames.append(", ");//$NON-NLS-1$ 
-			methodNames.append(name);
-		}		
-		return methodNames.toString();
-	}
-	
-	/*
-	 * Get the pluged-in authenticator from the plugin manifest.
-	 */
-	private static IUserAuthenticator getPluggedInAuthenticator() {
-		IExtension[] extensions = Platform.getExtensionRegistry().getExtensionPoint(CVSProviderPlugin.ID, CVSProviderPlugin.PT_AUTHENTICATOR).getExtensions();
-		if (extensions.length == 0)
-			return null;
-		IExtension extension = extensions[0];
-		IConfigurationElement[] configs = extension.getConfigurationElements();
-		if (configs.length == 0) {
-			CVSProviderPlugin.log(IStatus.ERROR, NLS.bind("User autheticator {0} is missing required fields", (new Object[] {extension.getUniqueIdentifier()})), null);//$NON-NLS-1$ 
-			return null;
-		}
-		try {
-			IConfigurationElement config = configs[0];
-			return (IUserAuthenticator) config.createExecutableExtension("run");//$NON-NLS-1$ 
-		} catch (CoreException ex) {
-			CVSProviderPlugin.log(IStatus.ERROR, NLS.bind("Unable to instantiate user authenticator {0}", (new Object[] {extension.getUniqueIdentifier()})), ex);//$NON-NLS-1$ 
-			return null;
-		}
-	}
-	
-	/*
-	 * Create a CVSRepositoryLocation from its composite parts.
-	 */
-	private CVSRepositoryLocation(IConnectionMethod method, String user, String password, String host, int port, String root, String encoding, boolean userFixed, boolean passwordFixed) {
-		this.method = method;
-		this.user = user;
-		this.password = password;
-		this.host = host;
-		this.port = port;
-		this.root = root;
-		// The username can be fixed only if one is provided
-		if (userFixed && (user != null))
-			this.userFixed = true;
-		// The password can only be fixed if the username is and a password is provided
-		if (userFixed && passwordFixed && (password != null))
-			this.passwordFixed = true;
-		if (encoding != null) {
-			setEncoding(encoding);
-		}
-	}
-	
-	/*
-	 * Create the connection to the remote server.
-	 * If anything fails, an exception will be thrown and must
-	 * be handled by the caller.
-	 */
-	private Connection createConnection(String password, IProgressMonitor monitor) throws CVSException {
-		IConnectionMethod methodToUse = method;
-		if (method.getName().equals("ext") && extProxy != null && !extProxy.equals(method.getName())) { //$NON-NLS-1$
-			methodToUse = getPluggedInConnectionMethod(extProxy); 
-		}
-		Connection connection = new Connection(this, methodToUse.createConnection(this, password));
-		connection.open(monitor);
-		return connection;
-	}
-	
-	/*
-	 * Dispose of the receiver by clearing any cached authorization information.
-	 * This method shold only be invoked when the corresponding adapter is shut
-	 * down or a connection is being validated.
-	 */
-	public void dispose() {
-		flushCache();
-		try {
-			if (hasPreferences()) {
-				internalGetPreferences().removeNode();
-				getParentPreferences().flush();
-			}
-		} catch (BackingStoreException e) {
-			CVSProviderPlugin.log(IStatus.ERROR, NLS.bind(CVSMessages.CVSRepositoryLocation_73, new String[] { getLocation(true) }), e); 
-		}
-	}
-	
-	/*
-	 * Flush the keyring entry associated with the receiver
-	 */
-	private void flushCache() {
-		ISecurePreferences node = getCVSNode();
-		if (node == null)
-			return;
-		try {
-			node.flush();
-		} catch (IOException e) {
-			CVSProviderPlugin.log(IStatus.ERROR, e.getMessage(), e);
-		}
-	}
-	
-	/*
-	 * @see ICVSRepositoryLocation#getHost()
-	 */
-	public String getHost() {
-		return host;
-	}
-
-	/*
-	 * @see IRepositoryLocation#getLocation()
-	 * 
-	 * The username is included if it is fixed.
-	 * The password is never included even if it is fixed.
-	 * The port is included if it is not the default port.
-	 */
-	public String getLocation() {
-		return getLocation(false);
-	}
-	
-	public String getLocation(boolean forDisplay) {
-		return COLON + method.getName() + COLON + 
-			(userFixed?(user +
-				((passwordFixed && !forDisplay)?(COLON + password):"")//$NON-NLS-1$ 
-					+ HOST_SEPARATOR):"") +//$NON-NLS-1$ 
-			host + COLON +
-			((port == USE_DEFAULT_PORT)?"":(new Integer(port).toString())) + //$NON-NLS-1$ 
-			root;
-	}
-	
-	/*
-	 * @see ICVSRepositoryLocation#getMethod()
-	 */
-	public IConnectionMethod getMethod() {
-		return method;
-	}
-
-	/*
-	 * @see ICVSRepositoryLocation#getPort()
-	 */
-	public int getPort() {
-		return port;
-	}
-	
-	/*
-	 * @see ICVSRepositoryLocation#getEncoding()
-	 */
-	public String getEncoding() {
-		if (hasPreferences()) {
-			return internalGetPreferences().get(PREF_SERVER_ENCODING, getDefaultEncoding());
-		} else {
-			return getDefaultEncoding();
-		}
-	}
-
-	/*
-	 * @see ICVSRepositoryLocation#setEncoding()
-	 */
-	public void setEncoding(String encoding) {
-		if (encoding == null || encoding == getDefaultEncoding()) {
-			if (hasPreferences()) {
-				internalGetPreferences().remove(PREF_SERVER_ENCODING);
-			}
-		} else {
-			ensurePreferencesStored();
-			internalGetPreferences().put(PREF_SERVER_ENCODING, encoding);
-			flushPreferences();
-		}
-	}	
-
-	/*
-	 * @see ICVSRepositoryLocation#members(CVSTag, boolean, IProgressMonitor)
-	 */
-	public ICVSRemoteResource[] members(CVSTag tag, boolean modules, IProgressMonitor progress) throws CVSException {
-		try {
-			if (modules) {
-				return RemoteModule.getRemoteModules(this, tag, progress);
-			} else {
-				RemoteFolder root = new RemoteFolder(null, this, ICVSRemoteFolder.REPOSITORY_ROOT_FOLDER_NAME, tag);
-				ICVSRemoteResource[] resources = root.members(progress);
-				// There is the off chance that there is a file in the root of the repository.
-				// This is not supported by cvs so we need to make sure there are no files
-				List folders = new ArrayList(resources.length);
-				for (int i = 0; i < resources.length; i++) {
-					ICVSRemoteResource remoteResource = resources[i];
-					if (remoteResource.isContainer()) {
-						folders.add(remoteResource);
-					}
-				}
-				return (ICVSRemoteResource[]) folders.toArray(new ICVSRemoteResource[folders.size()]);
-			}
-		} catch (CVSException e){
-			// keep current CVSException
-			throw e;
-		} catch(TeamException e1) {
-			throw new CVSException(e1.getStatus());
-		}
-	}
-	
-	/*
-	 * @see ICVSRepositoryLocation#getRemoteFolder(String, CVSTag)
-	 */
-	public ICVSRemoteFolder getRemoteFolder(String remotePath, CVSTag tag) {
-		return new RemoteFolder(null, this, remotePath, tag);		
-	}
-	
-	/*
-	 * @see ICVSRepositoryLocation#getRemoteFile(String, CVSTag)
-	 */
-	public ICVSRemoteFile getRemoteFile(String remotePath, CVSTag tag) {
-		IPath path = new Path(null, remotePath);
-		RemoteFolderTree remoteFolder = new RemoteFolderTree(null, this, path.removeLastSegments(1).toString(), tag);
-		RemoteFile remoteFile = new RemoteFile(remoteFolder, Update.STATE_ADDED_LOCAL, path.lastSegment(), null, null, tag);
-		remoteFolder.setChildren(new ICVSRemoteResource[] { remoteFile });
-		return remoteFile;
-	}
-	
-	/*
-	 * @see ICVSRepositoryLocation#getRootDirectory()
-	 */
-	public String getRootDirectory() {
-		return root;
-	}
-	
-	/*
-	 * @see ICVSRepositoryLocation#getTimeout()
-	 * 
-	 * For the time being, the timeout value is a system wide value
-	 * associated with the CVSPlugin singleton.
-	 */
-	public int getTimeout() {
-		return CVSProviderPlugin.getPlugin().getTimeout();
-	}
-	
-	/*
-	 * @see ICVSRepositoryLocation#getUserInfo()
-	 */
-	public IUserInfo getUserInfo(boolean makeUsernameMutable) {
-		return new UserInfo(getUsername(), password, makeUsernameMutable ? true : isUsernameMutable());
-	}
-	
-	/*
-	 * @see ICVSRepositoryLocation#getUsername()
-	 * @see IUserInfo#getUsername()
-	 */
-	public String getUsername() {
-		// If the username is mutable, get it from the cache if it's there
-		if (user == null && isUsernameMutable()) {
-			retrievePassword();
-		}
-		return user == null ? "" : user; //$NON-NLS-1$
-	}
-	
-	/*
-	 * @see IUserInfo#isUsernameMutable()
-	 */
-	public boolean isUsernameMutable() {
-		return !userFixed;
-	}
-
-	/*
-	 * Open a connection to the repository represented by the receiver.
-	 * If the username or password are not fixed, openConnection will
-	 * use the plugged-in authenticator to prompt for the username and/or
-	 * password if one has not previously been provided or if the previously
-	 * supplied username and password are invalid.
-	 * 
-	 * This method is synchronized to ensure that authentication with the 
-	 * remote server is serialized. This is needed to avoid the situation where
-	 * multiple failed authentications occur and result in the remote account
-	 * being locked. The CVSProviderPlugin enforces that there is one instance
-	 * of a CVSRepositoryLocation per remote location thus this method is called
-	 * for any connection made to this remote location.
-	 */
-	public Connection openConnection(IProgressMonitor monitor) throws CVSException {
-        // Get the lock for the host to ensure that we are not connecting to the same host concurrently.
-        Policy.checkCanceled(monitor);
-		ILock hostLock;
-		synchronized(hostLocks) {
-			hostLock = (ILock)hostLocks.get(getHost());
-			if (hostLock == null) {
-				hostLock = Job.getJobManager().newLock();
-				hostLocks.put(getHost(), hostLock);
-			}
-		}
-		try {
-		    boolean acquired = false;
-		    int count = 0;
-		    int timeout = CVSProviderPlugin.getPlugin().getTimeout();
-		    while (!acquired) {
-		    	try {
-					acquired = hostLock.acquire(1000);
-				} catch (InterruptedException e) {
-					// Ignore
-				}
-				if (timeout > 0 && count > timeout) {
-					throw new CVSCommunicationException(NLS.bind(CVSMessages.CVSRepositoryLocation_72, getHost()));
-				}
-				count++;
-				Policy.checkCanceled(monitor);
-		    }
-			// Allow two ticks in case of a retry
-			monitor.beginTask(NLS.bind(CVSMessages.CVSRepositoryLocation_openingConnection, new String[] { getHost() }), 2);
-			ensureLocationCached();
-			boolean cacheNeedsUpdate = false;
-			// If the previous connection failed, prompt before attempting to connect
-			if (previousAuthenticationFailed) {
-				promptForUserInfo(null);
-				// The authentication information has been change so update the cache
-				cacheNeedsUpdate = true;
-			}
-			while (true) {
-				try {
-					// The following will throw an exception if authentication fails
-					String password = this.password;
-					if (password == null) {
-						// If the instance has no password, obtain it from the cache
-						password = retrievePassword();
-					}
-					if (user == null) {
-						// This is possible if the cache was cleared somehow for a location with a mutable username
-						throw new CVSAuthenticationException(CVSMessages.CVSRepositoryLocation_usernameRequired, CVSAuthenticationException.RETRY, this, null); 
-					}
-					//if (password == null)
-					//	password = "";//$NON-NLS-1$ 
-					Connection connection = createConnection(password, monitor);
-					if (cacheNeedsUpdate)
-					    updateCachedLocation();
-					previousAuthenticationFailed = false;
-                    return connection;
-				} catch (CVSAuthenticationException ex) {
-					previousAuthenticationFailed = true;
-					if (ex.getRetryStatus() == CVSAuthenticationException.RETRY) {
-						String message = ex.getMessage();
-						promptForUserInfo(message);
-						// The authentication information has been change so update the cache
-						cacheNeedsUpdate = true;
-					} else {
-						throw ex;
-					}
-				}
-			}
-		} finally {
-            hostLock.release();
-			monitor.done();
-		}
-	}
-
-	/*
-	 * Prompt for the user authentication information (i.e. user name and password).
-	 */
-	private void promptForUserInfo(String message) throws CVSException {
-		IUserAuthenticator authenticator = getAuthenticator();
-		if (authenticator == null) {
-			throw new CVSAuthenticationException(CVSMessages.CVSRepositoryLocation_noAuthenticator, CVSAuthenticationException.NO_RETRY,this);// 
-		}
-		authenticator.promptForUserInfo(this, this, message);
-	}
-
-    /*
-	 * Ensure that this location is in the known repositories list
-	 * and that the authentication information matches what is in the
-	 * cache, if this instance is not the instance in the cache.
-     */
-    private void ensureLocationCached() {
-        String location = getLocation();
-        KnownRepositories repositories = KnownRepositories.getInstance();
-        if (repositories.isKnownRepository(location)) {
-            try {
-                // The repository is already known.
-                // Ensure that the authentication information of this 
-                // location matches that of the known location
-                setAuthenticationInformation((CVSRepositoryLocation)repositories.getRepository(location));
-            } catch (CVSException e) {
-                // Log the exception and continue
-                CVSProviderPlugin.log(e);
-            }
-        } else {
-            // The repository is not known so record it so any authentication
-            // information the user may provide is remembered
-        	repositories.addRepository(this, true /* broadcast */);
-        }
-    }
-
-	/*
-	 * Set the authentication information of this instance such that it matches the
-	 * provided instances.
-     */
-    private void setAuthenticationInformation(CVSRepositoryLocation other) {
-        if (other != this) {
-            // The instances differ so copy from the other location to this one
-            if (other.getUserInfoCached()) {
-                // The user info is cached for the other instance
-                // so null all the values in this instance so the 
-                // information is obtained from the cache
-                this.allowCaching = true;
-                if (!userFixed) this.user = null;
-                if (!passwordFixed) this.password = null;
-            } else {
-                // The user info is not cached for the other instance so
-                // copy the authentication information into this instance
-                setAllowCaching(false); /* this will clear any cahced values */
-                // Only copy the username and password if they are not fixed.
-                // (If they are fixed, they would be included in the location
-                // identifier and therefore must already match)
-                if (!other.userFixed)
-                    this.user = other.user;
-                if (!other.passwordFixed)
-                    this.password = other.password;
-            }
-        }
-    }
-
-    /*
-     * The connection was sucessfully made. Update the cached
-     * repository location if it is a differnet instance than
-     * this location.
-     */
-    private void updateCachedLocation() {
-        try {
-            CVSRepositoryLocation known = (CVSRepositoryLocation)KnownRepositories.getInstance().getRepository(getLocation());
-            known.setAuthenticationInformation(this);
-        } catch (CVSException e) {
-            // Log the exception and continue
-            CVSProviderPlugin.log(e);
-        }
-    }
-    
-    /*
-	 * Implementation of inherited toString()
-	 */
-	public String toString() {
-		return getLocation(true);
-	}
-	
-	public boolean equals(Object o) {
-		if (this == o) return true;
-		if (!(o instanceof CVSRepositoryLocation)) return false;
-		return getLocation().equals(((CVSRepositoryLocation)o).getLocation());
-	}
-	public int hashCode() {
-		return getLocation().hashCode();
-	}
-	
-	/*
-	 * Return the cached password from the keyring. 
-	 * Also, set the username of the receiver if the username is mutable
-	 */
-	private String retrievePassword() {
-		ISecurePreferences node = getCVSNode();
-		if (node == null)
-			return null;
-		try {
-			String username = node.get(USERNAME_KEY, null);
-			if (username != null && isUsernameMutable())
-				setUsername(username);
-			String password = node.get(PASSWORD_KEY, null);
-			return password;
-		} catch (StorageException e) { // most likely invalid keyring password or corrupted data
-			CVSProviderPlugin.log(IStatus.ERROR, e.getMessage(), e);
-		}
-		return null;
-	}
-	/*
-	 * @see IUserInfo#setPassword(String)
-	 */
-	public void setPassword(String password) {
-		if (passwordFixed)
-			throw new UnsupportedOperationException();
-		// We set the password here but it will be cleared 
-		// if the user info is cached using updateCache()
-		this.password = password;
-	}
-	
-	/*
-	 * @see IUserInfo#setUsername(String)
-	 */
-	public void setUsername(String user) {
-		if (userFixed)
-			throw new UnsupportedOperationException();
-		this.user = user;
-	}
-	
-	public void setUserMuteable(boolean muteable) {
-		userFixed = !muteable;
-	}
-	
-	public void setAllowCaching(boolean value) {
-		allowCaching = value;
-        if (allowCaching)
-            updateCache();
-        else
-            flushCache();
-	}
-	
-	public void updateCache() {
-		// Nothing to cache if the password is fixed
-		if (passwordFixed || ! allowCaching) return;
-		// Nothing to cache if the password is null and the user is fixed
-		if (password == null && userFixed) return;
-		if (updateCache(user, password)) {
-			// If the cache was updated, null the password field
-			// so we will obtain the password from the cache when needed
-			password = null;
-		}
-		ensurePreferencesStored();
-	}
-
-	/*
-	 * Cache the user info in the keyring. Return true if the operation
-	 * succeeded and false otherwise. If an error occurs, it will be logged.
-	 */
-	private boolean updateCache(String username, String password) {
-		ISecurePreferences node = getCVSNode();
-		if (node == null)
-			return false;
-		try {
-			node.put(USERNAME_KEY, username, false);
-			node.put(PASSWORD_KEY, password, true);
-		} catch (StorageException e) {
-			CVSProviderPlugin.log(IStatus.ERROR, e.getMessage(), e);
-			return false;
-		}
-		return true;
-	}
-	
-	/*
-	 * Validate that the receiver contains valid information for
-	 * making a connection. If the receiver contains valid
-	 * information, the method returns. Otherwise, an exception
-	 * indicating the problem is throw.
-	 */
-	public void validateConnection(IProgressMonitor monitor) throws CVSException {
-		try {
-			monitor = Policy.monitorFor(monitor);
-			monitor.beginTask(null, 100);
-			ICVSFolder root = CVSWorkspaceRoot.getCVSFolderFor(ResourcesPlugin.getWorkspace().getRoot());
-			Session session = new Session(this, root, false /* output to console */);
-			session.open(Policy.subMonitorFor(monitor, 50), false /* read-only */);
-			try {
-				IStatus status = Command.VERSION.execute(session, this, Policy.subMonitorFor(monitor, 50));
-				// Log any non-ok status
-				if (! status.isOK()) {
-					CVSProviderPlugin.log(status);
-				}
-			} finally {
-				session.close();
-				monitor.done();
-			}
-		} catch (CVSException e) {
-			// If the validation failed, dispose of any cached info
-			dispose();
-			throw e;
-		}
-	}
-	
-	/**
-	 * Return the server platform type. It will be one of the following:
-	 *		UNDETERMINED_PLATFORM: The platform has not been determined
-	 *		CVS_SERVER: The platform is regular CVS server
-	 *		CVSNT_SERVER: The platform in CVSNT
-	 * If UNDETERMINED_PLATFORM is returned, the platform can be determined
-	 * using the Command.VERSION command.
-	 */
-	public int getServerPlatform() {
-		return serverPlatform;
-	}
-	
-	/**
-	 * This method is called from Command.VERSION to set the platform type.
-	 */
-	public void setServerPlaform(int serverType) {
-		// Second, check the code of the status itself to see if it is NT
-		switch (serverType) {
-			case CVS_SERVER:
-			case CVSNT_SERVER:
-			case UNKNOWN_SERVER:
-			case UNSUPPORTED_SERVER:
-				serverPlatform = serverType;
-				break;
-			default:
-				// We had an error status with no info about the server.
-				// Mark it as undetermined.
-				serverPlatform = UNDETERMINED_PLATFORM;
-		}
-	}
-	
-	/**
-	 * @see ICVSRepositoryLocation#flushUserInfo()
-	 */
-	public void flushUserInfo() {
-		flushCache();
-	}
-	
-	/*
-	 * Return the command string that is to be used by the EXT connection method.
-	 */
-	String[] getExtCommand(String password) throws IOException {
-		// Get the user specified connection parameters
-		String CVS_RSH = CVSProviderPlugin.getPlugin().getCvsRshCommand();
-		String CVS_RSH_PARAMETERS = CVSProviderPlugin.getPlugin().getCvsRshParameters();
-		String CVS_SERVER = CVSProviderPlugin.getPlugin().getCvsServer();
-		if(CVS_RSH == null || CVS_SERVER == null) {
-			throw new IOException(CVSMessages.EXTServerConnection_varsNotSet); 
-		}
-		
-		// If there is only one token, assume it is the command and use the default parameters and order
-		if (CVS_RSH_PARAMETERS == null || CVS_RSH_PARAMETERS.length() == 0) {
-			if (port != USE_DEFAULT_PORT)
-				throw new IOException(CVSMessages.EXTServerConnection_invalidPort); 
-			return new String[] {CVS_RSH, host, "-l", user, CVS_SERVER, INVOKE_SVR_CMD}; //$NON-NLS-1$
-		}
-
-		// Substitute any variables for their appropriate values
-		CVS_RSH_PARAMETERS = stringReplace(CVS_RSH_PARAMETERS, USER_VARIABLE, user);
-		CVS_RSH_PARAMETERS = stringReplace(CVS_RSH_PARAMETERS, PASSWORD_VARIABLE, password);
-		CVS_RSH_PARAMETERS = stringReplace(CVS_RSH_PARAMETERS, HOST_VARIABLE, host);
-		CVS_RSH_PARAMETERS = stringReplace(CVS_RSH_PARAMETERS, PORT_VARIABLE, new Integer(port).toString());
-
-		// Build the command list to be sent to the OS.
-		List commands = new ArrayList();
-		commands.add(CVS_RSH);
-		StringTokenizer tokenizer = new StringTokenizer(CVS_RSH_PARAMETERS);
-		while (tokenizer.hasMoreTokens()) {
-			String next = tokenizer.nextToken();
-			commands.add(next);
-		}
-		commands.add(CVS_SERVER);
-		commands.add(INVOKE_SVR_CMD);
-		return (String[]) commands.toArray(new String[commands.size()]);
-	}
-
-	/*
-	 * Replace all occurances of oldString with newString
-	 */
-	private String stringReplace(String string, String oldString, String newString) {
-		int index = string.toLowerCase().indexOf(oldString);
-		if (index == -1) return string;
-		return stringReplace(
-			string.substring(0, index) + newString + string.substring(index + oldString.length()),
-			oldString, newString);
-	}
-
-	/**
-	 * Return the server message with the prefix removed.
-	 * Server aborted messages typically start with 
-	 *    "cvs server: ..."
-	 *    "cvs [server aborted]: ..."
-	 *    "cvs rtag: ..."
-	 */
-	public String getServerMessageWithoutPrefix(String errorLine, String prefix) {
-		String message = errorLine;
-		int firstSpace = message.indexOf(' ');
-		if(firstSpace != -1) {						
-			// remove the program name and the space
-			message = message.substring(firstSpace + 1);
-			// Quick fix to handle changes in server message format (see Bug 45138)
-			if (prefix.startsWith("[")) { //$NON-NLS-1$
-				// This is the server aborted message
-				// Remove the pattern "[command_name aborted]: "
-				int closingBracket = message.indexOf("]: "); //$NON-NLS-1$
-				if (closingBracket == -1) return null;
-				// get what is inside the brackets
-				String realPrefix = message.substring(1, closingBracket);
-				// check that there is two words and the second word is "aborted"
-				int space = realPrefix.indexOf(' ');
-				if (space == -1) return null;
-				if (realPrefix.indexOf(' ', space +1) != -1) return null;
-				if (!realPrefix.substring(space +1).equals("aborted")) return null; //$NON-NLS-1$
-				// It's a match, return the rest of the line
-				message = message.substring(closingBracket + 2);
-				if (message.charAt(0) == ' ') {
-					message = message.substring(1);
-				}
-				return message;
-			} else {
-				// This is the server command message
-				// Remove the pattern "command_name: "
-				int colon = message.indexOf(": "); //$NON-NLS-1$
-				if (colon == -1) return null;
-				// get what is before the colon
-				String realPrefix = message.substring(0, colon);
-				// ensure that it is a single word
-				if (realPrefix.indexOf(' ') != -1) return null;
-				message = message.substring(colon + 1);
-				if (message.charAt(0) == ' ') {
-					message = message.substring(1);
-				}
-				return message;
-			}
-		}
-		// This is not a server message with the desired prefix
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation#getUserAuthenticator()
-	 */
-	public IUserAuthenticator getUserAuthenticator() {
-		return getAuthenticator();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation#setUserAuthenticator()
-	 */
-	public void setUserAuthenticator(IUserAuthenticator authenticator) {
-		CVSRepositoryLocation.authenticator = authenticator;
-	}
-	
-	/*
-	 * Return the preferences node for this repository
-	 */
-	public Preferences getPreferences() {
-		if (!hasPreferences()) {
-			ensurePreferencesStored();
-		}
-		return internalGetPreferences();
-	}
-	
-	private Preferences internalGetPreferences() {
-		return getParentPreferences().node(getPreferenceName());
-	}
-	
-	private boolean hasPreferences() {
-		try {
-			return getParentPreferences().nodeExists(getPreferenceName());
-		} catch (BackingStoreException e) {
-			CVSProviderPlugin.log(IStatus.ERROR, NLS.bind(CVSMessages.CVSRepositoryLocation_74, new String[] { getLocation(true) }), e); 
-			return false;
-		}
-	}
-	
-	/**
-	 * Return a unique name that identifies this location but
-	 * does not contain any slashes (/). Also, do not use ':'.
-	 * Although a valid path character, the initial core implementation
-	 * didn't handle it well.
-	 */
-	private String getPreferenceName() {
-		return getLocation().replace('/', '%').replace(':', '%');
-	}
-
-	public void storePreferences() {
-		Preferences prefs = internalGetPreferences();
-		// Must store at least one preference in the node
-		prefs.put(PREF_LOCATION, getLocation());
-		flushPreferences();
-	}
-	
-	private void flushPreferences() {
-		try {
-			internalGetPreferences().flush();
-		} catch (BackingStoreException e) {
-			CVSProviderPlugin.log(IStatus.ERROR, NLS.bind(CVSMessages.CVSRepositoryLocation_75, new String[] { getLocation(true) }), e); 
-		}
-	}
-
-	private void ensurePreferencesStored() {
-		if (!hasPreferences()) {
-			storePreferences();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation#getUserInfoCached()
-	 */
-	public boolean getUserInfoCached() {
-		ISecurePreferences node = getCVSNode();
-		if (node == null)
-			return false;
-		try {
-			String password = node.get(PASSWORD_KEY, null);
-			return (password != null);
-		} catch (StorageException e) { // most likely invalid keyring password or corrupted data
-			CVSProviderPlugin.log(IStatus.ERROR, e.getMessage(), e);
-		}
-		return false;
-	}
-
-	/**
-	 * At this time information is saved in a simplistic flat form. In future, this 
-	 * can be modified into a hierarchy of storing information in "connections"
-	 * where "connection" would combine "server" and "account" information (allowing
-	 * user to have the same password for different connections on the server).
-	 * 
-	 * Hopefully, we'll get some simplified notion of "account" from Higgins into Equinox
-	 * and then we'll be able to re-use it.
-	 * 
-	 * For now, the structure is rather simple:
-	 * node: "CVS" 										"/CVS/"
-	 * 		node: account_name							name combines all attributes
-	 * 			| value: login
-	 * 			| value: password
-	 */
-	private ISecurePreferences getCVSNode() {
-		ISecurePreferences preferences = SecurePreferencesFactory.getDefault();
-		if (preferences == null)
-			return null;
-		String accountName = EncodingUtils.encodeSlashes(getLocation(true));
-		String path = cvsNameSegment + accountName;
-		return preferences.node(path);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSServerException.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSServerException.java
deleted file mode 100644
index 1fbca67..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/CVSServerException.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.connection;
-
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSStatus;
-
-/**
- * Client has received an error response from the server. 
- */
-public class CVSServerException extends CVSException {
-	
-	private static final long serialVersionUID = 1L;
-
-    /**
-	 * Return true if the exception from the cvs server is the no tag error, and false
-	 * otherwise.
-	 */
-	public boolean isNoTagException() {
-		IStatus status = getStatus();
-		if ( ! status.isMultiStatus())
-			return false;
-		IStatus[] children = ((MultiStatus)status).getChildren();
-		for (int i = 0; i < children.length; i++) {
-			if (children[i].getCode() == CVSStatus.NO_SUCH_TAG) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Return true if the exceptions status contains any error status messages
-	 */
-	public boolean containsErrors() {
-		IStatus status = getStatus();
-		if ( ! status.isMultiStatus())
-			return status.getSeverity() == IStatus.ERROR;
-		IStatus[] children = ((MultiStatus)status).getChildren();
-		for (int i=0;i<children.length;i++) {
-			if (children[i].getSeverity() == IStatus.ERROR)
-				return true;
-		}
-		return false;
-	}
-	
-	/** The status should have a status code of CVSStatus.SERVER_ERROR
-	 * @param status
-	 */
-	public CVSServerException(IStatus status) {
-		super(status);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/Connection.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/Connection.java
deleted file mode 100644
index cf1caef..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/Connection.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Brock Janiczak (brockj@tpg.com.au) - Bug 144419 Avoid calculating encoding for each line read/written
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.connection;
-
- 
-import java.io.*;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-
-/**
- * A connection to talk to a cvs server. The life cycle of a connection is
- * as follows:
- * <ul>
- *	<li> constructor: creates a new connection object that wraps the given
- *       repository location and connection method.
- *	<li> open: opens a connection.
- *	<li> send a request: use write* method or use the request stream directly.
- *	     <code>GetRequestStream</code> returns an output stream to directly
- *	     talk to the server.
- *	<li> read responses: use read* methods or use the response stream directly.
- *	     <code>GetResponseStream</code> returns an input stream to directly
- *	     read output from the server.
- *	<li> close: closes the connection. A closed connection can be reopened by
- *	     calling open again.
- * </ul>
- */
-public class Connection {
-	private static final byte NEWLINE= 0xA;
-	
-	private IServerConnection serverConnection;
-	private ICVSRepositoryLocation fCVSRoot;
-	private boolean fIsEstablished;
-	private InputStream fResponseStream;
-	private String fServerEncoding;
-	private byte[] readLineBuffer = new byte[256];
-
-	public Connection(ICVSRepositoryLocation cvsroot, IServerConnection serverConnection) {
-		fCVSRoot = cvsroot;
-		this.serverConnection = serverConnection;
-		fServerEncoding = getEncoding(fCVSRoot);
-	}
-	
-	private static byte[] append(byte[] buffer, int index, byte b) {
-		if (index >= buffer.length) {
-			byte[] newBuffer= new byte[index * 2];
-			System.arraycopy(buffer, 0, newBuffer, 0, buffer.length);
-			buffer= newBuffer;
-		}
-		buffer[index]= b;
-		return buffer;
-	}
-	/**
-	 * Closes the connection.
-	 */
-	public void close() {
-		if (!isEstablished())
-			return;
-		try {
-			serverConnection.close();
-		} catch (IOException ex) {
-			// Generally, errors on close are of no interest.
-			// However, log them if debugging is on
-			if (CVSProviderPlugin.getPlugin().isDebugging()) {
-				CVSProviderPlugin.log(new CVSCommunicationException(CVSMessages.Connection_cannotClose, fCVSRoot, ex));
-			}
-		} finally {
-			fResponseStream = null;
-			fIsEstablished = false;
-		}
-	}
-	/**
-	 * Flushes the request stream.
-	 */
-	public void flush() throws CVSException {
-		if (!isEstablished())
-			return;
-		try {
-			getOutputStream().flush();	
-		} catch(IOException e) {
-			throw new CVSCommunicationException(fCVSRoot,e);
-		}
-	}
-	
-	/**
-	 * Returns the <code>OutputStream</code> used to send requests
-	 * to the server.
-	 */
-	public OutputStream getOutputStream() {
-		if (!isEstablished())
-			return null;
-		return serverConnection.getOutputStream();
-	}
-	/**
-	 * Returns the <code>InputStream</code> used to read responses from
-	 * the server.
-	 */
-	public InputStream getInputStream() {
-		if (!isEstablished())
-			return null;
-		if (fResponseStream == null)
-			fResponseStream = serverConnection.getInputStream();
-		return fResponseStream;	
-	}
-
-	/**
-	 * Returns <code>true</code> if the connection is established;
-	 * otherwise <code>false</code>.
-	 */
-	public boolean isEstablished() {
-		return fIsEstablished;
-	}
-
-	/**
-	 * Opens the connection.
-	 */	
-	public void open(IProgressMonitor monitor) throws CVSException {
-		if (isEstablished())
-			return;
-		try {
-			serverConnection.open(monitor);
-		} catch (IOException e) {
-			throw new CVSCommunicationException(NLS.bind(CVSMessages.Connection_0, new String[] { fCVSRoot.getLocation(true), CVSCommunicationException.getMessageFor(e) }), fCVSRoot, e); 
-		}
-		fIsEstablished= true; 
-	}
-	/**
-	 * Reads a line from the response stream.
-	 */
-	public String readLine() throws CVSException {
-		if (!isEstablished())
-			throw new CVSCommunicationException(CVSMessages.Connection_readUnestablishedConnection,fCVSRoot,null);
-		try { 
-			InputStream in = getInputStream();
-			int index = 0;
-			int r;
-			while ((r = in.read()) != -1) {
-				if (r == NEWLINE) break;
-				readLineBuffer = append(readLineBuffer, index++, (byte) r);
-			}
-
-			String result = new String(readLineBuffer, 0, index, fServerEncoding);
-			if (Policy.isDebugProtocol()) Policy.printProtocolLine(result);
-			return result;
-		} catch (IOException e) {
-			throw new CVSCommunicationException(fCVSRoot,e);
-		}
-	}
-	
-	static String readLine(ICVSRepositoryLocation location, InputStream in) throws IOException {
-		byte[] buffer = new byte[256];
-		int index = 0;
-		int r;
-		while ((r = in.read()) != -1) {
-			if (r == NEWLINE)
-				break;
-			buffer = append(buffer, index++, (byte) r);
-		}
-
-		String result = new String(buffer, 0, index, getEncoding(location));
-		if (Policy.isDebugProtocol())
-		    Policy.printProtocolLine(result);
-		return result;
-	}
-
-	//---- Helper to send strings to the server ----------------------------
-	
-	/**
-	 * Sends the given string to the server.
-	 */
-	public void write(String s) throws CVSException {
-        try {
-			write(s.getBytes(fServerEncoding), false);
-		} catch (UnsupportedEncodingException e) {
-			IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.SERVER_ERROR, e.getMessage(), e, fCVSRoot);
-			throw new CVSException (status);
-		}
-	}
-	
-	/**
-	 * Return the encoding for the given repository location
-	 * @return the encoding for the given repository location
-	 */
-	public static String getEncoding(ICVSRepositoryLocation location) {
-		return location.getEncoding();
-	}
-
-	/**
-	 * Sends the given string and a newline to the server. 
-	 */
-	public void writeLine(String s) throws CVSException {
-		try {
-			write(s.getBytes(fServerEncoding), true);
-		} catch (UnsupportedEncodingException e) {
-			IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.SERVER_ERROR, e.getMessage(), e, fCVSRoot);
-			throw new CVSException (status);
-		}
-	}
-
-	void write (byte[] bytes, boolean newLine) throws CVSException {
-		write(bytes, 0, bytes.length, newLine);
-	}
-	
-	/**
-	 * Low level method to write a string to the server. All write* methods are
-	 * funneled through this method.
-	 */
-	void write(byte[] b, int off, int len, boolean newline) throws CVSException {
-		if (!isEstablished())
-			throw new CVSCommunicationException(CVSMessages.Connection_writeUnestablishedConnection,fCVSRoot,null);
-			
-		if (Policy.isDebugProtocol())
-		    Policy.printProtocol(new String(b, off, len), newline);
-	
-		try {
-			OutputStream out= getOutputStream();
-			out.write(b, off, len);
-			if (newline)
-				out.write(NEWLINE);
-			
-		} catch (IOException e) {
-			throw new CVSCommunicationException(fCVSRoot,e);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/ExtConnection.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/ExtConnection.java
deleted file mode 100644
index 4ab45ce..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/ExtConnection.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.connection;
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.IServerConnection;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-import org.eclipse.team.internal.core.streams.PollingInputStream;
-import org.eclipse.team.internal.core.streams.PollingOutputStream;
-import org.eclipse.team.internal.core.streams.TimeoutInputStream;
-import org.eclipse.team.internal.core.streams.TimeoutOutputStream;
-
-/**
- * Implements a connection method which invokes an external tool to 
- * establish the connection to the cvs server. Authentication and starting
- * of the cvs server are the responsibility of the external connection
- * tool.
- */
-public class ExtConnection implements IServerConnection {
-
-	// cvs format for the repository (e.g. :extssh:user@host:/home/cvs/repo)
-	private ICVSRepositoryLocation location;
-	private String password;
-
-	// incoming from remote host
-	InputStream inputStream;
-
-	// outgoing to remote host
-	OutputStream outputStream;
-	
-	// Process spawn to run the command
-	Process process;
-	
-	protected ExtConnection(ICVSRepositoryLocation location, String password) {
-		this.location = location;
-		this.password = password;
-	}
-	
-	/**
-	 * Closes the connection.
-	 */
-	public void close() throws IOException {
-		try {
-			if (inputStream != null) inputStream.close();
-		} finally {
-			inputStream = null;
-			try {
-				if (outputStream != null) outputStream.close();
-			} finally {
-				outputStream = null;
-				if (process != null) process.destroy();
-			}
-		}
-	}
-	
-	/**
-	 * Returns the <code>InputStream</code> used to read data from the
-	 * server.
-	 */
-	public InputStream getInputStream() {
-		return inputStream;
-	}
-	
-	/**
-	 * Returns the <code>OutputStream</code> used to send data to the
-	 * server.
-	 */
-	public OutputStream getOutputStream() {
-		return outputStream;
-	}
-	
-	/**
-	 * Opens the connection and invokes cvs in server mode.
-	 *
-	 * @see Connection.open()
-	 */
-	public void open(IProgressMonitor monitor) throws IOException {
-		String[] command = ((CVSRepositoryLocation)location).getExtCommand(password);
-		boolean connected = false;
-		try {
-			process = Util.createProcess(command, monitor);
-
-			inputStream = new PollingInputStream(new TimeoutInputStream(process.getInputStream(),
-				8192 /*bufferSize*/, 1000 /*readTimeout*/, -1 /*closeTimeout*/), location.getTimeout(), monitor);
-			outputStream = new PollingOutputStream(new TimeoutOutputStream(process.getOutputStream(),
-				8192 /*buffersize*/, 1000 /*writeTimeout*/, 1000 /*closeTimeout*/), location.getTimeout(), monitor);
-
-			// XXX need to do something more useful with stderr
-			connected = true;
-		} finally {
-			if (! connected) {
-				try {
-					close();
-				} finally {
-					// Ignore any exceptions during close
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/ExtConnectionMethod.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/ExtConnectionMethod.java
deleted file mode 100644
index d18e95e..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/ExtConnectionMethod.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.connection;
-
- 
-import org.eclipse.team.internal.ccvs.core.*;
-
-public class ExtConnectionMethod implements IConnectionMethod {
-	/**
-	 * @see IConnectionMethod#getName
-	 */
-	public String getName() {
-		return "ext"; //$NON-NLS-1$
-	}
-	
-	/**
-	 * @see IConnectionMethod#createConnection
-	 */
-	public IServerConnection createConnection(ICVSRepositoryLocation repositoryRoot, String password) {
-		if(password==null){
-			password=""; //$NON-NLS-1$
-		}
-		return new ExtConnection(repositoryRoot, password);
-	}
-	
-	public void disconnect(ICVSRepositoryLocation location) {
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/PServerConnection.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/PServerConnection.java
deleted file mode 100644
index 96e5de9..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/PServerConnection.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.connection;
- 
-import java.io.*;
-import java.net.Socket;
-
-import org.eclipse.core.net.proxy.IProxyData;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jsch.core.IJSchService;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-import org.eclipse.team.internal.core.streams.*;
-
-import com.jcraft.jsch.Proxy;
-
-/**
- * A connection used to talk to an cvs pserver.
- */
-public class PServerConnection implements IServerConnection {
-	
-	public static final char NEWLINE= 0xA;
-	
-	/** default CVS pserver port */
-	private static final int DEFAULT_PORT= 2401;
-	
-	/** error line indicators */
-	private static final char ERROR_CHAR = 'E';
-	private static final String ERROR_MESSAGE = "error 0";//$NON-NLS-1$
-	private static final String NO_SUCH_USER = "no such user";//$NON-NLS-1$
-	
-	private static final char[] SCRAMBLING_TABLE=new char[] {
-	0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
-	16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,
-	114,120,53,79,96,109,72,108,70,64,76,67,116,74,68,87,
-	111,52,75,119,49,34,82,81,95,65,112,86,118,110,122,105,
-	41,57,83,43,46,102,40,89,38,103,45,50,42,123,91,35,
-	125,55,54,66,124,126,59,47,92,71,115,78,88,107,106,56,
-	36,121,117,104,101,100,69,73,99,63,94,93,39,37,61,48,
-	58,113,32,90,44,98,60,51,33,97,62,77,84,80,85,223,
-	225,216,187,166,229,189,222,188,141,249,148,200,184,136,248,190,
-	199,170,181,204,138,232,218,183,255,234,220,247,213,203,226,193,
-	174,172,228,252,217,201,131,230,197,211,145,238,161,179,160,212,
-	207,221,254,173,202,146,224,151,140,196,205,130,135,133,143,246,
-	192,159,244,239,185,168,215,144,139,165,180,157,147,186,214,176,
-	227,231,219,169,175,156,206,198,129,164,150,210,154,177,134,127,
-	182,128,158,208,162,132,167,209,149,241,153,251,237,236,171,195,
-	243,233,253,240,194,250,191,155,142,137,245,235,163,242,178,152
-	};
-
-	/** Communication strings */
-	private static final String BEGIN= "BEGIN AUTH REQUEST";//$NON-NLS-1$
-	private static final String END=   "END AUTH REQUEST";//$NON-NLS-1$
-	private static final String LOGIN_OK= "I LOVE YOU";//$NON-NLS-1$
-	private static final String LOGIN_FAILED= "I HATE YOU";//$NON-NLS-1$
-	
-	private String password;
-	private ICVSRepositoryLocation cvsroot;
-
-	private Socket fSocket;
-	
-	private InputStream inputStream;
-	private OutputStream outputStream;
-	
-	/**
-	 * @see Connection#doClose()
-	 */
-	public void close() throws IOException {
-		try {
-			if (inputStream != null) inputStream.close();
-		} finally {
-			inputStream = null;
-			try {
-				if (outputStream != null) outputStream.close();
-			} finally {
-				outputStream = null;
-				try {
-					if (fSocket != null) fSocket.close();
-				} finally {
-					fSocket = null;
-				}
-			}
-		}
-	}
-
-	/**
-	 * @see Connection#doOpen()
-	 */
-	public void open(IProgressMonitor monitor) throws IOException, CVSAuthenticationException {
-		
-		monitor.subTask(CVSMessages.PServerConnection_authenticating);
-		monitor.worked(1);
-		
-		InputStream is = null;
-		OutputStream os = null;
-        
-        Proxy proxy = getProxy();
-        if (proxy!=null) {
-          String host = cvsroot.getHost();
-          int port = cvsroot.getPort();
-          if (port == ICVSRepositoryLocation.USE_DEFAULT_PORT) {
-            port = DEFAULT_PORT;
-          }
-          try {
-            int timeout = CVSProviderPlugin.getPlugin().getTimeout() * 1000;
-            IJSchService service = CVSProviderPlugin.getPlugin().getJSchService();
-            service.connect(proxy, host, port, timeout, monitor);
-          } catch( Exception ex) {
-            ex.printStackTrace();
-            throw new IOException(ex.getMessage());
-          }
-          is = proxy.getInputStream();
-          os = proxy.getOutputStream();
-          
-        } else {
-          fSocket = createSocket(monitor);
-          is = fSocket.getInputStream();
-          os = fSocket.getOutputStream();
-        }
-        
-		boolean connected = false;
-		try {
-			this.inputStream = new BufferedInputStream(new PollingInputStream(is,
-				cvsroot.getTimeout(), monitor));
-			this.outputStream = new PollingOutputStream(new TimeoutOutputStream(
-				os, 8192 /*bufferSize*/, 1000 /*writeTimeout*/, 1000 /*closeTimeout*/),
-				cvsroot.getTimeout(), monitor);
-			authenticate();
-			connected = true;
-		} finally {
-			if (! connected) close();
-		}
-	}
-
-	private Proxy getProxy() {
-		IJSchService service = CVSProviderPlugin.getPlugin().getJSchService();
-		if (service == null)
-			return null;
-		Proxy proxy = service.getProxyForHost(cvsroot.getHost(), IProxyData.SOCKS_PROXY_TYPE);
-		if (proxy == null)
-			proxy = service.getProxyForHost(cvsroot.getHost(), IProxyData.HTTPS_PROXY_TYPE);
-        return proxy;
-    }
-
-    /**
-	 * @see Connection#getInputStream()
-	 */
-	public InputStream getInputStream() {
-		return inputStream;
-	}
-	/**
-	 * @see Connection#getOutputStream()
-	 */
-	public OutputStream getOutputStream() {
-		return outputStream;
-	}
-
-	/**
-	 * Creates a new <code>PServerConnection</code> for the given
-	 * cvs root.
-	 */
-	PServerConnection(ICVSRepositoryLocation cvsroot, String password) {
-		this.cvsroot = cvsroot;
-		this.password = password;
-	}
-	/**
-	 * Does the actual authentication.
-	 */
-	private void authenticate() throws IOException, CVSAuthenticationException {
-		String scrambledPassword = scramblePassword(password);
-	
-		String user = cvsroot.getUsername();
-		OutputStream out = getOutputStream();
-		
-		StringBuffer request = new StringBuffer();
-		request.append(BEGIN);
-		request.append(NEWLINE);
-		request.append(cvsroot.getRootDirectory());
-		request.append(NEWLINE);
-		request.append(user);
-		request.append(NEWLINE);
-		request.append(scrambledPassword);
-		request.append(NEWLINE);
-		request.append(END);
-		request.append(NEWLINE);
-		out.write(request.toString().getBytes());
-		out.flush();
-		String line = Connection.readLine(cvsroot, getInputStream()).trim();
-		
-		// Return if we succeeded
-		if (LOGIN_OK.equals(line))
-			return;
-		
-		// Otherwise, determine the type of error
-		if (line.length() == 0) {
-			throw new IOException(CVSMessages.PServerConnection_noResponse);
-		}
-		
-		// Accumulate a message from the error (E) stream
-		String message = "";//$NON-NLS-1$
-		String separator = ""; //$NON-NLS-1$
-
-        if(!CVSProviderPlugin.getPlugin().isUseProxy()) {
-          while (line.length() > 0 && line.charAt(0) == ERROR_CHAR) {
-  		    if (line.length() > 2) {
-  		        message += separator + line.substring(2);
-  			    separator = " "; //$NON-NLS-1$
-  		    }
-  		    line = Connection.readLine(cvsroot, getInputStream());
-          }
-        } else {
-            while (line.length() > 0) {
-                message += separator + line;
-                separator = "\n"; //$NON-NLS-1$
-                line = Connection.readLine(cvsroot, getInputStream());
-            }
-        }
-		
-		// If the last line is the login failed (I HATE YOU) message, return authentication failure
-		if (LOGIN_FAILED.equals(line)) {
-		    if (message.length() == 0) {
-		        throw new CVSAuthenticationException(CVSMessages.PServerConnection_loginRefused, CVSAuthenticationException.RETRY,cvsroot);
-		    } else {
-		        throw new CVSAuthenticationException(message, CVSAuthenticationException.RETRY,cvsroot);
-		    }
-		}
-		
-		// Remove leading "error 0"
-		if (line.startsWith(ERROR_MESSAGE))
-			message += separator + line.substring(ERROR_MESSAGE.length() + 1);
-		else
-			message += separator + line;
-		if (message.indexOf(NO_SUCH_USER) != -1)
-			throw new CVSAuthenticationException(NLS.bind(CVSMessages.PServerConnection_invalidUser, (new Object[] {message})), CVSAuthenticationException.RETRY,cvsroot);
-		throw new IOException(NLS.bind(CVSMessages.PServerConnection_connectionRefused, (new Object[] { message })));
-	}
-
-	/**
-	 * Creates the actual socket
-	 */
-	protected Socket createSocket(IProgressMonitor monitor) throws IOException {
-		// Determine what port to use
-		int port = cvsroot.getPort();
-		if (port == ICVSRepositoryLocation.USE_DEFAULT_PORT)
-			port = DEFAULT_PORT;
-		// Make the connection
-		Socket result;
-		try {
-			result= Util.createSocket(cvsroot.getHost(), port, monitor);
-			// Bug 36351: disable buffering and send bytes immediately
-			result.setTcpNoDelay(true);
-		} catch (InterruptedIOException e) {
-			// If we get this exception, chances are the host is not responding
-			throw new InterruptedIOException(NLS.bind(CVSMessages.PServerConnection_socket, (new Object[] {cvsroot.getHost()})));
-		}
-		result.setSoTimeout(1000); // 1 second between timeouts
-		return result;
-	}
-
-	private String scramblePassword(String password) throws CVSAuthenticationException {
-		int length = password.length();
-		char[] out= new char[length];
-		for (int i= 0; i < length; i++) {
-			char value = password.charAt(i);
-			if( value < 0 || value > 255 )
-				throwInValidCharacter();
-			out[i]= SCRAMBLING_TABLE[value];			
-		}
-		return "A" + new String(out);//$NON-NLS-1$
-	}
-	
-	private void throwInValidCharacter() throws CVSAuthenticationException {
-		throw new CVSAuthenticationException(CVSMessages.PServerConnection_invalidChars, CVSAuthenticationException.RETRY, cvsroot);
-	}
-    
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/PServerConnectionMethod.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/PServerConnectionMethod.java
deleted file mode 100644
index d56f5b8..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/PServerConnectionMethod.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.connection;
- 
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.IConnectionMethod;
-import org.eclipse.team.internal.ccvs.core.IServerConnection;
-public class PServerConnectionMethod implements IConnectionMethod {
-	/**
-	 * @see IConnectionMethod#createConnection(ICVSRepositoryLocation, String)
-	 */
-	public IServerConnection createConnection(ICVSRepositoryLocation location, String password) {
-		if(password==null){
-			password=""; //$NON-NLS-1$
-		}
-		return new PServerConnection(location, password);
-	}
-	/**
-	 * @see IConnectionMethod#getName()
-	 */
-	public String getName() {
-		return "pserver";//$NON-NLS-1$
-	}
-	
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.IConnectionMethod#disconnect(org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation)
-	 */
-	public void disconnect(ICVSRepositoryLocation location) {
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/UserInfo.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/UserInfo.java
deleted file mode 100644
index 98e7d0b..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/UserInfo.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.connection;
-
- 
-import org.eclipse.team.internal.ccvs.core.IUserInfo;
-
-/**
- * @version 	1.0
- * @author
- */
-public class UserInfo implements IUserInfo {
-
-	private String username;
-	private String password;
-	private boolean isUsernameMutable;
-	
-	protected UserInfo(String username, String password, boolean isUsernameMutable) {
-		this.username = username;
-		this.password = password;
-		this.isUsernameMutable = isUsernameMutable;
-	}
-	
-	/*
-	 * @see IUserInfo#getUsername()
-	 */
-	public String getUsername() {
-		return username;
-	}
-
-	protected String getPassword() {
-		return password;
-	}
-	
-	/*
-	 * @see IUserInfo#isUsernameMutable()
-	 */
-	public boolean isUsernameMutable() {
-		return isUsernameMutable;
-	}
-
-	/*
-	 * @see IUserInfo#setPassword(String)
-	 */
-	public void setPassword(String password) {
-		this.password = password;
-	}
-
-	/*
-	 * @see IUserInfo#setUsername(String)
-	 */
-	public void setUsername(String username) {
-		this.username = username;
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSFileHistory.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSFileHistory.java
deleted file mode 100644
index 2ee46b6..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSFileHistory.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.team.internal.ccvs.core.filehistory;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.history.IFileHistoryProvider;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.core.history.provider.FileHistory;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Session;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFile;
-
-public class CVSFileHistory extends FileHistory {
-
-	public static final int REFRESH_LOCAL = 1;
-	public static final int REFRESH_REMOTE = 2;
-	
-	public static final int REFRESH_ALL = REFRESH_LOCAL | REFRESH_REMOTE;
-	
-	private final ICVSFile cvsFile;
-	//used to hold all revisions (changes based on filtering)
-	protected IFileRevision[] revisions;
-	//used to hold all of the remote revisions
-	protected IFileRevision[] remoteRevisions;
-	//used to hold all of the local revisions
-	protected IFileRevision[] localRevisions;
-	protected boolean includeLocalRevisions;
-	protected boolean includeRemoteRevisions;
-	protected boolean includesExists;
-	protected boolean refetchRevisions;
-
-	private int flag;
-
-	/*
-	 * Creates a new CVSFile history that will fetch remote revisions by default.
-	 */
-	public CVSFileHistory(ICVSFile file) {
-		Assert.isNotNull(file);
-		this.cvsFile = file;
-		this.includeLocalRevisions = false;
-		this.includeRemoteRevisions = true;
-		this.refetchRevisions = true;
-		this.flag = 0;
-	}
-
-	/*
-	 * 
-	 * Creates a new CVSFile history that will fetch remote revisions by default.
-	 * The flag passed can be IFileHistoryProvider.SINGLE_REVISION or IFileHistoryProvider.SINGLE_LINE_OF_DESCENT
-	 */
-	public CVSFileHistory(ICVSFile file, int flag) {
-		Assert.isNotNull(file);
-		this.cvsFile = file;
-		this.includeLocalRevisions = false;
-		this.includeRemoteRevisions = true;
-		this.refetchRevisions = true;
-		this.flag = flag;
-	}
-
-	public IFileRevision[] getFileRevisions() {
-		if (revisions == null)
-			return new IFileRevision[0];
-		return revisions;
-	}
-
-	/**
-	 * Refreshes the revisions for this CVS file. It may or may not contact the server to get new revisions.
-	 * 
-	 * @param monitor	a progress monitor
-	 */
-	public void refresh(int flags, IProgressMonitor monitor) throws TeamException {
-		if (flags == CVSFileHistory.REFRESH_LOCAL) {
-			fetchLocalOnly(monitor);
-			return;
-		}
-			
-		if (refetchRevisions) {
-			monitor.beginTask(NLS.bind(CVSMessages.CVSFileHistory_0, cvsFile.getRepositoryRelativePath()), 300);
-			try {
-				ILogEntry[] entries = cvsFile
-						.getLogEntries(new SubProgressMonitor(monitor, 200));
-				
-				if (entries.length == 0){
-					//Get the parent folder
-					ICVSFolder folder = cvsFile.getParent();
-					if (folder.isManaged()){
-						String remoteFolderLocation = folder.getRemoteLocation(folder);
-						if (remoteFolderLocation != null) {
-							String remoteFileName = remoteFolderLocation.concat(Session.SERVER_SEPARATOR + cvsFile.getName());
-							//Create remote file
-							CVSTeamProvider pro = (CVSTeamProvider) RepositoryProvider.getProvider(cvsFile.getIResource().getProject());
-							if (pro != null){
-								CVSWorkspaceRoot root = pro.getCVSWorkspaceRoot();
-								CVSRepositoryLocation location = CVSRepositoryLocation.fromString(root.getRemoteLocation().getLocation(false));
-								RemoteFile remFile = RemoteFile.create(remoteFileName, location);
-								entries=remFile.getLogEntries(monitor);
-							}
-						}
-					}
-				}
-				
-				if (flag == IFileHistoryProvider.SINGLE_REVISION) {
-					String revisionNumber = cvsFile.getSyncInfo().getRevision();
-					for (int i = 0; i < entries.length; i++) {
-						if (entries[i].getRevision().equals(revisionNumber)) {
-							remoteRevisions = new IFileRevision[] {new CVSFileRevision(entries[i])};
-							revisions = new IFileRevision[1];
-							//copy over remote revisions
-							System.arraycopy(remoteRevisions, 0, revisions, 0, remoteRevisions.length);
-							break;
-						}
-					}
-
-				} else if (flag == IFileHistoryProvider.SINGLE_LINE_OF_DESCENT) {
-					CVSTag tempTag = cvsFile.getSyncInfo().getTag();
-					ArrayList entriesOfInterest = new ArrayList();
-					for (int i = 0; i < entries.length; i++) {
-						CVSTag[] tags = entries[i].getTags();
-						for (int j = 0; j < tags.length; j++) {
-							if (tags[j].getType() == tempTag.getType()) {
-								if (tempTag.getType() == CVSTag.BRANCH && tempTag.getName().equals(tags[j].getName())) {
-									entriesOfInterest.add(entries[i]);
-									break;
-								} else {
-									entriesOfInterest.add(entries[i]);
-									break;
-								}
-							}
-
-						}
-					}
-
-					//always fetch the remote revisions, just filter them out from the returned array
-					remoteRevisions = new IFileRevision[entriesOfInterest.size()];
-					Iterator iter = entriesOfInterest.iterator();
-					int i = 0;
-					while (iter.hasNext()) {
-						remoteRevisions[i++] = new CVSFileRevision((ILogEntry) iter.next());
-					}
-
-					//copy over remote revisions
-					revisions = new IFileRevision[remoteRevisions.length];
-					System.arraycopy(remoteRevisions, 0, revisions, 0, remoteRevisions.length);
-
-				} else {
-					localRevisions = new IFileRevision[0];
-					//always fetch the local revisions, just filter them out from the returned array if not wanted
-					IResource localResource = cvsFile.getIResource();
-					includesExists = false;
-					if (localResource != null && localResource instanceof IFile) {
-						//get the local revisions
-						IFileState[] localHistoryState;
-						try {
-							localHistoryState = ((IFile) localResource).getHistory(new SubProgressMonitor(monitor, 100));
-							localRevisions = convertToFileRevision(localHistoryState, new SubProgressMonitor(monitor, 100));
-							includesExists = (localRevisions.length > 0);
-						} catch (CoreException e) {
-							TeamException.asTeamException(e);
-						}
-					}
-
-					//always fetch the remote revisions, just filter them out from the returned array
-					remoteRevisions = new IFileRevision[entries.length];
-					for (int i = 0; i < entries.length; i++) {
-						remoteRevisions[i] = new CVSFileRevision(entries[i]);
-					}
-
-					revisions = new IFileRevision[0];
-					arrangeRevisions();
-				}
-			}  finally {
-				monitor.done();
-			}
-		} else {
-			//don't refetch revisions just return revisions with local revisions as requested
-			arrangeRevisions();
-		}
-		
-	}
-
-	private void arrangeRevisions() {
-		if (revisions != null) {
-			if (includeLocalRevisions && includeRemoteRevisions) {
-				//Local + Remote mode
-				revisions = new IFileRevision[remoteRevisions.length + localRevisions.length];
-				//copy over remote revisions
-				System.arraycopy(remoteRevisions, 0, revisions, 0, remoteRevisions.length);
-				//copy over local revisions
-				System.arraycopy(localRevisions, 0, revisions, remoteRevisions.length, localRevisions.length);
-			} else if (includeLocalRevisions) {
-				//Local mode only
-				revisions = new IFileRevision[localRevisions.length];
-				//copy over local revisions
-				System.arraycopy(localRevisions, 0, revisions, 0, localRevisions.length);
-			} else if (includeRemoteRevisions) {
-				//Remote mode and fall through for Local + Remote mode where no Locals exist
-				revisions = new IFileRevision[remoteRevisions.length];
-				//copy over remote revisions
-				System.arraycopy(remoteRevisions, 0, revisions, 0, remoteRevisions.length);
-			}
-		}
-	}
-
-	public IFileRevision getFileRevision(String id) {
-		IFileRevision[] revisions = getFileRevisions();
-		for (int i = 0; i < revisions.length; i++) {
-			if (revisions[i].getContentIdentifier().equals(id))
-				return revisions[i];
-		}
-		return null;
-	}
-
-	public IFileRevision[] getContributors(IFileRevision revision) {
-
-		IFileRevision[] revisions = getFileRevisions();
-
-		//the predecessor is the file with a timestamp that is the largest timestamp
-		//from the set of all timestamps smaller than the root file's timestamp
-		IFileRevision fileRevision = null;
-		for (int i = 0; i < revisions.length; i++) {
-			if (((CVSFileRevision) revisions[i]).isPredecessorOf(revision)) {
-				//no revision has been set as of yet
-				if (fileRevision == null)
-					fileRevision = revisions[i];
-				//this revision is a predecessor - now check to see if it comes
-				//after the current predecessor, if it does make it the current predecessor
-				if (revisions[i].getTimestamp() > fileRevision.getTimestamp()) {
-					fileRevision = revisions[i];
-				}
-			}
-		}
-		if (fileRevision == null)
-			return new IFileRevision[0];
-		return new IFileRevision[] {fileRevision};
-	}
-
-	public IFileRevision[] getTargets(IFileRevision revision) {
-		IFileRevision[] revisions = getFileRevisions();
-
-		//the predecessor is the file with a timestamp that is the largest timestamp
-		//from the set of all timestamps smaller than the root file's timestamp
-		ArrayList directDescendents = new ArrayList();
-
-		for (int i = 0; i < revisions.length; i++) {
-			if (((CVSFileRevision) revisions[i]).isDescendentOf(revision)) {
-				directDescendents.add(revisions[i]);
-			}
-		}
-		return (IFileRevision[]) directDescendents.toArray(new IFileRevision[directDescendents.size()]);
-	}
-
-	private IFileRevision[] convertToFileRevision(IFileState[] localRevisions, IProgressMonitor monitor) {
-		boolean modified = false;
-		try {
-			modified = cvsFile.isModified(monitor);
-		} catch (CVSException e) {
-		}
-
-		IFile localFile = (IFile) cvsFile.getIResource();
-		boolean localFileExists = (localFile != null && localFile.exists());
-		int arrayLength = 0;
-		if (modified && localFileExists)
-			arrayLength++;
-
-		arrayLength += localRevisions.length;
-
-		IFileRevision[] fileRevisions = new IFileRevision[arrayLength];
-		for (int i = 0; i < localRevisions.length; i++) {
-			IFileState localFileState = localRevisions[i];
-			CVSLocalFileRevision localRevision = new CVSLocalFileRevision(localFileState);
-			fileRevisions[i] = localRevision;
-		}
-
-		if (modified && localFileExists) {
-			CVSLocalFileRevision currentFile = new CVSLocalFileRevision(localFile);
-			CVSFileHistoryProvider provider = new CVSFileHistoryProvider();
-			currentFile.setBaseRevision(provider.getWorkspaceFileRevision(localFile));
-			fileRevisions[localRevisions.length] = currentFile;
-		}
-
-		return fileRevisions;
-	}
-
-	public void includeLocalRevisions(boolean flag) {
-		this.includeLocalRevisions = flag;
-	}
-
-	public boolean getIncludesExists() {
-		return includesExists;
-	}
-
-	public void setRefetchRevisions(boolean refetch) {
-		this.refetchRevisions = refetch;
-	}
-
-	public void includeRemoteRevisions(boolean flag) {
-		this.includeRemoteRevisions = flag;
-	}
-
-	public void fetchLocalOnly(IProgressMonitor monitor) {
-		try{
-		localRevisions = new IFileRevision[0];
-		//always fetch the local revisions, just filter them out from the returned array if not wanted
-		IResource localResource = cvsFile.getIResource();
-		includesExists = false;
-		if (localResource != null && localResource instanceof IFile) {
-			//get the local revisions
-			IFileState[] localHistoryState = ((IFile) localResource).getHistory(new SubProgressMonitor(monitor, 100));
-			localRevisions = convertToFileRevision(localHistoryState, new SubProgressMonitor(monitor, 100));
-			includesExists = (localRevisions.length > 0);
-		}
-
-		if (remoteRevisions == null)
-			remoteRevisions = new IFileRevision[0];
-		revisions = new IFileRevision[0];
-		arrangeRevisions();
-		} catch (CoreException ex){
-			//nothing to do - calling getFileRevisions() when revisions is null will result in
-			//revisions returning an empty array
-		} finally {
-			monitor.done();
-		}
-	}
-
-	public boolean isInitialized() {
-		return revisions != null;
-	}
-
-	public boolean isIncludeLocal() {
-		return includeLocalRevisions;
-	}		
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSFileHistoryProvider.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSFileHistoryProvider.java
deleted file mode 100644
index c5f3589..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSFileHistoryProvider.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.team.internal.ccvs.core.filehistory;
-
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.history.*;
-import org.eclipse.team.core.history.provider.FileHistoryProvider;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.listeners.LogEntry;
-import org.eclipse.team.internal.ccvs.core.filesystem.CVSFileStore;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFile;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-
-public class CVSFileHistoryProvider extends FileHistoryProvider {
-
-	/**
-	 * see <code>org.eclipse.team.core.IFileHistoryProvider</code>
-	 */
-	public IFileHistory getFileHistoryFor(IResource resource, int flags, IProgressMonitor monitor) {
-		ICVSRemoteResource remoteResource;
-		try {
-			monitor.beginTask(null, 100);
-			if ((flags == IFileHistoryProvider.SINGLE_REVISION) || ((flags == IFileHistoryProvider.SINGLE_LINE_OF_DESCENT))) {
-				remoteResource = CVSWorkspaceRoot.getRemoteResourceFor(resource);
-				monitor.worked(40);
-				CVSFileHistory remoteFile = null;
-				if (remoteResource instanceof ICVSFile) {
-					remoteFile = new CVSFileHistory((ICVSFile) remoteResource, flags);
-					remoteFile.refresh(CVSFileHistory.REFRESH_ALL, monitor);
-				}
-				return remoteFile;
-			} else {
-				// TODO need to complete the revision
-				remoteResource = CVSWorkspaceRoot.getRemoteResourceFor(resource);
-				monitor.worked(40);
-				CVSFileHistory remoteFile = null;
-				if (remoteResource instanceof ICVSFile) {
-					remoteFile = new CVSFileHistory((ICVSFile) remoteResource);
-					remoteFile.refresh(CVSFileHistory.REFRESH_ALL, monitor);
-				}
-				return remoteFile;
-			}
-		} catch (CVSException e) {
-		} catch (TeamException e) {
-		} finally {
-			monitor.done();
-		}
-
-		return null;
-	}
-
-	public IFileRevision getWorkspaceFileRevision(IResource resource) {
-		
-		ICVSRemoteResource remoteResource;
-		try {
-			remoteResource = CVSWorkspaceRoot.getRemoteResourceFor(resource);
-			if (remoteResource != null && 
-				remoteResource instanceof RemoteFile){
-				ResourceSyncInfo syncInfo = remoteResource.getSyncInfo();
-				LogEntry cvsEntry = new LogEntry((RemoteFile) remoteResource, syncInfo.getRevision(), "", null,"","", new CVSTag[0]);  //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				return new CVSFileRevision(cvsEntry);
-			}
-		} catch (CVSException e) {
-		}
-		
-		return null;
-	}
-
-	public IFileHistory getFileHistoryFor(IFileStore store, int flags, IProgressMonitor monitor) {
-		if (store instanceof CVSFileStore) {
-			
-			CVSFileStore fileStore = (CVSFileStore) store;
-			ICVSRemoteFile file = fileStore.getCVSURI().toFile();
-			if (file != null){
-				try{
-				if ((flags == IFileHistoryProvider.SINGLE_REVISION) || ((flags == IFileHistoryProvider.SINGLE_LINE_OF_DESCENT))) {
-					CVSFileHistory history = new CVSFileHistory(file, flags);
-					history.refresh(CVSFileHistory.REFRESH_ALL, monitor);
-					return history;
-				} else{
-					CVSFileHistory history = new CVSFileHistory(file);
-					history.refresh(CVSFileHistory.REFRESH_ALL, monitor);
-					return history;
-				} } catch (TeamException ex){}
-			}
-		}
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSFileRevision.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSFileRevision.java
deleted file mode 100644
index d01eb5d..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSFileRevision.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.team.internal.ccvs.core.filehistory;
-
-import java.net.URI;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.core.history.ITag;
-import org.eclipse.team.core.history.provider.FileRevision;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFile;
-
-public class CVSFileRevision extends FileRevision implements IAdaptable {
-
-	protected ILogEntry entry;
-
-	public CVSFileRevision(ILogEntry entry) {
-		this.entry = entry;
-	}
-
-	public long getTimestamp() {
-		return entry.getDate().getTime();
-	}
-
-	public String getAuthor() {
-		return entry.getAuthor();
-	}
-
-	public String getComment() {
-		return entry.getComment();
-	}
-
-	public boolean isPredecessorOf(IFileRevision revision) {
-		long compareRevisionTime = revision.getTimestamp();
-		return (this.getTimestamp() < compareRevisionTime);
-	}
-
-	public boolean isDescendentOf(IFileRevision revision) {
-		long compareRevisionTime = revision.getTimestamp();
-		return (this.getTimestamp() > compareRevisionTime);
-	}
-
-	public IStorage getStorage(IProgressMonitor monitor) throws TeamException {
-		RemoteFile remoteFile = (RemoteFile) entry.getRemoteFile();
-		return remoteFile.getStorage(monitor);
-	}
-
-	public String getName(){
-		return entry.getRemoteFile().getName();
-	}
-	
-	public String getContentIdentifier() {
-		return entry.getRevision();
-	}
-	
-	public boolean equals(Object obj) {
-		if (obj instanceof CVSFileRevision){
-			CVSFileRevision objRevision = (CVSFileRevision) obj;
-			ICVSRemoteFile remFile = objRevision.getCVSRemoteFile();
-			if (remFile.equals(this.getCVSRemoteFile()) &&
-				objRevision.getContentIdentifier().equals(this.getContentIdentifier()))
-				return true;
-		}
-		return false;
-	}
-
-	public URI getURI() {
-		ICVSRemoteFile file = entry.getRemoteFile();
-		return ((RemoteFile)file).toCVSURI().toURI();
-	}
-
-	public ITag[] getTags() {
-		return entry.getTags();
-	}
-
-	public boolean exists() {
-		return !entry.isDeletion();
-	}
-	
-	public ICVSRemoteFile getCVSRemoteFile(){
-		return entry.getRemoteFile();
-	}
-	
-	public boolean isPropertyMissing() {
-		//If we have an author and a comment then we consider this revision complete
-		if (entry.getAuthor() == null)
-			return true;
-		
-		return false;
-	}
-	
-	public IFileRevision withAllProperties(IProgressMonitor monitor) throws CoreException {
-		return new CVSFileRevision(getCVSRemoteFile().getLogEntry(monitor));
-	}
-
-	public Object getAdapter(Class adapter) {
-		if (adapter == ICVSFile.class)
-			return getCVSRemoteFile();
-		if (adapter == IResourceVariant.class)
-			return getCVSRemoteFile();
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSLocalFileRevision.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSLocalFileRevision.java
deleted file mode 100644
index 2e174d4..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSLocalFileRevision.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.filehistory;
-
-import org.eclipse.core.filesystem.URIUtil;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.team.internal.ccvs.core.ICVSFile;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.core.history.LocalFileRevision;
-
-/**
- * This subclass is used exclusively for displaying a LocalFileRevision
- * in a CVSHistoryPage. This class was required to link local file revisions
- * to the CVSHistoryPageSource through the use of the adapter mechanism.
- *
- * @since 3.2
- */
-public class CVSLocalFileRevision extends LocalFileRevision implements IAdaptable {
-
-	public CVSLocalFileRevision(IFile file) {
-		super(file);
-	}
-
-	public CVSLocalFileRevision(IFileState fileState) {
-		super(fileState);
-	}
-
-	public Object getAdapter(Class adapter) {
-		if (adapter == ICVSFile.class)
-			return CVSWorkspaceRoot.getCVSFileFor(ResourcesPlugin.getWorkspace().getRoot().getFile(URIUtil.toPath(getURI())));
-		
-		return null;
-	}
-
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSResourceVariantFileRevision.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSResourceVariantFileRevision.java
deleted file mode 100644
index b8a663f..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filehistory/CVSResourceVariantFileRevision.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.filehistory;
-
-import java.net.URI;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.internal.ccvs.core.ICVSRemoteFile;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFile;
-import org.eclipse.team.internal.core.mapping.ResourceVariantFileRevision;
-
-public class CVSResourceVariantFileRevision extends ResourceVariantFileRevision {
-
-	public CVSResourceVariantFileRevision(IResourceVariant variant) {
-		super(variant);
-	}
-
-	public boolean isPropertyMissing() {
-		return true;
-	}
-	
-	public IFileRevision withAllProperties(IProgressMonitor monitor) throws CoreException {
-		return new CVSFileRevision(getCVSRemoteFile().getLogEntry(monitor));
-	}
-
-	private ICVSRemoteFile getCVSRemoteFile() {
-		return (ICVSRemoteFile)getVariant();
-	}
-	
-	public URI getURI() {
-		return ((RemoteFile)getCVSRemoteFile()).toCVSURI().toURI();
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSFileStore.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSFileStore.java
deleted file mode 100644
index bed2e44..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSFileStore.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.filesystem;
-
-import java.io.InputStream;
-import java.net.URI;
-
-import org.eclipse.core.filesystem.IFileInfo;
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.filesystem.provider.FileInfo;
-import org.eclipse.core.filesystem.provider.FileStore;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.variants.CachedResourceVariant;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFile;
-
-public class CVSFileStore extends FileStore {
-
-	
-	private final CVSURI uri;
-	private IFileInfo info;
-	
-	public CVSFileStore(CVSURI uri, IFileInfo info) {
-		this.uri = uri;
-		this.info = info;
-	}
-
-	public boolean canReturnFullTree() {
-		return true;
-	}
-
-	public String[] childNames(int options, IProgressMonitor monitor) throws CoreException {
-		monitor = Policy.monitorFor(monitor);
-		IFileInfo[] infos = childInfos(options, monitor);
-		String[] names = new String[infos.length];
-		for (int i = 0; i < infos.length; i++) {
-			names[i] = infos[i].getName();
-		}
-		return names;
-	}
-
-	public IFileInfo[] childInfos(int options, IProgressMonitor monitor) throws CoreException {
-		monitor = Policy.monitorFor(monitor);
-		if (info != null && !info.isDirectory()) {
-			return new IFileInfo[0];
-		}
-		ICVSRemoteFolder folder = uri.toFolder();
-		ICVSResource[] children = folder.fetchChildren(monitor);
-		
-		IFileInfo[] childInfos = new IFileInfo[children.length];
-		for (int i = 0; i < children.length; i++) {
-			ICVSResource child = children[i];
-			IFileInfo info = getFileInfo(child, monitor);
-			childInfos[i] = info;
-		}
-		return childInfos;
-	}
-
-	public IFileStore[] childStores(int options, IProgressMonitor monitor) throws CoreException {
-		monitor = Policy.monitorFor(monitor);
-		IFileInfo[] infos = childInfos(options, monitor);
-		IFileStore[] children = new IFileStore[infos.length];
-		for (int i = 0; i < infos.length; i++) {
-			children[i] = getChild(infos[i]);
-		}
-		return children;
-	}
-
-	private IFileStore getChild(IFileInfo info) {
-		return new CVSFileStore(uri.append(info.getName()), info);
-	}
-
-	public IFileInfo fetchInfo(int options, IProgressMonitor monitor) throws CoreException {
-		monitor = Policy.monitorFor(monitor);
-		
-		if (isStickyRevision()) {
-			ICVSRemoteFile file = uri.toFile();
-			return getFileInfo(file, monitor);
-		}
-		ICVSRemoteFolder folder = uri.getParentFolder();
-		
-		if (folder == null) {
-			// this is the repo root so return an info that indicates this
-			FileInfo info = new FileInfo();
-			info.setExists(true);
-			info.setName(uri.getRepositoryName());
-			info.setDirectory(true);
-		}
-		ICVSResource[] children = folder.fetchChildren(monitor);
-		ICVSResource resource = null;
-		for (int i = 0; i < children.length; i++) {
-			ICVSResource child = children[i];
-			if (child.getName().equals(getName())) {
-				resource = child;
-				break;
-			}
-		}
-		return getFileInfo(resource, monitor);
-	}
-
-	private boolean isStickyRevision() {
-		String revision = uri.getRevision(); 
-		CVSTag tag = uri.getTag();
-		if (revision == null)
-			return false;
-		if (tag == null)
-			return false;
-		return revision.equals(tag.getName());
-	}
-
-	private IFileInfo getFileInfo(ICVSResource resource, IProgressMonitor monitor) throws TeamException {
-		monitor = Policy.monitorFor(monitor);
-		if (resource == null)
-			return null;
-		FileInfo info = new FileInfo();
-		info.setExists(true);
-		info.setName(resource.getName());
-		if (!resource.isFolder()) {
-			ICVSRemoteFile file = (ICVSRemoteFile) resource;
-			// Avoid a round trip by looking for the file in the cache
-			if (file instanceof RemoteFile) {
-				RemoteFile remote = (RemoteFile) file;
-				CachedResourceVariant variant = remote.getCachedHandle();
-				if (variant instanceof ICVSRemoteFile) {
-					file = (ICVSRemoteFile) variant;
-				}
-			}
-			ILogEntry entry = file.getLogEntry(monitor);
-			info.setLastModified(entry.getDate().getTime());
-		} else {
-			info.setLastModified(0);
-			info.setDirectory(true);
-		}
-		return info;
-	}
-
-	public IFileStore getChild(String name) {
-		if (info != null && !info.isDirectory()) {
-			return null;
-		}
-		return new CVSFileStore(uri.append(name), null);
-	}
-
-	public IFileStore getChild(IPath path) {
-		return new CVSFileStore(uri.append(path), null);
-	}
-
-
-	public String getName() {
-		return uri.getLastSegment();
-	}
-
-	public IFileStore getParent() {
-		if (uri.isRepositoryRoot()) {
-			return null;
-		}
-		return new CVSFileStore(uri.removeLastSegment(), null);
-	}
-
-	public InputStream openInputStream(int options, IProgressMonitor monitor) throws CoreException {
-		monitor = Policy.monitorFor(monitor);
-		ICVSRemoteFile file = uri.toFile();
-		IStorage storage = ((IResourceVariant) file).getStorage(monitor);
-		return storage.getContents();
-	}
-
-	public URI toURI() {
-		return uri.toURI();
-	}
-	
-	public CVSURI getCVSURI() {
-		return uri;
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSFileSystem.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSFileSystem.java
deleted file mode 100644
index 93b65ee..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSFileSystem.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.filesystem;
-import java.net.URI;
-import java.util.HashMap;
-
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.filesystem.provider.FileSystem;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.internal.ccvs.core.CVSMessages;
-import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
-import org.eclipse.team.internal.ccvs.core.ICVSRemoteFolder;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFolderTree;
-
-public class CVSFileSystem extends FileSystem {
-
-
-	private CVSFileTree cvsTree;
-
-	public CVSFileSystem() {
-		super();
-	}
-
-	public IFileStore getStore(URI uri) {
-		return new CVSFileStore(CVSURI.fromUri(uri), null);
-	}
-
-	public boolean canReturnFullTree(){
-		return true;
-	}
-	
-	public CVSFileTree getFullTree(URI uri, IProgressMonitor monitor){
-		try{
-		monitor.beginTask(CVSMessages.CVSFileSystem_FetchTree, 100);
-		//always return new tree
-		//monitor.subTask(NLS.bind(message, binding));
-		if (cvsTree != null)
-		return cvsTree;
-
-		return this.refreshTree(uri, monitor);
-		}
-		finally{
-			monitor.done();
-		}
-	}
-	
-
-	public CVSFileTree refreshTree(URI uri, IProgressMonitor monitor){
-	    CVSURI cvsURI = CVSURI.fromUri(uri);
-		
-		//Make sure that we're building the tree from the topmost level - keep cycling until you hit null
-		ICVSRemoteFolder folder = cvsURI.getProjectURI().toFolder();
-		
-		try {
-			RemoteLogger logger = new RemoteLogger(folder);
-
-			RemoteFolderTree remoteTree = logger.fetchTree(new SubProgressMonitor(monitor,80));
-			HashMap folderMap = logger.getFolderMap();
-			HashMap logMap = logger.getLogMap();
-			folderMap.put(folder.getName(), remoteTree);
-			//Save tree
-			cvsTree = new CVSFileTree(new CVSFileStore(cvsURI, null), cvsURI, remoteTree, folderMap, logMap);
-
-			return cvsTree;
-		} catch (CoreException e) {
-			CVSProviderPlugin.log(e);
-			return null;
-		}
-		
-	
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSFileTree.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSFileTree.java
deleted file mode 100644
index 0dc031d..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSFileTree.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.filesystem;
-
-import java.util.HashMap;
-
-import org.eclipse.core.filesystem.IFileInfo;
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.filesystem.provider.FileInfo;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFolderTree;
-
-public class CVSFileTree {
-
-	private RemoteFolderTree remoteTree;
-	//HashMap of RemoteFolders used to speed up look up
-	private HashMap remoteFolders;
-	private HashMap logMap;
-	private CVSURI baseURI;
-	
-	public CVSFileTree(IFileStore treeRoot, CVSURI uri, RemoteFolderTree remoteTree, HashMap remoteFolders, HashMap logMap) {
-		this.remoteTree = remoteTree;
-		this.baseURI = uri;
-		this.remoteFolders = remoteFolders;
-		this.logMap = logMap;
-	}
-
-	public IFileStore[] getChildrenFileStores(IFileStore store) {
-		CVSURI cvsUri = CVSURI.fromUri(store.toURI());
-		RemoteFolderTree folderTree = (RemoteFolderTree) remoteFolders.get(cvsUri.getProjectStrippedPath().toString());
-		
-		if (folderTree == null)
-			return null;
-		
-		ICVSRemoteResource[] remoteResources = folderTree.getChildren();
-		IFileStore[] fileStore = new IFileStore[remoteResources.length];
-		for (int i = 0; i < remoteResources.length; i++) {
-			IFileInfo fileInfo;
-			try {
-				fileInfo = getFileInfo((ICVSResource) remoteResources[i], new NullProgressMonitor());
-				fileStore[i] = new CVSFileStore(baseURI.append(fileInfo.getName()), fileInfo);
-			} catch (TeamException e) {}
-		}
-		return fileStore;
-	}
-
-	private IFileInfo getFileInfo(ICVSResource resource, IProgressMonitor monitor) throws TeamException {
-		monitor = Policy.monitorFor(monitor);
-		if (resource == null)
-			return null;
-		FileInfo info = new FileInfo();
-		info.setExists(true);
-		info.setName(resource.getName());
-		if (!resource.isFolder()) {
-			ICVSRemoteFile file = (ICVSRemoteFile) resource;
-			//TODO: how to handle entries that are not found
-			ILogEntry entry = (ILogEntry) logMap.get(file);
-			//ILogEntry entry = file.getLogEntry(monitor);
-			info.setLastModified(entry.getDate().getTime());
-		} else {
-			info.setLastModified(0);
-			info.setDirectory(true);
-		}
-		return info;
-	}
-
-	public IFileInfo[] getChildrenFileInfos(IFileStore store) {
-	
-		CVSURI cvsUri = CVSURI.fromUri(store.toURI());
-		RemoteFolderTree folderTree = (RemoteFolderTree) remoteFolders.get(cvsUri.getProjectStrippedPath().toString());
-		
-		if (folderTree == null)
-			return null;
-		
-		ICVSRemoteResource[] remoteResources = folderTree.getChildren();
-		IFileInfo[] fileInfos = new IFileInfo[remoteResources.length];
-		for (int i = 0; i < remoteResources.length; i++) {
-			IFileInfo fileInfo;
-			try {
-				fileInfo = getFileInfo((ICVSResource) remoteResources[i], new NullProgressMonitor());
-				fileInfos[i] = fileInfo;
-			} catch (TeamException e) {}
-		}
-		return fileInfos;
-	}
-
-	public IFileInfo getFileInfo(IFileStore store) {
-		ICVSRemoteFolder folder=null;
-		String resourceName = null;
-		CVSURI cvsUri = CVSURI.fromUri(store.toURI());
-		
-		folder = cvsUri.getParentFolder();
-		resourceName = cvsUri.getLastSegment();
-		
-		if (folder.getName().equals(ICVSRemoteFolder.REPOSITORY_ROOT_FOLDER_NAME)) {
-			// this is the repository root so return an info that indicates this
-			FileInfo info = new FileInfo();
-			info.setExists(true);
-			info.setName(resourceName);
-			info.setDirectory(true);
-			return info;
-		}
-		try {
-			RemoteFolderTree remoteFolder =  (RemoteFolderTree) remoteFolders.get(folder.getName());
-			
-			if (remoteFolder == null){
-				String repoPath = folder.getRepositoryRelativePath();
-				IPath repoPath2 = new Path(repoPath);
-				repoPath2 = repoPath2.removeFirstSegments(1);
-				remoteFolder = (RemoteFolderTree) remoteFolders.get(repoPath2.toString());
-			}
-			
-			//ok, we tried a short cut, but it wasn't meant to be so look at the entire tree
-			if (remoteFolder == null)
-				remoteFolder = remoteTree;
-			
-			
-			ICVSRemoteResource[] children =remoteFolder.getChildren();
-			ICVSResource resource = null;
-			for (int i = 0; i < children.length; i++) {
-				ICVSResource child = children[i];
-				if (child.getName().equals(resourceName)) {
-					resource = child;
-					break;
-				}
-			}
-			return getFileInfo(resource, new NullProgressMonitor());
-		} catch (CoreException e) {
-			CVSProviderPlugin.log(e);
-			return null;
-		}
-	}
-	
-	
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSURI.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSURI.java
deleted file mode 100644
index 5a54ed5..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/CVSURI.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.filesystem;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFile;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFolder;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-
-public class CVSURI {
-
-	private static final String SCHEME = "cvs"; //$NON-NLS-1$
-	private final ICVSRepositoryLocation repository;
-	private final IPath path;
-	private final CVSTag tag;
-	private final String revision;
-
-	/**
-	 * Convert the given URI to a CVSURI. There are two supported formats: the
-	 * original opaque format and a newer hierarchical format.
-	 * <ul>
-	 * <li>cvs://[:]method:user[:password]@host:[port]/root/path#project/path[,tagName]</li>
-	 * <li>cvs://_method_user[_password]~host_[port]!root!path/project/path[?<version,branch,date,revision>=tagName]</li>
-	 * </ul>
-	 * @param uri the URI
-	 * @return a CVS URI
-	 */
-	public static CVSURI fromUri(URI uri) {
-		try {
-			ICVSRepositoryLocation repository = getRepository(uri);
-			if (repository != null) {
-				IPath path = new Path(null, uri.getPath());
-				CVSTag tag = getTag(uri);
-				String revision = getRevision(uri);
-				return new CVSURI(repository, path, tag, revision);
-			} else {
-				repository = getOldRepository(uri);
-				IPath path = getOldPath(uri);
-				CVSTag tag = getOldTag(uri);
-				return new CVSURI(repository, path, tag);
-			}
-		} catch (CVSException e) {
-			CVSProviderPlugin.log(e);
-			throw new IllegalArgumentException(NLS.bind(CVSMessages.CVSURI_InvalidURI, new String[] {uri.toString(), e.getMessage()}));
-		}
-	}
-
-	private static CVSTag getTag(URI uri) {
-		String query = uri.getQuery();
-		if (query == null)
-			return null;
-		StringTokenizer tokens = new StringTokenizer(query, ","); //$NON-NLS-1$
-		while (tokens.hasMoreTokens()) {
-			String token = tokens.nextToken();
-			int index = token.indexOf('=');
-			if (index != -1) {
-				String type = token.substring(0, index);
-				String value = token.substring(index + 1);
-				if (value.length() > 0) {
-					int tagType = getTagType(type);
-					if (tagType != -1)
-						return new CVSTag(value, tagType);
-				}
-			}
-		}
-		return null;
-	}
-	
-	private static String getRevision(URI uri) {
-		String query = uri.getQuery();
-		if (query == null)
-			return null;
-		StringTokenizer tokens = new StringTokenizer(query, ","); //$NON-NLS-1$
-		while (tokens.hasMoreTokens()) {
-			String token = tokens.nextToken();
-			int index = token.indexOf('=');
-			if (index != -1) {
-				String type = token.substring(0, index);
-				String value = token.substring(index + 1);
-				if (type.equals("revision") && isValidRevision(value)) { //$NON-NLS-1$
-					return value;
-				}
-			}
-		}
-		return null;
-	}
-
-	private static boolean isValidRevision(String value) {
-		return value.matches("\\d+\\.\\d+(?:\\.\\d+)*"); //$NON-NLS-1$
-	}
-
-	private static int getTagType(String type) {
-		if (type.equalsIgnoreCase("version")) //$NON-NLS-1$
-			return CVSTag.VERSION;
-		if (type.equalsIgnoreCase("branch")) //$NON-NLS-1$
-			return CVSTag.BRANCH;
-		if (type.equalsIgnoreCase("date")) //$NON-NLS-1$
-			return CVSTag.DATE;
-		return -1;
-	}
-
-	private static ICVSRepositoryLocation getRepository(URI uri) throws CVSException {
-		String authority = uri.getAuthority();
-		if (authority.indexOf('/') != -1)
-			return null;
-		if (authority.indexOf('!') == -1)
-			return null;
-		authority = decodeAuthority(authority);
-		return CVSRepositoryLocation.fromString(authority);
-	}
-
-	private static CVSTag getOldTag(URI uri) {
-		String f = uri.getFragment();
-		int i = f.indexOf(',');
-		if (i == -1) {
-			return CVSTag.DEFAULT;
-		}
-		
-		return CVSTag.DEFAULT;//just use HEAD for now (name, CVSTag.BRANCH);
-	}
-
-	private static IPath getOldPath(URI uri) {
-		String path = uri.getFragment();
-		int i = path.indexOf(',');
-		if (i != -1) {
-			path = path.substring(0, i);
-		}
-		return new Path(path);
-	}
-
-	private static ICVSRepositoryLocation getOldRepository(URI uri) throws CVSException {
-		String ssp = uri.getSchemeSpecificPart();
-		if (!ssp.startsWith(":")) { //$NON-NLS-1$
-			ssp = ":" + ssp; //$NON-NLS-1$
-		}
-		return CVSRepositoryLocation.fromString(ssp);
-	}
-	
-	public CVSURI(ICVSRepositoryLocation repository, IPath path, CVSTag tag) {
-		this(repository, path, tag, null);
-	}
-	
-	public CVSURI(ICVSRepositoryLocation repository, IPath path, CVSTag tag, String revision) {
-		this.repository = repository;
-		this.path = path;
-		this.tag = tag;
-		if (revision != null && !revision.equals(ResourceSyncInfo.ADDED_REVISION))
-			this.revision = revision;
-		else
-			this.revision = null;
-	}
-
-	public CVSURI append(String name) {
-		return new CVSURI(repository, path.append(name), tag);
-	}
-
-	public CVSURI append(IPath childPath) {
-		return new CVSURI(repository, path.append(childPath), tag);
-	}
-	
-	public String getLastSegment() {
-		return path.lastSegment();
-	}
-
-	public URI toURI() {
-		try {
-			String authority = repository.getLocation(false);
-			authority = ensureRegistryBasedAuthority(authority);
-			String pathString = path.toString();
-			if (!pathString.startsWith("/")) { //$NON-NLS-1$
-				pathString = "/" + pathString; //$NON-NLS-1$
-			}
-			String query = null;
-			if (tag != null && tag.getType() != CVSTag.HEAD) {
-				query = getQueryType(tag) + "=" + tag.getName(); //$NON-NLS-1$
-			}
-			if (revision != null) {
-				String string = "revision=" + revision; //$NON-NLS-1$
-				if (query == null) {
-					query = string;
-				} else {
-					query = query + "," + string; //$NON-NLS-1$
-				}
-			}
-			return new URI(SCHEME, authority, pathString, query, null);
-		} catch (URISyntaxException e) {
-			CVSProviderPlugin.log(IStatus.ERROR, NLS.bind("An error occurred while creating a URI for {0} {1}", repository, path), e); //$NON-NLS-1$
-			throw new IllegalStateException(e.getMessage());
-		}
-	}
-
-	/*
-	 * Ensure that the authority will not be confused with a
-	 * server based authority. To do this, we need to convert 
-	 * any /, : and @ to another form.
-	 */
-	private String ensureRegistryBasedAuthority(String authority) {
-		// Encode / so the authority doesn't conflict with the path
-		authority = encode('/', '!', authority);
-		// Encode @ to avoid URI interpreting the authority as a server based authority
-		authority = encode('@', '~', authority);
-		// Encode : to avoid URI interpreting the authority as a server based authority
-		authority = encode(':', '_', authority);
-		return authority;
-	}
-	
-	private static String decodeAuthority(String authority) {
-		authority = decode('/', '!', authority);
-		authority = decode('@', '~', authority);
-		authority = decode(':', '_', authority);
-		return authority;
-	}
-	
-	private String encode(char charToEncode, char encoding, String string) {
-		// First, escape any occurrences of the encoding character
-		String result = string.replaceAll(new String(new char[] { encoding }), new String(new char[] { encoding, encoding }));
-		// Convert / to ! to avoid URI parsing part of the authority as the path
-		return result.replace(charToEncode, encoding);
-	}
-	
-	private static String decode(char encodedChar, char encoding, String string) {
-		// Convert the encoded char back
-		String reuslt = string.replace(encoding, encodedChar);
-		// Convert any double occurrences of the encoded char back to the encoding
-		return reuslt.replaceAll(new String(new char[] { encodedChar, encodedChar }), new String(new char[] { encoding }));
-	}
-
-	private static String getQueryType(CVSTag tag) {
-		switch (tag.getType()) {
-		case CVSTag.BRANCH:
-			return "branch"; //$NON-NLS-1$
-		case CVSTag.DATE:
-			return "date"; //$NON-NLS-1$
-		}
-		return "version"; //$NON-NLS-1$
-	}
-
-	public boolean isRepositoryRoot() {
-		return path.segmentCount() == 0;
-	}
-
-	public CVSURI removeLastSegment() {
-		return new CVSURI(repository, path.removeLastSegments(1), tag);
-	}
-
-	public ICVSRemoteFolder getParentFolder() {
-		return removeLastSegment().toFolder();
-	}
-
-	public String getRepositoryName() {
-		return repository.toString();
-	}
-
-	public CVSURI getProjectURI(){
-		return new CVSURI(repository, path.uptoSegment(1), tag);
-	}
-	
-	public ICVSRemoteFolder toFolder() {
-		return new RemoteFolder(null, repository, path.toString(), tag);
-	}
-	
-	public ICVSRemoteFile toFile() {
-		// TODO: What about keyword mode?
-		return RemoteFile.create(path.toString(), repository, tag, revision);
-	}
-	
-	public String toString() {
-		return "[Path: "+this.path.toString()+" Tag: "+tag.getName()+ " Repo: " +repository.getRootDirectory() +"]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	}
-
-	public IPath getPath(){
-		return path;
-	}
-
-	public IPath getProjectStrippedPath() {
-		if (path.segmentCount() > 1)
-			return path.removeFirstSegments(1);
-		
-		return path;
-	}
-
-	public ICVSRepositoryLocation getRepository() {
-		return repository;
-	}
-
-	public CVSTag getTag() {
-		return tag;
-	}
-
-	public String getRevision() {
-		return revision;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/LogEntryCache.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/LogEntryCache.java
deleted file mode 100644
index ba92266..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/LogEntryCache.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/**
- * 
- */
-package org.eclipse.team.internal.ccvs.core.filesystem;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.ICVSRemoteFile;
-import org.eclipse.team.internal.ccvs.core.ICVSRemoteResource;
-import org.eclipse.team.internal.ccvs.core.ILogEntry;
-import org.eclipse.team.internal.ccvs.core.client.listeners.ILogEntryListener;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-class LogEntryCache implements ILogEntryListener {
-
-	/*
-	 * Cache of all log entries
-	 */
-	private Map entries = new HashMap(); /* Map String:remoteFilePath->Map (String:revision -> ILogEntry) */
-
-	Map internalGetLogEntries(String path) {
-		return (Map) entries.get(path);
-	}
-
-	/**
-	 * Return all the log entries at the given path
-	 * @param path the file path
-	 * @return the log entries for the file
-	 */
-	public ILogEntry[] getLogEntries(String path) {
-		Map map = internalGetLogEntries(path);
-		return (ILogEntry[]) map.values().toArray(new ILogEntry[map.values().size()]);
-	}
-
-	ILogEntry internalGetLogEntry(String path, String revision) {
-		Map fileEntries = internalGetLogEntries(path);
-		if (fileEntries != null) {
-			return (ILogEntry) fileEntries.get(revision);
-		}
-		return null;
-	}
-
-	public String[] getCachedFilePaths() {
-		return (String[]) entries.keySet().toArray(new String[entries.size()]);
-	}
-
-	/**
-	 * Return the log entry that for the given resource
-	 * or <code>null</code> if no entry was fetched or the
-	 * resource is not a file.
-	 * @param getFullPath(resource) the resource
-	 * @return the log entry or <code>null</code>
-	 */
-	public synchronized ILogEntry getLogEntry(ICVSRemoteResource resource) {
-		if (resource instanceof ICVSRemoteFile) {
-			try {
-				String path = getFullPath(resource);
-				String revision = ((ICVSRemoteFile) resource).getRevision();
-				return internalGetLogEntry(path, revision);
-			} catch (TeamException e) {
-				// Log and return null
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Return the log entries that were fetched for the given resource
-	 * or an empty list if no entry was fetched.
-	 * @param getFullPath(resource) the resource
-	 * @return the fetched log entries or an empty list is none were found
-	 */
-	public synchronized ILogEntry[] getLogEntries(ICVSRemoteResource resource) {
-		Map fileEntries = internalGetLogEntries(getFullPath(resource));
-		if (fileEntries != null) {
-			return (ILogEntry[]) fileEntries.values().toArray(new ILogEntry[fileEntries.size()]);
-		}
-		return new ILogEntry[0];
-	}
-
-	/*
-	 * Return the full path that uniquely identifies the resource
-	 * accross repositories. This path include the repository and
-	 * resource path but does not include the revision so that 
-	 * all log entries for a file can be retrieved.
-	 */
-	String getFullPath(ICVSRemoteResource resource) {
-		return Util.appendPath(resource.getRepository().getLocation(false), resource.getRepositoryRelativePath());
-	}
-
-	public synchronized void clearEntries() {
-		entries.clear();
-	}
-
-	public synchronized ICVSRemoteFile getImmediatePredecessor(ICVSRemoteFile file) throws TeamException {
-		ILogEntry[] allLogs = getLogEntries(file);
-		String revision = file.getRevision();
-		// First decrement the last digit and see if that revision exists
-		String predecessorRevision = getPredecessorRevision(revision);
-		ICVSRemoteFile predecessor = findRevison(allLogs, predecessorRevision);
-		// If nothing was found, try to fond the base of a branch
-		if (predecessor == null && isBrancheRevision(revision)) {
-			predecessorRevision = getBaseRevision(revision);
-			predecessor = findRevison(allLogs, predecessorRevision);
-		}
-		// If that fails, it is still possible that there is a revision.
-		// This can happen if the revision has been manually set.
-		if (predecessor == null) {
-			// We don't search in this case since this is costly and would be done
-			// for any file that is new as well.
-		}
-		return predecessor;
-	}
-
-	/*
-	 * Find the given revision in the list of log entries.
-	 * Return null if the revision wasn't found.
-	 */
-	ICVSRemoteFile findRevison(ILogEntry[] allLogs, String predecessorRevision) throws TeamException {
-		for (int i = 0; i < allLogs.length; i++) {
-			ILogEntry entry = allLogs[i];
-			ICVSRemoteFile file = entry.getRemoteFile();
-			if (file.getRevision().equals(predecessorRevision)) {
-				return file;
-			}
-		}
-		return null;
-	}
-
-	/*
-	 * Decrement the trailing digit by one.
-	 */
-	String getPredecessorRevision(String revision) {
-		int digits[] = Util.convertToDigits(revision);
-		digits[digits.length - 1]--;
-		StringBuffer buffer = new StringBuffer(revision.length());
-		for (int i = 0; i < digits.length; i++) {
-			buffer.append(Integer.toString(digits[i]));
-			if (i < digits.length - 1) {
-				buffer.append('.');
-			}
-		}
-		return buffer.toString();
-	}
-
-	/*
-	 * Return true if there are more than 2 digits in the revision number
-	 * (i.e. the revision is on a branch)
-	 */
-	boolean isBrancheRevision(String revision) {
-		return Util.convertToDigits(revision).length > 2;
-	}
-
-	/*
-	 * Remove the trailing revision digits such that the
-	 * returned revision is shorter than the given revision 
-	 * and is an even number of digits long
-	 */
-	String getBaseRevision(String revision) {
-		int digits[] = Util.convertToDigits(revision);
-		int length = digits.length - 1;
-		if (length % 2 == 1) {
-			length--;
-		}
-		StringBuffer buffer = new StringBuffer(revision.length());
-		for (int i = 0; i < length; i++) {
-			buffer.append(Integer.toString(digits[i]));
-			if (i < length - 1) {
-				buffer.append('.');
-			}
-		}
-		return buffer.toString();
-	}
-
-	/**
-	 * Remove any entries for the remote resources
-	 * @param resource the remote resource
-	 */
-	public synchronized void clearEntries(ICVSRemoteResource resource) {
-		String remotePath = getFullPath(resource);
-		entries.remove(remotePath);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.listeners.ILogEntryListener#addEntry(org.eclipse.team.internal.ccvs.core.client.listeners.LogEntry)
-	 */
-	public void handleLogEntryReceived(ILogEntry entry) {
-		ICVSRemoteFile file = entry.getRemoteFile();
-		String fullPath = getFullPath(file);
-		String revision = entry.getRevision();
-		Map fileEntries = internalGetLogEntries(fullPath);
-		if (fileEntries == null) {
-			fileEntries = new HashMap();
-			entries.put(fullPath, fileEntries);
-		}
-		fileEntries.put(revision, entry);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/RLogTreeBuilder.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/RLogTreeBuilder.java
deleted file mode 100644
index 1aaa3ac..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/RLogTreeBuilder.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/**
- * 
- */
-package org.eclipse.team.internal.ccvs.core.filesystem;
-
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSTag;
-import org.eclipse.team.internal.ccvs.core.ICVSRemoteFile;
-import org.eclipse.team.internal.ccvs.core.ICVSRemoteFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSRemoteResource;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.ICVSResource;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFolderTree;
-
-class RLogTreeBuilder {
-
-	private ICVSRepositoryLocation location;
-	private RemoteFolderTree tree;
-	private CVSTag tag;
-	private HashMap folderMap;
-	private HashMap logMap;
-	private LogEntryCache cache;
-
-	public RLogTreeBuilder(ICVSRepositoryLocation location, CVSTag tag, LogEntryCache cache) {
-		this.tag = tag;
-		this.location = location;
-		this.cache = cache;
-		reset();
-	}
-
-	public RemoteFolderTree getTree() {
-		return tree;
-	}
-
-	/**
-	 * Reset the builder to prepare for a new build
-	 */
-	public void reset() {
-		folderMap = new HashMap(16);
-		logMap = new HashMap(16);
-		tree = new RemoteFolderTree(null, location, ICVSRemoteFolder.REPOSITORY_ROOT_FOLDER_NAME, tag);
-		tree.setChildren(new ICVSRemoteResource[0]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.listeners.RDiffSummaryListener.IFileDiffListener#newFile(java.lang.String, java.lang.String)
-	 */
-	public void newFile(IPath remoteFilePath, ICVSRemoteFile remoteFile) {
-		try {
-			addFile(tree, tag, remoteFile, remoteFilePath);
-		} catch (CVSException e) {
-		}
-	}
-
-	private void addFile(RemoteFolderTree tree, CVSTag tag, ICVSRemoteFile file, IPath filePath) throws CVSException {
-		RemoteFolderTree parent = (RemoteFolderTree) getFolder(tree, tag, filePath.removeLastSegments(1), Path.EMPTY);
-		addChild(parent, file);
-	}
-
-	private void addChild(RemoteFolderTree tree, ICVSRemoteResource resource) {
-		//get the log entry info for this file and save it
-		logMap.put(resource, cache.getLogEntry(resource));
-
-		ICVSRemoteResource[] children = tree.getChildren();
-		ICVSRemoteResource[] newChildren;
-		if (children == null) {
-			newChildren = new ICVSRemoteResource[] {resource};
-		} else {
-			newChildren = new ICVSRemoteResource[children.length + 1];
-			System.arraycopy(children, 0, newChildren, 0, children.length);
-			newChildren[children.length] = resource;
-		}
-		tree.setChildren(newChildren);
-	}
-
-	/* 
-	 * Get the folder at the given path in the given tree, creating any missing folders as needed.
-	 */
-	private ICVSRemoteFolder getFolder(RemoteFolderTree tree, CVSTag tag, IPath remoteFolderPath, IPath parentPath) throws CVSException {
-		if (remoteFolderPath.segmentCount() == 0)
-			return tree;
-		String name = remoteFolderPath.segment(0);
-		ICVSResource child;
-		IPath childPath = parentPath.append(name);
-		if (tree.childExists(name)) {
-			child = tree.getChild(name);
-		} else {
-			child = new RemoteFolderTree(tree, tree.getRepository(), childPath.toString(), tag);
-			//Save this folder in hash map
-			folderMap.put(childPath.toString(), child);
-			((RemoteFolderTree) child).setChildren(new ICVSRemoteResource[0]);
-			addChild(tree, (ICVSRemoteResource) child);
-		}
-		return getFolder((RemoteFolderTree) child, tag, remoteFolderPath.removeFirstSegments(1), childPath);
-	}
-
-	public HashMap getFolderMap() {
-		return folderMap;
-	}
-
-	public HashMap getLogMap() {
-		return logMap;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/RemoteLogger.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/RemoteLogger.java
deleted file mode 100644
index ef76314..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/filesystem/RemoteLogger.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.filesystem;
-
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.*;
-import org.eclipse.team.internal.ccvs.core.client.listeners.LogEntry;
-import org.eclipse.team.internal.ccvs.core.client.listeners.LogListener;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFile;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFolderTree;
-
-public class RemoteLogger {
-
-	static final String DEAD_STATE = "dead"; //$NON-NLS-1$
-	
-	private ICVSRemoteFolder remoteFolder;
-	private LogEntryCache cache;
-	
-	private RLogTreeBuilder treeBuilder;
-
-	public RemoteLogger(ICVSRemoteFolder folder) {
-		this.remoteFolder = folder;
-	}
-
-	private void getRemoteChildren(CVSTag tag, IProgressMonitor monitor) {
-		Session session = new Session(this.remoteFolder.getRepository(), this.remoteFolder, false /* output to console */);
-		try {
-			// Build the local options
-			this.cache = new LogEntryCache();
-			LogListener listener = new LogListener(cache);
-
-			Command.LocalOption[] localOptions = getLocalOptions(tag, null);
-			try {
-				session.open(Policy.subMonitorFor(monitor, 10));
-				RLog rlog = new RLog();
-				rlog.execute(session, Command.NO_GLOBAL_OPTIONS, localOptions, new ICVSRemoteResource[] {this.remoteFolder}, listener, Policy.subMonitorFor(monitor, 90));
-			} catch (CVSException e) {
-			}
-		} finally {
-			session.close();
-		}
-	}
-
-	public ICVSResource[] fetchChildren(IProgressMonitor monitor) throws CVSException, TeamException {
-		return fetchTree(monitor).getChildren();
-	}
-
-	public HashMap getFolderMap() {
-		return treeBuilder.getFolderMap();
-	}
-
-	public RemoteFolderTree fetchTree(IProgressMonitor monitor) throws CVSException, TeamException {
-		try{
-		monitor.beginTask(null, 100);
-		CVSTag tag = this.remoteFolder.getTag();
-		if (tag == null)
-			tag = CVSTag.DEFAULT;
-
-		getRemoteChildren(tag, new SubProgressMonitor(monitor,70));
-
-		final ICVSRemoteFolder project = this.remoteFolder;
-		//Get the entry paths
-		String[] entry = this.cache.getCachedFilePaths();
-
-		treeBuilder = new RLogTreeBuilder(project.getRepository(), tag, cache);
-		for (int i = 0; i < entry.length; i++) {
-			ILogEntry[] logEntry = this.cache.getLogEntries(entry[i]);
-
-			//might not have state if this a branch entry
-			if (logEntry[0].getState() != null && logEntry[0].getState().equals(DEAD_STATE))
-				continue;
-
-			ICVSRemoteFile remoteFile = logEntry[0].getRemoteFile();
-			//if the current folder tag is a branch tag, we need to take the extra step
-			//of making sure that the file's revision number has been set appropriately
-			if (tag.getType() == CVSTag.BRANCH && remoteFile.getRevision().equals(LogListener.BRANCH_REVISION))
-				verifyRevision(tag, logEntry[0], remoteFile);
-
-			IPath logPath = new Path(null, remoteFile.getRepositoryRelativePath());
-			if (logPath.segmentCount() > 0) {
-				//trim everything up to the project segment
-				String[] pathSegments = logPath.segments();
-				int index;
-				String projectName = project.getName();
-				for (index = 0; index < pathSegments.length; index++) {
-					if (pathSegments[index].equals(projectName))
-						break;
-				}
-				logPath = logPath.removeFirstSegments(index + 1);
-			}
-			treeBuilder.newFile(logPath, remoteFile);
-		}
-
-		return treeBuilder.getTree();
-		}
-		finally{
-			monitor.done();
-		}
-	}
-
-	protected Command.LocalOption[] getLocalOptions(CVSTag tag1, CVSTag tag2) {
-		if (tag1 != null && tag2 != null) {
-			return new Command.LocalOption[] {RLog.NO_TAGS, RLog.ONLY_INCLUDE_CHANGES, RLog.makeTagOption(tag1, tag2)};
-		} else if (tag1 != null) {
-			if (tag1.getType() == CVSTag.HEAD || tag1.getType() == CVSTag.VERSION)
-				return new Command.LocalOption[] {RLog.NO_TAGS, RLog.ONLY_INCLUDE_CHANGES, RLog.getCurrentTag(tag1)};
-
-			if (tag1.getType() == CVSTag.DATE)
-				return new Command.LocalOption[] {RLog.NO_TAGS, RLog.ONLY_INCLUDE_CHANGES, RLog.REVISIONS_ON_DEFAULT_BRANCH, RLog.getCurrentTag(tag1)};
-			//branch tag
-			return new Command.LocalOption[] {RLog.getCurrentTag(tag1)};
-		} else {
-			return new Command.LocalOption[] {RLog.NO_TAGS, RLog.ONLY_INCLUDE_CHANGES};
-		}
-	}
-
-	private void verifyRevision(CVSTag tag, ILogEntry entry, ICVSRemoteFile remoteFile) throws CVSException {
-		if (entry instanceof LogEntry) {
-			LogEntry logEntry = (LogEntry) entry;
-			String[] allBranchRevisions = logEntry.getBranchRevisions();
-			CVSTag[] allCVSTags = entry.getTags();
-			for (int i = 0; i < allCVSTags.length; i++) {
-				if (allCVSTags[i].equals(tag)) {
-					//get the revision number stored for this tag
-					((RemoteFile) remoteFile).setRevision(allBranchRevisions[i]);
-					break;
-				}
-			}
-		}
-	}
-
-	public HashMap getLogMap() {
-		return treeBuilder.getLogMap();
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/CVSActiveChangeSet.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/CVSActiveChangeSet.java
deleted file mode 100644
index c13190e..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/CVSActiveChangeSet.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.mapping;
-
-import org.eclipse.team.internal.core.subscribers.ActiveChangeSet;
-import org.eclipse.team.internal.core.subscribers.ActiveChangeSetManager;
-
-public class CVSActiveChangeSet extends ActiveChangeSet {
-
-	public CVSActiveChangeSet(ActiveChangeSetManager manager, String title) {
-		super(manager, title);
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/CVSActiveChangeSetCollector.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/CVSActiveChangeSetCollector.java
deleted file mode 100644
index 2191645..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/CVSActiveChangeSetCollector.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.mapping;
-
-import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.internal.core.subscribers.ActiveChangeSet;
-import org.eclipse.team.internal.core.subscribers.SubscriberChangeSetManager;
-
-/**
- * The CVS Active change set manager
- */
-public class CVSActiveChangeSetCollector extends SubscriberChangeSetManager {
-
-	public CVSActiveChangeSetCollector(Subscriber subscriber) {
-		super(subscriber);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.core.subscribers.ActiveChangeSetManager#doCreateSet(java.lang.String)
-	 */
-	protected ActiveChangeSet doCreateSet(String name) {
-		return new CVSActiveChangeSet(this, name);
-	}
-
-	
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/CVSCheckedInChangeSet.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/CVSCheckedInChangeSet.java
deleted file mode 100644
index e0029e7..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/CVSCheckedInChangeSet.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.mapping;
-
-import com.ibm.icu.text.DateFormat;
-import java.util.Date;
-
-import org.eclipse.team.internal.ccvs.core.ILogEntry;
-import org.eclipse.team.internal.ccvs.core.client.listeners.LogEntry;
-import org.eclipse.team.internal.core.subscribers.DiffChangeSet;
-
-public class CVSCheckedInChangeSet extends DiffChangeSet {
-
-    private final ILogEntry entry;
-
-    public CVSCheckedInChangeSet(ILogEntry entry) {
-        this.entry = entry;
-		Date date = entry.getDate();
-		String comment = LogEntry.flattenText(entry.getComment());
-		if (date == null) {
-			setName("["+entry.getAuthor()+ "] " + comment); //$NON-NLS-1$ //$NON-NLS-2$
-		} else {
-			String dateString = DateFormat.getDateTimeInstance().format(date);
-    		setName("["+entry.getAuthor()+ "] (" + dateString +") " + comment); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ 
-		}
-    }
-    
-    public String getAuthor() {
-        return entry.getAuthor();
-    }
-
-    public Date getDate() {
-        return entry.getDate();
-    }
-
-    public String getComment() {
-        return entry.getComment();
-    }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/ChangeSetAdapterFactory.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/ChangeSetAdapterFactory.java
deleted file mode 100644
index 6371c28..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/ChangeSetAdapterFactory.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.mapping;
-
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.IAdapterFactory;
-
-public class ChangeSetAdapterFactory implements IAdapterFactory {
-
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adaptableObject instanceof CVSActiveChangeSet && adapterType == ResourceMapping.class) {
-			CVSActiveChangeSet cs = (CVSActiveChangeSet) adaptableObject;
-			return new ChangeSetResourceMapping(cs);
-		}
-		if (adaptableObject instanceof CVSCheckedInChangeSet && adapterType == ResourceMapping.class) {
-			CVSCheckedInChangeSet cs = (CVSCheckedInChangeSet) adaptableObject;
-			return new ChangeSetResourceMapping(cs);
-		}
-		if (adaptableObject instanceof UnassignedDiffChangeSet && adapterType == ResourceMapping.class) {
-			UnassignedDiffChangeSet cs = (UnassignedDiffChangeSet) adaptableObject;
-			return new ChangeSetResourceMapping(cs);
-		}
-		return null;
-	}
-
-	public Class[] getAdapterList() {
-		return new Class[] { ResourceMapping.class };
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/ChangeSetModelProvider.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/ChangeSetModelProvider.java
deleted file mode 100644
index ae32d20..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/ChangeSetModelProvider.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.mapping;
-
-import org.eclipse.core.resources.mapping.ModelProvider;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.internal.core.TeamPlugin;
-
-public class ChangeSetModelProvider extends ModelProvider {
-
-	public static final String ID = "org.eclipse.team.cvs.core.changeSetModel"; //$NON-NLS-1$
-	private static ChangeSetModelProvider provider;
-	
-	public ChangeSetModelProvider() {
-		super();
-	}
-
-	public static ChangeSetModelProvider getProvider() {
-		if (provider == null) {
-			try {
-				provider = (ChangeSetModelProvider)ModelProvider.getModelProviderDescriptor(ChangeSetModelProvider.ID).getModelProvider();
-			} catch (CoreException e) {
-				TeamPlugin.log(e);
-			}
-		}
-		return provider;
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/ChangeSetResourceMapping.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/ChangeSetResourceMapping.java
deleted file mode 100644
index 12ffd74..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/ChangeSetResourceMapping.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.mapping;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.core.subscribers.DiffChangeSet;
-
-public class ChangeSetResourceMapping extends ResourceMapping {
-
-	private final DiffChangeSet changeSet;
-
-	public ChangeSetResourceMapping(DiffChangeSet changeSet) {
-		this.changeSet = changeSet;
-	}
-
-	public Object getModelObject() {
-		return changeSet;
-	}
-
-	public String getModelProviderId() {
-		return ChangeSetModelProvider.ID;
-	}
-
-	public IProject[] getProjects() {
-		Set result = new HashSet();
-		IResource[] resources = changeSet.getResources();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			result.add(resource.getProject());
-		}
-		return (IProject[]) result.toArray(new IProject[result.size()]);
-	}
-
-	public ResourceTraversal[] getTraversals(ResourceMappingContext context,
-			IProgressMonitor monitor) throws CoreException {
-		IResource[] resources = changeSet.getResources();
-		if (resources.length == 0) {
-			return new ResourceTraversal[0];
-		}
-		return new ResourceTraversal[] {
-				new ResourceTraversal(resources, IResource.DEPTH_ZERO, IResource.NONE)
-		};
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/UnassignedDiffChangeSet.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/UnassignedDiffChangeSet.java
deleted file mode 100644
index 44d8bf1..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/mapping/UnassignedDiffChangeSet.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.mapping;
-
-import org.eclipse.team.internal.core.subscribers.DiffChangeSet;
-
-public class UnassignedDiffChangeSet extends DiffChangeSet {
-
-	public UnassignedDiffChangeSet(String name) {
-		super(name);
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/messages.properties b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/messages.properties
deleted file mode 100644
index 6270f96..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/messages.properties
+++ /dev/null
@@ -1,262 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-ok=ok
-
-AbstractStructureVisitor_sendingFolder=Processing {0}
-AbstractStructureVisitor_sendingFile=Processing {0}
-AbstractStructureVisitor_noRemote=Unable to determine remote location for resource
-
-CVSAuthenticationException_detail=Authentication error: {0}
-CVSCommunicationException_io=CVS communication error: {0}
-CVSCommunicationException_interruptCause=The most likely cause of the interrupt is either an intermittent network failure or a communications timeout.
-CVSCommunicationException_interruptSolution=The CVS communications timeout can be adjusted in the Team/CVS preferences.
-CVSResourceVariantTree_GettingSyncInfoError=An error occurred processing the remote meta-data for folder {0}
-CVSCommunicationException_alternateInterruptCause=Another possible cause is the improper configuration of the "ext" connection method.
-CVSCommunicationException_alternateInterruptSolution=The "ext" connection method can be configured on the Team/CVS/EXT Connection Method preference page
-CVSStatus_messageWithRoot={0}: {1}
-
-CVSTag_nullName=Name must not be null
-CVSTag_emptyName=Name must not be empty
-CVSTag_beginName=Name must start with a letter
-CVSFileHistory_0=Refreshing history for {0}
-CVSTag_badCharName=Name must not contain spaces or the characters `$,.:;@|'
-
-CVSWorkspaceRoot_notCVSFolder=The CVS synchronization information for {0} has become corrupt or does not exist
-
-java_io_IOException=I/O exception occurred: {0}
-java_io_EOFException=End of file encountered: {0}
-java_io_FileNotFoundException=File not found: {0}
-java_io_InterruptedIOException=I/O has been interrupted.
-java_net_UnknownHostException=Cannot locate host: {0}
-java_net_ConnectException=Cannot connect to host: {0}
-java_net_SocketException=Socket Exception: {0}
-java_net_NoRouteToHostException={0}
-
-Connection_cannotClose=Cannot close connection
-Connection_readUnestablishedConnection=Failure due to attempt to read from a closed connection
-Connection_writeUnestablishedConnection=Failure due to attempt to write to a closed connection
-Connection_0=Could not connect to {0}: {1}
-
-PServerConnection_invalidChars=Invalid characters in password
-PServerConnection_loginRefused=Incorrect user name or password
-PServerConnection_invalidUser={0}
-PServerConnection_socket=Cannot connect to host: {0}
-PServerConnection_connectionRefused=Connection refused: {0}
-PServerConnection_noResponse=No response from server
-PServerConnection_authenticating=Authenticating using pserver
-
-CVSProviderPlugin_unknownStateFileVersion=Could not read CVS state file: unknown version ''{0}''.
-
-CVSProvider_ioException=I/O Exception occurred on the state file
-CVSFileSystem_FetchTree=Fetching folder structure
-CVSProvider_errorLoading=Error loading state
-CVSProvider_infoMismatch=Provided CVS information does not match that on disk for project {0}
-
-CVSTeamProvider_noFolderInfo=Project {0} does not contain CVS folder meta-information
-CVSTeamProvider_invalidResource=Resource {0} is not a child of project {1}
-CVSTeamProvider_typesDiffer=Error retrieving remote resource tree. Local and remote resource types differ for {0}
-CVSTeamProviderType_0=Auto-sharing imported CVS projects
-CVSTeamProvider_settingKSubst=Setting keyword substitution mode
-CVSTeamProvider_cleanLineDelimitersException=Exception occurred while cleaning line delimiters
-CVSTeamProvider_changingKeywordComment=*** keyword substitution change ***
-CVSTeamProvider_errorGettingFetchProperty=Could not get "fetch new directory" property for project ''{0}''.
-CVSTeamProvider_errorSettingFetchProperty=Could not set "fetch new directory" property for project ''{0}''.
-CVSTeamProvider_overlappingRemoteFolder=Cannot create linked resource ''{0}'' because a folder of the same name exists remotely.
-CVSTeamProvider_overlappingFileDeletion=Cannot create linked resource ''{0}'' because a deletion for the file of that name has not been committed.
-CVSTeamProvider_errorGettingWatchEdit=Could not get "watch/edit" property for project ''{0}''.
-CVSTeamProvider_errorSettingWatchEdit=Could not set "watch/edit" property for project ''{0}''.
-CVSTeamProvider_errorAddingFileToDiff=An I/O error occurred adding file ''{0}'' to the patch output.
-CVSTeamProvider_updatingFolder=Updating {0}
-
-CVSCoreFileModificationValidator_editJob = Performing CVS Edit
-
-ResourceDeltaVisitor_visitError=Error while processing resource deltas
-
-EclipseResource_invalidResourceClass=Two different implementations of ICVSResource used
-
-RemoteResource_invalidOperation=Invalid operation performed on remote resource
-RemoteFolder_invalidChild=Resource {0} is not a child of folder {1}
-RemoteFolder_errorFetchingRevisions=Error fetching file revisions
-RemoteFolder_errorFetchingMembers=One or more error occurred fetching the members of a remote folder
-RemoteFolder_doesNotExist=Folder {0} does not exist remotely or you do not have permission to access it
-
-RemoteFolderTreeBuilder_buildingBase=Collecting local synchronization information
-RemoteFolderTreeBuilder_0=Resource {0} is no longer mapped to CVS.
-RemoteFolderTreeBuilder_receivingDelta=Receiving delta for {0}
-RemoteFolderTreeBuilder_receivingRevision=Receiving revision for {0}
-RemoteFolderTreeBuilder_missingParent=An error has occurred processing file ''{0} {1}''
-RemoteFolderTreeBuild_folderDeletedFromServer=Folder ''{0}'' has been deleted from the server.
-
-Session_badInt="Malformed file transmission received"
-Session_receiving=Receiving file: {0}
-Session_transfer={0} ({1}K of {2}K bytes)
-Session_transferNoSize={0}
-Session_calculatingCompressedSize=Calculating compressed size: {0}
-Session_0=cvs client: {0}
-Session_sending=Sending file: {0}
-
-Command_receivingResponses=Receiving server response
-Command_warnings=The following warnings were reported while performing the "cvs {0}" command.
-Command_serverError=The server reported an error while performing the "cvs {0}" command.
-Command_noMoreInfoAvailable=The server did not provide any additional information.
-Command_unsupportedResponse=Unknown response received from cvs server: {0} {1}
-Command_argumentNotManaged=Argument {0} is not managed
-Command_invalidTag=HEAD is not a valid tag
-Command_noOpenSession=The CVS command cannot be issued because there is no connection available
-Command_seriousServerError=The server reported an error: {0}
-
-Add_invalidParent=Error during add command. Parent of {0} is not managed.
-
-Commit_syncInfoMissing=The commit operation succeeded. However, committed file ''{0}'' no longer has CVS synchronization information.
-Commit_timestampReset=The modification timestamp was changed for ''{0}'' but the contents match that of the server. The timestamp has been reset.
-
-Diff_serverError=The server reported an error while performing the "cvs diff" command which may only indicate that a difference exists.
-
-Tag_notVersionOrBranchError=Error applying tag: the tag provided is not a version or branch tag.
-
-ModTimeHandler_invalidFormat=The server modification time {0} is in an unknown format
-UpdateListener_0=An unmergable conflict has occurred for binary file {0}. Revision {1} has been loaded and overwritten local changes have been saved in file {2}
-RemovedHandler_invalid=Invalid removed response received from CVS server for  {0}
-RemovedHandler_0=An error occurred removing resource {0}
-CheckInHandler_checkedIn= Receiving confirmation for file {0}.
-
-KSubstOption__kb_short=Binary
-KSubstOption__kb_long=Binary (-kb)
-KSubstOption__ko_short=ASCII -ko
-KSubstOption__ko_long=ASCII without keyword substitution (-ko)
-KSubstOption__kkv_short=ASCII -kkv
-KSubstOption__kkv_long=ASCII with keyword expansion (-kkv)
-KSubstOption__kkvl_short=ASCII -kkvl
-KSubstOption__kkvl_long=ASCII with keyword expansion and locker (-kkvl)
-KSubstOption__kv_short=ASCII -kv
-KSubstOption__kv_long=ASCII with keyword replacement (-kv)
-KSubstOption__kk_short=ASCII -kk
-KSubstOption__kk_long=ASCII with keyword compression (-kk)
-KSubstOption_unknown_short=Unknown {0}
-KSubstOption_unknown_long=Unknown ({0})
-
-AdminKSubstListener_expectedRCSFile=Expected RCS file {0} to end in '',v''
-AdminKSubstListener_commandRootNotManaged=Local root for this command is not managed
-AdminKSubstListener_expectedChildOfCommandRoot=Expected RCS file {0} to be a child of remote root for this command {1}
-
-CVSRepositoryLocation_locationForm=Location must have form ':methodname:[user[:password]@]host:[port]/path/to/cvsroot'
-CVSRepositoryLocation_methods=Only the following methods are supported: {0}
-CVSRepositoryLocation_parsingMethod=Error in connection method specification
-CVSRepositoryLocation_parsingUser=Error in user name specification
-CVSRepositoryLocation_parsingPassword=Error in password specification
-CVSRepositoryLocation_parsingHost=Error in host specification
-CVSRepositoryLocation_parsingPort=Error in port specification
-CVSRepositoryLocation_parsingRoot=Error in repository root directory specification
-CVSRepositoryLocation_invalidFormat=Invalid CVS repository location format: {0}
-CVSRepositoryLocation_openingConnection=Opening connection to {0}
-CVSRepositoryLocation_usernameRequired=A username is required to make a connection
-CVSRepositoryLocation_hostRequired=A host name is required to make a connection
-CVSRepositoryLocation_rootRequired=A root path is required to make a connection
-CVSRepositoryLocation_noAuthenticator=No CVS authenticator is registered
-
-
-Util_timeout=A timeout occurred connecting to host {0}
-Util_processTimeout=A timeout occurred executing command ''{0}''
-Util_truncatedPath=...{0}
-
-ResourceSyncInfo_malformedSyncBytes=Malformed entry line bytes encountered: {0}
-Malformed_entry_line___11=Malformed entry line:
-Malformed_entry_line__missing_name___12=Malformed entry line, missing name:
-Malformed_entry_line__missing_revision___13=Malformed entry line, missing revision:
-FolderSyncInfo_Maleformed_root_4=Malformed root
-FolderSyncInfo_InvalidSyncInfoBytes=Invalid folder sync info bytes: ''{0}''
-SyncFileWriter_baseNotAvailable=Could not restore the base contents of ''{0}'' from the local cache.
-BaseRevInfo_malformedEntryLine=Malformed entry line ''{0}'' for base revision information file.
-
-
-EXTServerConnection_invalidPort=A port cannot be specified for the ext connection method.
-EXTServerConnection_varsNotSet=Cannot run external ext program because CVS_RSH and CVS_SERVER variables are not initialized.
-
-CVSRemoteSyncElement_rootDiffers=Error mapping local folder {0} to repository {1}. It is already managed by repository {2}.
-CVSRemoteSyncElement_repositoryDiffers=Error mapping local folder {0} to remote folder {1}. It is already mapped to {2}.
-Util_Internal_error__resource_does_not_start_with_root_3=Internal error, resource does not start with root
-
-CVSProvider_Scrubbing_local_project_1=Scrubbing local project
-CVSProvider_Scrubbing_projects_1=Scrubbing projects
-CVSProvider_Creating_projects_2=Creating projects
-
-EclipseFile_Problem_deleting_resource=Problem deleting resource: {0}. {1}
-EclipseFile_Problem_accessing_resource=Problem accessing resource: {0}. {1} Perform a Refresh.
-EclipseFile_Problem_writing_resource=Problem writing resource ''{0}''. {1}
-EclipseFolder_problem_creating=Problem creating folder: {0}. {1}
-EclipseFolder_isModifiedProgress=Determining if {0} has outgoing changes...
-
-EclipseSynchronizer_UpdatingSyncEndOperation=Updating CVS synchronization information...
-EclipseSynchronizer_UpdatingSyncEndOperationCancelled=Operation cancelled: updating CVS synchronization information...
-EclipseSynchronizer_NotifyingListeners=Notifying of CVS changes...
-EclipseSynchronizer_ErrorSettingFolderSync=Cannot set folder sync info on {0}
-EclipseSynchronizer_ErrorSettingResourceSync=Cannot set resource sync info on {0}
-EclipseSynchronizer_ErrorSettingIgnorePattern=Cannot set ignored pattern on {0}
-EclipseSynchronizer_ErrorCommitting=Errors saving CVS synchronization information to disk. Please fix the problems listed below and then update the affected resources from the CVS repository.
-EclipseSynchronizer_folderSyncInfoMissing=CVS synchronization information could not be found for folder ''{0}''
-
-SyncFileChangeListener_errorSettingTeamPrivateFlag=Error setting team-private flag on resource
-
-RemoteFile_getContents=Retrieving remote file contents
-RemoteFile_getLogEntries=Retrieving log entries
-RemoteFolder_exists=Checking if resource exists remotely
-RemoteFolder_getMembers=Retrieving children of remote folder
-RemoteModule_getRemoteModules=Retrieving remote modules
-RemoteModule_invalidDefinition=Invalid module definition ''{0}'' received from ''{1}''.
-
-
-Version_unsupportedVersion=Host ''{0}'' is running unsupported CVS version {1}. Although most functionality works, use version 1.11.1p1 or later for full support.
-Version_unknownVersionFormat=Host ''{0}'' is running ''{1}'' which is an unknown version to the workbench. Although most functionality may work, use version 1.11.1p1 or later for full support.
-Version_versionNotValidRequest=Unable to determine server version. Host ''{0}'' does not support the ''cvs version'' command. Although most functionality works, use version 1.11.1p1 or later for full support.
-
-LogListener_invalidRevisionFormat=Invalid revision format ''{1}'' for tag ''{0}''.
-
-NotifyInfo_MalformedLine=Invalid Notify format: ''{0}''
-NotifyInfo_MalformedNotificationType=Invalid notification type in line: ''{0}''
-NotifyInfo_MalformedNotifyDate=Invalid date format in line: ''{0}''
-
-ResourceSynchronizer_missingParentBytesOnGet=Synchronization bytes are missing for parent of resource ''{1}'' in synchronization partner ''{0}'' on get.
-ResourceSynchronizer_missingParentBytesOnSet=Synchronization bytes are missing for parent of resource ''{1}'' in synchronization partner ''{0}'' on set.
-CVSAnnotateBlock_4=lines
-CVSAnnotateBlock_5=line
-CVSAnnotateBlock_6={0} {1} ({2} {3})
-CVSURI_InvalidURI=Invalid uri {0}: {1}
-CVSMergeSubscriber_2=CVS Merge ''{0} to {1}''
-CVSProviderPlugin_20=CVS Workspace
-CRLFDetectInputStream_0=CVS file {0} either contains invalid line endings on the server (CR/LF instead of just LF) or is a binary file that is not marked as -kb.
-DeferredResourceChangeHandler_0=Reconciling CVS state changes
-DeferredResourceChangeHandler_1=Errors occurred handling ignore file (.cvsignore) changes. Some resources may not be decorated properly.
-CVSWorkspaceRoot_11=The parent folder of managed file {0} does not have sync info associated with it.
-RemoveEntryHandler_2=Remove-entry received and ignored from CVS server for existing file {0}.
-ServerMessageLineMatcher_5=Variable in template is not of the correct format: {0}
-ServerMessageLineMatcher_6=There are additional groups above those defining variables in template: {0}
-ServerMessageLineMatcher_7=Expected variable {0} in {1} but it is not present.
-CVSSyncInfo_7=Invalid attempt to make file {0} in-sync. This operation can only be sed on folders.
-CVSSyncInfo_8=Invalid attempt to make outgoing resource {0} in-sync. This operation only applies to incoming or conflicting changes.
-CVSSyncInfo_9=Cannot make {0} in-sync because its parent is not under CVS control.
-CVSSyncInfo_10=Cannot make {0} in-sync because there is no corresponding remote.
-CVSCompareSubscriber_2=CVS Compare ''{0}''
-AnnotateListener_3=Skipping binary file
-AnnotateListener_4=Cannot annotate a binary file.
-CVSWorkspaceSubscriber_1=Calculating synchronization state for {0}
-CVSWorkspaceSubscriber_2=An error occurred calculating the synchronization state for {0}: {1}
-KnownRepositories_0=Error restoring CVS repositories
-CVSRepositoryLocation_72=Connection to {0} timed out while waiting for another thread to make a connection to the same host
-CVSRepositoryLocation_73=Error clearing preferences for CVS repository location {0}
-CVSRepositoryLocation_74=Error retrieving preferences for CVS repository location {0}
-CVSRepositoryLocation_75=Error flushing preferences for CVS repository location {0}
-SyncFileWriter_0=An invalid entry was found in the CVS/Entries file for folder {0}. The entry has been ignored.
-ResponseHandler_0=Could not create resource {0}: {1}
-EclipseFolder_0=Disconnecting {0}.
-LogEntry_0=/
-PrepareForReplaceVisitor_DeletedFileWithoutHistoryCannotBeRestoredWhileRevertToBase=Deleted file does not have history and cannot be restored with BASE tag.
-PrepareForReplaceVisitor_FileCannotBeReplacedWithBase=File {0} cannot be replaced with BASE.
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSEntryLineTag.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSEntryLineTag.java
deleted file mode 100644
index fe13636..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSEntryLineTag.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.internal.ccvs.core.*;
-
-public class CVSEntryLineTag extends CVSTag {
-	
-    /*
-     * This is the format of a date as it appears in the entry line. The date in an entry
-     * line is always in GMT.
-     */
-	private static final String ENTRY_LINE_DATE_TAG_FORMAT = "yyyy.MM.dd.HH.mm.ss"; //$NON-NLS-1$
-	
-	/*
-	 * This is a formatter that will translate dates to and from text as it appears in the entry line 
-	 */
-	private static SimpleDateFormat entryLineDateTagFormatter = new SimpleDateFormat(ENTRY_LINE_DATE_TAG_FORMAT, Locale.US);
-	
-	/*
-	 * Convert the tag name as it appears as an argument to a command
-	 * into the format that appears in the entry line of a folder or file
-	 */
-	private static String getNameInInternalFormat(CVSTag tag) {
-		if(tag.getType() == DATE){
-			String s = ensureEntryLineFormat(tag.getName());
-			if(s != null){
-				return s;
-			}
-		}
-		return tag.getName();
-	}
-	
-	/*
-	 * Helper for converting the tag name as it appears as an argument to a command
-	 * into the format that appears in the entry line of a folder or file
-	 */
-	private static synchronized String ensureEntryLineFormat(String text){
-		if(text.length() == ENTRY_LINE_DATE_TAG_FORMAT.length()) return text;
-		Date date = tagNameToDate(text);
-		if (date == null) return text;
-		entryLineDateTagFormatter.setTimeZone(TimeZone.getTimeZone("GMT")); //$NON-NLS-1$
-		return entryLineDateTagFormatter.format(date);
-	}
-	
-	static synchronized public Date entryLineToDate(String text){
-		try {
-		    entryLineDateTagFormatter.setTimeZone(TimeZone.getTimeZone("GMT")); //$NON-NLS-1$
-			return entryLineDateTagFormatter.parse(text);
-		} catch (ParseException e) {
-			CVSProviderPlugin.log(new CVSStatus(IStatus.ERROR, CVSStatus.ERROR, "Tag name " + text + " is not of the expected format " + ENTRY_LINE_DATE_TAG_FORMAT, e)); //$NON-NLS-1$ //$NON-NLS-2$
-			return null;
-		}		
-	}
-	
-	/*
-	 * The parameter tag must not be null.
-	 */
-	public CVSEntryLineTag(CVSTag tag) {
-		super(getNameInInternalFormat(tag), tag.getType());
-	}
-	
-	public CVSEntryLineTag(String entryLineTag) {
-		switch (entryLineTag.charAt(0)) {
-			case 'T' : type = BRANCH; break;
-			case 'N' : type = VERSION; break;
-			case 'D' : type = DATE; break;
-			default: type = HEAD;
-		}
-		name = entryLineTag.substring(1);
-	}
-	/*
-	 * Returns the tag name
-	 */
-	public String getName() {
-		if (getType() == DATE) {
-			// Use same format as CVSTag when the name is requested
-			Date date = asDate();
-			if(date != null){
-				return dateToTagName(date);
-			}
-		}
-		return name;
-	}
-	/*
-	 * Returns the tag type
-	 */
-	public int getType() {
-		return type;
-	}
-	
-	public String toEntryLineFormat(boolean useSamePrefixForBranchAndTag) {
-		if (type == BRANCH || (type == VERSION && useSamePrefixForBranchAndTag))
-			return "T" + name;//$NON-NLS-1$
-		else if (type == VERSION)
-			return "N" + name;//$NON-NLS-1$
-		else if (type == DATE)
-			return "D" + name;//$NON-NLS-1$
-		return "";//$NON-NLS-1$
-	}
-
-	/*
-	 * For debugging purposes.
-	 */
-	public String toString() {
-		return toEntryLineFormat(false);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.CVSTag#asDate()
-	 */
-	public Date asDate() {
-		return entryLineToDate(name);
-	}
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSWorkspaceRoot.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSWorkspaceRoot.java
deleted file mode 100644
index 032b5b2..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSWorkspaceRoot.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.core.util.KnownRepositories;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-/**
- * This class provides static methods for checking out projects from a repository
- * into the local workspace and for converting IResources into CVSRespources
- * and sync trees.
- * Instances of this class represent a local workspace root (i.e. a project).
- */
-public class CVSWorkspaceRoot {
-
-	private ICVSFolder localRoot;
-	
-	public CVSWorkspaceRoot(IContainer resource){
-		this.localRoot = getCVSFolderFor(resource);
-	}
-					
-	/**
-	 * Set the sharing for a project to enable it to be used with the CVSTeamProvider.
-	 * This method ensure that the repository in the FolderSyncInfo is known and that
-	 * the project is mapped to a CVS repository provider. It does not modify the sync
-	 * info associated with the project's resources in any way.
-	 */
-	public static void setSharing(IProject project, FolderSyncInfo info, IProgressMonitor monitor) throws TeamException {
-		
-		// Ensure provided info matches that of the project
-		ICVSFolder folder = (ICVSFolder)CVSWorkspaceRoot.getCVSResourceFor(project);
-		FolderSyncInfo folderInfo = folder.getFolderSyncInfo();
-		if ( ! info.equals(folderInfo)) {
-			throw new CVSException(new CVSStatus(IStatus.ERROR, NLS.bind(CVSMessages.CVSProvider_infoMismatch, new String[] { project.getName() })));
-		}
-        
-        // Ensure that the repository location format is supported
-        String root = info.getRoot();
-        // This will try to create a repository location for the root.
-        // If it fails, an exception is thrown.
-        KnownRepositories.getInstance().getRepository(root);
-		
-		// Register the project with Team
-		RepositoryProvider.map(project, CVSProviderPlugin.getTypeId());
-	}
-				
-	public static ICVSFolder getCVSFolderFor(IContainer resource) {
-		return new EclipseFolder(resource);
-	}
-
-
-	public static ICVSFile getCVSFileFor(IFile resource) {
-		return new EclipseFile(resource);
-	}
-
-
-	public static ICVSResource getCVSResourceFor(IResource resource) {
-		if (resource.getType() == IResource.FILE)
-			return getCVSFileFor((IFile) resource);
-		else
-			return getCVSFolderFor((IContainer) resource);
-	}
-	
-	public static ICVSRemoteResource getRemoteResourceFor(IResource resource) throws CVSException {
-		ICVSResource managed = getCVSResourceFor(resource);
-		return getRemoteResourceFor(managed);
-	}
-	
-	public static ICVSRemoteResource getRemoteResourceFor(ICVSResource resource) throws CVSException {
-		if (resource.isFolder()) {
-			ICVSFolder folder = (ICVSFolder)resource;
-			FolderSyncInfo syncInfo = folder.getFolderSyncInfo();
-			if (syncInfo != null) {
-				return new RemoteFolder(null, KnownRepositories.getInstance().getRepository(syncInfo.getRoot()), syncInfo.getRepository(), syncInfo.getTag());
-			}
-		} else {
-			if (resource.isManaged()) {
-				RemoteFolder parent = (RemoteFolder)getRemoteResourceFor(resource.getParent());
-				if (parent == null) {
-					// This could be caused by another thread changing the state in the
-					// instant between when we did the managed check and we obtained the 
-					// parent handle. If this is the case, isManaged should return false
-					// now. If it doesn't, then we should log an error.
-					if (resource.isManaged()) {
-						CVSProviderPlugin.log(new CVSStatus(IStatus.ERROR,CVSStatus.ERROR, NLS.bind(CVSMessages.CVSWorkspaceRoot_11, new String[] { Util.getFullestPath(resource) }),resource.getIResource())); 
-					}
-				} else {
-					return RemoteFile.getBase(parent, (ICVSFile)resource);
-				}
-			}
-		}
-		return null;
-	}
-		
-	/*
-	 * Helper method that uses the parent of a local resource that has no base to ensure that the resource
-	 * wasn't added remotely by a third party
-	 */
-	private static ICVSRemoteResource getRemoteTreeFromParent(IResource resource, ICVSResource managed, CVSTag tag, IProgressMonitor progress) throws TeamException {
-		// If the parent isn't mapped to CVS, there's nothing we can do
-		ICVSFolder parent = managed.getParent();
-		FolderSyncInfo syncInfo = parent.getFolderSyncInfo();
-		if (syncInfo == null) {
-			// The parent is managed so just indicate that there is no remote
-			return null;
-		}
-		ICVSRepositoryLocation location = KnownRepositories.getInstance().getRepository(parent.getFolderSyncInfo().getRoot());
-		RemoteFolder remoteParent = RemoteFolderTreeBuilder.buildRemoteTree((CVSRepositoryLocation)location, parent, tag, progress);
-		ICVSRemoteResource remote = null;
-		if (remoteParent != null) {
-			try {
-				remote = (ICVSRemoteResource)remoteParent.getChild(resource.getName());
-			} catch (CVSException e) {
-				remote = null;
-			}
-			// The types need to match or we're in trouble
-			if (remote != null && !(remote.isContainer() == managed.isFolder()))
-				throw new CVSException(new CVSStatus(IStatus.ERROR, CVSStatus.ERROR, NLS.bind(CVSMessages.CVSTeamProvider_typesDiffer, new String[] { resource.getFullPath().toString() }), resource)); 
-		}
-		return remote;
-	}
-	
-	/**
-	 * Return the remote tree that corresponds to the given local resource. Return
-	 * <code>null</code> if the remote tree doesn't exist remotely or if the local
-	 * resource is not mapped to a remote (i.e. is not managed by CVS).
-	 * 
-	 * @param resource the local resource
-	 * @param tag the tag to be queried remotely
-	 * @param cacheFileContentsHint hint which indicates whether file contents will be required
-	 * @param depth the depth
-	 * @param progress
-	 * @return the remote tree or <code>null</code>
-	 * @throws TeamException
-	 */
-	public static ICVSRemoteResource getRemoteTree(IResource resource, CVSTag tag, boolean cacheFileContentsHint, int depth, IProgressMonitor progress) throws TeamException {
-		ICVSResource managed = CVSWorkspaceRoot.getCVSResourceFor(resource);
-		ICVSRemoteResource remote = CVSWorkspaceRoot.getRemoteResourceFor(resource);
-		if (remote == null) {
-			progress.beginTask(null, 100);
-			remote = getRemoteTreeFromParent(resource, managed, tag, Policy.subMonitorFor(progress, 50));
-			if (cacheFileContentsHint && remote != null && remote instanceof RemoteFile) {
-				RemoteFile file = (RemoteFile)remote;
-				// get the storage for the file to ensure that the contents are cached
-				file.getStorage(Policy.subMonitorFor(progress, 50));
-			}
-			progress.done();
-		} else if(resource.getType() == IResource.FILE) {
-			ICVSRepositoryLocation location = remote.getRepository();
-			if (cacheFileContentsHint) {
-				remote = UpdateContentCachingService.buildRemoteTree((CVSRepositoryLocation)location, (ICVSFile)managed, tag, progress);
-			} else {
-				remote = RemoteFolderTreeBuilder.buildRemoteTree((CVSRepositoryLocation)location, (ICVSFile)managed, tag, progress);
-			}
-		} else {
-			ICVSRepositoryLocation location = remote.getRepository();
-			if (cacheFileContentsHint) {
-				remote = UpdateContentCachingService.buildRemoteTree((CVSRepositoryLocation)location, (ICVSFolder)managed, tag, depth, progress);
-			} else {
-				remote = RemoteFolderTreeBuilder.buildRemoteTree((CVSRepositoryLocation)location, (ICVSFolder)managed, tag, progress);
-			}	
-		}
-		return remote;
-	}
-	
-	public static boolean hasRemote(IResource resource) {
-		try {
-			ICVSResource cvsResource = getCVSResourceFor(resource);
-			int type = resource.getType();
-			if(type!=IResource.FILE) {
-				if(type==IResource.PROJECT) {
-					return ((ICVSFolder)cvsResource).isCVSFolder();
-				} else {
-					return cvsResource.isManaged();
-				}
-			} else {
-				byte[] syncBytes = ((ICVSFile)cvsResource).getSyncBytes();
-				if(syncBytes!=null) {
-					return !ResourceSyncInfo.isAddition(syncBytes);
-				} else {
-					return false;
-				}
-			}					
-		} catch(CVSException e) {
-			return false;
-		}
-	}
-	
-	public ICVSRepositoryLocation getRemoteLocation() throws CVSException {
-		FolderSyncInfo info = localRoot.getFolderSyncInfo();
-		if (info == null) {
-			IStatus status = new CVSStatus(IStatus.ERROR,CVSStatus.RESOURCE_SYNC_INFO_ERROR,NLS.bind(CVSMessages.CVSWorkspaceRoot_notCVSFolder, new String[] { localRoot.getName() }),localRoot);
-			throw new CVSException(status);  
-		}
-		return KnownRepositories.getInstance().getRepository(info.getRoot());
-	}
-
-	public ICVSFolder getLocalRoot() {
-		return localRoot;
-	}
-	
-	
-	/**
-	 * Return true if the resource is part of a link (i.e. a linked resource or
-	 * one of it's children.
-	 * 
-	 * @param container
-	 * @return boolean
-	 */
-	public static boolean isLinkedResource(IResource resource) {
-		return resource.isLinked(IResource.CHECK_ANCESTORS);
-	}
-	
-	/**
-	 * A resource is considered shared 
-	 * @param resource
-	 * @return boolean
-	 */
-	public static boolean isSharedWithCVS(IResource resource) throws CVSException {
-		if (!resource.isAccessible()) return false;
-		if(isLinkedResource(resource)) return false;
-	
-		if(RepositoryProvider.getProvider(resource.getProject(), CVSProviderPlugin.getTypeId()) == null) {
-			return false;
-		}
-	
-		ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource);
-		if (cvsResource.isManaged()) return true;
-		if (!cvsResource.exists()) return false;
-		if (cvsResource.isFolder() && ((ICVSFolder) cvsResource).isCVSFolder()) return true;
-		if (cvsResource.isIgnored()) return false;
-		return cvsResource.getParent().isCVSFolder();
-	}
-	
-	/**
-	 * Return whether the given container is an orphaned subtree. An orphaned subtree
-	 * is folder (i.e. non-project) that is a CVS folder but is not managed and is not
-	 * a linked resource. To know if the resource is a descendant of an orphaned subtree,
-	 * the client must invoked this method for each ancestor of a resource.
-	 * @param container the container being tested
-	 * @return whether the container is an orphaned CVS folder
-	 * @throws CVSException
-	 */
-	public static boolean isOrphanedSubtree(IContainer container) throws CVSException {
-		ICVSFolder mFolder = CVSWorkspaceRoot.getCVSFolderFor(container);
-		return (mFolder.isCVSFolder() 
-				&& ! mFolder.isManaged() 
-				&& mFolder.getIResource().getType() == IResource.FOLDER
-				&& !isLinkedResource(container));
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseFile.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseFile.java
deleted file mode 100644
index 6065ea6..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseFile.java
+++ /dev/null
@@ -1,633 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Red Hat Incorporated - is/setExecutable() code
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-import java.io.File;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Session;
-import org.eclipse.team.internal.ccvs.core.syncinfo.*;
-
-/**
- * Represents handles to CVS resource on the local file system. Synchronization
- * information is taken from the CVS subdirectories. 
- */
-public class EclipseFile extends EclipseResource implements ICVSFile {
-
-	private static final String TEMP_FILE_EXTENSION = ".tmp";//$NON-NLS-1$
-	private static final IPath PROJECT_META_DATA_PATH = new Path(".project");//$NON-NLS-1$
-	
-	/**
-	 * Create a handle based on the given local resource.
-	 */
-	protected EclipseFile(IFile file) {
-		super(file);
-	}
-
-	/*
-	 * @see ICVSResource#delete()
-	 */
-	public void delete() throws CVSException {
-		try {
-			((IFile)resource).delete(false /*force*/, true /*keepHistory*/, null);
-		} catch(CoreException e) {
-			throw CVSException.wrapException(resource, NLS.bind(CVSMessages.EclipseFile_Problem_deleting_resource, new String[] { resource.getFullPath().toString(), e.getStatus().getMessage() }), e); // 
-		}
-	}
-	
-	public long getSize() {
-		return getIOFile().length();	
-	}
-
-	public InputStream getContents() throws CVSException {
- 		try {
-			return getIFile().getContents();
-		} catch (CoreException e) {
- 			throw CVSException.wrapException(resource, NLS.bind(CVSMessages.EclipseFile_Problem_accessing_resource, new String[] { resource.getFullPath().toString(), e.getStatus().getMessage() }), e); // 
- 		}
- 	}
-	
-	/*
-	 * @see ICVSFile#getTimeStamp()
-	 */
-	public Date getTimeStamp() {
-		long timestamp = getIFile().getLocalTimeStamp();
-		if( timestamp == IResource.NULL_STAMP) {
-			// If there is no file, return the same timestamp as ioFile.lastModified() would
-			return new Date(0L);
-		}			
-		return new Date((timestamp/1000)*1000);
-	}
- 
-	/*
-	 * @see ICVSFile#setTimeStamp(Date)
-	 */
-	public void setTimeStamp(Date date) throws CVSException {
-		long time;
-		if (date == null) {
-			time = System.currentTimeMillis();
-		} else {
-			time = date.getTime();
-		}
-		EclipseSynchronizer.getInstance().setTimeStamp(this, time);
-	}
-
-	/*
-	 * @see ICVSResource#isFolder()
-	 */
-	public boolean isFolder() {
-		return false;
-	}
-	
-	/*
-	 * @see ICVSFile#isModified()
-	 */
-	public boolean isModified(IProgressMonitor monitor) throws CVSException {
-		
-		// ignore the monitor, there is no valuable progress to be shown when
-		// calculating the dirty state for files. It is relatively fast.
-		
-		if (!exists()) {
-			return getSyncBytes() != null;
-		}
-		int state = EclipseSynchronizer.getInstance().getModificationState(getIFile());
-
-		if (state != UNKNOWN) {
-			boolean dirty = state != CLEAN;
-			// Check to make sure that cached state is the real state.
-			// They can be different if deltas happen in the wrong order.
-			if (dirty == isDirty()) {
-				return dirty;
-			}
-		}
-		
-		// nothing cached, need to manually check (and record)
-		byte[] syncBytes = getSyncBytes();
-		if (syncBytes == null && isIgnored()) return false;
-		// unmanaged files are reported as modified
-		return EclipseSynchronizer.getInstance().setModified(this, UNKNOWN);
-	}
-	
-	/*
-	 * @see ICVSResource#accept(ICVSResourceVisitor)
-	 */
-	public void accept(ICVSResourceVisitor visitor) throws CVSException {
-		visitor.visitFile(this);
-	}
-
-	/*
-	 * @see ICVSResource#accept(ICVSResourceVisitor, boolean)
-	 */
-	public void accept(ICVSResourceVisitor visitor, boolean recurse) throws CVSException {
-		visitor.visitFile(this);
-	}
-	
-	/*
-	 * This is to be used by the Copy handler. The filename of the form .#filename
-	 */
-	public void copyTo(String filename) throws CVSException {
-		try {
-			IPath targetPath = new Path(null, filename);
-			IFile targetFile = getIFile().getParent().getFile(targetPath);
-			if (targetFile.exists()) {
-				// There is a file in the target location. 
-				// Delete it and keep the history just in case
-				targetFile.delete(false /* force */, true /* keep history */, null);
-			}
-			getIFile().copy(targetPath, true /*force*/, null);
-		} catch(CoreException e) {
-			throw new CVSException(e.getStatus());
-		}
-	}
-
-	/*
-	 * @see ICVSResource#getRemoteLocation()
-	 */
-	public String getRemoteLocation(ICVSFolder stopSearching) throws CVSException {
-		return getParent().getRemoteLocation(stopSearching) + SEPARATOR + getName();
-	}
-		
-	/*
-	 * @see ICVSFile#setReadOnly()
-	 */
-	public void setContents(InputStream stream, int responseType, boolean keepLocalHistory, IProgressMonitor monitor) throws CVSException {
-		try {
-			IFile file = getIFile();
-			if (PROJECT_META_DATA_PATH.equals(file.getFullPath().removeFirstSegments(1))) {
-				responseType = UPDATED;
-			}
-			switch (responseType) {
-				case UPDATED:
-					if (resource.exists()) {
-						file.setContents(stream, false /*force*/, true /*keep history*/, monitor);
-						break;
-					}
-				case CREATED: // creating a new file so it should not exist locally
-					file.create(stream, false /*force*/, monitor);
-					break;
-				case MERGED: // merging contents into a file that exists locally
-					// Ensure we don't leave the file in a partially written state
-					IFile tempFile = file.getParent().getFile(new Path(null, file.getName() + TEMP_FILE_EXTENSION));
-					monitor.beginTask(null, 100);
-					if (tempFile.exists()) 
-						tempFile.delete(true /* force */, Policy.subMonitorFor(monitor, 25));
-					tempFile.create(stream, true /*force*/, Policy.subMonitorFor(monitor, 25));
-					file.delete(false /* force */, true /* keep history */, Policy.subMonitorFor(monitor, 25));
-					tempFile.move(new Path(null, file.getName()), false /*force*/, true /*history*/, Policy.subMonitorFor(monitor, 25));
-					monitor.done();
-					break;
-				case UPDATE_EXISTING: // creating a new file so it should exist locally
-					file.setContents(stream, false /*force*/, true /*keep history*/, monitor);
-					break;
-			}
-		} catch(CoreException e) {
-			String message = null;
-			if (e.getStatus().getCode() == IResourceStatus.FAILED_READ_LOCAL) {
-				// This error indicates that Core couldn't read from the server stream
-				// The real reason will be in the message of the wrapped exception
-				Throwable t = e.getStatus().getException();
-				if (t != null) message = t.getMessage();
-			}
-			if (message == null) message = e.getMessage();
-			throw CVSException.wrapException(resource, NLS.bind(CVSMessages.EclipseFile_Problem_writing_resource, new String[] { resource.getFullPath().toString(), message }), e); 
-		}
-	}
-			
-	/*
-	 * @see ICVSFile#setReadOnly()
-	 */
-	public void setReadOnly(boolean readOnly) throws CVSException {
-		ResourceAttributes attributes = resource.getResourceAttributes();
-		if (attributes != null) {
-			attributes.setReadOnly(readOnly);
-			try {
-                resource.setResourceAttributes(attributes);
-            } catch (CoreException e) {
-                throw CVSException.wrapException(e);
-            }
-		}
-	}
-
-	/*
-	 * @see ICVSFile#isReadOnly()
-	 */
-	public boolean isReadOnly() throws CVSException {
-		return getIFile().isReadOnly();
-	}
-	
-	/*
-	 * @see ICVSFile#setExecutable()
-	 */
-	public void setExecutable(boolean executable) throws CVSException {
-		ResourceAttributes attributes = resource.getResourceAttributes();
-		if (attributes != null) {
-			attributes.setExecutable(executable);
-			try {
-                resource.setResourceAttributes(attributes);
-            } catch (CoreException e) {
-                throw CVSException.wrapException(e);
-            }
-		}
-	}
-
-	/*
-	 * @see ICVSFile#isExectuable()
-	 */
-	public boolean isExecutable() throws CVSException {
-		ResourceAttributes attributes = resource.getResourceAttributes();
-		if (attributes != null) {
-			return attributes.isExecutable();
-		} else {
-			return false;
-		}
-	}
-	
-	/*
-	 * Typecasting helper
-	 */
-	public IFile getIFile() {
-		return (IFile)resource;
-	}	
-	
-	/*
-	 * To allow accessing size and timestamp for the underlying java.io.File
-	 */
-	private File getIOFile() {
-		IPath location = resource.getLocation();
-		if(location!=null) {
-			return location.toFile();
-		}
-		return null;
-	}
-	/**
-	 * @see ICVSFile#getLogEntries(IProgressMonitor)
-	 */
-	public ILogEntry[] getLogEntries(IProgressMonitor monitor)	throws TeamException {
-		
-		// try fetching log entries only when the file's project is accessible
-		// see bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=190434
-		if (getIResource() == null
-				|| !getIResource().getProject().isAccessible())
-			return new ILogEntry[0];
-		
-		byte[] syncBytes = getSyncBytes();
-		if(syncBytes != null && !ResourceSyncInfo.isAddition(syncBytes)) {
-			ICVSRemoteResource remoteFile = CVSWorkspaceRoot.getRemoteResourceFor(resource);
-			if (remoteFile != null)
-				return ((ICVSRemoteFile)remoteFile).getLogEntries(monitor);
-		}
-		return new ILogEntry[0];
-	}
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#setNotifyInfo(NotifyInfo)
-	 */
-	public void setNotifyInfo(NotifyInfo info) throws CVSException {
-		if (isManaged()) {
-			EclipseSynchronizer.getInstance().setNotifyInfo(resource, info);
-			// On an edit, the base should be cached
-			// On an unedit, the base should be restored (and cleared?)
-			// On a commit, the base should be cleared
-		}
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#getNotifyInfo()
-	 */
-	public NotifyInfo getNotifyInfo() throws CVSException {
-		if (isManaged()) {
-			return EclipseSynchronizer.getInstance().getNotifyInfo(resource);		
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#setNotifyInfo(NotifyInfo)
-	 */
-	public void setBaserevInfo(BaserevInfo info) throws CVSException {
-		if (isManaged()) {
-			if (info == null) {
-				EclipseSynchronizer.getInstance().deleteBaserevInfo(resource);
-				EclipseSynchronizer.getInstance().deleteFileFromBaseDirectory(getIFile(), null);
-			} else
-				EclipseSynchronizer.getInstance().setBaserevInfo(resource, info);
-		}
-	}
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#getNotifyInfo()
-	 */
-	public BaserevInfo getBaserevInfo() throws CVSException {
-		if (isManaged()) {
-			return EclipseSynchronizer.getInstance().getBaserevInfo(resource);
-		}
-		return null;
-	}
-	
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#checkout(int)
-	 */
-	public void edit(final int notifications, boolean notifyForWritable, IProgressMonitor monitor) throws CVSException {
-		if (!notifyForWritable && !isReadOnly()) return;
-		run(new ICVSRunnable() {
-			public void run(IProgressMonitor monitor) throws CVSException {
-				byte[] syncBytes = getSyncBytes();
-				if (syncBytes == null || ResourceSyncInfo.isAddition(syncBytes)) return;
-				
-				// convert the notifications to internal form
-				char[] internalFormat;
-				if (notifications == NO_NOTIFICATION) {
-					internalFormat = null;
-				} else if (notifications == NOTIFY_ON_ALL) {
-					internalFormat = NotifyInfo.ALL;
-				} else {
-					List notificationCharacters = new ArrayList();
-					if ((notifications & NOTIFY_ON_EDIT) >0) 
-						notificationCharacters.add(new Character(NotifyInfo.EDIT));
-					if ((notifications & NOTIFY_ON_UNEDIT) >0) 
-						notificationCharacters.add(new Character(NotifyInfo.UNEDIT));
-					if ((notifications & NOTIFY_ON_COMMIT) >0) 
-						notificationCharacters.add(new Character(NotifyInfo.COMMIT));
-					internalFormat = new char[notificationCharacters.size()];
-					for (int i = 0; i < internalFormat.length; i++) {
-						internalFormat[i] = ((Character)notificationCharacters.get(i)).charValue();
-					}
-				}
-				
-				// record the notification
-				NotifyInfo notifyInfo = new NotifyInfo(getName(), NotifyInfo.EDIT, new Date(), internalFormat);
-				setNotifyInfo(notifyInfo);
-				
-				// Only record the base if the file is not modified
-				if (!isModified(null)) {
-					EclipseSynchronizer.getInstance().copyFileToBaseDirectory(getIFile(), monitor);
-					setBaserevInfo(new BaserevInfo(getName(), ResourceSyncInfo.getRevision(syncBytes)));
-				}
-				
-				try {
-                    // allow editing
-                    setReadOnly(false);
-                } catch (CVSException e) {
-                    // Just log and keep going
-                    CVSProviderPlugin.log(e);
-                }
-			}
-		}, monitor);
-		
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#uncheckout()
-	 */
-	public void unedit(IProgressMonitor monitor) throws CVSException {
-		if (isReadOnly()) return;
-		run(new ICVSRunnable() {
-			public void run(IProgressMonitor monitor) throws CVSException {
-				// record the notification
-				NotifyInfo info = getNotifyInfo();
-				if (info != null && info.getNotificationType() == NotifyInfo.EDIT) {
-					info = null;
-				} else {
-					info = new NotifyInfo(getName(), NotifyInfo.UNEDIT, new Date(), null);
-				}
-				setNotifyInfo(info);
-					
-				if (isModified(null)) {
-					ResourceSyncInfo syncInfo = getSyncInfo();
-					BaserevInfo baserevInfo = getBaserevInfo();
-					EclipseSynchronizer.getInstance().restoreFileFromBaseDirectory(getIFile(), monitor);
-					// reset any changes that may have been merged from the server
-					if (!syncInfo.getRevision().equals(baserevInfo.getRevision())) {
-						MutableResourceSyncInfo newInfo = syncInfo.cloneMutable();
-						newInfo.setRevision(baserevInfo.getRevision());
-						newInfo.setTimeStamp(getTimeStamp());
-						newInfo.setDeleted(false);
-						setSyncInfo(newInfo, ICVSFile.CLEAN);
-					} else {
-						// an unedited file is no longer modified
-						EclipseSynchronizer.getInstance().setModified(EclipseFile.this, CLEAN);
-					}
-				} else {
-					// We still need to report a state change
-					setSyncBytes(getSyncBytes(), ICVSFile.CLEAN);
-				}
-				setBaserevInfo(null);
-					
-				try {
-                    // prevent editing
-                    setReadOnly(true);
-                } catch (CVSException e) {
-                    // Just log and keep going
-                    CVSProviderPlugin.log(e);
-                }
-			}
-		}, monitor);
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#notificationCompleted()
-	 */
-	public void notificationCompleted() throws CVSException {
-		EclipseSynchronizer.getInstance().deleteNotifyInfo(resource);
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#getPendingNotification()
-	 */
-	public NotifyInfo getPendingNotification() throws CVSException {
-		return getNotifyInfo();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#checkedIn(java.lang.String)
-	 */
-	public void checkedIn(String entryLine, boolean commit) throws CVSException {
-		ResourceSyncInfo oldInfo = getSyncInfo();
-		ResourceSyncInfo newInfo = null;
-		int modificationState = ICVSFile.CLEAN;
-		if (entryLine == null) {
-			// cvs commit: the file contents matched the server contents so no entry line was sent
-			if (oldInfo == null) return;
-			// We should never make the timestamp go backwards so we'll set
-			// the entry line timestamp to match that of the file
-			if(! oldInfo.isAdded()) {
-				MutableResourceSyncInfo mutable = oldInfo.cloneMutable();
-				mutable.setTimeStamp(getTimeStamp(), true /* clear merged */);
-				newInfo = mutable;
-			}
-			// (modified = false) the file will be no longer modified
-		} else if (oldInfo == null) {
-			// cvs add: addition of a file
-			newInfo = new ResourceSyncInfo(entryLine, null);
-			// an added file should show up as modified
-			modificationState = ICVSFile.DIRTY;
-		} else {
-			// cvs commit: commit of a changed file
-		    // cvs update: update of a file whose contents match the server contents
-		    Date timeStamp;
-		    if (commit) {
-		        // This is a commit. Put the file timestamp in the entry
-		        timeStamp = getTimeStamp();
-		    } else {
-		        // This is an update. We need to change the tiemstamp in the
-                // entry file to match the file timestamp returned by Java
-		        timeStamp = oldInfo.getTimeStamp();
-		        if (timeStamp == null) {
-		            timeStamp = getTimeStamp();
-		        } else {
-                    // First, set the timestamp of the file to the timestamp from the entry
-                    // There is a chance this will do nothing as the call to Java on some
-                    // file systems munges the timestamps
-		            setTimeStamp(timeStamp);
-                    // To compensate for the above, reset the timestamp in the entry
-                    // to match the timestamp in the file
-                    timeStamp = getTimeStamp();
-		        }
-		    }
-	        newInfo = new ResourceSyncInfo(entryLine, timeStamp);
-			
-		}
-		//see bug 106876
-		if (newInfo != null){
-			CVSTag tag = newInfo.getTag();
-			if(tag != null && CVSEntryLineTag.BASE.getName().equals(tag.getName())){
-				newInfo = newInfo.cloneMutable();
-				((MutableResourceSyncInfo)newInfo).setTag(oldInfo.getTag());
-			}
-			setSyncInfo(newInfo, modificationState);
-		}
-		clearCachedBase();
-	}
-	
-	private void clearCachedBase() throws CVSException {
-		BaserevInfo base = getBaserevInfo();
-		if (base != null) {
-			setBaserevInfo(null);
-			try {
-                setReadOnly(true);
-            } catch (CVSException e) {
-                // Just log and keep going
-                CVSProviderPlugin.log(e);
-            }
-		} else {
-            // Check to see if watch-edit is enabled for the project
-            CVSTeamProvider provider = (CVSTeamProvider)RepositoryProvider.getProvider(resource.getProject(), CVSProviderPlugin.getTypeId());
-            if (provider != null && provider.isWatchEditEnabled()) {
-                try {
-                    setReadOnly(true);
-                } catch (CVSException e) {
-                    // Just log and keep going
-                    CVSProviderPlugin.log(e);
-                }
-            }
-        }
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSResource#unmanage(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void unmanage(IProgressMonitor monitor) throws CVSException {
-		run(new ICVSRunnable() {
-			public void run(IProgressMonitor monitor) throws CVSException {
-				EclipseFile.super.unmanage(monitor);
-				clearCachedBase();
-			}
-		}, monitor);
-	}
-	
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#isEdited()
-	 */
-	public boolean isEdited() throws CVSException {
-		return EclipseSynchronizer.getInstance().isEdited(getIFile());
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSResource#setSyncInfo(org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo)
-	 */
-	public void setSyncInfo(ResourceSyncInfo info, int modificationState) throws CVSException {
-		setSyncBytes(info.getBytes(), info, modificationState);
-	}
-	
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.resources.EclipseResource#setSyncBytes(byte[], int)
-	 */
-	public void setSyncBytes(byte[] syncBytes, int modificationState) throws CVSException {
-		setSyncBytes(syncBytes, null, modificationState);
-	}
-	
-	/*
-	 * @see org.eclipse.team.internal.ccvs.core.resources.EclipseResource#setSyncBytes(byte[], int)
-	 */
-	private void setSyncBytes(byte[] syncBytes, ResourceSyncInfo info, int modificationState) throws CVSException {
-		Assert.isNotNull(syncBytes);
-		setSyncBytes(syncBytes);
-		EclipseSynchronizer.getInstance().setModified(this, modificationState);
-	}
-	
-	public void handleModification(boolean forAddition) throws CVSException {
-		if (isIgnored()) {			
-			// Special case handling for when a resource passes from the un-managed state
-			// to the ignored state (e.g. ignoring the ignore file). Parent dirty state must be
-			// recalculated but since the resource's end state is ignored there is a lot of code
-			// in the plugin that simply disregards the change to the resource.
-			// There may be a better was of handling resources that transition from un-managed to
-			// ignored but for now this seems like the safest change. 
-			if(! resource.isDerived()) {
-				EclipseSynchronizer.getInstance().setModified(this, CLEAN);
-			}
-			return;
-		} 
-		// set the modification state to what it really is and return true if the modification state changed
-		EclipseSynchronizer.getInstance().setModified(this, UNKNOWN);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSResource#getRepositoryRelativePath()
-	 */
-	public String getRepositoryRelativePath() throws CVSException {
-		if (!isManaged()) return null;
-		String parentPath = getParent().getRepositoryRelativePath();
-		if (parentPath == null) return null;
-		return parentPath + Session.SERVER_SEPARATOR + getName();
-	}
-	
-	protected boolean isDirty() throws CVSException {
-		boolean dirty;
-		byte[] syncBytes = getSyncBytes();
-		if (syncBytes == null) {
-			dirty = exists();
-		} else {
-			// isMerged() must be called because when a file is updated and merged by the cvs server the timestamps
-			// are equal. Merged files should however be reported as dirty because the user should take action and commit
-			// or review the merged contents.
-			if(ResourceSyncInfo.isAddition(syncBytes) || ResourceSyncInfo.isMerge(syncBytes) || !exists()) {
-				dirty = true;
-			} else {
-				// TODO: non-optimal as ResourceSyncInfo is created each time
-				ResourceSyncInfo info = new ResourceSyncInfo(syncBytes);
-				dirty = !getTimeStamp().equals(info.getTimeStamp());
-			}
-		}
-		return dirty;
-	}
-
-}
-
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseFolder.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseFolder.java
deleted file mode 100644
index b11d631..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseFolder.java
+++ /dev/null
@@ -1,414 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Session;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-/**
- * Implements the ICVSFolder interface on top of an 
- * instance of the ICVSFolder interface
- * 
- * @see ICVSFolder
- */
-class EclipseFolder extends EclipseResource implements ICVSFolder {
-
-	protected EclipseFolder(IContainer container) {
-		super(container);		
-	}
-	
-	/**
-	 * @see ICVSFolder#members(int)
-	 */
-	public ICVSResource[] members(int flags) throws CVSException {		
-		final List result = new ArrayList();
-		IResource[] resources = EclipseSynchronizer.getInstance().members((IContainer)resource);
-		boolean includeFiles = (((flags & FILE_MEMBERS) != 0) || ((flags & (FILE_MEMBERS | FOLDER_MEMBERS)) == 0));
-		boolean includeFolders = (((flags & FOLDER_MEMBERS) != 0) || ((flags & (FILE_MEMBERS | FOLDER_MEMBERS)) == 0));
-		boolean includeManaged = (((flags & MANAGED_MEMBERS) != 0) || ((flags & (MANAGED_MEMBERS | UNMANAGED_MEMBERS | IGNORED_MEMBERS)) == 0));
-		boolean includeUnmanaged = (((flags & UNMANAGED_MEMBERS) != 0) || ((flags & (MANAGED_MEMBERS | UNMANAGED_MEMBERS | IGNORED_MEMBERS)) == 0));
-		boolean includeIgnored = ((flags & IGNORED_MEMBERS) != 0);
-		boolean includeExisting = (((flags & EXISTING_MEMBERS) != 0) || ((flags & (EXISTING_MEMBERS | PHANTOM_MEMBERS)) == 0));
-		boolean includePhantoms = (((flags & PHANTOM_MEMBERS) != 0) || ((flags & (EXISTING_MEMBERS | PHANTOM_MEMBERS)) == 0));
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			int type = resource.getType();
-            if ((includeFiles && (type==IResource.FILE)) 
-					|| (includeFolders && (type==IResource.FOLDER))) {
-                boolean exists = resource.exists();
-                if ((includeExisting && exists) || (includePhantoms && !exists)) {
-                    ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource);
-                    boolean includeResource = false;
-                    if ((includeManaged && includeUnmanaged && includeIgnored)) {
-                        includeResource = true;
-                    } else {
-        				boolean isManaged = cvsResource.isManaged();
-                        if (isManaged && includeManaged) {
-                            includeResource = true;
-                        } else if (exists) {
-            				boolean isIgnored = cvsResource.isIgnored();
-                            if (isIgnored && includeIgnored) {
-                                includeResource = true;
-                            } else if (! isManaged && ! isIgnored && includeUnmanaged) {
-                                includeResource = true;
-            				}
-                        }
-                    }
-                    if (includeResource) {
-                        result.add(cvsResource);
-                    }
-                }
-			}		
-		}	
-		return (ICVSResource[]) result.toArray(new ICVSResource[result.size()]);
-	}
-
-	/**
-	 * @see ICVSFolder#createFolder(String)
-	 */
-	public ICVSFolder getFolder(String name) throws CVSException {
-		if ((CURRENT_LOCAL_FOLDER.equals(name)) || ((CURRENT_LOCAL_FOLDER + SEPARATOR).equals(name)))
-			return this;
-		IPath path = new Path(null, name);
-		if(resource.getType()==IResource.ROOT && path.segmentCount()==1) {
-			return new EclipseFolder(((IWorkspaceRoot)resource).getProject(name));
-		} else {
-			return new EclipseFolder(((IContainer)resource).getFolder(path));
-		}
-	}
-
-	/**
-	 * @see ICVSFolder#createFile(String)
-	 */
-	public ICVSFile getFile(String name) throws CVSException {
-		return new EclipseFile(((IContainer)resource).getFile(new Path(null, name)));
-	}
-
-	/**
-	 * @see ICVSFolder#mkdir()
-	 */
-	public void mkdir() throws CVSException {
-		ISchedulingRule rule = null;
-		try {
-			rule = EclipseSynchronizer.getInstance().beginBatching(resource, null);
-			if(resource.getType()==IResource.PROJECT) {
-				IProject project = (IProject)resource;
-				project.create(null);
-				project.open(null);				
-			} else {
-				((IFolder)resource).create(false /*don't force*/, true /*make local*/, null);
-				// We need to signal the creation to the synchronizer immediately because
-				// we may do additional CVS operations on the folder before the next delta
-				// occurs.
-				EclipseSynchronizer.getInstance().created(getIResource());;
-			}				
-		} catch (CoreException e) {
-			throw CVSException.wrapException(resource, NLS.bind(CVSMessages.EclipseFolder_problem_creating, new String[] { resource.getFullPath().toString(), e.getStatus().getMessage() }), e); 
-		} finally {
-			if (rule != null)
-				EclipseSynchronizer.getInstance().endBatching(rule, null);
-		}
-	}
-		
-	/**
-	 * @see ICVSResource#isFolder()
-	 */
-	public boolean isFolder() {
-		return true;
-	}
-		
-	/**
-	 * @see ICVSFolder#acceptChildren(ICVSResourceVisitor)
-	 */
-	public void acceptChildren(ICVSResourceVisitor visitor) throws CVSException {
-		
-		// Visit files and then folders
-		ICVSResource[] subFiles = members(FILE_MEMBERS);
-		for (int i=0; i<subFiles.length; i++) {
-			subFiles[i].accept(visitor);
-		}
-		ICVSResource[] subFolders = members(FOLDER_MEMBERS);
-		for (int i=0; i<subFolders.length; i++) {
-			subFolders[i].accept(visitor);
-		}
-	}
-
-	/**
-	 * @see ICVSResource#accept(ICVSResourceVisitor)
-	 */
-	public void accept(ICVSResourceVisitor visitor) throws CVSException {
-		visitor.visitFolder(this);
-	}
-	
-	/**
-	 * @see ICVSResource#accept(ICVSResourceVisitor, boolean)
-	 */
-	public void accept(ICVSResourceVisitor visitor, boolean recurse) throws CVSException {
-		visitor.visitFolder(this);
-		ICVSResource[] resources;
-		if (recurse) {
-			resources = members(ICVSFolder.ALL_MEMBERS);
-		} else {
-			resources = members(ICVSFolder.FILE_MEMBERS);
-		}
-		for (int i = 0; i < resources.length; i++) {
-			resources[i].accept(visitor, recurse);
-		}
-	}
-
-	/**
-	 * @see ICVSResource#getRemoteLocation(ICVSFolder)
-	 */
-	public String getRemoteLocation(ICVSFolder stopSearching) throws CVSException {
-				
-		if (getFolderSyncInfo() != null) {
-			return getFolderSyncInfo().getRemoteLocation();
-		}			
-
-		ICVSFolder parent = getParent();
-		if(parent!=null && !equals(stopSearching)) {
-			String parentLocation;
-			parentLocation = parent.getRemoteLocation(stopSearching);
-			if (parentLocation!=null) {
-				return parentLocation + SEPARATOR + getName();
-			}		
-		}
-		return null;
-	}
-
-	/*
-	 * @see ICVSFolder#getFolderInfo()
-	 */
-	public FolderSyncInfo getFolderSyncInfo() throws CVSException {
-		if (resource.getType() != IResource.ROOT && !resource.getProject().isAccessible()) {
-			return null;
-		}
-		return EclipseSynchronizer.getInstance().getFolderSync((IContainer)resource);
-	}
-
-	/*
-	 * @see ICVSFolder#setFolderInfo(FolderSyncInfo)
-	 */
-	public void setFolderSyncInfo(final FolderSyncInfo folderInfo) throws CVSException {
-		// ignore folder sync on the root (i.e. CVSROOT/config/TopLevelAdmin=yes but we just ignore it)
-		if (resource.getType() == IResource.ROOT) return;
-		run(new ICVSRunnable() {
-			public void run(IProgressMonitor monitor) throws CVSException {
-				EclipseSynchronizer synchronizer = EclipseSynchronizer.getInstance();
-				synchronizer.setFolderSync((IContainer)resource, folderInfo);
-				// the server won't add directories as sync info, therefore it must be done when
-				// a directory is shared with the repository.
-				byte[] newSyncBytes = new ResourceSyncInfo(getName()).getBytes();
-				byte[] oldSyncBytes = getSyncBytes();
-				// only set the bytes if the new differes from the old.
-				// this avoids unnecessary saving of sync files
-				if (oldSyncBytes == null || ! Util.equals(newSyncBytes, oldSyncBytes))
-					setSyncBytes(newSyncBytes);
-			}
-		}, null);
-
-	}
-
-	/*
-	 * @see ICVSFolder#isCVSFolder()
-	 */
-	public boolean isCVSFolder() throws CVSException {
-		return EclipseSynchronizer.getInstance().getFolderSync((IContainer)resource) != null;
-	}
-
-	/*
-	 * @see ICVSResource#unmanage()
-	 */
-	public void unmanage(IProgressMonitor monitor) throws CVSException {
-		run(new ICVSRunnable() {
-			public void run(IProgressMonitor monitor) throws CVSException {
-				monitor = Policy.monitorFor(monitor);
-				monitor.beginTask(null, 100);
-				recursiveUnmanage((IContainer) resource, Policy.subMonitorFor(monitor, 99));
-				EclipseFolder.super.unmanage(Policy.subMonitorFor(monitor, 1));
-				monitor.done();	
-			}
-		}, Policy.subMonitorFor(monitor, 99));
-	}
-	
-	/* private */ static void recursiveUnmanage(IContainer container, IProgressMonitor monitor) {
-		try {
-			monitor.beginTask(null, 10);
-			monitor.subTask(NLS.bind(CVSMessages.EclipseFolder_0, new String[] {container.getFullPath().toString() }));
-			EclipseSynchronizer.getInstance().deleteFolderSync(container);
-	
-			IResource[] members = container.members(true);
-			for (int i = 0; i < members.length; i++) {
-				monitor.worked(1);
-				IResource resource = members[i];
-				if (resource.getType() == IResource.FILE) {
-                    ResourceAttributes attrs = resource.getResourceAttributes();
-                    if (attrs != null && attrs.isReadOnly()) {
-                        attrs.setReadOnly(false);
-                        resource.setResourceAttributes(attrs);
-                    }
-                } else {
-					recursiveUnmanage((IContainer) resource, monitor);
-				}
-			}
-		} catch (CoreException e) {
-			// Just ignore and continue
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	/*
-	 * @see ICVSResource#isIgnored()
-	 */
-	public boolean isIgnored() throws CVSException {
-		if(isCVSFolder()) {
-			return false;
-		}		
-		return super.isIgnored();
-	}
-	
-	/*
-	 * @see ICVSFolder#getChild(String)
-	 */
-	public ICVSResource getChild(String namedPath) throws CVSException {
-	    if (namedPath.equals(Session.CURRENT_LOCAL_FOLDER)) {
-	        return this;
-	    }
-		IPath path = new Path(null, namedPath);
-		if(path.segmentCount()==0) {
-			 return this;
-		}
-		IResource child = ((IContainer)resource).findMember(path, true /* include phantoms */);
-		if(child!=null) {
-			if(child.getType()==IResource.FILE) {
-				return new EclipseFile((IFile)child);
-			} else {
-				return new EclipseFolder((IContainer)child);
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * @see ICVSFolder#fetchChildren(IProgressMonitor)
-	 */
-	public ICVSResource[] fetchChildren(IProgressMonitor monitor) throws CVSException {
-		return members(FILE_MEMBERS | FOLDER_MEMBERS);
-	}
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSResource#delete()
-	 */
-	public void delete() throws CVSException {
-		if (!exists()) return;
-		try {
-			resource.delete(false /*force*/, null);
-		} catch(CoreException e) {
-			throw new CVSException(e.getStatus());
-		}
-	}
-	
-	/**
-	 * Assumption this is only called from decorator and isIgnored() is purposely
-	 * ommitted here for performance reasons. 
-	 */
-	public boolean isModified(IProgressMonitor monitor) throws CVSException {
-		try {
-			monitor = Policy.monitorFor(monitor);
-			monitor.beginTask(NLS.bind(CVSMessages.EclipseFolder_isModifiedProgress, new String[] { resource.getFullPath().toString() }), 1000); 
-			
-			IContainer container = (IContainer)getIResource();
-			
-			if(RepositoryProvider.getProvider(container.getProject(), CVSProviderPlugin.getTypeId()) == null) {
-				return false;
-			}
-			
-			// Added optimization to avoid loading sync info if possible
-			// This will place a modified indicator on non-cvs folders
-			// (i.e. the call to getModifiedState will cache a session property)
-			int state = EclipseSynchronizer.getInstance().getModificationState(getIResource());
-			
-			boolean modified;
-			if (state == ICVSFile.UNKNOWN) {
-				
-				if (!isCVSFolder() && container.getType() == IResource.FOLDER) {
-					return container.exists();
-				}
-				
-				// We have no cached info for the folder. We'll need to check directly,
-				// caching as go. This will recursively determined the modified state
-				// for all child resources until a modified child is found.
-				modified = calculateAndSaveChildModificationStates(monitor);
-				EclipseSynchronizer.getInstance().setModified(this, modified);
-			} else {
-				modified = (state == ICVSFile.DIRTY);
-			}
-			return modified;
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	public void handleModification(boolean forAddition) throws CVSException {
-		// For non-additions, we are only interested in sync info changes
-		if (isIgnored() || !forAddition) return;
-
-		// the folder is an addition.
-		FolderSyncInfo info = getFolderSyncInfo();
-		// if the folder has sync info, it was handled is setFolderInfo
-		// otherwise, flush the ancestors to recalculate
-		if (info == null) {
-			EclipseSynchronizer.getInstance().setDirtyIndicator(getIResource(), true);
-		}
-	}
-	
-	/**
-	 * Determines the modification state of the receiver by examining it's children.
-	 * This method may result in modification state being cached with the children but
-	 * does not cache it for the receiver.
-	 */
-	private boolean calculateAndSaveChildModificationStates(IProgressMonitor monitor) throws CVSException {
-		ICVSResource[] children = members(ALL_UNIGNORED_MEMBERS);
-
-		for (int i = 0; i < children.length; i++) {
-			ICVSResource resource = children[i];
-			if (resource.isModified(null)) {
-				// if a child resource is dirty consider the parent dirty as well, there
-				// is no need to continue checking other siblings.
-				return true;
-			}
-			monitor.worked(1);
-		}
-			
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSResource#getRepositoryRelativePath()
-	 */
-	public String getRepositoryRelativePath() throws CVSException {
-		FolderSyncInfo info = getFolderSyncInfo();
-		if (info == null) return null;
-		// The REPOSITORY property of the folder info is the repository relative path
-		return info.getRepository();
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseResource.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseResource.java
deleted file mode 100644
index 5c3b3c6..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseResource.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.Team;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Session;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-
-/**
- * Represents handles to CVS resource on the local file system. Synchronization
- * information is taken from the CVS subdirectories. 
- * 
- * @see LocalFolder
- * @see LocalFile
- */
-abstract class EclipseResource implements ICVSResource, Comparable {
-
-	 // The separator that must be used when creating CVS resource paths. Never use
-	 // the platform default separator since it is not compatible with CVS resources.
-	protected static final String SEPARATOR = Session.SERVER_SEPARATOR;
-	protected static final String CURRENT_LOCAL_FOLDER = Session.CURRENT_LOCAL_FOLDER;
-		
-	/*
-	 * The local resource represented by this handle
-	 */
-	IResource resource;
-	
-	/*
-	 * Creates a CVS handle to the provided resource
-	 */
-	protected EclipseResource(IResource resource) {
-		Assert.isNotNull(resource);
-		this.resource = resource;
-	}
-	
-	/*
-	 * Get the extention of the path of resource relative to the path of root
-	 * 
-	 * @throws CVSException if root is not a root-folder of resource
-	 */
-	public String getRelativePath(ICVSFolder root) throws CVSException {
-		try {
-			EclipseResource rootFolder;
-			String result;
-			rootFolder = (EclipseResource)root;
-			result = Util.getRelativePath(rootFolder.getPath(), getPath());
-			if (result.length() == 0) return CURRENT_LOCAL_FOLDER;
-			return result;	
-		} catch (ClassCastException e) {
-			IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.ERROR, CVSMessages.EclipseResource_invalidResourceClass, e, root);
-			throw new CVSException(status); 
-		}
-	}
-
-	/*
-	 * @see ICVSResource#exists()
-	 */
-	public boolean exists() {
-		return resource.exists();
-	}
-
-	/*
-	 * Returns the parent folder of this resource of <code>null</code> if resource
-	 * the resource.
-	 * 
-	 * @see ICVSResource#getParent()
-	 */
-	public ICVSFolder getParent() {
-		IContainer parent = resource.getParent();
-		if (parent==null) {
-			return null;
-		}
-		return new EclipseFolder(parent);
-	}
-
-	/*
-	 * @see ICVSResource#getName()
-	 */
-	public String getName() {
-		return resource.getName();
-	}
-
-	/*
-	 * @see ICVSResource#isIgnored()
-	 */
-	public boolean isIgnored() throws CVSException {
-		// a managed resource is never ignored
-		if(isManaged() || resource.getType()==IResource.ROOT || resource.getType()==IResource.PROJECT) {
-			return false;
-		}
-		
-		// If the resource is a derived or linked resource, it is ignored
-		if (resource.isDerived() || resource.isLinked()) {
-			return true;
-		}
-		
-		// always ignore CVS
-		String name = getName();
-		if (name.equals("CVS")) return true; //$NON-NLS-1$
-		
-		// check the global ignores from Team
-		if (Team.isIgnoredHint(resource)) return true;
-		
-		// check ignore patterns from the .cvsignore file.
-		if(EclipseSynchronizer.getInstance().isIgnored(resource)) {
-			return true;
-		}
-		
-		// check the parent, if the parent is ignored or mapped to CVSROOT/Emptydir
-		// then this resource is ignored also
-		ICVSFolder parent = getParent();
-		if(parent==null) return false;
-		if (parent.isIgnored()) return true;
-		FolderSyncInfo info = parent.getFolderSyncInfo();
-		if (info == null) return false;
-		return info.isVirtualDirectory();
-	}
-	
-	/*
-	 * @see ICVSResource#setIgnoredAs(String)
-	 */
-	public void setIgnoredAs(final String pattern) throws CVSException {
-		run(new ICVSRunnable() {
-			public void run(IProgressMonitor monitor) throws CVSException {
-				EclipseSynchronizer.getInstance().addIgnored(resource.getParent(), pattern);
-			}
-		}, null);
-	}
-
-	/*
-	 * @see ICVSResource#isManaged()
-	 */
-	public boolean isManaged() throws CVSException {
-		return isManaged(getSyncBytes());
-	}
-	
-	/*
-	 * Helper method that captures the sematics of isManaged given a ResourceSyncInfo
-	 */
-	public boolean isManaged(byte[] syncBytes) {
-		return syncBytes != null;
-	}
-	
-	/**
-	 * Two ManagedResources are equal, if there cvsResources are
-	 * equal (and that is, if the point to the same file)
-	 */
-	public boolean equals(Object obj) {
-		
-		if (!(obj instanceof EclipseResource)) {
-			return false;
-		} else {
-			return getPath().equals(((EclipseResource) obj).getPath());
-		}
-	}
-			
-	/*
-	 * @see ICVSResource#getPath()
-	 */
-	public String getPath() {
-		return resource.getFullPath().toString();
-	}	
-	
-	/*
-	 * @see ICVSResource#isFolder()
-	 */
-	public boolean isFolder() {
-		return false;
-	}
-	
-	/*
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#getSyncBytes()
-	 */
-	public byte[] getSyncBytes() throws CVSException {
-		return EclipseSynchronizer.getInstance().getSyncBytes(getIResource());
-	}
-	
-	/*
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#setSyncBytes(byte[])
-	 */
-	public void setSyncBytes(byte[] syncBytes) throws CVSException {
-		if (getParent().isCVSFolder()) {
-			EclipseSynchronizer.getInstance().setSyncBytes(getIResource(), syncBytes);
-		}
-	}
-	
-	/*
-	 * @see ICVSResource#getSyncInfo()
-	 */
-	public ResourceSyncInfo getSyncInfo() throws CVSException {
-		return EclipseSynchronizer.getInstance().getResourceSync(resource);
-	}
-	
-	/*
-	 * Implement the hashcode on the underlying strings, like it is done in the equals.
-	 */
-	public int hashCode() {
-		return getPath().hashCode();
-	}	
-	
-	/*
-	 * Give the pathname back
-	 */
-	public String toString() {
-		return getPath();
-	}
-	
-	/*
-	 * @see ICVSResource#unmanage()
-	 */
-	public void unmanage(IProgressMonitor monitor) throws CVSException {
-		EclipseSynchronizer.getInstance().deleteResourceSync(resource);
-	}
-	
-	/*
-	 * @see Comparable#compareTo(Object)
-	 */
-	public int compareTo(Object arg0) {
-		EclipseResource other = (EclipseResource)arg0;
-		return resource.getFullPath().toString().compareTo(other.resource.getFullPath().toString());
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSResource#getIResource()
-	 */
-	public IResource getIResource() {
-		return resource;
-	}
-
-	/**
-	 * Called by a resource change listener when a resource is changed or added. This allows
-	 * CVS resources to adjust any internal state based on the change.
-	 * 
-	 * @param forAddition modification is an addition
-	 * @throws CVSException
-	 */
-	public abstract void handleModification(boolean forAddition) throws CVSException;
-	
-	public void run(final ICVSRunnable job, IProgressMonitor monitor) throws CVSException {
-		final CVSException[] error = new CVSException[1];
-		try {
-			// Do not use a scheduling rule in the workspace run since one
-			// will be obtained by the EclipseSynchronizer
-			ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					try {
-						EclipseSynchronizer.getInstance().run(getIResource(), job, monitor);
-					} catch(CVSException e) {
-						error[0] = e; 
-					}
-				}
-			}, null /* no rule */, 0, monitor);
-		} catch(CoreException e) {
-			throw CVSException.wrapException(e);
-		}
-		if(error[0]!=null) {
-			throw error[0];
-		}
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer.java
deleted file mode 100644
index d68ac04..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer.java
+++ /dev/null
@@ -1,1950 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Matt McCutchen <hashproduct+eclipse@gmail.com> - Bug 181546 [Sync Info] Eclipse writes Entries-less metadata in recreated pruned dir
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.syncinfo.*;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ReentrantLock.CVSThreadInfo;
-import org.eclipse.team.internal.ccvs.core.util.*;
-import org.eclipse.team.internal.core.subscribers.BatchingLock.IFlushOperation;
-import org.eclipse.team.internal.core.subscribers.BatchingLock.ThreadInfo;
-import org.osgi.framework.Bundle;
-
-/**
- * A synchronizer is responsible for managing synchronization information for local
- * CVS resources.
- * 
- * This class is thread safe but only allows one thread to modify the cache at a time. It
- * doesn't support fine grain locking on a resource basis. Lock ordering between the workspace
- * lock and the synchronizer lock is guaranteed to be deterministic. That is, the workspace
- * lock is *always* acquired before the synchronizer lock. This protects against possible
- * deadlock cases where the synchronizer lock is acquired before a workspace lock.
- * 
- * Special processing has been added for linked folders and their childen so
- * that their CVS meta files are never read or written.
- * 
- * IMPORTANT NOTICE: It is the responsibility of the clients of EclipseSynchronizer
- * to ensure that they have wrapped operations that may modify the workspace in
- * an IWorkspaceRunnable. If this is not done, deltas may fore at inopertune times 
- * and corrupt the sync info. The wrapping could be done within the synchronizer 
- * itself but would require the creation of an inner class for each case that requires
- * it.
- * 
- * @see ResourceSyncInfo
- * @see FolderSyncInfo
- */
-public class EclipseSynchronizer implements IFlushOperation {	
-	private static final String IS_DIRTY_INDICATOR = SyncInfoCache.IS_DIRTY_INDICATOR;
-	private static final String NOT_DIRTY_INDICATOR = SyncInfoCache.NOT_DIRTY_INDICATOR;
-	private static final String RECOMPUTE_INDICATOR = SyncInfoCache.RECOMPUTE_INDICATOR; 
-		
-	// the cvs eclipse synchronizer is a singleton
-	private static EclipseSynchronizer instance;
-	
-	// track resources that have changed in a given operation
-	private ILock lock = Job.getJobManager().newLock();
-	private ReentrantLock resourceLock = new ReentrantLock();
-	
-	private SynchronizerSyncInfoCache synchronizerCache = new SynchronizerSyncInfoCache();
-	private SessionPropertySyncInfoCache sessionPropertyCache = new SessionPropertySyncInfoCache(synchronizerCache);
-	
-	/*
-	 * Package private constructor to allow specialized subclass for handling folder deletions
-	 */
-	EclipseSynchronizer() {		
-	}
-	
-	/**
-	 * Returns the singleton instance of the synchronizer.
-	 */
-	public static EclipseSynchronizer getInstance() {		
-		if(instance==null) {
-			instance = new EclipseSynchronizer();
-		}
-		return instance;
-	}
-	
-	public SyncInfoCache getSyncInfoCacheFor(IResource resource) {
-		if (resource.exists()  && resource.isLocal(IResource.DEPTH_ZERO)) {
-			return sessionPropertyCache;
-		} else {
-			return synchronizerCache;
-		}
-	}
-
-	private boolean isValid(IResource resource) {
-		return resource.exists() || synchronizerCache.isPhantom(resource);
-	}
-	
-	/**
-	 * Sets the folder sync info for the specified folder.
-	 * The folder must exist and must not be the workspace root.
-	 * 
-	 * @param folder the folder
-	 * @param info the folder sync info, must not be null
-	 * @see #getFolderSync, #deleteFolderSync
-	 */
-	public void setFolderSync(IContainer folder, FolderSyncInfo info) throws CVSException {
-		Assert.isNotNull(info); // enforce the use of deleteFolderSync
-		// ignore folder sync on the root (i.e. CVSROOT/config/TopLevelAdmin=yes but we just ignore it)
-		if (folder.getType() == IResource.ROOT) return;
-		if (!isValid(folder)) {
-			// This means that the folder doesn't exist and is not a phantom
-			// Allow the set if the parent is a CVS folder since
-			// this can occur when creating phantom folders
-			if (getFolderSync(folder.getParent()) == null) {
-				IStatus status = new CVSStatus(IStatus.ERROR, TeamException.UNABLE,
-						NLS.bind(CVSMessages.EclipseSynchronizer_ErrorSettingFolderSync, new String[] { folder.getFullPath().toString() }),folder);
-				throw new CVSException(status); 
-			}
-		}
-		ISchedulingRule rule = null;
-		try {
-			rule = beginBatching(folder, null);
-			try {
-				beginOperation();
-				// get the old info
-				FolderSyncInfo oldInfo = getFolderSync(folder);
-				// set folder sync and notify
-				getSyncInfoCacheFor(folder).setCachedFolderSync(folder, info, true);
-				// if the sync info changed from null, we may need to adjust the ancestors
-				if (oldInfo == null) {
-					adjustDirtyStateRecursively(folder, RECOMPUTE_INDICATOR);
-				}
-				folderChanged(folder);
-			} finally {
-				endOperation();
-			}
-		} finally {
-			if (rule != null) endBatching(rule, null);
-		}
-	}
-	
-	/**
-	 * Gets the folder sync info for the specified folder.
-	 * 
-	 * @param folder the folder
-	 * @return the folder sync info associated with the folder, or null if none.
-	 * @see #setFolderSync, #deleteFolderSync
-	 */
-	public FolderSyncInfo getFolderSync(IContainer folder) throws CVSException {
-		if (folder.getType() == IResource.ROOT || !isValid(folder)) return null;
-        // Do a check outside the lock for any folder sync info
-        FolderSyncInfo info = getSyncInfoCacheFor(folder).getCachedFolderSync(folder, false /* not thread safe */);
-        if (info != null)
-            return info;
-		try {
-			beginOperation();
-			cacheFolderSync(folder);
-			return getSyncInfoCacheFor(folder).getCachedFolderSync(folder, true /* thread safe */);
-		} finally {
-			endOperation();
-		}
-	}	
-
-	/**
-	 * Deletes the folder sync for the specified folder and the resource sync
-	 * for all of its children.  Does not recurse.
-	 * 
-	 * @param folder the folder
-	 * @see #getFolderSync, #setFolderSync
-	 */
-	public void deleteFolderSync(IContainer folder) throws CVSException {
-		if (folder.getType() == IResource.ROOT || !isValid(folder)) return;
-		ISchedulingRule rule = null;
-		try {
-			rule = beginBatching(folder, null);
-			try {
-				beginOperation();
-				// iterate over all children with sync info and prepare notifications
-				// this is done first since deleting the folder sync may remove a phantom
-				cacheResourceSyncForChildren(folder, true /* can modify workspace */);
-				IResource[] children = folder.members(true);
-				for (int i = 0; i < children.length; i++) {
-					IResource resource = children[i];
-					resourceChanged(resource);
-					// delete resource sync for all children
-					getSyncInfoCacheFor(resource).setCachedSyncBytes(resource, null, true);
-				}
-				// delete folder sync
-				getSyncInfoCacheFor(folder).setCachedFolderSync(folder, null, true);
-				folderChanged(folder);
-			} catch (CoreException e) {
-				throw CVSException.wrapException(e);
-			} finally {
-				endOperation();
-			}
-		} finally {
-			if (rule != null) endBatching(rule, null);
-		}
-	}
-
-	private void folderChanged(IContainer folder) {
-		resourceLock.folderChanged(folder);
-	}
-
-	private void resourceChanged(IResource resource) {
-		resourceLock.resourceChanged(resource);
-	}
-
-	/**
-	 * Sets the resource sync info for the specified resource.
-	 * The parent folder must exist and must not be the workspace root.
-	 * 
-	 * @param resource the resource
-	 * @param info the resource sync info, must not be null
-	 * @see #getResourceSync, #deleteResourceSync
-	 */
-	public void setResourceSync(IResource resource, ResourceSyncInfo info) throws CVSException {
-		Assert.isNotNull(info); // enforce the use of deleteResourceSync
-		IContainer parent = resource.getParent();
-		if (parent == null || parent.getType() == IResource.ROOT || !isValid(parent)) {
-			IStatus status = new CVSStatus(IStatus.ERROR, TeamException.UNABLE,
-				NLS.bind(CVSMessages.EclipseSynchronizer_ErrorSettingResourceSync, new String[] { resource.getFullPath().toString() }), resource);
-			throw new CVSException(status); 
-		}
-		ISchedulingRule rule = null;
-		try {
-			rule = beginBatching(resource, null);
-			try {
-				beginOperation();
-				// cache resource sync for siblings, set for self, then notify
-				cacheResourceSyncForChildren(parent, true /* can modify workspace */);
-				setCachedResourceSync(resource, info);
-				resourceChanged(resource);		
-			} finally {
-				endOperation();
-			}
-		} finally {
-			if (rule != null) endBatching(rule, null);
-		}
-	}
-	
-	/**
-	 * Gets the resource sync info for the specified folder.
-	 * 
-	 * @param resource the resource
-	 * @return the resource sync info associated with the resource, or null if none.
-	 * @see #setResourceSync, #deleteResourceSync
-	 */
-	public ResourceSyncInfo getResourceSync(IResource resource) throws CVSException {
-		byte[] info = getSyncBytes(resource);
-		if (info == null) return null;
-		return new ResourceSyncInfo(info);
-	}
-
-	/**
-	 * Gets the resource sync info for the specified folder.
-	 * 
-	 * @param resource the resource
-	 * @return the resource sync info associated with the resource, or null if none.
-	 * @see #setResourceSync, #deleteResourceSync
-	 */
-	public byte[] getSyncBytes(IResource resource) throws CVSException {
-		IContainer parent = resource.getParent();
-		if (parent == null || parent.getType() == IResource.ROOT || !isValid(parent)) return null;
-        // Do a quick check outside the lock to see if there are sync butes for the resource.
-        byte[] info = getSyncInfoCacheFor(resource).getCachedSyncBytes(resource, false /* not thread safe */);
-        if (info != null)
-            return info;
-		try {
-			beginOperation();
-			// cache resource sync for siblings, then return for self
-			try {
-				cacheResourceSyncForChildren(parent, false /* cannot modify workspace */);
-			} catch (CVSException e) {
-				if (isCannotModifySynchronizer(e) || isResourceNotFound(e)) {
-					// We will resort to loading the sync info for the requested resource from disk
-					byte[] bytes =  getSyncBytesFromDisk(resource);
-					if (!resource.exists() && bytes != null && !ResourceSyncInfo.isDeletion(bytes)) {
-						bytes = ResourceSyncInfo.convertToDeletion(bytes);
-					}
-					return bytes;
-				} else {
-					throw e;
-				}
-			}
-			return getCachedSyncBytes(resource);
-		} finally {
-			endOperation();
-		}
-	}
-
-	/**
-	 * Sets the resource sync info for the specified resource.
-	 * The parent folder must exist and must not be the workspace root.
-	 * 
-	 * @param resource the resource
-	 * @param info the resource sync info, must not be null
-	 * @see #getResourceSync, #deleteResourceSync
-	 */
-	public void setSyncBytes(IResource resource, byte[] syncBytes) throws CVSException {
-		Assert.isNotNull(syncBytes); // enforce the use of deleteResourceSync
-		IContainer parent = resource.getParent();
-		if (parent == null || parent.getType() == IResource.ROOT || !isValid(parent)) {
-			IStatus status = new CVSStatus(IStatus.ERROR, TeamException.UNABLE,
-				NLS.bind(CVSMessages.EclipseSynchronizer_ErrorSettingResourceSync, new String[] { resource.getFullPath().toString() }),resource);
-			throw new CVSException(status); 
-		}
-		ISchedulingRule rule = null;
-		try {
-			rule = beginBatching(resource, null);
-			try {
-				beginOperation();
-				// cache resource sync for siblings, set for self, then notify
-				cacheResourceSyncForChildren(parent, true /* can modify workspace */);
-				setCachedSyncBytes(resource, syncBytes);
-				resourceChanged(resource);		
-			} finally {
-				endOperation();
-			}
-		} finally {
-			if (rule != null) endBatching(rule, null);
-		}
-	}
-		
-	/**
-	 * Deletes the resource sync info for the specified resource, if it exists.
-	 * 
-	 * @param resource the resource
-	 * @see #getResourceSync, #setResourceSync
-	 */
-	public void deleteResourceSync(IResource resource) throws CVSException {
-		IContainer parent = resource.getParent();
-		if (parent == null || parent.getType() == IResource.ROOT || !isValid(parent)) return;
-		ISchedulingRule rule = null;
-		try {
-			rule = beginBatching(resource, null);
-			try {
-				beginOperation();
-				// cache resource sync for siblings, delete for self, then notify
-				cacheResourceSyncForChildren(parent, true /* can modify workspace */);
-				if (getCachedSyncBytes(resource) != null) { // avoid redundant notifications
-					setCachedSyncBytes(resource, null);
-					clearDirtyIndicator(resource);
-					resourceChanged(resource);
-				}
-			} finally {
-				endOperation();
-			}
-		} finally {
-			if (rule != null) endBatching(rule, null);
-		}
-	}
-
-	/**
-	 * @param resource
-	 */
-	private void clearDirtyIndicator(IResource resource) throws CVSException {
-		getSyncInfoCacheFor(resource).flushDirtyCache(resource);
-		adjustDirtyStateRecursively(resource.getParent(), RECOMPUTE_INDICATOR);
-	}
-
-	/**
-	 * Gets the array of ignore patterns for the specified folder.
-	 * 
-	 * @param folder the folder
-	 * @return the patterns, or an empty array if none
-	 * @see #addIgnored
-	 */
-	public boolean isIgnored(IResource resource) throws CVSException {
-		if (resource.getType() == IResource.ROOT || 
-		    resource.getType() == IResource.PROJECT || 
-		    ! resource.exists()) {
-			return false;
-		}
-		IContainer parent = resource.getParent();
-        FileNameMatcher matcher = sessionPropertyCache.getFolderIgnores(parent, false /* not thread safe */);
-        if (matcher == null) {
-    		try {
-    			beginOperation();
-                matcher = cacheFolderIgnores(parent);
-    		} finally {
-    			endOperation();
-    		}
-        }
-		return matcher.match(resource.getName());
-	}
-	
-	/**
-	 * Adds a pattern to the set of ignores for the specified folder.
-	 * 
-	 * @param folder the folder
-	 * @param pattern the pattern
-	 */
-	public void addIgnored(IContainer folder, String pattern) throws CVSException {
-		if (folder.getType() == IResource.ROOT || ! folder.exists()) {
-			IStatus status = new CVSStatus(IStatus.ERROR, TeamException.UNABLE,
-				NLS.bind(CVSMessages.EclipseSynchronizer_ErrorSettingIgnorePattern, new String[] { folder.getFullPath().toString() }),folder);
-			throw new CVSException(status); 
-		}
-		ISchedulingRule rule = null;
-		try {
-			rule = beginBatching(folder.getFile(new Path(SyncFileWriter.IGNORE_FILE)), null);
-			try {
-				beginOperation();
-				String[] ignores = SyncFileWriter.readCVSIgnoreEntries(folder);
-				if (ignores != null) {
-					// verify that the pattern has not already been added
-					for (int i = 0; i < ignores.length; i++) {
-						if (ignores[i].equals(pattern)) return;
-					}
-					// add the pattern
-					String[] oldIgnores = ignores;
-					ignores = new String[oldIgnores.length + 1];
-					System.arraycopy(oldIgnores, 0, ignores, 0, oldIgnores.length);
-					ignores[oldIgnores.length] = pattern;
-				} else {
-					ignores = new String[] { pattern };
-				}
-				setCachedFolderIgnores(folder, ignores);
-				SyncFileWriter.writeCVSIgnoreEntries(folder, ignores);
-				// broadcast changes to unmanaged children - they are the only candidates for being ignored
-				List possibleIgnores = new ArrayList();
-				accumulateNonManagedChildren(folder, possibleIgnores);
-				ResourceStateChangeListeners.getListener().resourceSyncInfoChanged((IResource[])possibleIgnores.toArray(new IResource[possibleIgnores.size()]));
-			} finally {
-				endOperation();
-			}
-		} finally {
-			if (rule != null) endBatching(rule, null);
-		}
-	}
-	
-	/**
-	 * Returns the members of this folder including deleted resources with sync info,
-	 * but excluding special resources such as CVS subdirectories.
-	 *
-	 * @param folder the container to list
-	 * @return the array of members
-	 */
-	public IResource[] members(IContainer folder) throws CVSException {
-		if (! isValid(folder)) return new IResource[0];
-		try {				
-			beginOperation();
-			if (folder.getType() != IResource.ROOT) {
-				// ensure that the sync info is cached so any required phantoms are created
-				cacheResourceSyncForChildren(folder, false);
-			}
-		} catch (CVSException e) {
-			if (!isCannotModifySynchronizer(e) && !isResourceNotFound(e)) {
-				throw e;
-			}
-		} finally {
-			endOperation();
-		}
-		try {
-			
-			return synchronizerCache.members(folder);
-			
-		} catch (CoreException e) {
-			throw CVSException.wrapException(e);
-		}
-	}
-	
-	private boolean isCannotModifySynchronizer(CVSException e) {
-		// IResourceStatus.WORKSPACE_LOCKED can occur if the resource sync is loaded 
-		// during the POST_CHANGE delta phase.
-		// CVSStatus.FAILED_TO_CACHE_SYNC_INFO can occur if the resource sync is loaded
-		// when no scheduling rule is held.
-		return (e.getStatus().getCode() == IResourceStatus.WORKSPACE_LOCKED 
-				|| e.getStatus().getCode() == CVSStatus.FAILED_TO_CACHE_SYNC_INFO);
-	}
-	
-	private boolean isResourceNotFound(CVSException e) {
-		return e.getStatus().getCode() == IResourceStatus.RESOURCE_NOT_FOUND;
-	}
-	
-	/**
-	 * Begins a batch of operations in order to optimize sync file writing. 
-	 * The provided scheduling rule indicates the resources
-	 * that the resources affected by the operation while the returned scheduling rule
-	 * is the rule obtained by the lock. It may differ from the provided rule as it must
-	 * encompass any sync files that may change as a result of the operation.
-	 */
-	public ISchedulingRule beginBatching(ISchedulingRule resourceRule, IProgressMonitor monitor) {
-		return resourceLock.acquire(resourceRule, this /* IFlushOperation */, monitor);
-	}
-	
-	/**
-	 * Ends a batch of operations. The provided rule must be the one that was returned
-	 * by the corresponding call to beginBatching.
-	 * <p>
-	 * Progress cancellation is ignored while writting the cache to disk. This
-	 * is to ensure cache to disk consistency.
-	 * </p>
-	 * 
-	 * @param monitor the progress monitor, may be null
-	 * @exception CVSException with a status with code <code>COMMITTING_SYNC_INFO_FAILED</code>
-	 * if all the CVS sync information could not be written to disk.
-	 */
-	public void endBatching(ISchedulingRule rule, IProgressMonitor monitor) throws CVSException {
-		try {
-            resourceLock.release(rule, monitor);
-        } catch (TeamException e) {
-            throw CVSException.wrapException(e);
-        }
-	}
-	
-	/* (non-Javadoc)
-	 * 
-	 * Callback which is invoked when the batching resource lock is released 
-	 * or when a flush is requested (see beginBatching(IResource)).
-	 * 
-	 * @see org.eclipse.team.internal.ccvs.core.syncinfo.ReentrantLock.IRunnableOnExit#run(org.eclipse.team.internal.ccvs.core.syncinfo.ReentrantLock.ThreadInfo, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void flush(final ThreadInfo info, IProgressMonitor monitor) throws CVSException {
-		if (info != null && !info.isEmpty()) {
-			try {
-				ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-					public void run(IProgressMonitor pm) throws CoreException {
-						IStatus status = commitCache(info, pm);
-						if (!status.isOK()) {
-							throw new CVSException(status);
-						}
-					}
-				}, null, 0 /* no flags */, monitor);
-			} catch (CoreException e) {
-				throw CVSException.wrapException(e);
-			}
-		}
-	}
-	
-	/*
-	 * Begin an access to the internal data structures of the synchronizer
-	 */
-	private void beginOperation() {
-		try {
-            // Do not try to acquire the lock if the resources tree is locked
-            // The reason for this is that during the resource delta phase (i.e. when the tree is locked)
-            // the workspace lock is held. If we obtain our lock, there is 
-            // a chance of dealock. It is OK if we don't as we are still protected
-            // by scheduling rules and the workspace lock.
-            if (ResourcesPlugin.getWorkspace().isTreeLocked()) return;
-        } catch (RuntimeException e) {
-		    // If we are not active, throw a cancel. Otherwise, propogate it.
-		    // (see bug 78303)
-		    if (Platform.getBundle(CVSProviderPlugin.ID).getState() == Bundle.ACTIVE) {
-		        throw e;
-		    } else {
-		        throw new OperationCanceledException();
-		    }
-        }
-		lock.acquire();
-	}
-	
-	/*
-	 * End an access to the internal data structures of the synchronizer
-	 */
-	private void endOperation() {
-		try {
-            // See beginOperation() for a description of why the lock is not obtained when the tree is locked
-            if (ResourcesPlugin.getWorkspace().isTreeLocked()) return;
-        } catch (RuntimeException e) {
-		    // If we are not active, throw a cancel. Otherwise, propogate it.
-		    // (see bug 78303)
-		    if (Platform.getBundle(CVSProviderPlugin.ID).getState() == Bundle.ACTIVE) {
-		        throw e;
-		    } else {
-		        throw new OperationCanceledException();
-		    }
-        }
-		lock.release();
-	}
-	
-	/**
-	 * Flush the sync information from the in-memory cache to disk and purge
-	 * the entries from the cache.
-	 * <p>
-	 * Recursively flushes the sync information for all resources 
-	 * below the root to disk and purges the entries from memory
-	 * so that the next time it is accessed it will be retrieved from disk.
-	 * May flush more sync information than strictly needed, but never less.
-	 * </p>
-	 * 
-	 * @param root the root of the subtree to purge
-	 * @param deep purge sync from child folders
-	 * @param monitor the progress monitor, may be null
-	 */
-	public void flush(IContainer root, boolean deep, IProgressMonitor monitor) throws CVSException {
-		monitor = Policy.monitorFor(monitor);
-		monitor.beginTask(null, 10);
-		ISchedulingRule rule = null;
-		try {
-			rule = beginBatching(root, Policy.subMonitorFor(monitor, 1));
-			try {
-				beginOperation();
-				try {
-					// Flush changes to disk
-					resourceLock.flush(Policy.subMonitorFor(monitor, 8));
-				} catch (TeamException e) {
-				    throw CVSException.wrapException(e);
-                } finally {
-					// Purge the in-memory cache
-					sessionPropertyCache.purgeCache(root, deep);
-				}
-			} finally {
-				endOperation();
-			}
-		} finally {
-			if (rule != null) endBatching(rule, Policy.subMonitorFor(monitor, 1));
-			monitor.done();
-		}
-	}
-
-	public void deconfigure(final IProject project, IProgressMonitor monitor) throws CVSException {
-		monitor = Policy.monitorFor(monitor);
-		monitor.beginTask(null, 100);
-		ISchedulingRule rule = null;
-		try {
-			rule = beginBatching(project, Policy.subMonitorFor(monitor, 10));
-			// Flush the sync info
-			flush(project, true /* deep */, Policy.subMonitorFor(monitor, 80));
-			
-			purgeDirtyCache(project, Policy.subMonitorFor(monitor, 5));
-				
-			// forget about pruned folders however the top level pruned folder will have resource sync (e.g. 
-			// a line in the Entry file). As a result the folder is managed but is not a CVS folder.
-			synchronizerCache.purgeCache(project, true);
-		} finally {
-			if (rule != null) endBatching(rule, Policy.subMonitorFor(monitor, 5));
-			monitor.done();
-		}
-	}
-
-	/**
-	 * Called to notify the synchronizer that meta files have changed on disk, outside 
-	 * of the workbench. The cache will be flushed for this folder and it's immediate
-	 * children and appropriate state change events are broadcasts to state change
-	 * listeners.
-	 */
-	public void ignoreFilesChanged(IContainer[] roots) throws CVSException {
-		for (int i = 0; i < roots.length; i++) {
-			IContainer container = roots[i];
-            if (container.exists()) {
-    			ISchedulingRule rule = null;
-    			try {
-    				Set changed = new HashSet();
-    				rule = beginBatching(container, null);
-    				try {
-    					beginOperation();
-                        
-                        // Record the previous ignore pattterns
-                        FileNameMatcher oldIgnores = null;
-                        if (sessionPropertyCache.isFolderSyncInfoCached(container)) {
-                            oldIgnores = cacheFolderIgnores(container);
-                        }
-                        
-                        // Purge the cached state for direct children of the container
-    					changed.addAll(Arrays.asList(
-    						sessionPropertyCache.purgeCache(container, oldIgnores == null /*flush deeply if the old patterns are not known*/)));
-                        
-                        // Purge the state for any children of previously ignored containers
-                        if (oldIgnores != null) {
-                            FileNameMatcher newIgnores = cacheFolderIgnores(container);
-                            try {
-                                IResource[] members = container.members();
-                                for (int j = 0; j < members.length; j++) {
-                                    IResource resource = members[j];
-                                    if (resource.getType() == IResource.FOLDER) {
-                                        String name = resource.getName();
-                                        if (oldIgnores.match(name) && !newIgnores.match(name)) {
-                                            changed.addAll(Arrays.asList(
-                                                    sessionPropertyCache.purgeCache((IContainer)resource, true /*flush deeply*/)));
-                                        }
-                                    }
-                                }
-                            } catch (CoreException e) {
-                                // Just log and continue
-                                CVSProviderPlugin.log(e);
-                            }
-                        }
-    				} finally {
-    					endOperation();
-    				}
-    				if (!changed.isEmpty()) {
-    					ResourceStateChangeListeners.getListener().resourceSyncInfoChanged(
-    						(IResource[]) changed.toArray(new IResource[changed.size()]));
-    				}
-    			} finally {
-    				if (rule != null) endBatching(rule, null);
-    			}
-            }
-		}
-	}
-	
-	public void syncFilesChangedExternally(IContainer[] changedMetaFiles, IFile[] externalDeletions) throws CVSException {
-		List changed = new ArrayList();
-		for (int i = 0; i < changedMetaFiles.length; i++) {
-			IContainer container = changedMetaFiles[i];
-			if (!isWithinActiveOperationScope(container)) {
-				changed.addAll(Arrays.asList(
-					sessionPropertyCache.purgeCache(container, false /*don't flush children*/)));
-			}
-		}
-		for (int i = 0; i < externalDeletions.length; i++) {
-			IFile file = externalDeletions[i];
-			if (!isWithinActiveOperationScope(file)) {
-				sessionPropertyCache.purgeCache(file.getParent(), false /*don't flush children*/);
-				changed.add(file);
-			}
-		}
-		if (!changed.isEmpty()) {
-			ResourceStateChangeListeners.getListener().externalSyncInfoChange(
-					(IResource[]) changed.toArray(new IResource[changed.size()]));
-		}
-	}
-	
-	/*
-	 * The resource is about to be deleted by the move delete hook.
-	 * In all cases (except when the resource doesn't exist), this method 
-	 * will indicate that the dirty state of the parent needs to be recomputed.
-	 * For managed resources, it will move the cached sync info from the session
-	 * property cache into the synchronizer cache, purging the session cache.
-	 * @param resource the resource about to be deleted.
-	 * <p>
-	 * Note that this method is not recursive. Hence, for managed resources
-	 * 
-	 * @returns whether children need to be prepared
-	 * @throws CVSException
-	 */
-	/* private */ boolean prepareForDeletion(IResource resource) throws CVSException {
-		if (!resource.exists()) return false;
-		ISchedulingRule rule = null;
-		try {
-			rule = beginBatching(resource, null);
-			try {
-				beginOperation();
-				// Flush the dirty info for the resource and it's ancestors.
-				// Although we could be smarter, we need to do this because the
-				// deletion may fail.
-				adjustDirtyStateRecursively(resource, RECOMPUTE_INDICATOR);
-				if (resource.getType() == IResource.FILE) {
-					byte[] syncBytes = getSyncBytes(resource);
-					if (syncBytes != null) {
-						if (ResourceSyncInfo.isAddition(syncBytes)) {
-							deleteResourceSync(resource);
-						} else {
-							syncBytes = convertToDeletion(syncBytes);
-							synchronizerCache.setCachedSyncBytes(resource, syncBytes, true);
-						}
-						sessionPropertyCache.purgeResourceSyncCache(resource);
-						resourceChanged(resource);
-					}
-					return false;
-				} else {
-					IContainer container = (IContainer)resource;
-					if (container.getType() == IResource.PROJECT) {
-						synchronizerCache.flush((IProject)container);
-						return false;
-					} else {
-						// Move the folder sync info into phantom space
-						FolderSyncInfo info = getFolderSync(container);
-						if (info == null) return false;
-						synchronizerCache.setCachedFolderSync(container, info, true);
-						folderChanged(container);
-						// move the resource sync as well
-						byte[] syncBytes = getSyncBytes(resource);
-						synchronizerCache.setCachedSyncBytes(resource, syncBytes, true);
-						sessionPropertyCache.purgeResourceSyncCache(container);
-						sessionPropertyCache.purgeCache(container, false);
-						return true;
-					}
-				}
-			} finally {
-				endOperation();
-			}
-		} finally {
-			if (rule != null) endBatching(rule, null);
-		}
-	}
-	
-	/**
-	 * The resource has been deleted. Make sure any cached state is cleared.
-	 * This is needed because the move/delete hook is not invoked in all situations
-	 * (e.g. external deletion).
-	 * 
-	 * @param resource
-	 * @throws CVSException
-	 */
-	protected void handleDeleted(IResource resource) throws CVSException {
-		if (resource.exists()) return;
-		try {
-			beginOperation();
-			adjustDirtyStateRecursively(resource, RECOMPUTE_INDICATOR);
-		} finally {
-			endOperation();
-		}
-	}
-	
-	/**
-	 * The resource has been added. Make sure any cached state is cleared.
-	 * This is needed because the add hook is not invoked in all situations
-	 * (e.g. external addition).
-	 * 
-	 * @param resource
-	 * @throws CVSException
-	 */
-	protected void handleAdded(IResource resource) throws CVSException {
-		if (!resource.exists()) return;
-		try {
-			beginOperation();
-			adjustDirtyStateRecursively(resource, RECOMPUTE_INDICATOR);
-		} finally {
-			endOperation();
-		}
-	}
-	
-	/**
-	 * Prepare for the deletion of the target resource from within 
-	 * the move/delete hook. The method is invoked by both the 
-	 * deleteFile/Folder methods and for the source resource
-	 * of moveFile/Folder. This method will move the cached sync info
-	 * into the phantom (ISynchronizer) cache so that outgoing deletions
-	 * and known remote folders are preserved.
-	 * 
-	 * @param resource
-	 * @param monitor
-	 * @throws CVSException
-	 */
-	public void prepareForDeletion(IResource resource, IProgressMonitor monitor) throws CVSException {
-		// Move sync info to phantom space for the resource and all it's children
-		monitor = Policy.monitorFor(monitor);
-		try {
-			beginOperation();
-			monitor.beginTask(null, 100);
-			try {
-				resource.accept(new IResourceVisitor() {
-					public boolean visit(IResource innerResource) throws CoreException {
-						try {
-							return prepareForDeletion(innerResource);
-						} catch (CVSException e) {
-							CVSProviderPlugin.log(e);
-							throw new CoreException(e.getStatus());
-						}
-					}
-				});
-			} catch (CoreException e) {
-				throw CVSException.wrapException(e);
-			}
-		} finally {
-			endOperation();
-			monitor.done();
-		}
-	}
-	
-	/**
-	 * If not already cached, loads and caches the resource sync for the children of the container.
-	 * Folder must exist and must not be the workspace root.
-	 *
-	 * @param container the container
-	 */
-	private void cacheResourceSyncForChildren(IContainer container, boolean canModifyWorkspace) throws CVSException {
-		// don't try to load if the information is already cached
-		if (! getSyncInfoCacheFor(container).isResourceSyncInfoCached(container)) {
-			// load the sync info from disk
-			byte[][] infos;
-			// do not load the sync info for resources that are linked
-			if (isLinkedResource(container)) {
-				infos = null;
-			} else {
-				infos = SyncFileWriter.readAllResourceSync(container);
-			}
-			try {
-				if (infos != null) {
-					for (int i = 0; i < infos.length; i++) {
-						byte[] syncBytes = infos[i];
-						IPath name = new Path(null, getName(syncBytes));
-						IResource resource;
-						if (isFolder(syncBytes)) {
-							resource = container.getFolder(name);
-						} else {
-							resource = container.getFile(name);
-						}
-						getSyncInfoCacheFor(resource).setCachedSyncBytes(resource, syncBytes, canModifyWorkspace);
-					}
-				}
-				getSyncInfoCacheFor(container).setResourceSyncInfoCached(container);
-			} catch (CVSException e) {
-				if (Policy.DEBUG_METAFILE_CHANGES) {
-					System.err.println("Failed to cache Entries for folder " + container.getFullPath()); //$NON-NLS-1$
-				}
-				throw e;
-			}
-		}
-	}
-	
-	/**
-	 * If not already cached, loads and caches the folder sync for the
-	 * container. Folder must exist and must not be the workspace root.
-	 *
-	 * @param container the container
-	 */
-	private void cacheFolderSync(IContainer container) throws CVSException {
-		// don't try to load if the information is already cached
-		if (! getSyncInfoCacheFor(container).isFolderSyncInfoCached(container)) {
-			// load the sync info from disk
-			FolderSyncInfo info;
-			// do not load the sync info for resources that are linked
-			if (isLinkedResource(container)) {
-				info = null;
-			} else {
-				info = SyncFileWriter.readFolderSync(container);
-			}
-			getSyncInfoCacheFor(container).setCachedFolderSync(container, info, false);
-		}
-	}
-	
-	private boolean isLinkedResource(IResource resource) {
-		return CVSWorkspaceRoot.isLinkedResource(resource);
-	}
-
-	/**
-	 * Load the sync info for the given resource from disk
-	 * @param resource
-	 * @return byte[]
-	 */
-	private byte[] getSyncBytesFromDisk(IResource resource) throws CVSException {
-		byte[][] infos = SyncFileWriter.readAllResourceSync(resource.getParent());
-		if (infos == null) return null;
-		for (int i = 0; i < infos.length; i++) {
-			byte[] syncBytes = infos[i];
-			if (resource.getName().equals(getName(syncBytes))) {
-				return syncBytes;
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Commits the cache after a series of operations.
-	 * 
-	 * Will return STATUS_OK unless there were problems writting sync 
-	 * information to disk. If an error occurs a multistatus is returned
-	 * with the list of reasons for the failures. Failures are recovered,
-	 * and all changed resources are given a chance to be written to disk.
-	 * 
-	 * @param monitor the progress monitor, may be null
-	 */
-	/* internal use only */ IStatus commitCache(ThreadInfo threadInfo, IProgressMonitor monitor) {
-		if (threadInfo.isEmpty()) {
-			return SyncInfoCache.STATUS_OK;
-		}
-		List errors = new ArrayList();
-		try {
-			/*** prepare operation ***/
-			// find parents of changed resources
-			IResource[] changedResources = threadInfo.getChangedResources();
-			IContainer[] changedFolders;
-			if (threadInfo instanceof CVSThreadInfo) {
-			    changedFolders = ((CVSThreadInfo)threadInfo).getChangedFolders();
-			} else {
-			    changedFolders = new IContainer[0];
-			}
-			Set dirtyParents = new HashSet();
-			for (int i = 0; i < changedResources.length; i++) {
-				IResource resource = changedResources[i];
-				IContainer folder = resource.getParent();
-				dirtyParents.add(folder);
-			}
-			
-			monitor = Policy.monitorFor(monitor);
-			int numDirty = dirtyParents.size();
-			int numResources = changedFolders.length + numDirty;
-			monitor.beginTask(null, numResources);
-			if(monitor.isCanceled()) {
-				monitor.subTask(CVSMessages.EclipseSynchronizer_UpdatingSyncEndOperationCancelled); 
-			} else {
-				monitor.subTask(CVSMessages.EclipseSynchronizer_UpdatingSyncEndOperation); 
-			}
-			
-			/*** write sync info to disk ***/
-			// folder sync info changes
-			for (int i = 0; i < changedFolders.length; i++) {
-				IContainer folder = changedFolders[i];
-				if (folder.exists() && folder.getType() != IResource.ROOT) {
-					try {
-                        beginOperation();
-						FolderSyncInfo info = sessionPropertyCache.getCachedFolderSync(folder, true);
-						// Do not write the folder sync for linked resources
-						if (info == null) {
-							// deleted folder sync info since we loaded it
-							// (but don't overwrite the sync info for linked folders
-							if (!isLinkedResource(folder))
-								SyncFileWriter.deleteFolderSync(folder);
-							dirtyParents.remove(folder);
-						} else {
-							// modified or created new folder sync info since we loaded it
-							SyncFileWriter.writeFolderSync(folder, info);
-						}
-					} catch(CVSException e) {					
-						try {
-							sessionPropertyCache.purgeCache(folder, true /* deep */);
-						} catch(CVSException pe) {
-							errors.add(pe.getStatus());
-						}
-						errors.add(e.getStatus());
-					} finally {
-                        endOperation();
-                    }
-				}
-				monitor.worked(1);
-			}
-
-			// update progress for parents we will skip because they were deleted
-			monitor.worked(numDirty - dirtyParents.size());
-
-			// resource sync info changes
-			for (Iterator it = dirtyParents.iterator(); it.hasNext();) {
-				IContainer folder = (IContainer) it.next();
-				if (folder.exists() && folder.getType() != IResource.ROOT) {
-					// write sync info for all children in one go
-					try {
-                        beginOperation();
-						List infos = new ArrayList();
-						IResource[] children = folder.members(true);
-						for (int i = 0; i < children.length; i++) {
-							IResource resource = children[i];
-							byte[] syncBytes = getSyncBytes(resource);
-							if (syncBytes != null) {
-								infos.add(syncBytes);
-							}
-						}
-						// do not overwrite the sync info for linked resources
-						if (infos.size() > 0 || !isLinkedResource(folder))
-							SyncFileWriter.writeAllResourceSync(folder,
-								(byte[][]) infos.toArray(new byte[infos.size()][]));
-					} catch(CVSException e) {
-						try {
-							sessionPropertyCache.purgeCache(folder, false /* depth 1 */);
-						} catch(CVSException pe) {
-							errors.add(pe.getStatus());
-						}							
-						errors.add(e.getStatus());
-					} catch (CoreException e) {
-						try {
-							sessionPropertyCache.purgeCache(folder, false /* depth 1 */);
-						} catch(CVSException pe) {
-							errors.add(pe.getStatus());
-						}							
-						errors.add(e.getStatus());
-					} finally {
-                        endOperation();
-                    }
-				}
-				monitor.worked(1);
-			}
-			
-			/*** broadcast events ***/
-			monitor.subTask(CVSMessages.EclipseSynchronizer_NotifyingListeners); 
-			Set allChanges = new HashSet();
-			allChanges.addAll(Arrays.asList(changedResources));
-			allChanges.addAll(Arrays.asList(changedFolders));
-			allChanges.addAll(dirtyParents);	
-			IResource[] resources = (IResource[]) allChanges.toArray(
-				new IResource[allChanges.size()]);
-			broadcastResourceStateChanges(resources);
-			if ( ! errors.isEmpty()) {
-				MultiStatus status = new MultiStatus(CVSProviderPlugin.ID, 
-											CVSStatus.COMMITTING_SYNC_INFO_FAILED, 
-											CVSMessages.EclipseSynchronizer_ErrorCommitting, 
-											null);
-				for (int i = 0; i < errors.size(); i++) {
-					status.merge((IStatus)errors.get(i));
-				}
-				return status;
-			}
-			return SyncInfoCache.STATUS_OK;
-		} finally {
-			monitor.done();
-		}
-	}
-
-	/**
-	 * Broadcasts the resource state changes for the given resources to CVS Provider Plugin
-	 */
-	void broadcastResourceStateChanges(IResource[] resources) {
-		if (resources.length > 0) {
-			ResourceStateChangeListeners.getListener().resourceSyncInfoChanged(resources);
-		}
-	}
-
-	/**
-	 * Returns the resource sync info for the resource; null if none.
-	 * Parent must exist and must not be the workspace root.
-	 * The resource sync info for the children of the parent container MUST ALREADY BE CACHED.
-	 * 
-	 * @param resource the resource
-	 * @return the resource sync info for the resource, or null
-	 * @see #cacheResourceSyncForChildren
-	 */
-	private byte[] getCachedSyncBytes(IResource resource) throws CVSException {
-		return getSyncInfoCacheFor(resource).getCachedSyncBytes(resource, true);
-	}
-
-	/**
-	 * Returns the resource sync info for the resource; null if none.
-	 * Parent must exist and must not be the workspace root.
-	 * The resource sync info for the children of the parent container MUST ALREADY BE CACHED.
-	 * 
-	 * @param resource the resource
-	 * @return the resource sync info for the resource, or null
-	 * @see #cacheResourceSyncForChildren
-	 */
-	private void setCachedSyncBytes(IResource resource, byte[] syncBytes) throws CVSException {
-		getSyncInfoCacheFor(resource).setCachedSyncBytes(resource, syncBytes, true);
-		resourceChanged(resource);
-	}
-		
-	/**
- 	 * Sets the resource sync info for the resource; if null, deletes it. Parent
- 	 * must exist and must not be the workspace root. The resource sync info for
- 	 * the children of the parent container MUST ALREADY BE CACHED.
-	 * 
-	 * @param resource the resource
-	 * @param info the new resource sync info
-	 * @see #cacheResourceSyncForChildren
-	 */
-	private void setCachedResourceSync(IResource resource, ResourceSyncInfo info) throws CVSException {
-		//todo
-		byte[] syncBytes = null;
-		if (info != null) syncBytes = info.getBytes();
-		getSyncInfoCacheFor(resource).setCachedSyncBytes(resource, syncBytes, true);
-	}
-	
-	/**
-	 * If not already cached, loads and caches the folder ignores sync for the container.
-	 * Folder must exist and must not be the workspace root.
-	 * 
-	 * @param container the container
-	 * @return the folder ignore patterns, or an empty array if none
-	 */
-	private FileNameMatcher cacheFolderIgnores(IContainer container) throws CVSException {
-		return sessionPropertyCache.getFolderIgnores(container, true);
-	}
-	
-	/**
-	 * Sets the array of folder ignore patterns for the container, must not be null.
-	 * Folder must exist and must not be the workspace root.
-	 * 
-	 * @param container the container
-	 * @param ignores the array of ignore patterns
-	 */
-	private void setCachedFolderIgnores(IContainer container, String[] ignores) throws CVSException {
-		sessionPropertyCache.setCachedFolderIgnores(container, ignores);
-	}
-	
-	/*
-	 * Recursively adds to the possibleIgnores list all children of the given 
-	 * folder that can be ignored. This method may only be invoked when a 
-	 * schedling rule for the given foldr is held and when the CVs sync lock is
-	 * held.
-	 * 
-	 * @param folder the folder to be searched
-	 * @param possibleIgnores the list of IResources that can be ignored
-	 */
-	private void accumulateNonManagedChildren(IContainer folder, List possibleIgnores) throws CVSException {
-		try {
-			cacheResourceSyncForChildren(folder, true /* can modify workspace */);
-			IResource[] children = folder.members();
-			List folders = new ArrayList();
-			// deal with all files first and then folders to be otimized for caching scheme
-			for (int i = 0; i < children.length; i++) {
-				IResource child = children[i];
-				if(getCachedSyncBytes(child)==null) {
-					possibleIgnores.add(child);
-				}
-				if(child.getType()!=IResource.FILE) {
-					folders.add(child);
-				}
-			}
-			for (Iterator iter = folders.iterator(); iter.hasNext();) {
-				IContainer child = (IContainer) iter.next();
-				accumulateNonManagedChildren(child, possibleIgnores);
-			}
-		} catch(CoreException e) {
-			throw CVSException.wrapException(e);
-		}
-	}
-	
-	/**
-	 * Add the entry to the CVS/Notify file. We are not initially concerned with efficiency
-	 * since edit/unedit are typically issued on a small set of files.
-	 * 
-	 * XXX If there was a previous notify entry for the resource, it is replaced. This is
-	 * probably not the proper behavior (see EclipseFile).
-	 * 
-	 * A value of null for info indicates that any entry for the given
-	 * resource is to be removed from the Notify file.
-	 * 
-	 * @param resource
-	 * @param info
-	 */
-	public void setNotifyInfo(IResource resource, NotifyInfo info) throws CVSException {
-		NotifyInfo[] infos = SyncFileWriter.readAllNotifyInfo(resource.getParent());
-		if (infos == null) {
-			// if the file is empty and we are removing an entry, just return;
-			if (info == null) return;
-			infos = new NotifyInfo[] { info };
-		} else {
-			Map infoMap = new HashMap();
-			for (int i = 0; i < infos.length; i++) {
-				NotifyInfo notifyInfo = infos[i];
-				infoMap.put(notifyInfo.getName(), notifyInfo);
-			}
-			if (info == null) {
-				// if the info is null, remove the entry
-				infoMap.remove(resource.getName());
-			} else {
-				// add the new entry to the list
-				infoMap.put(info.getName(), info);
-			}
-			
-			NotifyInfo[] newInfos = new NotifyInfo[infoMap.size()];
-			int i = 0;
-			for (Iterator iter = infoMap.values().iterator(); iter.hasNext();) {
-				newInfos[i++] = (NotifyInfo) iter.next();
-			}
-			infos = newInfos;
-		}
-		SyncFileWriter.writeAllNotifyInfo(resource.getParent(), infos);
-	}
-
-	/**
-	 * Method getNotifyInfo.
-	 * @param resource
-	 * @return NotifyInfo
-	 */
-	public NotifyInfo getNotifyInfo(IResource resource) throws CVSException {
-		NotifyInfo[] infos = SyncFileWriter.readAllNotifyInfo(resource.getParent());
-		if (infos == null) return null;
-		for (int i = 0; i < infos.length; i++) {
-			NotifyInfo notifyInfo = infos[i];
-			if (notifyInfo.getName().equals(resource.getName())) {
-				return notifyInfo;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Method deleteNotifyInfo.
-	 * @param resource
-	 */
-	public void deleteNotifyInfo(IResource resource) throws CVSException {
-		NotifyInfo[] infos = SyncFileWriter.readAllNotifyInfo(resource.getParent());
-		if (infos == null) return;
-		Map infoMap = new HashMap();
-		for (int i = 0; i < infos.length; i++) {
-			NotifyInfo notifyInfo = infos[i];
-			infoMap.put(notifyInfo.getName(), notifyInfo);
-		}
-		infoMap.remove(resource.getName());
-		NotifyInfo[] newInfos = new NotifyInfo[infoMap.size()];
-		int i = 0;
-		for (Iterator iter = infoMap.values().iterator(); iter.hasNext();) {
-			newInfos[i++] = (NotifyInfo) iter.next();
-		}
-		SyncFileWriter.writeAllNotifyInfo(resource.getParent(), newInfos);
-	}
-	
-	/**
-	 * Add the entry to the CVS/Baserev file. We are not initially concerned
-	 * with efficiency since edit/unedit are typically issued on a small set of
-	 * files.
-	 *
-	 * XXX If there was a previous notify entry for the resource, it is replaced. This is
-	 * probably not the proper behavior (see EclipseFile).
-	 *
-	 * @param resource
-	 * @param info
-	 */
-	public void setBaserevInfo(IResource resource, BaserevInfo info) throws CVSException {
-		BaserevInfo[] infos = SyncFileWriter.readAllBaserevInfo(resource.getParent());
-		if (infos == null) {
-			infos = new BaserevInfo[] { info };
-		} else {
-			Map infoMap = new HashMap();
-			for (int i = 0; i < infos.length; i++) {
-				infoMap.put(infos[i].getName(), infos[i]);
-			}
-			infoMap.put(info.getName(), info);
-			BaserevInfo[] newInfos = new BaserevInfo[infoMap.size()];
-			int i = 0;
-			for (Iterator iter = infoMap.values().iterator(); iter.hasNext();) {
-				newInfos[i++] = (BaserevInfo) iter.next();
-			}
-			infos = newInfos;
-		}
-		SyncFileWriter.writeAllBaserevInfo(resource.getParent(), infos);
-	}
-
-	/**
-	 * Method getBaserevInfo.
-	 * @param resource
-	 * @return BaserevInfo
-	 */
-	public BaserevInfo getBaserevInfo(IResource resource) throws CVSException {
-		BaserevInfo[] infos = SyncFileWriter.readAllBaserevInfo(resource.getParent());
-		if (infos == null) return null;
-		for (int i = 0; i < infos.length; i++) {
-			BaserevInfo info = infos[i];
-			if (info.getName().equals(resource.getName())) {
-				return info;
-			}
-		}
-		return null;
-	}
-			
-	/**
-	 * Method deleteNotifyInfo.
-	 * @param resource
-	 */
-	public void deleteBaserevInfo(IResource resource) throws CVSException {
-		BaserevInfo[] infos = SyncFileWriter.readAllBaserevInfo(resource.getParent());
-		if (infos == null) return;
-		Map infoMap = new HashMap();
-		for (int i = 0; i < infos.length; i++) {
-			infoMap.put(infos[i].getName(), infos[i]);
-		}
-		infoMap.remove(resource.getName());
-		BaserevInfo[] newInfos = new BaserevInfo[infoMap.size()];
-		int i = 0;
-		for (Iterator iter = infoMap.values().iterator(); iter.hasNext();) {
-			newInfos[i++] = (BaserevInfo) iter.next();
-		}
-		SyncFileWriter.writeAllBaserevInfo(resource.getParent(), newInfos);
-	}
-
-	public void copyFileToBaseDirectory(final IFile file, IProgressMonitor monitor) throws CVSException {
-		monitor = Policy.monitorFor(monitor);
-		monitor.beginTask(null, 100);
-		ISchedulingRule rule = null;
-		try {
-			rule = beginBatching(file, Policy.subMonitorFor(monitor, 10));
-			ResourceSyncInfo info = getResourceSync(file);
-			// The file must exist remotely and locally
-			if (info == null || info.isAdded() || info.isDeleted())
-				return;
-			SyncFileWriter.writeFileToBaseDirectory(file, Policy.subMonitorFor(monitor, 80));
-			resourceChanged(file);
-		} finally {
-			if (rule != null) endBatching(rule, Policy.subMonitorFor(monitor, 10));
-			monitor.done();
-		}
-	}
-	
-	public void restoreFileFromBaseDirectory(final IFile file, IProgressMonitor monitor) throws CVSException {
-		monitor = Policy.monitorFor(monitor);
-		monitor.beginTask(null, 100);
-		ISchedulingRule rule = null;
-		try {
-			rule = beginBatching(file, Policy.subMonitorFor(monitor, 10));
-			ResourceSyncInfo info = getResourceSync(file);
-			// The file must exist remotely
-			if (info == null || info.isAdded())
-				return;
-			SyncFileWriter.restoreFileFromBaseDirectory(file, Policy.subMonitorFor(monitor, 80));
-			resourceChanged(file);
-		} finally {
-			if (rule != null) endBatching(rule, Policy.subMonitorFor(monitor, 10));
-			monitor.done();
-		}
-	}
-	
-	public void deleteFileFromBaseDirectory(final IFile file, IProgressMonitor monitor) throws CVSException {
-		ResourceSyncInfo info = getResourceSync(file);
-		// The file must exist remotely
-		if (info == null || info.isAdded())
-			return;
-		SyncFileWriter.deleteFileFromBaseDirectory(file, monitor);
-	}
-	
-	/**
-	 * Method isSyncInfoLoaded returns true if all the sync info for the
-	 * provided resources is loaded into the internal cache.
-	 * 
-	 * @param resources
-	 * @param i
-	 * @return boolean
-	 */
-	public boolean isSyncInfoLoaded(IResource[] resources, int depth) throws CVSException {
-		// get the folders involved
-		IContainer[] folders = getParentFolders(resources, depth);
-		// for all folders that have a CVS folder, ensure the sync info is cached
-		for (int i = 0; i < folders.length; i++) {
-			IContainer parent = folders[i];
-			if (!getSyncInfoCacheFor(parent).isSyncInfoLoaded(parent)) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-	/**
-	 * Method ensureSyncInfoLoaded loads all the relevent sync info into the cache.
-	 * This method can only be invoked when the workspace is open for modification.
-	 * in other words it cannot be invoked from inside a POST_CHANGE delta listener.
-	 * @param resources
-	 * @param i
-	 * @return Object
-	 */
-	public void ensureSyncInfoLoaded(IResource[] resources, int depth) throws CVSException {
-		// get the folders involved
-		IContainer[] folders = getParentFolders(resources, depth);
-		// Cache the sync info for all the folders
-		for (int i = 0; i < folders.length; i++) {
-			IContainer parent = folders[i];
-			ISchedulingRule rule = null;
-			try {
-				rule = beginBatching(parent, null);
-				try {
-					beginOperation();
-					cacheResourceSyncForChildren(parent, true /* can modify workspace */);
-					cacheFolderSync(parent);
-					cacheFolderIgnores(parent);
-				} finally {
-					endOperation();
-				}
-			} finally {
-				if (rule != null) endBatching(rule, null);
-			}
-		}
-	}
-
-	/*
-	 * Collect the projects and parent folders of the resources since 
-	 * thats were the sync info is kept.
-	 */
-	private IContainer[] getParentFolders(IResource[] resources, int depth) throws CVSException {
-		final Set folders = new HashSet();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			folders.add(resource.getProject());
-			if (resource.getType() != IResource.PROJECT) {
-				folders.add(resource.getParent());
-			}
-			// use the depth to gather child folders when appropriate
-			if (depth != IResource.DEPTH_ZERO) {
-				try {
-					resource.accept(new IResourceVisitor() {
-						public boolean visit(IResource innerResource) throws CoreException {
-							if (innerResource.getType() == IResource.FOLDER)
-								folders.add(innerResource);
-							// let the depth determine who we visit
-							return true;
-						}
-					}, depth, false);
-				} catch (CoreException e) {
-					throw CVSException.wrapException(e);
-				}
-			}
-		}
-		return (IContainer[]) folders.toArray(new IContainer[folders.size()]);
-	}
-	
-	/**
-	 * Perform sync info batching within the context of the given resource
-	 * scheduling rule while running the given ICVSRunnable.
-	 * @param runnable
-	 * @param monitor
-	 * @throws CVSException
-	 */
-	public void run(ISchedulingRule resourceRule, ICVSRunnable runnable, IProgressMonitor monitor) throws CVSException {
-		monitor = Policy.monitorFor(monitor);
-		monitor.beginTask(null, 100);
-		ISchedulingRule rule = beginBatching(resourceRule, Policy.subMonitorFor(monitor, 1));
-		try {
-			runnable.run(Policy.subMonitorFor(monitor, 98));
-		} finally {
-			if (rule != null) endBatching(rule, Policy.subMonitorFor(monitor, 1));
-			monitor.done();
-		}
-	}
-	
-	/**
-	 * Method isEdited returns true if a "cvs edit" was performed on the given
-	 * file and no commit or unedit has yet been performed.
-	 * @param iResource
-	 * @return boolean
-	 */
-	public boolean isEdited(IFile resource) {
-		return SyncFileWriter.isEdited(resource);
-	}
-	
-	/* package */ void adjustDirtyStateRecursively(IResource resource, String indicator) throws CVSException {
-		if (resource.getType() == IResource.ROOT) return;
-		try {
-			beginOperation();
-			
-			if (getSyncInfoCacheFor(resource).cachesDirtyState()) {
-				if (indicator == getDirtyIndicator(resource)) {
-					return;
-				}
-				getSyncInfoCacheFor(resource).setDirtyIndicator(resource, indicator);	
-			} 					
-			
-			if (Policy.DEBUG_DIRTY_CACHING) {
-				debug(resource, indicator, "adjusting dirty state"); //$NON-NLS-1$
-			}									
-
-			IContainer parent = resource.getParent();
-			if(indicator == NOT_DIRTY_INDICATOR) {
-				adjustDirtyStateRecursively(parent, RECOMPUTE_INDICATOR);
-			}
-			
-			if(indicator == RECOMPUTE_INDICATOR) {
-				adjustDirtyStateRecursively(parent, RECOMPUTE_INDICATOR);
-			} 
-			
-			if(indicator == IS_DIRTY_INDICATOR) {
-				adjustDirtyStateRecursively(parent, indicator);
-			} 
-		} finally {
-			endOperation();
-		}
-	}
-
-	protected String getDirtyIndicator(IResource resource) throws CVSException {
-        // Do a check outside the lock for the dirty indicator
-        String indicator = getSyncInfoCacheFor(resource).getDirtyIndicator(resource, false /* not thread safe */);
-        if (indicator != null)
-            return indicator;
-		try {
-			beginOperation();
-			return getSyncInfoCacheFor(resource).getDirtyIndicator(resource, true);
-		} finally {
-			endOperation();
-		}
-	}
-	
-	/*
-	 * Mark the given resource as either modified or clean using a persistant
-	 * property. Do nothing if the modified state is already what we want.
-	 * Return true if the modification state was changed.
-	 */
-	protected void setDirtyIndicator(IResource resource, boolean modified) throws CVSException {
-		String indicator = modified ? IS_DIRTY_INDICATOR : NOT_DIRTY_INDICATOR;
-		// set the dirty indicator and adjust the parent accordingly			
-		adjustDirtyStateRecursively(resource, indicator);
-	}
-
-	/**
-	 * Method getName.
-	 * @param syncBytes
-	 */
-	private String getName(byte[] syncBytes) throws CVSException {
-		return ResourceSyncInfo.getName(syncBytes);
-	}
-	
-	/**
-	 * Method isFolder.
-	 * @param syncBytes
-	 * @return boolean
-	 */
-	private boolean isFolder(byte[] syncBytes) {
-		return ResourceSyncInfo.isFolder(syncBytes);
-	}
-		
-	/**
-	 * Method convertToDeletion.
-	 * @param syncBytes
-	 * @return byte[]
-	 */
-	private byte[] convertToDeletion(byte[] syncBytes) throws CVSException {
-		return ResourceSyncInfo.convertToDeletion(syncBytes);
-	}
-
-	static public void debug(IResource resource, String indicator, String string) {
-		String di = EclipseSynchronizer.IS_DIRTY_INDICATOR;
-		if(indicator == EclipseSynchronizer.IS_DIRTY_INDICATOR) {
-			di = "dirty";	//$NON-NLS-1$
-		} else if(indicator == EclipseSynchronizer.NOT_DIRTY_INDICATOR) {
-			di = "clean";	//$NON-NLS-1$
-		} else {
-			di = "needs recomputing";	//$NON-NLS-1$
-		} 
-		System.out.println("["+string + ":" + di + "]  "  + resource.getFullPath()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-	
-	/**
-	 * @param file
-	 * @return int
-	 */
-	public int getModificationState(IResource resource) throws CVSException {
-		String indicator =  getDirtyIndicator(resource);
-		if (Policy.DEBUG_DIRTY_CACHING) {
-			debug(resource, indicator, "getModificationState"); //$NON-NLS-1$
-		}
-		if (indicator == null || indicator == RECOMPUTE_INDICATOR) {
-			return ICVSFile.UNKNOWN;
-		} else if (indicator == IS_DIRTY_INDICATOR) {
-			return ICVSFile.DIRTY;
-		} else if (indicator == NOT_DIRTY_INDICATOR) {
-			return ICVSFile.CLEAN;
-		} else {
-			return ICVSFile.UNKNOWN;
-		}
-	}
-
-	/**
-	 * Return whether the resource is within the scope of a currently active
-	 * CVS operation.
-	 * @param resource
-	 * @return
-	 */
-	public boolean isWithinActiveOperationScope(IResource resource) {
-		return resourceLock.isWithinActiveOperationScope(resource);
-	}
-	
-	/**
-	 * Set the timestamp of the given file and set it to be CLEAN. It is
-	 * assumed that this method is only invoked to reset the file timestamp
-	 * to the timestamp that is in the CVS/Entries file.
-	 * @param file
-	 * @param time
-	 * @throws CVSException
-	 */
-	public void setTimeStamp(EclipseFile cvsFile, long time) throws CVSException {
-		ISchedulingRule rule = null;
-		IFile file = (IFile)cvsFile.getIResource();
-		try {
-			rule = beginBatching(file, null);
-			try {
-				beginOperation();
-				try {
-					file.setLocalTimeStamp(time);
-					setModified(cvsFile, ICVSFile.CLEAN);
-				} catch (CoreException e) {
-					throw CVSException.wrapException(e);
-				}
-				resourceChanged(file);		
-			} finally {
-				endOperation();
-			}
-		} finally {
-			if (rule != null) endBatching(rule, null);
-		}
-	}
-
-	/**
-	 * React to a resource that was just moved by the move/delete hook.
-	 * @param resource the resource that was moved (at its new location)
-	 */
-	public void postMove(IResource resource) throws CVSException {
-		try {
-			beginOperation();
-			if (resource.getType() == IResource.FILE) {
-				// Purge any copied sync info so true sync info will 
-				// be obtained from the synchronizer cache
-				sessionPropertyCache.purgeResourceSyncCache(resource);
-			} else {
-				IContainer container = (IContainer)resource;
-				// Purge any copied sync info
-				sessionPropertyCache.purgeCache(container, true /* deep */);
-				// Dirty all resources so old sync info will be rewritten to disk
-				try {
-					container.accept(new IResourceVisitor() {
-						public boolean visit(IResource resource) throws CoreException {
-							if (getSyncBytes(resource) != null) {
-								resourceChanged(resource);
-							}
-							if (resource.getType() != IResource.FILE) {
-								if (getFolderSync((IContainer)resource) != null) {
-									folderChanged((IContainer)resource);
-									return true;
-								}
-							}
-							return false;
-						}
-					});
-				} catch (CoreException e) {
-					throw CVSException.wrapException(e);
-				}
-				// Flush the sync info to disk
-				flush(container, true /* deep */, null);
-			}
-		} finally {
-			endOperation();
-		}
-	}
-	
-	/**
-	 * This method is to be invoked only from the move/delete hook. It's purpose
-	 * is to obtain the sync look in order to prevent other threads from accessing
-	 * sync info while the move/delete is taking place.
-	 * @param runnable
-	 * @param monitor
-	 * @throws CVSException
-	 */
-	public void performMoveDelete(ICVSRunnable runnable, IProgressMonitor monitor) throws CVSException {
-		ISchedulingRule rule = null;
-		try {
-			monitor.beginTask(null, 100);
-			rule = beginBatching(null, null);
-			try {
-				beginOperation();
-				runnable.run(Policy.subMonitorFor(monitor, 95));
-			} finally {
-				endOperation();
-			}
-		} finally {
-			if (rule != null) endBatching(rule, Policy.subMonitorFor(monitor, 5));
-			monitor.done();
-		}
-	}
-	
-	/**
-	 * Compute the modification state for the given file. If the modificationState is
-	 * ICVSFile.UNKNOWN, it is computed. However, if it is CLEAN or DIRTY, 
-	 * it is set accordingly. CLEAN or DIRTY can only be used if the caller is protected
-	 * from resource modifications (either by a scheduling rule or inside a delta handler).
-	 * @param file
-	 * @param modificationState
-	 * @return true if the file is dirty
-	 */
-	public boolean setModified(EclipseFile cvsFile, int modificationState) throws CVSException {
-		try {
-			beginOperation();
-			boolean dirty;
-			if (modificationState == ICVSFile.UNKNOWN) {
-				dirty = cvsFile.isDirty();
-			} else {
-				dirty = modificationState == ICVSFile.DIRTY;
-			}
-			setDirtyIndicator(cvsFile.getIResource(), dirty);
-			return dirty;
-		} finally {
-			endOperation();
-		}
-
-	}
-
-	/**
-	 * Set the modified state of the folder. This method can be called when no resource locks are
-	 * held. It will check the cached modification state of all the folder's children before setting.
-	 * If the states of the children do not match, the state for the folder is not cached.
-	 * @param folder
-	 * @param modified
-	 */
-	public void setModified(ICVSFolder cvsFolder, boolean modified) throws CVSException {
-		try {
-			beginOperation();
-			IContainer folder = (IContainer)cvsFolder.getIResource();
-			// The drop out condition for clean or dirty are the opposite.
-			// (i.e. if modified and a dirty is found we can set the indicator
-			// and if not modified and a dirty or unknown is found we cannot set the indicator)
-			boolean okToSet = !modified;
-			// Obtain the children while we're locked to ensure some were not added or changed
-			ICVSResource[] children = cvsFolder.members(ICVSFolder.ALL_UNIGNORED_MEMBERS);
-			for (int i = 0; i < children.length; i++) {
-				IResource resource = children[i].getIResource();
-				if (modified) {
-					if (getDirtyIndicator(resource) == IS_DIRTY_INDICATOR) {
-						okToSet = true;
-						break;
-					}
-				} else {
-					if (getDirtyIndicator(resource) != NOT_DIRTY_INDICATOR) {
-						okToSet = false;
-						break;
-					}
-				}
-			}
-			if (okToSet) {
-				setDirtyIndicator(folder, modified);
-			}
-		} finally {
-			endOperation();
-		}
-	}
-	
-	public boolean wasPhantom(IResource resource) {
-		if (resource.exists()) {
-			try {
-				return (synchronizerCache.getCachedSyncBytes(resource, true) != null 
-					|| (resource.getType() == IResource.FOLDER
-							&& synchronizerCache.hasCachedFolderSync((IContainer)resource)));
-			} catch (CVSException e) {
-				// Log and assume resource is not a phantom
-				CVSProviderPlugin.log(e);
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Method called from background handler when resources that are mapped to CVS are recreated
-	 * @param resources
-	 * @param monitor
-	 * @throws CVSException
-	 */
-	public void resourcesRecreated(IResource[] resources, IProgressMonitor monitor) throws CVSException {
-		if (resources.length == 0) return;
-		ISchedulingRule rule = null;
-		ISchedulingRule projectsRule = getProjectRule(resources);
-		try {
-			monitor = Policy.monitorFor(monitor);
-			monitor.beginTask(null, 100);
-			rule = beginBatching(projectsRule, monitor);
-			for (int i = 0; i < resources.length; i++) {
-				IResource resource = resources[i];
-				try {
-					created(resource);
-				} catch (CVSException e) {
-					CVSProviderPlugin.log(e);
-				}
-			}
-		} finally {
-			if (rule != null) endBatching(rule, Policy.subMonitorFor(monitor, 5));
-			monitor.done();
-		}
-	}
-	
-	private ISchedulingRule getProjectRule(IResource[] resources) {
-		HashSet set = new HashSet();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			set.add(resource.getProject());
-		}
-		IProject[] projects = (IProject[]) set.toArray(new IProject[set.size()]);
-		if (projects.length == 1) {
-			return projects[0];
-		}
-		return new MultiRule(projects);
-	}
-
-	protected void created(IResource resource) throws CVSException {
-		try {
-			beginOperation();
-			if (resource.exists()) {
-				restoreResourceSync(resource);
-				if (resource.getType() == IResource.FOLDER) {
-					restoreFolderSync((IFolder)resource);
-				}
-			}
-		} finally {
-			endOperation();
-		}
-	}
-	
-	/*
-	 * Restore the folder sync info for the given folder
-	 */
-	private void restoreFolderSync(IFolder folder) throws CVSException {
-		try {
-			// set the dirty count using what was cached in the phantom it
-			beginOperation();
-			FolderSyncInfo folderInfo = synchronizerCache.getCachedFolderSync(folder, true);
-			if (folderInfo != null) {
-				// There is folder sync info to restore
-				if (folder.getFolder(SyncFileWriter.CVS_DIRNAME).exists()) {
-					// There is already a CVS subdirectory which indicates that
-					// either the folder was recreated by an external tool or that
-					// a folder with CVS information was copied from another location.
-					// To know the difference, we need to compare the folder sync info.
-					// If they are mapped to the same root and repository then just
-					// purge the phantom info. Otherwise, keep the original sync info.
-
-					// Get the new folder sync info
-					FolderSyncInfo newFolderInfo = getFolderSync(folder);
-					if (newFolderInfo.getRoot().equals(folderInfo.getRoot())
-							&& newFolderInfo.getRepository().equals(folderInfo.getRepository())) {
-						// The folder is the same so use what is on disk.
-						// Fall through to ensure that the Root and Repository files exist
-					} else {
-						// The folder is mapped to a different location.
-						// Purge new resource sync before restoring from phantom
-						ICVSFolder cvsFolder = CVSWorkspaceRoot.getCVSFolderFor(folder);
-						ICVSResource[] children = cvsFolder.members(ICVSFolder.MANAGED_MEMBERS);
-						for (int i = 0; i < children.length; i++) {
-							ICVSResource resource = children[i];
-							deleteResourceSync(resource.getIResource());
-						}
-					}
-				}
-
-				// set the sync info using what was cached in the phantom
-				setFolderSync(folder, folderInfo);
-				// purge the dirty cache so any old persisted dirty state is purged
-				sessionPropertyCache.purgeDirtyCache(folder);
-				// Indicate that a member has changed so the entries file gets written (see bug 181546)
-				IResource[] members = members(folder);
-				IResource changedResource = null;
-				for (int i = 0; i < members.length; i++) {
-					IResource resource = members[i];
-					if (getSyncBytes(resource) != null) {
-						changedResource = resource;
-						break;
-					}
-				}
-				if (changedResource == null) {
-					changedResource = folder.getFile("dummy"); //$NON-NLS-1$
-				}
-				resourceChanged(changedResource);
-			}
-		} finally {
-			try {
-				endOperation();
-			} finally {
-				synchronizerCache.flush(folder);
-			}
-		}
-	}
-
-	/*
-	 * Restore the resource sync info for the given resource.
-	 */
-	private void restoreResourceSync(IResource resource) throws CVSException {
-		try {
-			beginOperation();
-			byte[] syncBytes = synchronizerCache.getCachedSyncBytes(resource, true);
-			if (syncBytes != null) {
-				if (!ResourceSyncInfo.isFolder(syncBytes)) {
-					syncBytes = ResourceSyncInfo.convertFromDeletion(syncBytes);
-				}
-				byte[] newBytes = getSyncBytes(resource);
-				if (newBytes != null && !ResourceSyncInfo.isFolder(newBytes)) {
-					newBytes = ResourceSyncInfo.convertFromDeletion(newBytes);
-				}
-				if (newBytes == null || Util.equals(syncBytes, newBytes)) {
-					// only move the sync info if there is no new sync info
-					setSyncBytes(resource, syncBytes);
-				}
-			}
-		} finally {
-			try {
-				endOperation();
-			} finally {
-				synchronizerCache.setCachedSyncBytes(resource, null, true);
-			}
-		}
-	}
-	
-	private void purgeDirtyCache(IProject project, IProgressMonitor monitor) throws CVSException {
-		sessionPropertyCache.purgeDirtyCache(project);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/FileContentCachingService.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/FileContentCachingService.java
deleted file mode 100644
index 884c448..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/FileContentCachingService.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
-import org.eclipse.team.internal.ccvs.core.CVSTag;
-import org.eclipse.team.internal.ccvs.core.ICVSFile;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSResource;
-import org.eclipse.team.internal.ccvs.core.Policy;
-import org.eclipse.team.internal.ccvs.core.client.Command;
-import org.eclipse.team.internal.ccvs.core.client.Session;
-import org.eclipse.team.internal.ccvs.core.client.Update;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-
-/**
- * This class can be used to fetch and cache file contents for remote files.
- */
-public class FileContentCachingService {
-
-	String[] fileDiffs;
-	private CVSRepositoryLocation repository;
-	private ICVSFolder remoteRoot;
-
-	public static RemoteFolderTree buildRemoteTree(CVSRepositoryLocation repository, ICVSFolder root, CVSTag tag, IProgressMonitor monitor) throws CVSException {
-		monitor.beginTask(null, 100);
-		try {
-			RemoteFolderTreeBuilder builder = new RemoteFolderTreeBuilder(repository, root, tag);
-			RemoteFolderTree tree =  builder.buildTree(new ICVSResource[] { root }, Policy.subMonitorFor(monitor, 50));
-			FileContentCachingService service = new FileContentCachingService(repository, tree, builder.getFileDiffs());
-			service.cacheFileContents(Policy.subMonitorFor(monitor, 50));
-			return tree;
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	/**
-	 * Fetch and cache the file contents for the specified files.
-	 * @param root the root folder for the files being fetched
-	 * @param filePaths the root relative file paths
-	 * @param monitor
-	 * @throws CVSException
-	 */
-	public static void fetchFileContents(RemoteFolderTree root, String[] filePaths, IProgressMonitor monitor) throws CVSException {
-		FileContentCachingService service = new FileContentCachingService((CVSRepositoryLocation)root.getRepository(), root, filePaths);
-		service.cacheFileContents(monitor);
-	}
-	
-	public static RemoteFile buildRemoteTree(CVSRepositoryLocation repository, ICVSFile file, CVSTag tag, IProgressMonitor monitor) throws CVSException {
-		monitor.beginTask(null, 100);
-		try {
-			RemoteFolderTreeBuilder builder = new RemoteFolderTreeBuilder(repository, file.getParent(), tag);
-			RemoteFile remote =  builder.buildTree(file, monitor);
-			if (builder.getFileDiffs().length > 0) {
-				// Getting the storage of the file will cache the contents
-				remote.getStorage(Policy.subMonitorFor(monitor, 50));
-			}
-			return remote;
-		} catch (TeamException e) {
-			throw CVSException.wrapException(e);
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	public FileContentCachingService(CVSRepositoryLocation repository, RemoteFolderTree tree, String[] fileDiffs) {
-		this.repository = repository;
-		this.remoteRoot = tree;
-		this.fileDiffs = fileDiffs;
-	}
-	
-	private void cacheFileContents(IProgressMonitor monitor) throws CVSException {
-		String[] files = getUncachedFiles();
-		if (files.length == 0) return;
-		// Fetch the file contents for all out-of-sync files by running an update
-		// on the remote tree passing the known changed files as arguments
-		monitor.beginTask(null, 10 + files.length * 100);
-		Policy.checkCanceled(monitor);
-		Session session = new Session(repository, remoteRoot, false);
-		session.open(Policy.subMonitorFor(monitor, 10), false /* read-only */);
-		try {
-			Policy.checkCanceled(monitor);
-			IStatus status = Command.UPDATE.execute(session,
-				Command.NO_GLOBAL_OPTIONS,
-				new LocalOption[] { Update.IGNORE_LOCAL_CHANGES },
-				files,
-				null,
-				Policy.subMonitorFor(monitor, files.length * 100));
-			if (!status.isOK()) {
-				// No big deal but log the problem anyway
-				CVSProviderPlugin.log (new CVSException(status));
-			}
-		} finally {
-			session.close();
-			monitor.done();
-		}
-	}
-
-	/*
-	 * Only return those file in the diff list that exist remotely and whose contents are not already cached
-	 */
-	private String[] getUncachedFiles() {
-		if (fileDiffs.length == 0) return fileDiffs;
-		List existing = new ArrayList();
-		for (int i = 0; i < fileDiffs.length; i++) {
-			String filePath = fileDiffs[i];
-			try {
-				ICVSFile file = remoteRoot.getFile(filePath);
-				if (file instanceof RemoteFile) {
-					if (!((RemoteFile)file).isContentsCached()) {
-						existing.add(filePath);
-					}
-				}
-			} catch (CVSException e) {
-				// The child does not exists so exclude it
-			}
-		}
-		return (String[]) existing.toArray(new String[existing.size()]);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/FileModificationManager.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/FileModificationManager.java
deleted file mode 100644
index 9b96929..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/FileModificationManager.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.util.ResourceStateChangeListeners;
-
-/**
- * This class performs several functions related to determining the modified
- * status of files under CVS control. First, it listens for change delta's for
- * files and brodcasts them to all listeners. It also registers as a save
- * participant so that deltas generated before the plugin are loaded are not
- * missed. Secondly, it listens for CVS resource state change events and uses
- * these to properly mark files and folders as modified.
- */
-public class FileModificationManager implements IResourceChangeListener {
-	
-	private static final QualifiedName UPDATE_TIMESTAMP = new QualifiedName(CVSProviderPlugin.ID, "update-timestamp"); //$NON-NLS-1$
-	
-	/* private */Set modifiedResources = new HashSet();
-
-	// consider the following changes types and ignore the others (e.g. marker and description changes are ignored)
-	protected int INTERESTING_CHANGES = 	IResourceDelta.CONTENT | 
-																	IResourceDelta.MOVED_FROM | 
-																	IResourceDelta.MOVED_TO |
-																	IResourceDelta.OPEN | 
-																	IResourceDelta.REPLACED |
-																	IResourceDelta.TYPE;
-
-	/**
-	 * Listen for file modifications and fire modification state changes
-	 * 
-	 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		try {
-			event.getDelta().accept(new IResourceDeltaVisitor() {
-				public boolean visit(IResourceDelta delta) {
-					IResource resource = delta.getResource();
-					
-					if (resource.getType()==IResource.PROJECT) {
-						IProject project = (IProject)resource;
-						if (!project.isAccessible()) {
-							return false;
-						}
-						if ((delta.getFlags() & IResourceDelta.OPEN) != 0) {
-							return false;
-						} 
-						if (RepositoryProvider.getProvider(project, CVSProviderPlugin.getTypeId()) == null) {
-							return false;
-						}
-					}
-					
-					if (resource.getType()==IResource.FILE && delta.getKind() == IResourceDelta.CHANGED && resource.exists()) {
-						int flags = delta.getFlags();
-						if((flags & INTERESTING_CHANGES) != 0) {
-							resourceChanged(resource, false);
-						}
-					} else if (delta.getKind() == IResourceDelta.ADDED) {
-						try {
-							EclipseSynchronizer.getInstance().handleAdded(resource);
-						} catch (CVSException e) {
-							CVSProviderPlugin.log(e);
-						}
-						resourceChanged(resource, true);
-					} else if (delta.getKind() == IResourceDelta.REMOVED) {
-						try {
-							EclipseSynchronizer.getInstance().handleDeleted(resource);
-						} catch (CVSException e) {
-							CVSProviderPlugin.log(e);
-						}
-						modifiedResources.add(resource);
-					}
-
-					return true;
-				}
-			});
-			if (!modifiedResources.isEmpty()) {
-				ResourceStateChangeListeners.getListener().resourceModified(
-					(IResource[])modifiedResources.toArray(new IResource[modifiedResources.size()]));
-				modifiedResources.clear();
-			}
-		} catch (CoreException e) {
-			CVSProviderPlugin.log(e);
-		}
-
-	}
-
-	/**
-	 * Method updated flags the objetc as having been modfied by the updated
-	 * handler. This flag is read during the resource delta to determine whether
-	 * the modification made the file dirty or not.
-	 * 
-	 * @param mFile
-	 */
-	public void updated(ICVSFile mFile) {
-		try {
-			if (mFile instanceof EclipseFile) {
-				IFile file = (IFile)mFile.getIResource();
-				file.setSessionProperty(UPDATE_TIMESTAMP, new Long(file.getModificationStamp()));
-			}
-		} catch (CoreException e) {
-			CVSProviderPlugin.log(e);
-		}
-	}
-	
-	/*
-	 * Handle added and changed resources by signaling the change to the corresponding
-	 * CVS resource and recording the change for broadcast to interested listeners.
-	 */
-	/* private */void resourceChanged(IResource resource, boolean addition) {
-		if (isCleanUpdate(resource)) return;
-		try {
-			EclipseResource cvsResource = (EclipseResource)CVSWorkspaceRoot.getCVSResourceFor(resource);
-			if (!cvsResource.isIgnored()) {
-				cvsResource.handleModification(addition);
-				modifiedResources.add(resource);
-			}
-			// see bug 170743
-			// ignored .cvsignore should always be clean and do not affect the path
-			if(cvsResource.getName().equals(".cvsignore") && cvsResource.isIgnored()){ //$NON-NLS-1$
-				EclipseSynchronizer.getInstance().setModified((EclipseFile) cvsResource, ICVSFile.CLEAN);
-				modifiedResources.add(resource);
-			}
-		} catch (CVSException e) {
-			// Log the exception and continue
-			CVSProviderPlugin.log(e);
-		}
-	}
-
-	/**
-	 * If the file was the result of a clean update, the cached timestamp will
-	 * be removed.
-	 * 
-	 * @param resource
-	 * @return boolean
-	 */
-	private boolean isCleanUpdate(IResource resource) {
-		if(resource.getType() != IResource.FILE) return false;
-		long modStamp = resource.getModificationStamp();
-		Long whenWeWrote;
-		try {
-			whenWeWrote = (Long)resource.getSessionProperty(UPDATE_TIMESTAMP);
-			resource.setSessionProperty(UPDATE_TIMESTAMP, null);
-		} catch(CoreException e) {
-			CVSProviderPlugin.log(e);
-			whenWeWrote = null;
-		}
-		return (whenWeWrote!=null && whenWeWrote.longValue() == modStamp);
-	}
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFile.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFile.java
deleted file mode 100644
index 0aa65dc..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFile.java
+++ /dev/null
@@ -1,687 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Red Hat Incorporated - is/setExecutable() code
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.util.*;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.core.variants.CachedResourceVariant;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.*;
-import org.eclipse.team.internal.ccvs.core.client.Command.*;
-import org.eclipse.team.internal.ccvs.core.client.listeners.ILogEntryListener;
-import org.eclipse.team.internal.ccvs.core.client.listeners.LogListener;
-import org.eclipse.team.internal.ccvs.core.connection.CVSServerException;
-import org.eclipse.team.internal.ccvs.core.filehistory.CVSResourceVariantFileRevision;
-import org.eclipse.team.internal.ccvs.core.filesystem.CVSURI;
-import org.eclipse.team.internal.ccvs.core.syncinfo.*;
-
-/**
- * This class provides the implementation of ICVSRemoteFile and IManagedFile for
- * use by the repository and sync view.
- */
-public class RemoteFile extends RemoteResource implements ICVSRemoteFile  {
-	
-    /*
-     * Listener for accumulating the entries fetched using the "cvs log" command
-     */
-	private final class LogEntryListener implements ILogEntryListener {
-        private final List entries = new ArrayList();
-        public void handleLogEntryReceived(ILogEntry entry) {
-            if (entry.getRemoteFile().getRepositoryRelativePath().equals(getRepositoryRelativePath())) {
-                entries.add(entry);
-            }
-        }
-        public ILogEntry[] getEntries() {
-            return (ILogEntry[])entries.toArray(new ILogEntry[entries.size()]);
-        }
-    }
-
-    // sync info in byte form
-	private byte[] syncBytes;
-	// cache the log entry for the remote file
-	private ILogEntry entry;
-	// state that indicates that the handle is actively fetching content
-	private boolean fetching = false;
-	// executable bit
-	private boolean executable = false;
-			
-	/**
-	 * Static method which creates a file as a single child of its parent.
-	 * This should only be used when one is only interested in the file alone.
-	 * 
-	 * The returned RemoteFile represents the base of the local resource.
-	 * If the local resource does not have a base, then null is returned
-	 * even if the resource does exists remotely (e.g. created by another party).
-	 */
-	public static RemoteFile getBase(RemoteFolder parent, ICVSFile managed) throws CVSException {
-		Assert.isNotNull(parent, "A parent folder must be provided for file " + managed.getName()); //$NON-NLS-1$
-		byte[] syncBytes = managed.getSyncBytes();
-		if ((syncBytes == null) || ResourceSyncInfo.isAddition(syncBytes)) {
-			// Either the file is unmanaged or has just been added (i.e. doesn't necessarily have a remote)
-			return null;
-		}
-		if (ResourceSyncInfo.isDeletion(syncBytes)) {
-			syncBytes = ResourceSyncInfo.convertFromDeletion(syncBytes);
-		}
-		RemoteFile file = new RemoteFile(parent, syncBytes);
-		parent.setChildren(new ICVSRemoteResource[] {file});
-		return file;
-	}
-	
-	/**
-	 * This method is used by the CVS subscribers to create file handles.
-	 */
-	public static RemoteFile fromBytes(IResource local, byte[] bytes, byte[] parentBytes) throws CVSException {
-		Assert.isNotNull(bytes);
-		Assert.isTrue(local.getType() == IResource.FILE);
-		RemoteFolder parent = RemoteFolder.fromBytes(local.getParent(), parentBytes);
-		RemoteFile file = new RemoteFile(parent, bytes);
-		parent.setChildren(new ICVSRemoteResource[] {file});
-		return file;
-	}
-	
-	/**
-	 * Create a remote file handle for the given file path that is relative to the
-	 * given location.
-	 */
-	public static RemoteFile create(String filePath, ICVSRepositoryLocation location) {
-		return create(filePath, location, null, null);
-	}
-	
-	/**
-	 * Create a remote file handle for the given file path that is relative to the
-	 * given location.
-	 */
-	public static RemoteFile create(String filePath, ICVSRepositoryLocation location, CVSTag tag, String revision) {
-		Assert.isNotNull(filePath);
-		Assert.isNotNull(location);
-		IPath path = new Path(null, filePath);
-		if (tag != null && revision != null && tag.getName().equals(revision))
-			tag = null;
-		RemoteFolder parent = new RemoteFolder(null /* parent */, location, path.removeLastSegments(1).toString(), tag /* tag */);
-		RemoteFile file = new RemoteFile(parent, Update.STATE_NONE, path.lastSegment(), revision /* revision */, null /* keyword mode */, tag /* tag */);
-		parent.setChildren(new ICVSRemoteResource[] {file});
-		return file;
-	}
-	
-	/**
-	 * Constructor for RemoteFile that should be used when nothing is know about the
-	 * file ahead of time.
-	 * @param parent the folder that is the parent of the file
-	 * @param workspaceSyncState the workspace state (use Update.STATE_NONE if unknown)
-	 * @param name the name of the file
-	 * @param revision revision of the file or <code>null</code> if the revision is not known
-	 * @param keywordMode keyword mode of the file or <code>null</code> if the mode is not known
-	 * @param tag tag for the file
-	 */
-	public RemoteFile(RemoteFolder parent, int workspaceSyncState, String name, String revision, KSubstOption keywordMode, CVSTag tag) {
-		this(parent, name, workspaceSyncState, getSyncBytes(name, revision, keywordMode, tag));
-	}
-	
-	private static byte[] getSyncBytes(String name, String revision, KSubstOption keywordMode, CVSTag tag) {
-		if (revision == null) {
-			revision = ResourceSyncInfo.ADDED_REVISION;
-		}
-		if (keywordMode == null) {
-			// Always use a blank mode for remote files so that 
-			// the proper mode will be obtained when the contents
-			// are fetched
-			keywordMode = KSubstOption.fromMode(""); //$NON-NLS-1$
-		}
-		MutableResourceSyncInfo newInfo = new MutableResourceSyncInfo(name, revision);		
-		newInfo.setKeywordMode(keywordMode);
-		newInfo.setTag(tag);
-		return newInfo.getBytes();
-	}
-	
-	public RemoteFile(RemoteFolder parent, byte[] syncBytes) throws CVSException {
-		this(parent, Update.STATE_NONE, syncBytes);
-	}
-	
-	/* package */ RemoteFile(RemoteFolder parent, int workspaceSyncState, byte[] syncBytes) throws CVSException {
-		this(parent, ResourceSyncInfo.getName(syncBytes), workspaceSyncState, syncBytes);
-	}
-
-	private RemoteFile(RemoteFolder parent, String name, int workspaceSyncState, byte[] syncBytes) {
-		super(parent, name);
-		this.syncBytes = syncBytes;
-		setWorkspaceSyncState(workspaceSyncState);
-	}
-
-	/**
-	 * @see ICVSResource#accept(ICVSResourceVisitor)
-	 */
-	public void accept(ICVSResourceVisitor visitor) throws CVSException {
-		visitor.visitFile(this);
-	}
-
-	/**
-	 * @see ICVSResource#accept(ICVSResourceVisitor, boolean)
-	 */
-	public void accept(ICVSResourceVisitor visitor, boolean recurse) throws CVSException {
-		visitor.visitFile(this);
-	}
-	
-	/**
-	 * @see ICVSRemoteFile#getContents()
-	 */
-	public InputStream getContents(IProgressMonitor monitor) throws CVSException {
-		try {
-			return getStorage(monitor).getContents();
-		} catch (CoreException e) {
-			throw CVSException.wrapException(e);
-		}
-	}
-	
-	protected void fetchContents(IProgressMonitor monitor) throws TeamException {
-		try {
-			aboutToReceiveContents(getSyncBytes());
-			internalFetchContents(monitor);
-			// If the fetch succeeded but no contents were cached from the server
-			// than we can assume that the remote file has no contents.
-			if (!isContentsCached()) {
-				setContents(new ByteArrayInputStream(new byte[0]), monitor);
-			}
-		} finally {
-			doneReceivingContents();
-		}
-	}
-	
-	private void internalFetchContents(IProgressMonitor monitor) throws CVSException {
-		monitor.beginTask(CVSMessages.RemoteFile_getContents, 100);
-        monitor.subTask(CVSMessages.RemoteFile_getContents);
-		if (getRevision().equals(ResourceSyncInfo.ADDED_REVISION)) {
-			// The revision of the remote file is not known so we need to use the tag to get the status of the file
-			CVSTag tag = getSyncInfo().getTag();
-			if (tag == null) tag = CVSTag.DEFAULT;
-			RemoteFolderMemberFetcher fetcher = new RemoteFolderMemberFetcher((RemoteFolder)getParent(), tag);
-			fetcher.updateFileRevisions(new ICVSFile[] { this }, Policy.subMonitorFor(monitor, 10));
-		}
-		Session session = new Session(getRepository(), parent, false /* create backups */);
-		session.open(Policy.subMonitorFor(monitor, 10), false /* read-only */);
-		try {
-			IStatus status = Command.UPDATE.execute(
-				session,
-				Command.NO_GLOBAL_OPTIONS,
-				new LocalOption[] { 
-					Update.makeTagOption(new CVSTag(getRevision(), CVSTag.VERSION)),
-					Update.IGNORE_LOCAL_CHANGES },
-				new ICVSResource[] { this },
-				null,
-				Policy.subMonitorFor(monitor, 80));
-			if (status.getCode() == CVSStatus.SERVER_ERROR) {
-				throw new CVSServerException(status);
-			}
-		} finally {
-			session.close();
-			monitor.done();
-		}
-	}
-
-	/*
-	 * @see ICVSRemoteFile#getLogEntry(IProgressMonitor)
-	 */
-	public ILogEntry getLogEntry(IProgressMonitor monitor) throws CVSException {
-		if (entry == null) {
-			monitor = Policy.monitorFor(monitor);
-			monitor.beginTask(CVSMessages.RemoteFile_getLogEntries, 100); 
-			Session session = new Session(getRepository(), parent, false /* output to console */);
-			session.open(Policy.subMonitorFor(monitor, 10), false /* read-only */);
-			try {
-				try {
-				    LogEntryListener listener = new LogEntryListener();
-					IStatus status = Command.LOG.execute(
-						session,
-						Command.NO_GLOBAL_OPTIONS,
-						new LocalOption[] { 
-							Log.makeRevisionOption(getRevision())},
-						new ICVSResource[] { RemoteFile.this },
-						new LogListener(RemoteFile.this, listener),
-						Policy.subMonitorFor(monitor, 90));
-					ILogEntry[] entries = listener.getEntries();
-					if (entries.length == 1) {
-						entry = entries[0];
-					}
-					if (status.getCode() == CVSStatus.SERVER_ERROR) {
-						throw new CVSServerException(status);
-					}
-				} finally {
-					monitor.done();
-				}
-			} finally {
-				session.close();
-			}
-		}
-		return entry;
-	}
-	
-	/**
-	 * @see ICVSRemoteFile#getLogEntries()
-	 */
-	public ILogEntry[] getLogEntries(IProgressMonitor monitor) throws CVSException {
-		monitor = Policy.monitorFor(monitor);
-		monitor.beginTask(CVSMessages.RemoteFile_getLogEntries, 100); 
-		Session session = new Session(getRepository(), parent, false /* output to console */);
-		session.open(Policy.subMonitorFor(monitor, 10), false /* read-only */);
-		try {
-			QuietOption quietness = CVSProviderPlugin.getPlugin().getQuietness();
-			try {
-				CVSProviderPlugin.getPlugin().setQuietness(Command.VERBOSE);
-				LogEntryListener listener = new LogEntryListener();  
-				IStatus status = Command.LOG.execute(
-					session,
-					Command.NO_GLOBAL_OPTIONS, Command.NO_LOCAL_OPTIONS,
-					new ICVSResource[] { RemoteFile.this }, new LogListener(RemoteFile.this, listener),
-					Policy.subMonitorFor(monitor, 90));
-				if (status.getCode() == CVSStatus.SERVER_ERROR) {
-					throw new CVSServerException(status);
-				}
-				return listener.getEntries();
-			} finally {
-				CVSProviderPlugin.getPlugin().setQuietness(quietness);
-				monitor.done();
-			}
-		} finally { 
-			session.close();
-		}
-	}
-	
-	/**
-	 * @see ICVSRemoteFile#getRevision()
-	 */
-	public String getRevision() {
-		try {
-			return ResourceSyncInfo.getRevision(syncBytes);
-		} catch (CVSException e) {
-			CVSProviderPlugin.log(e);
-			return ResourceSyncInfo.ADDED_REVISION;
-		}
-	}
-	
-	private KSubstOption getKeywordMode() {
-		try {
-			return ResourceSyncInfo.getKeywordMode(syncBytes);
-		} catch (CVSException e) {
-			CVSProviderPlugin.log(e);
-			return KSubstOption.getDefaultTextMode();
-		}
-	}
-	
-	/*
-	 * Get a different revision of the remote file.
-	 * 
-	 * We must also create a new parent since the child is accessed through the parent from within CVS commands.
-	 * Therefore, we need a new parent so that we can fetch the contents of the remote file revision
-	 */
-	public RemoteFile toRevision(String revision) {
-		RemoteFolder newParent = new RemoteFolder(null, parent.getRepository(), parent.getRepositoryRelativePath(), parent.getTag());
-		RemoteFile file = new RemoteFile(newParent, getWorkspaceSyncState(), getName(), revision, getKeywordMode(), CVSTag.DEFAULT);
-		newParent.setChildren(new ICVSRemoteResource[] {file});
-		return file;
-	}
-
-	/**
-	 * @see ICVSFile#getSyncInfo()
-	 */
-	public ResourceSyncInfo getSyncInfo() {
-		try {
-			return new ResourceSyncInfo(syncBytes);
-		} catch (CVSException e) {
-			CVSProviderPlugin.log(e);
-			return null;
-		}
-	}
-	
-	/**
-	 * @see ICVSResource#getRemoteLocation(ICVSFolder)
-	 */
-	public String getRemoteLocation(ICVSFolder stopSearching) throws CVSException {
-		return parent.getRemoteLocation(stopSearching) + Session.SERVER_SEPARATOR + getName();
-	}
-	
-	/**
-	 * Get the remote path for the receiver relative to the repository location path
-	 */
-	public String getRepositoryRelativePath() {
-		String parentPath = parent.getRepositoryRelativePath();
-		return parentPath + Session.SERVER_SEPARATOR + getName();
-	}
-	
-	/**
-	 * Return the server root directory for the repository
-	 */
-	public ICVSRepositoryLocation getRepository() {
-		return parent.getRepository();
-	}
-	
-	/**
-	 * @see IManagedFile#setFileInfo(FileProperties)
-	 */
-	public void setSyncInfo(ResourceSyncInfo fileInfo, int modificationState) {
-		setSyncBytes(fileInfo.getBytes(),modificationState);
-	}
-
-	/**
-	 * Set the revision for this remote file.
-	 * 
-	 * @param revision to associated with this remote file
-	 */
-	public void setRevision(String revision) throws CVSException {
-		syncBytes = ResourceSyncInfo.setRevision(syncBytes, revision);
-	}		
-	
-	public InputStream getContents() throws CVSException {
-		if (!fetching) {
-			// Return the cached contents
-			if (isContentsCached()) {
-				try {
-					InputStream cached = getCachedContents();
-					if (cached != null) {
-						return cached;
-					}
-				} catch (TeamException e) {
-					throw CVSException.wrapException(e);
-				}
-			}
-		}
-		// There was nothing cached so return an empty stream.
-		// This is done to allow the contents to be fetched
-		// (i.e. update sends empty contents and real contents are sent back)
-		return new ByteArrayInputStream(new byte[0]);
-	}
-
-	protected InputStream getCachedContents() throws TeamException {
-		if (isHandleCached()) {
-			RemoteFile file = (RemoteFile)getCachedHandle();
-			if (file != null) {
-				byte[] newSyncBytes = file.getSyncBytes();
-				if (newSyncBytes != null) {
-					// Make sure the sync bytes match the content that is being accessed
-					syncBytes = newSyncBytes;
-				}
-			}
-		}
-		return super.getCachedContents();
-	}
-	
-	public void setContents(InputStream stream, int responseType, boolean keepLocalHistory, IProgressMonitor monitor) throws CVSException {
-		try {
-			setContents(stream, monitor);
-		} catch (TeamException e) {
-			throw CVSException.wrapException(e);
-		}
-	}
-	
-	/*
-	 * @see ICVSFile#setReadOnly(boolean)
-	 */
-	public void setReadOnly(boolean readOnly) {
-		// RemoteFiles are always read only
- 	}
-
-	/*
-	 * @see ICVSFile#isReadOnly()
-	 */
-	public boolean isReadOnly() {
-		return true;
-	}
-	
-	/*
-	 * @see ICVSFile#getTimeStamp()
-	 */
-	public Date getTimeStamp() {
-		return getSyncInfo().getTimeStamp();
-	}
-
-	/*
-	 * @see ICVSFile#setTimeStamp(Date)
-	 */
-	public void setTimeStamp(Date date) {
-		// RemoteFiles are not muttable so do not support timestamp changes
-	}
-
-	/**
-	 * @see ICVSFile#moveTo(String)
-	 */
-	public void copyTo(String mFile) {		
-		// Do nothing
-	}
-	
-	/*
-	 * @see IRemoteResource#members(IProgressMonitor)
-	 */
-	public ICVSRemoteResource[] members(IProgressMonitor progress) {
-		return new ICVSRemoteResource[0];
-	}
-
-	/*
-	 * @see IRemoteResource#isContainer()
-	 */
-	public boolean isContainer() {
-		return false;
-	}
-
-	/*
-	 * @see ICVSResource#isFolder()
-	 */
-	public boolean isFolder() {
-		return false;
-	}
-	
-	/*
-	 * @see ICVSResource#tag(CVSTag, LocalOption[], IProgressMonitor)
-	 * 
-	 * The revision of the remote file is used as the base for the tagging operation
-	 */
-	 public IStatus tag(final CVSTag tag, final LocalOption[] localOptions, IProgressMonitor monitor) throws CVSException {
-		monitor = Policy.monitorFor(monitor);
-		monitor.beginTask(null, 100);
-		Session session = new Session(getRepository(), getParent(), true /* output to console */);
-		session.open(Policy.subMonitorFor(monitor, 10), true /* open for modification */);
-		try {
-			return Command.RTAG.execute(
-				session,
-				Command.NO_GLOBAL_OPTIONS,
-				localOptions,
-				new CVSTag(getRevision(), CVSTag.VERSION),
-				tag,
-				new ICVSRemoteResource[] { RemoteFile.this },
-			Policy.subMonitorFor(monitor, 90));
-		} finally {
-			session.close();
-		}
-	 }
-	
-	public boolean equals(Object target) {
-		if (this == target)
-			return true;
-		if (!(target instanceof RemoteFile))
-			return false;
-		RemoteFile remote = (RemoteFile) target;
-		return super.equals(target) && remote.getRevision().equals(getRevision());
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#checkout(int)
-	 */
-	public void edit(int notifications, boolean notifyForWritable, IProgressMonitor monitor) {
-		// do nothing
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#uncheckout()
-	 */
-	public void unedit(IProgressMonitor monitor) {
-		// do nothing
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#notificationCompleted()
-	 */
-	public void notificationCompleted() {
-		// do nothing
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#getPendingNotification()
-	 */
-	public NotifyInfo getPendingNotification() {
-		return null;
-	}
-
-	/**
-	 * @see RemoteResource#forTag(ICVSRemoteFolder, CVSTag)
-	 */
-	public ICVSRemoteResource forTag(ICVSRemoteFolder parent, CVSTag tag) {
-		return new RemoteFile((RemoteFolder)parent, getWorkspaceSyncState(), getName(), getRevision(), getKeywordMode(), tag);
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSRemoteResource#forTag(org.eclipse.team.internal.ccvs.core.CVSTag)
-	 */
-	public ICVSRemoteResource forTag(CVSTag tag) {
-		RemoteFolderTree remoteFolder = new RemoteFolderTree(null, getRepository(), 
-			((ICVSRemoteFolder)getParent()).getRepositoryRelativePath(), 
-			tag);
-		RemoteFile remoteFile = (RemoteFile)forTag(remoteFolder, tag);
-		remoteFolder.setChildren(new ICVSRemoteResource[] { remoteFile });
-		return remoteFile;
-	}
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#committed(org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo)
-	 */
-	public void checkedIn(String info, boolean commit) {
-		// do nothing
-	}
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#isEdited()
-	 */
-	public boolean isEdited() {
-		return false;
-	}
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#getSyncBytes()
-	 */
-	public byte[] getSyncBytes() {
-		return syncBytes;
-	}
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#setSyncBytes(byte[])
-	 */
-	public void setSyncBytes(byte[] syncBytes, int modificationState) {
-		if (fetching) {
-			RemoteFile file = (RemoteFile)getCachedHandle();
-			if (file == null) {
-				cacheHandle();
-			} else if (file != this) {
-				file.setSyncBytes(syncBytes, modificationState);
-			}
-		}
-		this.syncBytes = syncBytes;
-	}
-
-	public String toString() {
-		return super.toString() + " " + getRevision(); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.sync.IRemoteResource#getContentIdentifier()
-	 */
-	public String getContentIdentifier() {
-		return getRevision();
-	}
-
-	/**
-	 * Callback which indicates that the remote file is about to receive contents that should be cached
-	 * @param entryLine
-	 */
-	public void aboutToReceiveContents(byte[] entryLine) {
-		try {
-			// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=189025
-			entryLine = ResourceSyncInfo.setSlot(syncBytes, 3, new byte[0]);
-		} catch (CVSException e) {
-			// log it and proceed
-			CVSProviderPlugin.log(e);
-		}
-		setSyncBytes(entryLine, ICVSFile.CLEAN);
-		fetching = true;
-	}
-
-	/**
-	 * The contents for the file have already been provided.
-	 */
-	public void doneReceivingContents() {
-		fetching = false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.synchronize.ResourceVariant#isContentsCached()
-	 */
-	public boolean isContentsCached() {
-		// Made public for use by FileContentCachingService
-		return super.isContentsCached();
-	}
-
-	/**
-	 * Cache the contents of the given IFile as the contents for this remote file handle.
-	 * The caller must ensure that the local file is mapped to the same revision and is
-	 * not modified since it was loaded from CVS.
-	 * @param file
-	 * @throws CoreException
-	 * @throws TeamException
-	 */
-	public void setContents(IFile file, IProgressMonitor monitor) throws TeamException, CoreException {
-	    setContents(file.getContents(), monitor);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#setExecutable(boolean)
-	 */
-	public void setExecutable(boolean executable) throws CVSException {
-		// store executable bit;
-		this.executable = executable;
-		RemoteFile file = (RemoteFile)getCachedHandle();
-		if (file != this) {
-			file.setExecutable(executable);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFile#isExecutable()
-	 */
-	public boolean isExecutable() throws CVSException {
-		// return executable bit
-		return executable;
-	}
-	
-	public CachedResourceVariant getCachedHandle() {
-		return super.getCachedHandle();
-	}
-	
-	public Object getAdapter(Class adapter) {
-		if (adapter == IFileRevision.class)
-			return new CVSResourceVariantFileRevision(this);
-		return super.getAdapter(adapter);
-	}
-	
-	public CVSURI toCVSURI() {
-		ResourceSyncInfo info = getSyncInfo();
-		return new CVSURI(getRepository(), new Path(getRepositoryRelativePath()), info.getTag(), info.getRevision());
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolder.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolder.java
deleted file mode 100644
index 4d20bf4..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolder.java
+++ /dev/null
@@ -1,598 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.*;
-import org.eclipse.team.internal.ccvs.core.client.Command.GlobalOption;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-import org.eclipse.team.internal.ccvs.core.client.listeners.IUpdateMessageListener;
-import org.eclipse.team.internal.ccvs.core.client.listeners.UpdateListener;
-import org.eclipse.team.internal.ccvs.core.connection.CVSServerException;
-import org.eclipse.team.internal.ccvs.core.syncinfo.*;
-import org.eclipse.team.internal.ccvs.core.util.KnownRepositories;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-/**
- * This class provides the implementation of ICVSRemoteFolder
- * 
- * The parent of the RemoteFolder represents the folders parent in a local configuration.
- * For instance, the parent may correspond to the remote parent or may be a folder in the
- * same repository that has no physical relationship to the RemoteFolder (resulting from the use
- * of a module definition, for instance). A RemoteFolder may not have a parent, indicating that it is
- * the root of the local configuration it represents. 
- * 
- * A RemoteFolder has the following:
- *   A name in the folder's local configuration
- *   
- */
-public class RemoteFolder extends RemoteResource implements ICVSRemoteFolder, ICVSFolder {
-	
-	protected static final int CHILD_DOES_NOT_EXIST = 1000;
-	
-	protected FolderSyncInfo folderInfo;
-	private ICVSRemoteResource[] children;
-	private ICVSRepositoryLocation repository;
-	
-	public static RemoteFolder fromBytes(IResource local, byte[] bytes) throws CVSException {
-		Assert.isNotNull(bytes);
-		Assert.isTrue(local.getType() != IResource.FILE);
-		FolderSyncInfo syncInfo = FolderSyncInfo.getFolderSyncInfo(bytes);
-		return new RemoteFolder(null, local.getName(), KnownRepositories.getInstance().getRepository(syncInfo.getRoot()), syncInfo.getRepository(), syncInfo.getTag(), syncInfo.getIsStatic());
-	}
-	
-	/**
-	 * Constructor for RemoteFolder.
-	 */
-	public RemoteFolder(RemoteFolder parent, ICVSRepositoryLocation repository, String repositoryRelativePath, CVSTag tag) {
-		this(parent, 
-			repositoryRelativePath == null ? "" : Util.getLastSegment(repositoryRelativePath), //$NON-NLS-1$
-			repository,
-			repositoryRelativePath,
-			tag, 
-			false);	
-	}
-	
-	public RemoteFolder(RemoteFolder parent, String name, ICVSRepositoryLocation repository, String repositoryRelativePath, CVSTag tag, boolean isStatic) {
-		super(parent, name);
-		if (repository != null) {
-			this.folderInfo = new FolderSyncInfo(repositoryRelativePath.toString(), repository.getLocation(false), tag, isStatic);
-		}
-		this.repository = repository;	
-	}
-	
-	/**
-	 * @see ICVSResource#accept(ICVSResourceVisitor)
-	 */
-	public void accept(ICVSResourceVisitor visitor) throws CVSException {
-		visitor.visitFolder(this);
-	}
-
-	/**
-	 * @see ICVSResource#accept(ICVSResourceVisitor, boolean)
-	 */
-	public void accept(ICVSResourceVisitor visitor, boolean recurse) throws CVSException {
-		visitor.visitFolder(this);
-		ICVSResource[] resources;
-		if (recurse) {
-			resources = members(ICVSFolder.ALL_MEMBERS);
-		} else {
-			resources = members(ICVSFolder.FILE_MEMBERS);
-		}
-		for (int i = 0; i < resources.length; i++) {
-			resources[i].accept(visitor, recurse);
-		}
-	}
-	
-	/*
-	 * @see ICVSRemoteResource#exists(IProgressMonitor)
-	 */
-	public boolean exists(IProgressMonitor monitor) throws TeamException {
-		try {
-			members(monitor);
-			return true;
-		} catch (CVSException e) {
-			if (e.getStatus().getCode() == CVSStatus.DOES_NOT_EXIST) {
-				return false;
-			} else {
-				throw e;
-			}
-		}
-	}
-
-	/*
-	 * Check whether the given resource is a child of the receiver remotely
-	 */
-	protected boolean exists(ICVSRemoteResource child, IProgressMonitor monitor) throws CVSException {
-		return exists(child, getTag(), monitor);
-	}
-	
-	/*
-	 * Check whether the child exists for the given tag. This additional method is required because
-	 * CVS will signal an error if a folder only contains subfolders when a tag is used. If we get this
-	 * error and we're looking for a folder, we need to reissue the command without a tag.
-	 */
-	protected boolean exists(final ICVSRemoteResource child, CVSTag tag, IProgressMonitor monitor) throws CVSException {
-		final IProgressMonitor progress = Policy.monitorFor(monitor);
-		progress.beginTask(CVSMessages.RemoteFolder_exists, 100); 
-		try {
-			// Create the listener for remote files and folders
-			final boolean[] exists = new boolean[] {true};
-			final IUpdateMessageListener listener = new IUpdateMessageListener() {
-				public void directoryInformation(ICVSFolder parent, String path, boolean newDirectory) {
-					exists[0] = true;
-				}
-				public void directoryDoesNotExist(ICVSFolder parent, String path) {
-					exists[0] = false;
-				}
-				public void fileInformation(int type, ICVSFolder parent, String filename) {
-					// We can't set exists true here as we may get a conflict on a deleted file.
-					// i.e. remote files are always communicated to the server as modified.
-					if (type == Update.STATE_ADDED_LOCAL)
-						exists[0] = false;
-				}
-				public void fileDoesNotExist(ICVSFolder parent, String filename) {
-					exists[0] = false;
-				}
-			};
-			
-			// Build the local options
-			final List localOptions = new ArrayList();
-			localOptions.add(Update.RETRIEVE_ABSENT_DIRECTORIES);
-			if (tag != null && tag.getType() != CVSTag.HEAD)
-				localOptions.add(Update.makeTagOption(tag));
-			
-			// Retrieve the children and any file revision numbers in a single connection
-			// Perform a "cvs -n update -d -r tagName folderName" with custom message and error handlers
-			boolean retry = false;
-			Session session = new Session(getRepository(), this, false /* output to console */);
-			session.open(Policy.subMonitorFor(progress, 10), false /* read-only */);
-			try {
-				IStatus status = Command.UPDATE.execute(
-					session,
-					new GlobalOption[] { Command.DO_NOT_CHANGE },
-					(LocalOption[]) localOptions.toArray(new LocalOption[localOptions.size()]),
-					new ICVSResource[] { child }, new UpdateListener(listener),
-					Policy.subMonitorFor(progress, 70));
-				if (status.getCode() == CVSStatus.SERVER_ERROR) {
-					CVSServerException e = new CVSServerException(status);
-					if (e.isNoTagException() && child.isContainer()) {
-						retry = true;
-					} else {
-						if (e.containsErrors()) {
-							throw e;
-						}
-					}
-				}
-			} finally {
-				session.close();
-			}
-
-			// We now know that this is an exception caused by a cvs bug.
-			// If the folder has no files in it (just subfolders) CVS does not respond with the subfolders...
-			// Workaround: Retry the request with no tag to get the directory names (if any)
-			if (retry) {
-				Policy.checkCanceled(progress);
-				return exists(child, null, Policy.subMonitorFor(progress, 20));
-			}
-			return exists[0];
-		} finally {
-			progress.done();
-		}
-	}
-
-	/**
-	 * @see ICVSRemoteFolder#getMembers()
-	 */
-	public ICVSRemoteResource[] getMembers(IProgressMonitor monitor) throws TeamException {
-		return getMembers(getTag(), monitor);
-	}
-
-	/**
-	 * This method gets the members for a given tag and returns them.
-	 * During the execution of this method, the instance variable children
-	 * will be used to contain the children. However, the variable is reset
-	 * and the result returned. Thus, instances of RemoteFolder do not
-	 * persist the children. Subclasses (namely RemoteFolderTree) may
-	 * persist the children.
-	 */
-	protected ICVSRemoteResource[] getMembers(CVSTag tag, IProgressMonitor monitor) throws CVSException {
-		// Fetch the children
-		RemoteFolderMemberFetcher fetcher = new RemoteFolderMemberFetcher(this, tag);
-		fetcher.fetchMembers(Policy.monitorFor(monitor));
-		// children is assigned in the InternalRemoteFolderMembersFetcher
-		return children;
-	}
-
-	/**
-	 * @see ICVSFolder#members(int)
-	 */
-	public ICVSResource[] members(int flags) throws CVSException {		
-		final List result = new ArrayList();
-		ICVSRemoteResource[] resources = getChildren();
-		if (children == null) {
-			return new ICVSResource[0];
-		}
-		// RemoteFolders never have phantom members
-		if ((flags & EXISTING_MEMBERS) == 0 && (flags & PHANTOM_MEMBERS) == PHANTOM_MEMBERS) {
-			return new ICVSResource[0];
-		}
-		boolean includeFiles = (((flags & FILE_MEMBERS) != 0) || ((flags & (FILE_MEMBERS | FOLDER_MEMBERS)) == 0));
-		boolean includeFolders = (((flags & FOLDER_MEMBERS) != 0) || ((flags & (FILE_MEMBERS | FOLDER_MEMBERS)) == 0));
-		boolean includeManaged = (((flags & MANAGED_MEMBERS) != 0) || ((flags & (MANAGED_MEMBERS | UNMANAGED_MEMBERS | IGNORED_MEMBERS)) == 0));
-		boolean includeUnmanaged = (((flags & UNMANAGED_MEMBERS) != 0) || ((flags & (MANAGED_MEMBERS | UNMANAGED_MEMBERS | IGNORED_MEMBERS)) == 0));
-		boolean includeIgnored = ((flags & IGNORED_MEMBERS) != 0);
-		for (int i = 0; i < resources.length; i++) {
-			ICVSResource cvsResource = resources[i];
-			if ((includeFiles && ( ! cvsResource.isFolder())) 
-					|| (includeFolders && (cvsResource.isFolder()))) {
-				boolean isManaged = cvsResource.isManaged();
-				boolean isIgnored = cvsResource.isIgnored();
-				if ((isManaged && includeManaged)|| (isIgnored && includeIgnored)
-						|| ( ! isManaged && ! isIgnored && includeUnmanaged)) {
-					result.add(cvsResource);
-				}
-						
-			}		
-		}
-		return (ICVSResource[]) result.toArray(new ICVSResource[result.size()]);
-	}
-	
-	/**
-	 * @see ICVSFolder#getFolder(String)
-	 */
-	public ICVSFolder getFolder(String name) throws CVSException {
-		if (name.equals(Session.CURRENT_LOCAL_FOLDER) || name.equals(Session.CURRENT_LOCAL_FOLDER + Session.SERVER_SEPARATOR))
-			return this;
-		ICVSResource child = getChild(name);
-		if (child.isFolder())
-			return (ICVSFolder)child;
-		IStatus status = new CVSStatus(IStatus.ERROR, CHILD_DOES_NOT_EXIST, NLS.bind(CVSMessages.RemoteFolder_invalidChild, new String[] { name, getName() }),child.getIResource());
-		throw new CVSException(status); 
-	}
-
-	/**
-	 * @see ICVSFolder#getFile(String)
-	 */
-	public ICVSFile getFile(String name) throws CVSException {
-		ICVSResource child = getChild(name);
-		if (!child.isFolder())
-			return (ICVSFile)child;
-		IStatus status = new CVSStatus(IStatus.ERROR, CHILD_DOES_NOT_EXIST, NLS.bind(CVSMessages.RemoteFolder_invalidChild, new String[] { name, getName() }),child.getIResource());
-		throw new CVSException(status); 
-	}
-
-	public LocalOption[] getLocalOptions() {
-		return Command.NO_LOCAL_OPTIONS;
-	}
-	
-	public String getRepositoryRelativePath() {
-		// The REPOSITORY property of the folder info is the repository relative path
-		return getFolderSyncInfo().getRepository();
-	}
-	
-	/**
-	 * @see ICVSResource#getRelativePath(ICVSFolder)
-	 */
-	public String getRelativePath(ICVSFolder ancestor) throws CVSException {
-		// Check to see if the receiver is the ancestor
-		if (ancestor == this) return Session.CURRENT_LOCAL_FOLDER;
-		// Otherwise, we need a parent to continue
-		if (parent == null) {
-			IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.ERROR, NLS.bind(CVSMessages.RemoteFolder_invalidChild, new String[] { getName(), ancestor.getName() }),this);
-			throw new CVSException(status); 
-		}
-		return super.getRelativePath(ancestor);
-	}
-	
-	public ICVSRepositoryLocation getRepository() {
-		return repository;
-	}
-	
-	/**
-	 * @see ICVSRemoteFolder#isExpandable()
-	 */
-	public boolean isExpandable() {
-		return true;
-	}
-	
-	/**
-	 * @see ICVSResource#isFolder()
-	 */
-	public boolean isFolder() {
-		return true;
-	}
-	
-	/**
-	 * @see ICVSFolder#childExists(String)
-	 */
-	public boolean childExists(String path) {
-		try {
-			return getChild(path) != null;
-		} catch (CVSException e) {
-			return false;
-		}
-	}
-
-	/**
-	 * @see ICVSFolder#getChild(String)
-	 * 
-	 * This getChild is geared to work with the Command hierarchy. Therefore it only returns 
-	 * children that were previously fetched by a call to getMembers(). If the request child
-	 * does not exist, an exception is thrown.
-	 */
-	public ICVSResource getChild(String path) throws CVSException {
-		if (path.equals(Session.CURRENT_LOCAL_FOLDER) || path.length() == 0)
-			return this;
-		if (path.indexOf(Session.SERVER_SEPARATOR) != -1) {
-			IPath p = new Path(null, path);
-			try {
-				return ((RemoteFolder)getChild(p.segment(0))).getChild(p.removeFirstSegments(1).toString());
-			} catch (CVSException e) {
-				// regenerate the exception to give as much info as possible
-				IStatus status = new CVSStatus(IStatus.ERROR, CHILD_DOES_NOT_EXIST, NLS.bind(CVSMessages.RemoteFolder_invalidChild, new String[] { path, getName() }),e,repository);
-				throw new CVSException(status);
-			}
-		} else {
-			ICVSRemoteResource[] children = getChildren();
-			if (children == null){ 
-				IStatus status = new CVSStatus(IStatus.ERROR, CHILD_DOES_NOT_EXIST, NLS.bind(CVSMessages.RemoteFolder_invalidChild, new String[] { path, getName() }),repository);
-				throw new CVSException(status);
-			}
-			for (int i=0;i<children.length;i++) {
-				if (children[i].getName().equals(path))
-					return children[i];
-			}
-		}
-		IStatus status = new CVSStatus(IStatus.ERROR, CHILD_DOES_NOT_EXIST, NLS.bind(CVSMessages.RemoteFolder_invalidChild, new String[] { path, getName() }),repository);
-		throw new CVSException(status);
-	}
-
-	/**
-	 * @see ICVSFolder#mkdir()
-	 */
-	public void mkdir() throws CVSException {
-		IStatus status = new CVSStatus(IStatus.ERROR, CVSMessages.RemoteResource_invalidOperation);
-		throw new CVSException(status);
-	}
-
-	/**
-	 * @see ICVSFolder#flush(boolean)
-	 */
-	public void flush(boolean deep) {
-	}
-
-	/**
-	 * @see ICVSFolder#getFolderInfo()
-	 */
-	public FolderSyncInfo getFolderSyncInfo() {
-		return folderInfo;
-	}
-
-	/**
-	 * @see ICVSResource#getRemoteLocation(ICVSFolder)
-	 */
-	public String getRemoteLocation(ICVSFolder stopSearching) throws CVSException {
-		if (folderInfo == null) {
-			return Util.appendPath(parent.getRemoteLocation(stopSearching), getName());
-		}
-		return folderInfo.getRemoteLocation();
-	}
-	
-	/**
-	 * @see ICVSFolder#isCVSFolder()
-	 */
-	public boolean isCVSFolder() {
-		return folderInfo != null;
-	}
-
-	/**
-	 * @see ICVSFolder#acceptChildren(ICVSResourceVisitor)
-	 */
-	public void acceptChildren(ICVSResourceVisitor visitor) throws CVSException {
-		IStatus status = new CVSStatus(IStatus.ERROR, CVSMessages.RemoteResource_invalidOperation);
-		throw new CVSException(status);		
-	}
-	
-	/*
-	 * @see IRemoteResource#isContainer()
-	 */
-	public boolean isContainer() {
-		return true;
-	}
-	
-	/*
-	 * @see IRemoteResource#members(IProgressMonitor)
-	 */
-	public ICVSRemoteResource[] members(IProgressMonitor progress) throws TeamException {
-		return getMembers(progress);
-	}
-
-	/*
-	 * Answers the immediate cached children of this remote folder or null if the remote folder
-	 * handle has not yet queried the server for the its children.
-	 */	
-	public ICVSRemoteResource[] getChildren() {
-		return children;
-	}
-	/*
-	 * This allows subclass to set the children
-	 */
-	protected void setChildren(ICVSRemoteResource[] children) {
-		this.children = children;
-	}
-	/*
-	 * @see ICVSRemoteFolder#setTag(String)
-	 */
-	public void setTag(CVSTag tag) {
-        MutableFolderSyncInfo newInfo = folderInfo.cloneMutable();
-        newInfo.setTag(tag);
-        setFolderSyncInfo(newInfo);
-	}
-
-	/*
-	 * @see ICVSRemoteFolder#getTag()
-	 */
-	public CVSTag getTag() {
-		if (folderInfo == null) return null;
-		return folderInfo.getTag();
-	}
-	/*
-	 * @see ICVSFolder#setFolderInfo(FolderSyncInfo)
-	 */
-	public void setFolderSyncInfo(FolderSyncInfo folderInfo) {
-		this.folderInfo = folderInfo.asImmutable();
-	}
-	
-	/*
-	 * @see ICVSFolder#run(ICVSRunnable, IProgressMonitor)
-	 */
-	public void run(ICVSRunnable job, IProgressMonitor monitor) throws CVSException {
-		job.run(monitor);
-	}
-	
-	/*
-	 * @see ICVSFolder#tag(CVSTag, LocalOption[], IProgressMonitor)
-	 */
-	public IStatus tag(final CVSTag tag, final LocalOption[] localOptions, IProgressMonitor monitor) throws CVSException {
-		monitor = Policy.monitorFor(monitor);
-		monitor.beginTask(null, 100);
-		Session session = new Session(getRepository(), this, true /* output to console */);
-		session.open(Policy.subMonitorFor(monitor, 10), true /* open for modification */);
-		try {
-			return Command.RTAG.execute(
-				session,
-				Command.NO_GLOBAL_OPTIONS,
-				localOptions,
-				folderInfo.getTag(),
-				tag,
-				new ICVSRemoteResource[] { RemoteFolder.this },
-			Policy.subMonitorFor(monitor, 90));
-		} finally {
-			session.close();
-		}
-	 }
-	 
-	/**
-	 * @see ICVSFolder#fetchChildren(IProgressMonitor)
-	 */
-	public ICVSResource[] fetchChildren(IProgressMonitor monitor) throws CVSException {
-		try {
-			return getMembers(monitor);
-		} catch(TeamException e) {
-			throw new CVSException(e.getStatus());
-		}
-	}
-	
-	public boolean equals(Object target) {
-		if ( ! super.equals(target)) return false;
-		RemoteFolder folder = (RemoteFolder)target;
-		// A simple folder is never equal to a defined module
-		if (folder.isDefinedModule() != isDefinedModule()) return false;
-		CVSTag tag1 = getTag();
-		CVSTag tag2 = folder.getTag();
-		if (tag1 == null) tag1 = CVSTag.DEFAULT;
-		if (tag2 == null) tag2 = CVSTag.DEFAULT;
-		return tag1.equals(tag2);
-	}
-	
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		CVSTag tag = getTag();
-		if (tag == null) tag = CVSTag.DEFAULT;
-		return super.hashCode() | tag.getName().hashCode();
-	}
-	
-	/*
-	 * The given root must be an ancestor of the receiver (or the receiver)
-	 * and the path of the receiver must be a prefix of the provided path.
-	 */
-	protected IPath getRelativePathFromRootRelativePath(ICVSFolder root, IPath path) throws CVSException {
-		// If the root is the receiver, then the path is already relative to the receiver
-		if (root == this) {
-			return path;
-		}
-		Assert.isTrue( ! path.isEmpty());
-		return getRelativePathFromRootRelativePath((ICVSFolder)root.getChild(path.segment(0)), path.removeFirstSegments(1));
-	}
-
-	/**
-	 * @see ICVSRemoteFolder#forTag(CVSTag)
-	 */
-	public ICVSRemoteResource forTag(ICVSRemoteFolder parent, CVSTag tagName) {
-		return new RemoteFolder((RemoteFolder)parent, getName(), repository, folderInfo.getRepository(), tagName, folderInfo.getIsStatic());
-	}
-	
-	/**
-	 * @see ICVSRemoteFolder#forTag(CVSTag)
-	 */
-	public ICVSRemoteResource forTag(CVSTag tagName) {
-		return (ICVSRemoteFolder)forTag(null, tagName);
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSRemoteFolder#isDefinedModule()
-	 */
-	public boolean isDefinedModule() {
-		return false;
-	}
-	
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.resources.RemoteResource#getSyncInfo()
-	 */
-	public ResourceSyncInfo getSyncInfo() {
-		return new ResourceSyncInfo(getName());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.resources.RemoteResource#getSyncBytes()
-	 */
-	public byte[] getSyncBytes() {
-		try {
-			return folderInfo.getBytes();
-		} catch (CVSException e) {
-			// This shouldn't even happen
-			return null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.sync.IRemoteResource#getContentIdentifier()
-	 */
-	public String getContentIdentifier() {
-		return getTag().getName();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSResource#isManaged()
-	 */
-	public boolean isManaged() {
-		return super.isManaged() && isCVSFolder();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.synchronize.ResourceVariant#fetchContents(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void fetchContents(IProgressMonitor monitor) throws TeamException {
-		// This should not get called for folders
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderMemberFetcher.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderMemberFetcher.java
deleted file mode 100644
index 3203305..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderMemberFetcher.java
+++ /dev/null
@@ -1,318 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.*;
-import org.eclipse.team.internal.ccvs.core.client.Command.*;
-import org.eclipse.team.internal.ccvs.core.client.listeners.*;
-import org.eclipse.team.internal.ccvs.core.connection.CVSServerException;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-/**
- * Fetch the children for the given parent folder. When fetchMembers is invoked,
- * the children of the folder will be fecthced from the server and assigned to
- * the children of the parent folder.
- */
-public class RemoteFolderMemberFetcher implements IUpdateMessageListener, IStatusListener {
-	
-	private final RemoteFolder parentFolder;
-	private CVSTag tag;
-	
-	List folders = new ArrayList(); // RemoteFolder
-	List files = new ArrayList(); // RemoteFile
-	boolean exists = true;
-	List exceptions = new ArrayList(); // CVSException
-	
-	protected RemoteFolderMemberFetcher(RemoteFolder parentFolder, CVSTag tag) {
-		this.tag = tag;
-		this.parentFolder = parentFolder;
-	}
-	
-	/**
-	 * Fetch the members for a given tag and returns them.
-	 * During the execution of this method, the instance variable children
-	 * will be used to contain the children. However, the variable is reset
-	 * and the result returned. Thus, instances of RemoteFolder do not
-	 * persist the children. Subclasses (namely RemoteFolderTree) may
-	 * persist the children.
-	 */
-	public void fetchMembers(IProgressMonitor monitor) throws CVSException {
-		fetchMembers(monitor, tag);
-	}
-	public void fetchMembers(IProgressMonitor monitor, CVSTag tag) throws CVSException {
-		final IProgressMonitor progress = Policy.monitorFor(monitor);
-		progress.beginTask(CVSMessages.RemoteFolder_getMembers, 100); 
-		try {
-			// Update the parent folder children so there are no children
-			updateParentFolderChildren();
-			// Perform an update to retrieve the child files and folders
-			IStatus status = performUpdate(Policy.subMonitorFor(progress, 50), tag);
-			// Update the parent folder with the new children
-			updateParentFolderChildren();
-			Policy.checkCanceled(monitor);
-			
-			// Handle any errors that were identified by the listener
-			performErrorCheck(status, CVSMessages.RemoteFolder_errorFetchingMembers); 
-			
-			// Get the revision numbers for the files
-			ICVSFile[] remoteFiles = getFiles();
-			if (remoteFiles.length > 0) {
-				updateFileRevisions(remoteFiles, Policy.subMonitorFor(progress, 50));
-			} else {
-				progress.worked(50);
-			}
-		} catch (CVSServerException e) {
-			if ( ! e.isNoTagException() && e.containsErrors())
-				throw e;
-			if (tag == null)
-				throw e;
-			// we now know that this is an exception caused by a cvs bug.
-			// if the folder has no files in it (just subfolders) cvs does not respond with the subfolders...
-			// workaround: retry the request with no tag to get the directory names (if any)
-			Policy.checkCanceled(progress);
-			fetchMembers(Policy.subMonitorFor(progress, 50), null);
-		} finally {
-			progress.done();
-		}
-	}
-
-	protected IStatus performUpdate(IProgressMonitor progress, CVSTag tag) throws CVSException {
-		progress.beginTask(null, 100);
-		Session session = new Session(parentFolder.getRepository(), parentFolder, false /* output to console */);
-		session.open(Policy.subMonitorFor(progress, 10), false /* read-only */);
-		try {
-			// Build the local options
-			final List localOptions = new ArrayList();
-			localOptions.add(Update.RETRIEVE_ABSENT_DIRECTORIES);
-			if (tag != null) localOptions.add(Update.makeTagOption(tag));
-			
-			return Command.UPDATE.execute(
-				session,
-				new GlobalOption[] { Command.DO_NOT_CHANGE },
-				(LocalOption[])localOptions.toArray(new LocalOption[localOptions.size()]),
-				new ICVSResource[] { parentFolder },
-				new UpdateListener(this),
-			Policy.subMonitorFor(progress, 90));
-		} finally {
-			session.close();
-		}
-	}
-	
-	protected void updateFileRevisions(final ICVSFile[] files, IProgressMonitor monitor) throws CVSException {
-			
-		// Perform a "cvs status..." with a listener
-		monitor = Policy.monitorFor(monitor);
-		monitor.beginTask(null, 100);
-		QuietOption quietness = CVSProviderPlugin.getPlugin().getQuietness();
-		try {
-			CVSProviderPlugin.getPlugin().setQuietness(Command.VERBOSE);
-			Session session = new Session(parentFolder.getRepository(), parentFolder, false /* output to console */);
-			session.open(Policy.subMonitorFor(monitor, 10), false /* read-only */);
-			try {
-				IStatus status = Command.STATUS.execute(
-					session,
-					Command.NO_GLOBAL_OPTIONS,
-					Command.NO_LOCAL_OPTIONS,
-					files,
-					new StatusListener(this),
-					Policy.subMonitorFor(monitor, 90));
-				performErrorCheck(status, CVSMessages.RemoteFolder_errorFetchingRevisions); 
-				// TODO: Ensure all files have a revision?
-			} finally {
-				session.close();
-			}
-		} finally {
-			CVSProviderPlugin.getPlugin().setQuietness(quietness);
-		}
-	}
-
-	private void performErrorCheck(IStatus status, String errorTitle) throws CVSException {
-		if (status.getCode() == CVSStatus.SERVER_ERROR) {
-			// Only throw the exception if no files or folders were found
-			if (folders.size() + files.size() == 0) {
-				throw new CVSServerException(status);
-			} else {
-				CVSProviderPlugin.log(new CVSServerException(status));
-			}	
-		}
-		if (!exists) {
-			IStatus notExistStatus = new CVSStatus(IStatus.ERROR, CVSStatus.DOES_NOT_EXIST, NLS.bind(CVSMessages.RemoteFolder_doesNotExist, new String[] { this.parentFolder.getRepositoryRelativePath() }), parentFolder);
-			throw new CVSException(notExistStatus); 
-		}
-		
-		// Report any internal exceptions that occured fetching the members
-		if ( ! exceptions.isEmpty()) {
-			if (exceptions.size() == 1) {
-				throw (CVSException)exceptions.get(0);
-			} else {
-				MultiStatus multi = new MultiStatus(CVSProviderPlugin.ID, 0, errorTitle, null);
-				for (int i = 0; i < exceptions.size(); i++) {
-					multi.merge(((CVSException)exceptions.get(i)).getStatus());
-				}
-				throw new CVSException(multi);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.listeners.IUpdateMessageListener#directoryInformation(org.eclipse.team.internal.ccvs.core.ICVSFolder, java.lang.String, boolean)
-	 */
-	public void directoryInformation(ICVSFolder commandRoot, String stringPath, boolean newDirectory) {
-		try {
-			IPath path = this.parentFolder.getRelativePathFromRootRelativePath(commandRoot, new Path(null, stringPath));
-			if (path.segmentCount() == 1) {
-			    String pathName = path.lastSegment();
-			    if (!pathName.equals(".")) { //$NON-NLS-1$
-			        recordFolder(path.lastSegment());
-			    }
-			}
-		} catch (CVSException e) {
-			exceptions.add(e);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.listeners.IUpdateMessageListener#directoryDoesNotExist(org.eclipse.team.internal.ccvs.core.ICVSFolder, java.lang.String)
-	 */
-	public void directoryDoesNotExist(ICVSFolder parent, String stringPath) {
-		try {
-			IPath path = this.parentFolder.getRelativePathFromRootRelativePath(parent, new Path(null, stringPath));
-			if (path.isEmpty()) {
-				parentDoesNotExist();
-			}
-		} catch (CVSException e) {
-			exceptions.add(e);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.listeners.IUpdateMessageListener#fileInformation(int, org.eclipse.team.internal.ccvs.core.ICVSFolder, java.lang.String)
-	 */
-	public void fileInformation(int type, ICVSFolder parent, String filename) {
-		try {
-			IPath filePath = new Path(null, filename);
-			filePath = this.parentFolder.getRelativePathFromRootRelativePath(parent, filePath);	
-			if( filePath.segmentCount() == 1 ) {
-				String properFilename = filePath.lastSegment();
-				recordFile(properFilename);
-			}
-		} catch (CVSException e) {
-			exceptions.add(e);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.listeners.IUpdateMessageListener#fileDoesNotExist(org.eclipse.team.internal.ccvs.core.ICVSFolder, java.lang.String)
-	 */
-	public void fileDoesNotExist(ICVSFolder parent, String filename) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.client.listeners.IStatusListener#fileStatus(org.eclipse.team.internal.ccvs.core.ICVSFolder, java.lang.String, java.lang.String)
-	 */
-	public void fileStatus(ICVSFolder commandRoot, String path, String remoteRevision) {
-		if (remoteRevision == IStatusListener.FOLDER_REVISION)
-			// Ignore any folders
-			return;
-		try {
-			((RemoteFile)parentFolder.getChild(Util.getLastSegment(path))).setRevision(remoteRevision);
-		} catch (CVSException e) {
-			exceptions.add(e);
-		}
-	}
-	
-	/**
-	 * This method is invoked for each child folder as the reponses are being recieved from
-	 * the server. Default behavior is to record the folder for later retrieval using <code>getChilren()</code>. 
-	 * Subclasses may override but should invoke the inherited method to ensure the folder gets recorded.
-	 * @param name the name of the child folder
-	 */
-	protected RemoteFolder recordFolder(String name) {
-		RemoteFolder folder = new RemoteFolder(
-			parentFolder, 
-			parentFolder.getRepository(), 
-			Util.appendPath(parentFolder.getRepositoryRelativePath(), name), 
-			tag);
-		folders.add(folder);
-		return folder;
-	}
-
-	/**
-	 * This method is invoked for each child file as the reponses are being recieved from
-	 * the server. Default behavior is to record the file for later retrieval using <code>getChildren()</code>. 
-	 * Subclasses may override but should invoke the inherited method to ensure the file gets recorded.
-	 * This is important because the file revisions for any files are fetched subsequent to the fecthing
-	 * of the children.
-	 * @param name the name of the child folder
-	 */
-	protected RemoteFile recordFile(String name) {
-		RemoteFile file = new RemoteFile(
-			parentFolder, 
-			Update.STATE_NONE, 
-			name, 
-			null, /* revision unknown */
-			null, /* keyword mode unknown */
-			tag);
-		files.add(file);
-		return file;
-	}
-	
-	/**
-	 * This method is invoked to indicate that the parent beig queried for children
-	 * does not exist. Subclasses may override to get early notification of this but 
-	 * should still invoke the inherited method.
-	 */
-	protected void parentDoesNotExist() {
-		exists = false;
-	}
-
-	/**
-	 * Update the parent folder such that it's children are the
-	 * children that have been fecthed by the reciever.
-	 */
-	protected void updateParentFolderChildren() {
-		parentFolder.setChildren(getFetchedChildren());
-	}
-	
-	/**
-	 * Return the child files fetched from the server.
-	 * @return
-	 */
-	protected ICVSFile[] getFiles() {
-		return (ICVSFile[]) files.toArray(new ICVSFile[files.size()]);
-	}
-	
-	/**
-	 * Return an array of all fecthed children.
-	 * @return
-	 */
-	public ICVSRemoteResource[] getFetchedChildren() {
-		ICVSRemoteResource[] resources = new ICVSRemoteResource[folders.size() + files.size()];
-		int count = 0;
-		for (Iterator iter = folders.iterator(); iter.hasNext();) {
-			ICVSRemoteResource resource = (ICVSRemoteResource) iter.next();
-			resources[count++] = resource;
-		}
-		for (Iterator iter = files.iterator(); iter.hasNext();) {
-			ICVSRemoteResource resource = (ICVSRemoteResource) iter.next();
-			resources[count++] = resource;
-		}
-		return resources;
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderSandbox.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderSandbox.java
deleted file mode 100644
index 37799ed..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderSandbox.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Session;
-import org.eclipse.team.internal.ccvs.core.client.Update;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-
-/**
- * This specialized remote folder supports the creation of a cached sandbox.
- */
-public class RemoteFolderSandbox extends RemoteFolder {
-
-	public RemoteFolderSandbox(RemoteFolder parent, ICVSRepositoryLocation repository, String repositoryRelativePath, CVSTag tag) {
-		super(parent, repository, repositoryRelativePath, tag);
-		setChildren(new ICVSRemoteResource[0]);
-	}
-
-	public RemoteFolderSandbox(RemoteFolder parent, String name, CVSRepositoryLocation repository, String repositoryRelativePath, CVSEntryLineTag tag, boolean isStatic) {
-		super(parent, name, repository, repositoryRelativePath, tag, isStatic);
-		setChildren(new ICVSRemoteResource[0]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFolder#getFile(java.lang.String)
-	 */
-	public ICVSFile getFile(String name) throws CVSException {
-		try {
-			return super.getFile(name);
-		} catch (CVSException e) {
-			if (e.getStatus().getCode() == CHILD_DOES_NOT_EXIST) {
-				IPath path = new Path(null, name);
-				String fileName = path.lastSegment();
-				RemoteFolderSandbox parent = getParentFolder(path);
-				RemoteFile file = new RemoteFile(parent, Update.STATE_NONE, fileName, null, null, getTag());
-				parent.addChild(file);
-				return file;
-			}
-			throw e;
-		}
-	}
-	
-	private void addChild(RemoteResource resource) {
-		ICVSRemoteResource[] children = getChildren();
-		ICVSRemoteResource[] newChildren = new ICVSRemoteResource[children.length + 1];
-		System.arraycopy(children, 0, newChildren, 0, children.length);
-		newChildren[children.length] = resource;
-		setChildren(newChildren);
-	}
-
-	private RemoteFolderSandbox getParentFolder(IPath path) throws CVSException {
-		IPath parentPath = path.removeLastSegments(1);
-		String parentString;
-		if (parentPath.isEmpty()) {
-			parentString = Session.CURRENT_LOCAL_FOLDER;
-		} else {
-			parentString = path.removeLastSegments(1).toString();
-		}
-		RemoteFolderSandbox parent = (RemoteFolderSandbox)getFolder(parentString);
-		return parent;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFolder#getFolder(java.lang.String)
-	 */
-	public ICVSFolder getFolder(String name) throws CVSException {
-		try {
-			return super.getFolder(name);
-		} catch (CVSException e) {
-			if (e.getStatus().getCode() == CHILD_DOES_NOT_EXIST) {
-				IPath path = new Path(null, name);
-				RemoteFolderSandbox parent = getParentFolder(path);
-				String repoPath = new Path(null, parent.getRepositoryRelativePath()).append(path.lastSegment()).removeTrailingSeparator().toString();
-				RemoteFolderSandbox folder = new RemoteFolderSandbox(parent, getRepository(), repoPath, getTag());
-				parent.addChild(folder);
-				return folder;
-			}
-			throw e;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.resources.RemoteFolder#getMembers(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public ICVSRemoteResource[] getMembers(IProgressMonitor monitor) throws TeamException {
-		return getChildren();
-	}
-
-	/*
-	 * @see ICVSFolder#acceptChildren(ICVSResourceVisitor)
-	 */
-	public void acceptChildren(ICVSResourceVisitor visitor) throws CVSException {
-		ICVSRemoteResource[] children = getChildren();
-		if (children == null) return;
-		for (int i=0; i<children.length; i++) {
-			((ICVSResource)children[i]).accept(visitor);
-		}
-	}
-
-	public void remove(RemoteFile file) {
-		ICVSRemoteResource[] children = getChildren();
-		ArrayList results = new ArrayList();
-		for (int i = 0; i < children.length; i++) {
-			if (children[i] != file){
-				results.add(children[i]);
-			}
-		}
-		setChildren((ICVSRemoteResource[]) results.toArray(new ICVSRemoteResource[results.size()]));		
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderTree.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderTree.java
deleted file mode 100644
index 95ca71b..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderTree.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.util.KnownRepositories;
-
-/**
- * Whereas the RemoteFolder class provides access to a remote hierarchy using
- * lazy retrieval via <code>getMembers()</code>, the RemoteFolderTree will force 
- * a recursive retrieval of the remote hierarchy in one round trip.
- */
-public class RemoteFolderTree extends RemoteFolder  {
-	
-	public static RemoteFolderTree fromBytes(RemoteFolderTree parent, IResource local, byte[] bytes) throws CVSException {
-		Assert.isNotNull(bytes);
-		Assert.isTrue(local.getType() != IResource.FILE);
-		FolderSyncInfo syncInfo = FolderSyncInfo.getFolderSyncInfo(bytes);
-		return new RemoteFolderTree(parent, local.getName(), KnownRepositories.getInstance().getRepository(syncInfo.getRoot()), syncInfo.getRepository(), syncInfo.getTag(), syncInfo.getIsStatic());
-	}
-	
-	public RemoteFolderTree(RemoteFolder parent, ICVSRepositoryLocation repository, String repositoryRelativePath, CVSTag tag) {
-		super(parent, repository, repositoryRelativePath, tag);
-	}
-	
-	public RemoteFolderTree(RemoteFolder parent, String name, ICVSRepositoryLocation repository, String repositoryRelativePath, CVSTag tag) {
-		this(parent, name, repository, repositoryRelativePath, tag, false);
-	}
-
-	public RemoteFolderTree(RemoteFolder parent, String name, ICVSRepositoryLocation repository, String repositoryRelativePath, CVSTag tag, boolean isStatic) {
-		super(parent, name, repository, repositoryRelativePath, tag, isStatic);
-	}
-
-	/* 
-	 * Override of inherited method which persists the children
-	 */
-	public ICVSRemoteResource[] getMembers(CVSTag tagName, IProgressMonitor monitor) throws CVSException {
-		if (getChildren() == null)
-			setChildren(super.getMembers(tagName, monitor));
-		return getChildren();
-	}
-
-	/* 
-	 * This method is public to allow access by the RemoteFolderTreeBuilder utility class.
-	 * No other external classes should use this method.
-	 */
-	public void setChildren(ICVSRemoteResource[] children) {
-		super.setChildren(children);
-	}
-	
-	/*
-	 * @see ICVSFolder#acceptChildren(ICVSResourceVisitor)
-	 */
-	public void acceptChildren(ICVSResourceVisitor visitor) throws CVSException {
-		ICVSRemoteResource[] children = getChildren();
-		if (children == null) return;
-		for (int i=0; i<children.length; i++) {
-			((ICVSResource)children[i]).accept(visitor);
-		}
-	}
-}
-
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderTreeBuilder.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderTreeBuilder.java
deleted file mode 100644
index a2735be..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolderTreeBuilder.java
+++ /dev/null
@@ -1,822 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.*;
-import org.eclipse.team.internal.ccvs.core.client.Command.*;
-import org.eclipse.team.internal.ccvs.core.client.listeners.*;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.connection.CVSServerException;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-/*
- * This class is responsible for building a remote tree that shows the repository
- * state of a locally loaded folder tree.
- * 
- * It is used as follows
- * 
- * 		RemoteFolderTreeBuilder.buildRemoteTree(CVSRepositoryLocation, IManagedFolder, String, IProgressMonitor);
- * 
- * The provider IManagedFolder can be a local resource or a RemoteFolderTree that
- * that was previously built.
- */
-public class RemoteFolderTreeBuilder {
-
-	private static final int MAX_REVISION_FETCHES_PER_CONNECTION = 1024;
-	
-	private Map fileDeltas;
-	private List changedFiles;
-	private Map remoteFolderTable;
-	
-	private ICVSFolder root;
-	private RemoteFolderTree remoteRoot;
-	private CVSRepositoryLocation repository;
-	
-	private CVSTag tag;
-	
-	private LocalOption[] updateLocalOptions;
-	
-	private boolean rootDoesNotExist = false;
-	
-	private static String UNKNOWN = ""; //$NON-NLS-1$
-	private static String DELETED = "DELETED"; //$NON-NLS-1$
-	private static String ADDED = "ADDED"; //$NON-NLS-1$
-	private static String FOLDER = "FOLDER"; //$NON-NLS-1$
-	
-	private static Map EMPTY_MAP = new HashMap();
-	
-	private boolean newFolderExist = false;
-	
-	static class DeltaNode {
-		int syncState = Update.STATE_NONE;
-		String name;
-		String revision;
-		
-		DeltaNode(String name, String revision, int syncState) {
-			this.name = name;
-			this.revision = revision;
-			this.syncState = syncState;			
-		}
-		
-		String getName() {
-			return name;
-		}
-		
-		String getRevision() {
-			return revision;
-		}
-		
-		int getSyncState() {
-			return syncState;
-		}
-	}
-		
-	
-	/* package */ RemoteFolderTreeBuilder(CVSRepositoryLocation repository, ICVSFolder root, CVSTag tag) {
-		this.repository = repository;
-		this.root = root;
-		this.tag = tag;
-		this.fileDeltas = new HashMap();
-		this.changedFiles = new ArrayList();
-		this.remoteFolderTable = new HashMap();
-		
-		// Build the local options
-		List localOptions = new ArrayList();
-		if (tag != null) {
-			if (tag.getType() == CVSTag.HEAD) {
-				localOptions.add(Update.CLEAR_STICKY);
-			} else {
-				localOptions.add(Update.makeTagOption(tag));
-			}
-		}
-		updateLocalOptions = (LocalOption[])localOptions.toArray(new LocalOption[localOptions.size()]);
-	}
-	
-	private LocalOption[] getOptionsWithoutTag() {
-		// Build the local options
-		List localOptions = new ArrayList();
-		localOptions.add(Update.RETRIEVE_ABSENT_DIRECTORIES);
-		return (LocalOption[])localOptions.toArray(new LocalOption[localOptions.size()]);
-	}
-	
-	public static RemoteFolder buildBaseTree(CVSRepositoryLocation repository, ICVSFolder root, CVSTag tag, IProgressMonitor progress) throws CVSException {
-		try {
-			RemoteFolderTreeBuilder builder = new RemoteFolderTreeBuilder(repository, root, tag);
-			progress.beginTask(null, 100);
-			IProgressMonitor subProgress = Policy.infiniteSubMonitorFor(progress, 100);
-			subProgress.beginTask(null, 512);  
-			subProgress.subTask(NLS.bind(CVSMessages.RemoteFolderTreeBuilder_buildingBase, new String[] { root.getName() })); 
-	 		return builder.buildBaseTree(null, root, subProgress);
-		} finally {
-			progress.done();
-		}
-	}
-	
-	public static RemoteFolderTree buildRemoteTree(CVSRepositoryLocation repository, IContainer root, CVSTag tag, IProgressMonitor monitor) throws CVSException {
-		return buildRemoteTree(repository, CVSWorkspaceRoot.getCVSFolderFor(root), tag, monitor);
-	}
-	
-	public static RemoteFolderTree buildRemoteTree(CVSRepositoryLocation repository, ICVSFolder root, CVSTag tag, IProgressMonitor monitor) throws CVSException {
-		RemoteFolderTreeBuilder builder = new RemoteFolderTreeBuilder(repository, root, tag);
- 		return builder.buildTree(new ICVSResource[] { root }, monitor);
-	}
-	public static RemoteFile buildRemoteTree(CVSRepositoryLocation repository, ICVSFile file, CVSTag tag, IProgressMonitor monitor) throws CVSException {
-		RemoteFolderTreeBuilder builder = new RemoteFolderTreeBuilder(repository, file.getParent(), tag);
- 		return builder.buildTree(file, monitor);
-	}
-	
-	/* package */ RemoteFolderTree buildTree(ICVSResource[] resources, IProgressMonitor monitor) throws CVSException {
-		
-		// Make sure that the cvs commands are not quiet during this operations
-		QuietOption quietness = CVSProviderPlugin.getPlugin().getQuietness();
-		try {
-			CVSProviderPlugin.getPlugin().setQuietness(Command.VERBOSE);
-			
-			monitor.beginTask(null, 100);
-
-			// 1st Connection: Use local state to determine delta with server
-			if (!fetchDelta(resources, Policy.subMonitorFor(monitor, 75))) {
-				return null;
-			}
-			
-			// 2nd Connection: Build remote tree from above delta using 2nd connection to fetch unknown directories
-			// NOTE: Multiple commands may be issued over this connection.
-			fetchNewDirectories(Policy.subMonitorFor(monitor, 10));
-
-			//	3rd+ Connection: Used to fetch file status in groups of 1024
-			fetchFileRevisions(Policy.subMonitorFor(monitor, 15));
-			
-			return remoteRoot;
-			
-		} finally {
-			CVSProviderPlugin.getPlugin().setQuietness(quietness);
-			monitor.done();
-		}
-	}
-
-	private boolean fetchDelta(ICVSResource[] resources, IProgressMonitor monitor) throws CVSException {
-		
-		// Get the arguments from the files
-		ArrayList arguments = new ArrayList();
-		for (int i = 0; i < resources.length; i++) {
-			ICVSResource resource = resources[i];
-			arguments.add(resource.getRelativePath(root));
-		}
-		
-		// Use local state to determine delta with server
-		monitor.beginTask(null, 100);
-		Policy.checkCanceled(monitor);
-		Session session = new Session(repository, root, false);
-		session.open(Policy.subMonitorFor(monitor, 10), false /* read-only */);
-		try {
-			Policy.checkCanceled(monitor);
-			fetchDelta(session, (String[]) arguments.toArray(new String[arguments.size()]), Policy.subMonitorFor(monitor, 90));
-			if (rootDoesNotExist) {
-				// We cannot handle the case where a project (i.e. the top-most CVS folder)
-				// has been deleted directly on the sever (i.e. deleted using rm -rf)
-				if (root.isCVSFolder() && ! root.isManaged()) {
-					IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.ERROR, NLS.bind(CVSMessages.RemoteFolderTreeBuild_folderDeletedFromServer, new String[] { root.getFolderSyncInfo().getRepository() }),root);
-					throw new CVSException(status); 
-				} else {
-					return false;
-				}
-			}
-		} finally {
-			session.close();
-			monitor.done();
-		}
-		return true;
-	}
-
-	private void fetchNewDirectories(IProgressMonitor monitor) throws CVSException {
-		// Build remote tree from the fetched delta using a new connection to fetch unknown directories
-		// NOTE: Multiple commands may be issued over this connection.
-		monitor.beginTask(null, 100);
-		Session session;
-		FolderSyncInfo folderSyncInfo = root.getFolderSyncInfo();
-		if (folderSyncInfo == null) {
-		    // We've lost the mapping in the local workspace.
-		    // This could be due to the project being deleted.
-		    if (root.exists()) {
-		        IResource resource = root.getIResource();
-		        String path;
-		        if (resource == null) {
-		            path = root.getName();
-		        } else {
-		            path = resource.getFullPath().toString();
-		        }
-		        IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.ERROR, NLS.bind(CVSMessages.RemoteFolderTreeBuilder_0, new String[] { path }), root);
-                throw new CVSException(status); 
-		    } else {
-		        // Just return. The remote tree will be null
-		        return;
-		    }
-		}
-        remoteRoot =
-			new RemoteFolderTree(null, root.getName(), repository,
-				folderSyncInfo.getRepository(),
-				tagForRemoteFolder(root, tag));
-		if (newFolderExist) {
-			// New folders will require a connection for fetching their members
-			session = new Session(repository, remoteRoot, false);
-			session.open(Policy.subMonitorFor(monitor, 10), false /* read-only */);
-		} else {
-			session = null;
-		}
-		try {
-			// Set up an infinite progress monitor for the recursive build
-			IProgressMonitor subProgress = Policy.infiniteSubMonitorFor(monitor, 90);
-			subProgress.beginTask(null, 512);
-			// Build the remote tree
-			buildRemoteTree(session, root, remoteRoot, "", subProgress); //$NON-NLS-1$
-		} finally {
-			if (session != null) {
-				session.close();
-			}
-			monitor.done();
-		}
-	}
-	
-	private void fetchFileRevisions(IProgressMonitor monitor) throws CVSException {
-		// 3rd+ Connection: Used to fetch file status in groups of 1024
-		if (remoteRoot != null && !changedFiles.isEmpty()) {
-			String[] allChangedFiles = (String[])changedFiles.toArray(new String[changedFiles.size()]);
-			int iterations = (allChangedFiles.length / MAX_REVISION_FETCHES_PER_CONNECTION) 
-				+ (allChangedFiles.length % MAX_REVISION_FETCHES_PER_CONNECTION == 0 ? 0 : 1);
-			for (int i = 0; i < iterations ; i++) {
-				int length = Math.min(MAX_REVISION_FETCHES_PER_CONNECTION, 
-					allChangedFiles.length - (MAX_REVISION_FETCHES_PER_CONNECTION * i));
-				String buffer[] = new String[length];
-				System.arraycopy(allChangedFiles, i * MAX_REVISION_FETCHES_PER_CONNECTION, buffer, 0, length);
-				Session session = new Session(repository, remoteRoot, false);
-				session.open(Policy.subMonitorFor(monitor, 1), false /* read-only */);
-				try {
-					fetchFileRevisions(session, buffer, Policy.subMonitorFor(monitor, 2));
-				} finally {
-					session.close();
-				}
-			}
-		}
-	}
-	
-	/* package */ RemoteFile buildTree(ICVSFile file, IProgressMonitor monitor) throws CVSException {
-		QuietOption quietness = CVSProviderPlugin.getPlugin().getQuietness();
-		try {
-			CVSProviderPlugin.getPlugin().setQuietness(Command.VERBOSE);
-			
-			monitor.beginTask(null, 100);
-	
-			// Query the server to see if there is a delta available
-			Policy.checkCanceled(monitor);
-			Session session = new Session(repository, root, false);
-			session.open(Policy.subMonitorFor(monitor, 10), false /* read-only */);
-			try {
-				Policy.checkCanceled(monitor);
-				fetchDelta(session, new String[] { file.getName() }, Policy.subMonitorFor(monitor, 50));
-				if (rootDoesNotExist) {
-					return null;
-				}
-			} finally {
-				session.close();
-			}
-			// Create a parent for the remote resource
-			remoteRoot =
-				new RemoteFolderTree(null, root.getName(), repository,
-					root.getFolderSyncInfo().getRepository(),
-					tagForRemoteFolder(root, tag));
-			// Create the remote resource (using the delta if there is one)
-			RemoteFile remoteFile;
-			Map deltas = (Map)fileDeltas.get(""); //$NON-NLS-1$
-			if (deltas == null || deltas.isEmpty()) {
-				// If the file is an addition, return null as the remote
-				// Note: If there was a conflicting addition, the delta would not be empty
-				byte[] syncBytes = file.getSyncBytes();
-				if ( syncBytes == null || ResourceSyncInfo.isAddition(syncBytes)) {
-					return null;
-				}
-				remoteFile = new RemoteFile(remoteRoot, syncBytes);
-			} else {
-				DeltaNode d = (DeltaNode)deltas.get(file.getName());
-				if (d.getRevision() == DELETED) {
-					return null;
-				}
-				remoteFile = new RemoteFile(remoteRoot, 
-					d.getSyncState(), 
-					file.getName(), 
-					null, /* the revision will be retrieved from the server */
-					getKeywordMode(file), /* use the same keyword mode a the local file */
-					tagForRemoteFolder(remoteRoot, tag));
-			}
-			// Add the resource to its parent
-			remoteRoot.setChildren(new ICVSRemoteResource[] {remoteFile});
-			// If there was a delta, fetch the new revision
-			if (!changedFiles.isEmpty()) {
-				// Add the remote folder to the remote folder lookup table (used to update file revisions)
-				recordRemoteFolder(remoteRoot);
-				session = new Session(repository, remoteRoot, false);
-				session.open(Policy.subMonitorFor(monitor, 10), false /* read-only */);
-				try {
-					fetchFileRevisions(session, (String[])changedFiles.toArray(new String[changedFiles.size()]), Policy.subMonitorFor(monitor, 20));
-				} finally {
-					session.close();
-				}
-			}
-			return remoteFile;
-			
-		} finally {
-			CVSProviderPlugin.getPlugin().setQuietness(quietness);
-			monitor.done();
-		}
-	}
-	
-	private Command.KSubstOption getKeywordMode(ICVSFile file) throws CVSException {
-		if (file == null) return null;
-		byte[] syncBytes = file.getSyncBytes();
-		if (syncBytes == null) return null;
-		return ResourceSyncInfo.getKeywordMode(syncBytes);
-	}
-
-	/*
-	 * Build the base remote tree from the local tree.
-	 * 
-	 * The localPath is used to retrieve deltas from the recorded deltas
-	 * 
-	 * Does 1 work for each managed file and folder
-	 */
-	RemoteFolder buildBaseTree(RemoteFolder parent, ICVSFolder local, IProgressMonitor monitor) throws CVSException {
-		
-		Policy.checkCanceled(monitor);
-					
-		// Create a remote folder tree corresponding to the local resource
-		FolderSyncInfo folderSyncInfo = local.getFolderSyncInfo();
-		if (folderSyncInfo == null) return null;
-        RemoteFolder remote = createRemoteFolder(local, parent, folderSyncInfo);
-
-		// Create a List to contain the created children
-		List children = new ArrayList();
-		
-		// Build the child folders corresponding to local folders base
-		ICVSResource[] folders = local.members(ICVSFolder.FOLDER_MEMBERS);
-		for (int i=0;i<folders.length;i++) {
-			ICVSFolder folder = (ICVSFolder)folders[i];
-			if (folder.isManaged() && folder.isCVSFolder()) {
-				monitor.worked(1);
-				RemoteFolder tree = buildBaseTree(remote, folder, monitor);
-				if (tree != null)
-				    children.add(tree);
-			}
-		}
-		
-		// Build the child files corresponding to local files base
-		ICVSResource[] files = local.members(ICVSFolder.FILE_MEMBERS);
-		for (int i=0;i<files.length;i++) {
-			ICVSFile file = (ICVSFile)files[i];
-			byte[] syncBytes = file.getSyncBytes();
-			// if there is no sync info then there is no base
-			if (syncBytes==null)
-				continue;
-			// There is no remote if the file was added
-			if (ResourceSyncInfo.isAddition(syncBytes))
-				continue;
-			// If the file was deleted locally, we need to generate a new sync info without the delete flag
-			if (ResourceSyncInfo.isDeletion(syncBytes)) {
-				syncBytes = ResourceSyncInfo.convertFromDeletion(syncBytes);
-			}
-			children.add(createRemoteFile(remote, syncBytes));
-			monitor.worked(1);
-		}
-		
-		// Remove any folders that are phantoms locally if they have no children
-		if (children.isEmpty() && isPruneEmptyDirectories() && !local.exists())
-			return null;
-
-		// Add the children to the remote folder tree
-		remote.setChildren((ICVSRemoteResource[])children.toArray(new ICVSRemoteResource[children.size()]));
-		
-		return remote;
-	}
-
-	protected RemoteFile createRemoteFile(RemoteFolder remote, byte[] syncBytes) throws CVSException {
-		return new RemoteFile(remote, syncBytes);
-	}
-
-	protected RemoteFolder createRemoteFolder(ICVSFolder local, RemoteFolder parent, FolderSyncInfo folderSyncInfo) {
-		return new RemoteFolderTree(parent, local.getName(), repository, folderSyncInfo.getRepository(), folderSyncInfo.getTag());
-	}
-	
-	/*
-	 * Build the remote tree from the local tree and the recorded deltas.
-	 * 
-	 * The localPath is used to retrieve deltas from the recorded deltas
-	 * 
-	 * Does 1 work for each file and folder delta processed
-	 */
-	private void buildRemoteTree(Session session, ICVSFolder local, RemoteFolderTree remote, String localPath, IProgressMonitor monitor) throws CVSException {
-		
-		Policy.checkCanceled(monitor);
-		
-		// Add the remote folder to the remote folder lookup table (used to update file revisions)
-		recordRemoteFolder(remote);
-		
-		// Create a map to contain the created children
-		Map children = new HashMap();
-		
-		// If there's no corresponding local resource then we need to fetch its contents in order to populate the deltas
-		if (local == null) {
-			fetchNewDirectory(session, remote, localPath, monitor);
-		}
-		
-		// Fetch the delta's for the folder
-		Map deltas = (Map)fileDeltas.get(localPath);
-		if (deltas == null)
-			deltas = EMPTY_MAP;
-		
-		// If there is a local, use the local children to start building the remote children
-		if (local != null) {
-			// Build the child folders corresponding to local folders
-			ICVSResource[] folders = local.members(ICVSFolder.FOLDER_MEMBERS);
-			for (int i=0;i<folders.length;i++) {
-				ICVSFolder folder = (ICVSFolder)folders[i];
-				DeltaNode d = (DeltaNode)deltas.get(folder.getName());
-				if (folder.isCVSFolder() && ! isOrphanedSubtree(folder) && (d==null || d.getRevision() != DELETED)) {
-					children.put(folders[i].getName(), 
-						new RemoteFolderTree(remote, folders[i].getName(), repository, 
-							folder.getFolderSyncInfo().getRepository(), 
-							tagForRemoteFolder(folder,tag)));
-				}
-			}
-			// Build the child files corresponding to local files
-			ICVSResource[] files = local.members(ICVSFolder.FILE_MEMBERS);
-			for (int i=0;i<files.length;i++) {
-				ICVSFile file = (ICVSFile)files[i];
-
-				DeltaNode d = (DeltaNode)deltas.get(file.getName());
-				byte[] syncBytes = file.getSyncBytes();
-				// if there is no sync info then there isn't a remote file for this local file on the
-				// server.
-				if (syncBytes==null)
-					continue;
-				// There is no remote if the file was added and we didn't get a conflict (C) indicator from the server
-				if (ResourceSyncInfo.isAddition(syncBytes) && d==null)
-					continue;
-				// There is no remote if the file was deleted and we didn't get a remove (R) indicator from the server
-				if (ResourceSyncInfo.isDeletion(syncBytes) && d==null)
-					continue;
-					
-				int type = d==null ? Update.STATE_NONE : d.getSyncState();
-				children.put(file.getName(), new RemoteFile(remote, type, syncBytes));
-			}
-		}
-		
-		// Build the children for new or out-of-date resources from the deltas
-		Iterator i = deltas.keySet().iterator();
-		while (i.hasNext()) {
-			String name = (String)i.next();
-			DeltaNode d = (DeltaNode)deltas.get(name);
-			String revision = d.getRevision();
-			if (revision == FOLDER) {
-				children.put(name, new RemoteFolderTree(remote, repository, 
-					Util.appendPath(remote.getRepositoryRelativePath(), name), 
-					tagForRemoteFolder(remote, tag)));
-			} else if (revision == ADDED) {
-				children.put(name, new RemoteFile(remote, 
-					d.getSyncState(), 
-					name, 
-					null, /* the revision will be fetched later */
-					null, /* there's no way to know the remote keyword mode */
-					tagForRemoteFolder(remote, tag)));
-			} else if (revision == UNKNOWN) {
-				// The local resource is out of sync with the remote.
-				// Create a RemoteFile associated with the tag so we are assured of getting the proper revision
-				// (Note: this will replace the RemoteFile added from the local base)
-				children.put(name, new RemoteFile(remote, 
-					d.getSyncState(), 
-					name, 
-					null, /* the revision will be fetched later */
-					getKeywordMode((ICVSFile)children.get(name)), /* get the keyword mode from the local file*/
-					tagForRemoteFolder(remote, tag)));
-			} else if (revision == DELETED) {
-				// This should have been deleted while creating from the local resources.
-				// If it wasn't, delete it now.
-				if (children.containsKey(name))
-					children.remove(name);
-			} else {
-				// We should never get here
-			}
-			monitor.worked(1);
-		}
-
-		// Add the children to the remote folder tree
-		remote.setChildren((ICVSRemoteResource[])children.values().toArray(new ICVSRemoteResource[children.size()]));
-		
-		// We have to delay building the child folders to support the proper fetching of new directories
-		// due to the fact that the same CVS home directory (i.e. the same root directory) must
-		// be used for all requests sent over the same connection
-		Iterator childIterator = children.entrySet().iterator();
-		List emptyChildren = new ArrayList();
-		while (childIterator.hasNext()) {
-			Map.Entry entry = (Map.Entry)childIterator.next();
-			if (((RemoteResource)entry.getValue()).isFolder()) {
-				RemoteFolderTree remoteFolder = (RemoteFolderTree)entry.getValue();
-				String name = (String)entry.getKey();
-				ICVSFolder localFolder;
-				DeltaNode d = (DeltaNode)deltas.get(name);
-				// for directories that are new on the server 
-				if (d!=null && d.getRevision() == FOLDER)
-					localFolder = null;
-				else
-					localFolder = local.getFolder(name);
-				buildRemoteTree(session, localFolder, remoteFolder, Util.appendPath(localPath, name), monitor);
-				// Record any children that are empty
-				if (isPruneEmptyDirectories() && remoteFolder.getChildren().length == 0) {
-					// Prune if the local folder is also empty.
-					if (localFolder == null || (localFolder.members(ICVSFolder.ALL_EXISTING_MEMBERS).length == 0))
-						emptyChildren.add(remoteFolder);
-					else {
-						// Also prune if the tag we are fetching is not HEAD and differs from the tag of the local folder
-						FolderSyncInfo info = localFolder.getFolderSyncInfo();
-						if (tag != null && info != null && ! tag.equals(CVSTag.DEFAULT) && ! tag.equals(info.getTag()))
-							emptyChildren.add(remoteFolder);
-					}
-				}
-			}
-		}
-		
-		// Prune any empty child folders
-		if (isPruneEmptyDirectories() && !emptyChildren.isEmpty()) {
-			List newChildren = new ArrayList();
-			newChildren.addAll(Arrays.asList(remote.getChildren()));
-			newChildren.removeAll(emptyChildren);
-			remote.setChildren((ICVSRemoteResource[])newChildren.toArray(new ICVSRemoteResource[newChildren.size()]));
-
-		}
-	}
-	
-	/*
-	 * This method fetches the delta between the local state and the remote state of the resource tree
-	 * and records the deltas in the fileDeltas instance variable
-	 * 
-	 * Returns the list of changed files
-	 */
-	private List fetchDelta(Session session, String[] arguments, final IProgressMonitor monitor) throws CVSException {
-		
-		// Create an listener that will accumulate new and removed files and folders
-		IUpdateMessageListener listener = new IUpdateMessageListener() {
-			public void directoryInformation(ICVSFolder root, String path, boolean newDirectory) {
-				if (newDirectory) {
-					// Record new directory with parent so it can be retrieved when building the parent
-					recordDelta(path, FOLDER, Update.STATE_NONE);
-					monitor.subTask(NLS.bind(CVSMessages.RemoteFolderTreeBuilder_receivingDelta, new String[] { Util.toTruncatedPath(path, 3) })); 
-				}
-			}
-			public void directoryDoesNotExist(ICVSFolder root, String path) {
-				// Record removed directory with parent so it can be removed when building the parent
-				if (path.length() == 0) {
-					rootDoesNotExist = true;
-				} else {
-					recordDelta(path, DELETED, Update.STATE_NONE);
-					monitor.subTask(NLS.bind(CVSMessages.RemoteFolderTreeBuilder_receivingDelta, new String[] { Util.toTruncatedPath(path, 3) })); 
-				}
-			}
-			public void fileInformation(int type, ICVSFolder root, String filename) {
-				// Cases that do not require action are:
-				//	case 'A' :  = A locally added file that does not exists remotely
-				//	case '?' :  = A local file that has not been added and does not exists remotely
-				//  case 'M' :  = A locally modified file that has not been modified remotely
-				switch(type) {
-					case Update.STATE_MERGEABLE_CONFLICT :
-					case Update.STATE_CONFLICT : 
-								// We have an remote change to a modified local file
-								// The change could be a local change conflicting with a remote deletion.
-								// If so, the deltas may already have a DELETED for the file.
-								// We shouldn't override this DELETED
-								Map deltas = (Map)fileDeltas.get(Util.removeLastSegment(filename));
-								DeltaNode d = deltas != null ? (DeltaNode)deltas.get(Util.getLastSegment(filename)) : null;
-								if ((d!=null) && (d.getRevision() == DELETED))
-									break;
-					case Update.STATE_DELETED : // We have a locally removed file that still exists remotely
-					case Update.STATE_REMOTE_CHANGES : // We have an remote change to an unmodified local file
-								changedFiles.add(filename);
-								recordDelta(filename, UNKNOWN, type);
-								monitor.subTask(NLS.bind(CVSMessages.RemoteFolderTreeBuilder_receivingDelta, new String[] { Util.toTruncatedPath(filename, 3) })); 
-								break;
-				}	
-			}
-			public void fileDoesNotExist(ICVSFolder root, String filename) {
-				recordDelta(filename, DELETED, Update.STATE_NONE);
-				monitor.subTask(NLS.bind(CVSMessages.RemoteFolderTreeBuilder_receivingDelta, new String[] { Util.toTruncatedPath(filename, 3) })); 
-			}
-		};
-		
-		// Perform a "cvs -n update -d [-r tag] ." in order to get the
-		// messages from the server that will indicate what has changed on the 
-		// server.
-		IStatus status = Command.SYNCUPDATE.execute(session,
-			new GlobalOption[] { Command.DO_NOT_CHANGE },
-			updateLocalOptions,
-			arguments,
-			new UpdateListener(listener),
-			monitor);
-		if (status.getCode() == CVSStatus.SERVER_ERROR) {
-			CVSServerException e = new CVSServerException(status);
-			if (e.isNoTagException()) {
-				// This error indicates that the complete subtree 
-				// being fetched does not have any files for the tag being queried
-				rootDoesNotExist = true;
-			} else if (e.containsErrors()) {
-				// Log the error
-				CVSProviderPlugin.log(e);
-			}
-		}
-		return changedFiles;
-	}
-	/*
-	 * Fetch the children of a previously unknown directory.
-	 * 
-	 * The fetch may do up to 2 units of work in the provided monitor.
-	 */
-	private void fetchNewDirectory(Session session, RemoteFolderTree newFolder, String localPath, final IProgressMonitor monitor) throws CVSException {
-		
-		// Create an listener that will accumulate new files and folders
-		IUpdateMessageListener listener = new IUpdateMessageListener() {
-			public void directoryInformation(ICVSFolder root, String path, boolean newDirectory) {
-				if (newDirectory) {
-					// Record new directory with parent so it can be retrieved when building the parent
-					// NOTE: Check path prefix
-					recordDelta(path, FOLDER, Update.STATE_NONE);
-					monitor.subTask(NLS.bind(CVSMessages.RemoteFolderTreeBuilder_receivingDelta, new String[] { Util.toTruncatedPath(path, 3) })); 
-				}
-			}
-			public void directoryDoesNotExist(ICVSFolder root, String path) {
-			}
-			public void fileInformation(int type, ICVSFolder root, String filename) {
-				// NOTE: Check path prefix
-				changedFiles.add(filename);
-				recordDelta(filename, ADDED, type);
-				monitor.subTask(NLS.bind(CVSMessages.RemoteFolderTreeBuilder_receivingDelta, new String[] { Util.toTruncatedPath(filename, 3) })); 
-			}
-			public void fileDoesNotExist(ICVSFolder root, String filename) {
-			}
-		};
-
-		// NOTE: Should use the path relative to the remoteRoot
-		IStatus status = Command.UPDATE.execute(session,
-			new GlobalOption[] { Command.DO_NOT_CHANGE },
-			updateLocalOptions,
-			new String[] { localPath },
-			new UpdateListener(listener),
-			Policy.subMonitorFor(monitor, 1)); 
-		if (status.getCode() == CVSStatus.SERVER_ERROR) {
-			CVSServerException e = new CVSServerException(status);
-			if ( ! e.isNoTagException() && e.containsErrors())
-				throw e;
-			// we now know that this is an exception caused by a cvs bug.
-			// if the folder has no files in it (just subfolders) cvs does not respond with the subfolders...
-			// workaround: retry the request with no tag to get the directory names (if any)
-			Policy.checkCanceled(monitor);
-			status = Command.UPDATE.execute(session,
-				new GlobalOption[] { Command.DO_NOT_CHANGE },
-				getOptionsWithoutTag(),
-				new String[] { localPath },
-				new UpdateListener(listener),
-				Policy.subMonitorFor(monitor, 1));
-			if (status.getCode() == CVSStatus.SERVER_ERROR) {
-				throw new CVSServerException(status);
-			}
-		}
-	}
-	
-	// Get the file revisions for the given filenames
-	private void fetchFileRevisions(Session session, String[] fileNames, final IProgressMonitor monitor) throws CVSException {
-		
-		// Create a listener for receiving the revision info
-		final List exceptions = new ArrayList();
-		IStatusListener listener = new IStatusListener() {
-			public void fileStatus(ICVSFolder root, String path, String remoteRevision) {
-				try {
-					updateRevision(path, remoteRevision);
-					monitor.subTask(NLS.bind(CVSMessages.RemoteFolderTreeBuilder_receivingRevision, new String[] { Util.toTruncatedPath(path, 3) })); 
-				} catch (CVSException e) {
-					exceptions.add(e);
-				}
-			}
-		};
-			
-		// Perform a "cvs status..." with a custom message handler
-		IStatus status = Command.STATUS.execute(session,
-			Command.NO_GLOBAL_OPTIONS,
-			Command.NO_LOCAL_OPTIONS,
-			fileNames,
-			new StatusListener(listener),
-			monitor);
-		if (status.getCode() == CVSStatus.SERVER_ERROR) {
-			throw new CVSServerException(status);
-		}
-		
-		// Report any exceptions that occurred fetching the revisions
-		if ( ! exceptions.isEmpty()) {
-			if (exceptions.size() == 1) {
-				throw (CVSException)exceptions.get(0);
-			} else {
-				MultiStatus multi = new MultiStatus(CVSProviderPlugin.ID, 0, CVSMessages.RemoteFolder_errorFetchingRevisions, null); 
-				for (int i = 0; i < exceptions.size(); i++) {
-					multi.merge(((CVSException)exceptions.get(i)).getStatus());
-				}
-				throw new CVSException(multi);
-			}
-		}
-	}
-
-	protected boolean isPruneEmptyDirectories() {
-		return false;
-	}
-	/*
-	 * Record the deltas in a double map where the outer key is the parent directory
-	 * and the inner key is the file name. The value is the revision of the file or
-	 * DELETED (file or folder). New folders have a revision of FOLDER.
-	 * 
-	 * A revision of UNKNOWN indicates that the revision has not been fetched
-	 * from the repository yet.
-	 */
-	private void recordDelta(String path, String revision, int syncState) {
-		if (revision == FOLDER) {
-			newFolderExist = true;
-		}
-		String parent = Util.removeLastSegment(path);
-		Map deltas = (Map)fileDeltas.get(parent);
-		if (deltas == null) {
-			deltas = new HashMap();
-			fileDeltas.put(parent, deltas);
-		}
-		String name = Util.getLastSegment(path);
-		deltas.put(name, new DeltaNode(name, revision, syncState));
-	}
-	
-	private void updateRevision(String path, String revision) throws CVSException {
-		RemoteFolderTree folder = getRecoredRemoteFolder(Util.removeLastSegment(path));
-		if (folder == null) {
-			IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.ERROR, NLS.bind(CVSMessages.RemoteFolderTreeBuilder_missingParent, new String[] { path.toString(), revision }), root);
-			throw new CVSException(status);
-		}
-		((RemoteFile)folder.getFile(Util.getLastSegment(path))).setRevision(revision);
-	}
-	
-	/*
-	 * Return the tag that should be associated with a remote folder.
-	 * 
-	 * This method is used to ensure that new directories contain the tag
-	 * derived from the parent local folder when appropriate. For instance,
-	 * 
-	 * The tag should be the provided tag. However, if tag is null, the 
-	 * tag for the folder should be derived from the provided reference folder
-	 * which could be the local resource corresponding to the remote or the parent
-	 * of the remote.
-	 */
-	private CVSTag tagForRemoteFolder(ICVSFolder folder, CVSTag tag) throws CVSException {
-		return tag == null ? folder.getFolderSyncInfo().getTag() : tag;
-	}
-	
-	private boolean isOrphanedSubtree(ICVSFolder mFolder) throws CVSException {
-		return mFolder.isCVSFolder() && ! mFolder.isManaged() && ! mFolder.equals(root) && mFolder.getParent().isCVSFolder();
-	}
-	
-	private void recordRemoteFolder(RemoteFolderTree remote) throws CVSException {
-		String path = remote.getFolderSyncInfo().getRemoteLocation();
-		remoteFolderTable.put(Util.asPath(path), remote);
-	}
-	
-	private RemoteFolderTree getRecoredRemoteFolder(String path) {
-		return (RemoteFolderTree)remoteFolderTable.get(Util.asPath(path));
-	}
-
-	/**
-	 * This method returns an array of the files that differ between the local and remote trees.
-	 * The files are represented as a String that contains the path to the file in the remote or local trees.
-	 * @return an array of differing files
-	 */
-	public String[] getFileDiffs() {
-		return (String[]) changedFiles.toArray(new String[changedFiles.size()]);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteModule.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteModule.java
deleted file mode 100644
index dbd669d..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteModule.java
+++ /dev/null
@@ -1,385 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.NoSuchElementException;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.*;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-
-public class RemoteModule extends RemoteFolder {
-	
-	private String label;
-	private ICVSRemoteResource[] referencedModules;
-	private LocalOption[] localOptions;
-	private boolean expandable;
-	
-	public static RemoteModule[] getRemoteModules(ICVSRepositoryLocation repository, CVSTag tag, IProgressMonitor monitor) throws TeamException {
-		monitor = Policy.monitorFor(monitor);
-		monitor.beginTask(CVSMessages.RemoteModule_getRemoteModules, 100); 
-		try {		
-			RemoteModule[] modules;
-			Session s = new Session(repository, getRemoteRootFolder(repository), false);
-			s.open(Policy.subMonitorFor(monitor, 10), false /* read-only */);
-			try {
-				modules = Command.CHECKOUT.getRemoteModules(s, tag, Policy.subMonitorFor(monitor, 90));
-			} finally {
-				s.close();
-			}
-			return modules;
-		} finally {
-			monitor.done();
-		}
-	}
-	
-    private static ICVSFolder getRemoteRootFolder(ICVSRepositoryLocation repository) {
-        return new RemoteFolder(null, repository, "/", null); //$NON-NLS-1$
-    }
-
-    /**
-	 * Create a set of RemoteModules from the provided module definition strings returned from the server
-	 * 
-	 * At the moment, we are very restrictive on the types of modules we support.
-	 */
-	public static RemoteModule[] createRemoteModules(String[] moduleDefinitionStrings, ICVSRepositoryLocation repository, CVSTag tag) {
-		
-		Map modules = new HashMap();
-		Map referencedModulesTable = new HashMap();
-		Map moduleAliases = new HashMap();
-		
-		// First pass: Create the remote module instances based on remote mapping
-		for (int i = 0; i < moduleDefinitionStrings.length; i++) {
-			
-			// Read the module name
-			StringTokenizer tokenizer = new StringTokenizer(moduleDefinitionStrings[i]);
-			String moduleName = tokenizer.nextToken();
-			List localOptionsList;
-			String next;
-			try {
-				// Read the options associated with the module
-				localOptionsList = new ArrayList();
-				next = tokenizer.nextToken();
-				while (next.charAt(0) == '-') {
-					switch (next.charAt(1)) {
-						case 'a': // alias
-							localOptionsList.add(Checkout.ALIAS);
-							break;
-						case 'l': // don't recurse
-							localOptionsList.add(Command.DO_NOT_RECURSE);
-							break;
-						case 'd': // directory
-							localOptionsList.add(Checkout.makeDirectoryNameOption(tokenizer.nextToken()));
-							break;
-						case 'e':
-						case 'i':
-						case 'o':
-						case 't':
-						case 'u': // Ignore any programs
-							tokenizer.nextToken();
-							break;
-						case 's': // status
-							localOptionsList.add(Checkout.makeStatusOption(tokenizer.nextToken()));
-							break;
-						default: // unanticipated option. Ignore it and go on
-					}
-					next = tokenizer.nextToken();
-				}
-			} catch (NoSuchElementException e) {
-				// There is an invalid entry in the modules file. Log it and continue
-				CVSProviderPlugin.log(IStatus.WARNING, NLS.bind(CVSMessages.RemoteModule_invalidDefinition, new String[] { moduleDefinitionStrings[i], repository.getLocation(true) }), null); 
-				continue;
-			}
-			LocalOption[] localOptions = (LocalOption[]) localOptionsList.toArray(new LocalOption[localOptionsList.size()]);
-			
-			if (Checkout.ALIAS.isElementOf(localOptions)) {
-				
-				if (localOptions.length > 1) {
-					// XXX This is an error condition that needs to be reported
-				}
-				
-				// An alias expands to one or more modules or paths
-				List expansions = new ArrayList(10);
-				expansions.add(next);
-				while (tokenizer.hasMoreTokens())
-					expansions.add(tokenizer.nextToken());
-					
-				moduleAliases.put(moduleName, expansions.toArray(new String[expansions.size()]));
-				modules.put(moduleName, new RemoteModule(moduleName, null, repository, null, localOptions, tag, true));
-
-			} else {
-				
-				// The module definition may have a leading directory which can be followed by some files
-				if (!(next.charAt(0) == '&')) {
-					String directory = next;
-					List files = new ArrayList();
-					while (tokenizer.hasMoreTokens() && (next.charAt(0) != '&')) {
-						next = tokenizer.nextToken() ;
-						if ((next.charAt(0) != '&'))
-							files.add(next);
-					}
-					RemoteModule remoteModule = new RemoteModule(moduleName, null, repository, directory, localOptions, tag, ! files.isEmpty());
-					modules.put(moduleName, remoteModule);
-					if ( ! files.isEmpty()) {
-						ICVSRemoteResource[] children = new ICVSRemoteResource[files.size()];
-						for (int j = 0; j < children.length; j++) {
-							children[j] = new RemoteFile(remoteModule, Update.STATE_NONE, (String)files.get(j), null, null, tag);
-							remoteModule.setChildren(children);
-						}
-					}
-				} else {
-					modules.put(moduleName, new RemoteModule(moduleName, null, repository, null, localOptions, tag, true));
-				}
-				
-				// Record any referenced modules so that can be cross-referenced below
-				if (next.charAt(0) == '&') {
-					List children = new ArrayList(10);
-					children.add(next);
-					while (tokenizer.hasMoreTokens())
-						children.add(tokenizer.nextToken());
-					referencedModulesTable.put(moduleName, children.toArray(new String[children.size()]));
-				}
-			}
-		}
-		
-		// Second pass: Cross reference aliases to modules
-		// XXX Aliases can reference other aliases which confuses the expansion!
-		Iterator iter = moduleAliases.keySet().iterator();
-		while (iter.hasNext()) {
-			String moduleName = (String)iter.next();
-			RemoteModule module = (RemoteModule)modules.get(moduleName);
-			String[] expansion = (String[])moduleAliases.get(moduleName);
-			List referencedFolders = new ArrayList();
-			boolean expandable = true;
-			for (int i = 0; i < expansion.length; i++) {
-				if (expansion[i].charAt(0) == '!') {
-					// XXX Unsupported for now
-					expandable = false;
-				} else {
-					IPath path = new Path(null, expansion[i]);
-					if (path.segmentCount() > 1) {
-						// XXX Unsupported for now
-						expandable = false;
-					} else {
-						RemoteModule child = (RemoteModule)modules.get(expansion[i]);
-						if (child == null) {
-							referencedFolders.add(new RemoteFolder(null, repository, path.toString(), tag));
-						} else {
-							// Need to check if the child is a module alias
-							if (child.isAlias()) {
-								// XXX Unsupported for now
-								expandable = false;
-							} else {
-								 referencedFolders.add(child);
-							}
-						}
-					}
-				}
-			}
-			if (expandable) {
-				//TODO: Make module static??
-				module.setChildren((ICVSRemoteResource[]) referencedFolders.toArray(new ICVSRemoteResource[referencedFolders.size()]));
-			} else {
-				module.setExpandable(false);
-			}
-		}
-		
-		// Third pass: Cross reference remote modules where necessary
-		iter = modules.keySet().iterator();
-		while (iter.hasNext()) {
-			String moduleName = (String)iter.next();
-			String[] children = (String[])referencedModulesTable.get(moduleName);
-			if (children != null) {
-				RemoteModule module = (RemoteModule)modules.get(moduleName);
-				List referencedFolders = new ArrayList();
-				boolean expandable = true;
-				for (int i = 0; i < children.length; i++) {
-					RemoteModule child = (RemoteModule)modules.get(children[i].substring(1));
-					if (child == null) {
-						// invalid module definition
-						expandable = false;
-					} else if (child.isAlias()) {
-						// Include alias children in-line
-						expandable = false;
-//						referencedFolders.addAll(Arrays.asList(child.getChildren()));
-					} else {
-						// XXX not expandable if child has local directory option (-d)
-						if (Command.findOption(child.getLocalOptions(), "-d") != null) { //$NON-NLS-1$
-							expandable = false;
-						} else {
-							referencedFolders.add(child);
-						}
-					}
-				}
-				if (expandable) {
-					module.setReferencedModules((ICVSRemoteResource[]) referencedFolders.toArray(new ICVSRemoteResource[referencedFolders.size()]));
-				} else {
-					module.setExpandable(false);
-				}
-			}
-		}
-						
-		return (RemoteModule[])modules.values().toArray(new RemoteModule[modules.size()]);
-	}
-		
-	public RemoteModule(String label, RemoteFolder parent, ICVSRepositoryLocation repository, String repositoryRelativePath, LocalOption[] localOptions, CVSTag tag, boolean isStatic) {
-		super(parent, 
-			label, 
-			repository, 
-			repositoryRelativePath == null ? FolderSyncInfo.VIRTUAL_DIRECTORY : repositoryRelativePath, 
-			tag, 
-			isStatic);
-		this.localOptions = localOptions;
-		this.label = label;
-		this.expandable = true;
-	}
-	
-	public LocalOption[] getLocalOptions() {
-		return localOptions;
-	}
-	/* 
-	 * Override of inherited getMembers in order to combine the physical members with any referenced modules
-	 */
-	public ICVSRemoteResource[] getMembers(CVSTag tagName, IProgressMonitor monitor) throws CVSException {
-		
-		if ( ! expandable) return new ICVSRemoteResource[0];
-		
-		ICVSRemoteResource[] physicalChildren;
-		if ( folderInfo.getIsStatic()) {
-			physicalChildren = getChildren();
-		} else {
-			physicalChildren = super.getMembers(tagName, monitor);
-		}
-		ICVSRemoteResource[] allChildren;
-		if (referencedModules != null && referencedModules.length > 0) {
-			if (physicalChildren == null) {
-				allChildren = referencedModules;
-			} else {
-				// Combine two sets of children
-				allChildren = new ICVSRemoteResource[physicalChildren.length + referencedModules.length];
-				for (int i = 0; i < physicalChildren.length; i++) {
-					allChildren[i] = physicalChildren[i];
-				}
-				for (int i = 0; i < referencedModules.length; i++) {
-					allChildren[i + physicalChildren.length] = referencedModules[i];
-				}
-			}
-		} else if (physicalChildren != null) {
-			allChildren = physicalChildren;
-		} else {
-			allChildren = new ICVSRemoteResource[0];
-		}
-		return allChildren;
-	}
-	
-	private void setReferencedModules(ICVSRemoteResource[] referencedModules) {
-		this.referencedModules = referencedModules;
-	}
-	
-	public boolean isAlias() {
-		return Checkout.ALIAS.isElementOf(localOptions);
-	}
-	
-	/**
-	 * @see ICVSRemoteFolder#isExpandable()
-	 */
-	public boolean isExpandable() {
-		return expandable;
-	}
-	
-	private void setExpandable(boolean expandable) {
-		this.expandable = expandable;
-	}
-	
-	/**
-	 * @see ICVSRemoteFolder#forTag(CVSTag)
-	 */
-	public ICVSRemoteResource forTag(ICVSRemoteFolder parent, CVSTag tagName) {
-		RemoteModule r = new RemoteModule(label, (RemoteFolder)parent, getRepository(), folderInfo.getRepository(), localOptions, tagName, folderInfo.getIsStatic());
-		r.setExpandable(expandable);
-		if (folderInfo.getIsStatic()) {
-			ICVSRemoteResource[] children = getChildren();
-			if (children != null) {
-				List taggedChildren = new ArrayList(children.length);
-				for (int i = 0; i < children.length; i++) {
-					ICVSRemoteResource resource = children[i];
-					taggedChildren.add(((RemoteResource)resource).forTag(r, tagName));
-				}
-				r.setChildren((ICVSRemoteResource[]) taggedChildren.toArray(new ICVSRemoteResource[taggedChildren.size()]));
-			}
-		}
-		if (referencedModules != null) {
-			List taggedModules = new ArrayList(referencedModules.length);
-			for (int i = 0; i < referencedModules.length; i++) {
-				RemoteModule module = (RemoteModule)referencedModules[i];
-				taggedModules.add(module.forTag(r, tagName));
-			}
-			r.setReferencedModules((ICVSRemoteResource[]) taggedModules.toArray(new ICVSRemoteResource[taggedModules.size()]));
-		}
-		return r;
-	}
-	
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSRemoteFolder#isDefinedModule()
-	 */
-	public boolean isDefinedModule() {
-		return true;
-	}
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object arg0) {
-		if (arg0 instanceof RemoteModule) {
-			RemoteModule module = (RemoteModule) arg0;
-			return (getName().equals(module.getName()) && super.equals(module));
-		}
-		return false;
-	}
-	
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return super.hashCode() | getName().hashCode();
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSFolder#getChild(java.lang.String)
-	 */
-	public ICVSResource getChild(String path) throws CVSException {
-		if (path.equals(Session.CURRENT_LOCAL_FOLDER) || path.length() == 0)
-			return this;
-		// If the path is one segment and it's a referenced module, return the module
-		// Note: the overriden method will extract the first segment from a multi segment
-		// path and re-invoke this method so we only need to check for one segment here
-		// and use the inherited method in the other cases
-		if (referencedModules != null) {
-			if (path.indexOf(Session.SERVER_SEPARATOR) == -1) {
-				for (int i=0;i<referencedModules.length;i++) {
-					if (referencedModules[i].getName().equals(path))
-						return referencedModules[i];
-				}
-			}
-		}
-		return super.getChild(path);
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteResource.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteResource.java
deleted file mode 100644
index ca7196d..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteResource.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
- 
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.variants.CachedResourceVariant;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Update;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-/**
- * The purpose of this class and its subclasses is to implement the corresponding
- * ICVSRemoteResource interfaces for the purpose of communicating information about 
- * resources that reside in a CVS repository but have not necessarily been loaded
- * locally.
- */
-public abstract class RemoteResource extends CachedResourceVariant implements ICVSRemoteResource {
-
-	protected RemoteFolder parent;
-	protected String name;
-
-	// relative synchronization state calculated by server of this remote file compare to the current local 
-	// workspace copy.
-	private int workspaceSyncState = Update.STATE_NONE;
-
-	/**
-	 * Constructor for RemoteResource.
-	 */
-	public RemoteResource(RemoteFolder parent, String name) {
-		this.parent = parent;
-		this.name = name;
-	}
-
-	/*
-	 * @see ICVSRemoteResource#getName()
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/*
-	 * @see ICVSResource#getRelativePath(ICVSFolder)
-	 */
-	public String getRelativePath(ICVSFolder ancestor) throws CVSException {
-		return Util.appendPath(parent.getRelativePath(ancestor), getName());
-	}
-	
-	/*
-	 * @see ICVSRemoteResource#getParent()
-	 */
-	public ICVSRemoteResource getRemoteParent() {
-		return parent;
-	}
-			
-	public abstract String getRepositoryRelativePath();
-	
-	public abstract ICVSRepositoryLocation getRepository();
-	
- 	public int getWorkspaceSyncState() {
- 		return workspaceSyncState;
- 	}
- 	
- 	public void setWorkspaceSyncState(int workspaceSyncState) {
- 		this.workspaceSyncState = workspaceSyncState;
- 	}
-	
-	/*
-	 * @see ICVSResource#delete()
-	 */
-	public void delete() {
-		// For now, do nothing but we could provide this in the future.
-	}
-
-	/*
-	 * @see ICVSResource#exists()
-	 * 
-	 * This method is used by the Command framework so it must return true so that 
-	 * the proper information gets sent to the server. (i.e. it is used to fake that 
-	 * the file exists locally so cvs commands can be used to retrieve information about
-	 * the remote resource from the server)
-	 */
-	public boolean exists() {
-		return true;
-	}
-	
-	/*
-	 * @see ICVSRemoteResource#exists(IProgressMonitor)
-	 */
-	public boolean exists(IProgressMonitor monitor) throws TeamException {
-		return parent.exists(this, monitor);
-	}
-
-	/*
-	 * @see ICVSResource#getParent()
-	 */
-	public ICVSFolder getParent() {
-		return parent;
- 	}
-
-	/*
-	 * @see ICVSResource#isIgnored()
-	 */
-	public boolean isIgnored() {
-		return false;
-	}
-
-	/*
-	 * @see ICVSResource#isManaged()
-	 */
-	public boolean isManaged() {
-		return parent != null;
-	}
-
-	public boolean isModified(IProgressMonitor monitor) throws CVSException {
-		// it is safe to always consider a remote file handle as modified. This will cause any
-		// CVS command to fetch new contents from the server.
-		return true;
-	}
-	
-	/*
-	 * @see ICVSResource#unmanage()
-	 */
-	public void unmanage(IProgressMonitor monitor) throws CVSException {
-		// do nothing
-	}
-
-	/*
-	 * @see ICVSResource#getSyncInfo()
-	 */
-	public abstract ResourceSyncInfo getSyncInfo();
-	
-	public boolean equals(Object target) {
-		if (this == target)
-			return true;
-		if (!(target instanceof RemoteResource))
-			return false;
-		RemoteResource remote = (RemoteResource) target;
-		return remote.isContainer() == isContainer() 
-		&& remote.getRepository().equals(getRepository())
-		&& remote.getRepositoryRelativePath().equals(getRepositoryRelativePath());
-	}
-
-	/*
-	 * @see ICVSResource#setIgnoredAs(String)
-	 */
-	public void setIgnoredAs(String pattern) throws CVSException {
-		// ensure that clients are not trying to set sync info on remote handles.
-		Assert.isTrue(false);
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.ICVSResource#getIResource()
-	 */
-	public IResource getIResource() {
-		return null;
-	}
-	
-	/**
-	 * Return a copy of the receiver that is associated with the given tag. The parent
-	 * should be a copy of the receiver's parent which has been copied to the same tag.
-	 * 
-	 * @param parent
-	 * @param tagName
-	 * @return ICVSRemoteFolder
-	 */
-	public abstract ICVSRemoteResource forTag(ICVSRemoteFolder parent, CVSTag tagName);
-
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getRepositoryRelativePath().hashCode();
-	}
-	
-	/**
-	 * Method which returns an array of bytes that can be used to recreate the remote handle.
-	 * To recreate the remote handle, invoke the <code>fromBytes</code> method on either
-	 * RemoteFolder or RemoteFile.
-	 * 
-	 * TODO: It would be nice to have a method on RmeoteResource to recreate the handles
-	 * but the file requires the bytes for the parent folder since this folder may not
-	 * exist locally.
-	 * 
-	 * @return
-	 */
-	abstract public byte[] getSyncBytes();
-
-	public String toString() {
-		return "Remote " + (isContainer() ? "Folder: " : "File: ") + getName(); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.synchronize.ResourceVariant#getUniquePath()
-	 */
-	public String getCachePath() {
-		ICVSRepositoryLocation location = getRepository();
-		IPath path = new Path(null, location.getHost());
-		path = path.append(location.getRootDirectory());
-		path = path.append(parent.getRepositoryRelativePath());
-		path = path.append(getName() + ' ' + getContentIdentifier());
-		return path.toString();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.synchronize.ResourceVariant#getCacheId()
-	 */
-	protected String getCacheId() {
-		return CVSProviderPlugin.ID;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.IResourceVariant#asBytes()
-	 */
-	public byte[] asBytes() {
-		return getSyncBytes();
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache.java
deleted file mode 100644
index 7b9586a..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SessionPropertySyncInfoCache.java
+++ /dev/null
@@ -1,489 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.core.util.FileNameMatcher;
-import org.eclipse.team.internal.ccvs.core.util.SyncFileWriter;
-
-/**
- * This cache uses session properties to hold the bytes representing the sync
- * info. In addition when the workbench closes or a project is closed, the dirty 
- * state for all cvs managed folders are persisted using the resource's plugin
- * synchronizer.
- */
-/*package*/ class SessionPropertySyncInfoCache extends SyncInfoCache implements ISaveParticipant {
-	
-	// key used on a folder to indicate that the resource sync has been cahced for it's children
-	private static final QualifiedName RESOURCE_SYNC_CACHED_KEY = new QualifiedName(CVSProviderPlugin.ID, "resource-sync-cached"); //$NON-NLS-1$
-	private static final Object RESOURCE_SYNC_CACHED = new Object();
-	
-	/*package*/ static final FileNameMatcher NULL_IGNORES = new FileNameMatcher();
-	private static final FolderSyncInfo NULL_FOLDER_SYNC_INFO = new FolderSyncInfo("dummy-repo", "dummy-root", null, false); //$NON-NLS-1$ //$NON-NLS-2$
-	
-	private QualifiedName FOLDER_DIRTY_STATE_KEY = new QualifiedName(CVSProviderPlugin.ID, "folder-dirty-state-cached"); //$NON-NLS-1$
-	
-	// defer to the sychronizer if there is no sync info
-	// (i.e. for those cases where a deleted resource is recreated)
-	private SynchronizerSyncInfoCache synchronizerCache;
-	
-	/*package*/ SessionPropertySyncInfoCache(SynchronizerSyncInfoCache synchronizerCache) {
-		this.synchronizerCache = synchronizerCache;
-		try {
-			// this save participant is removed when the plugin is shutdown.			
-			ResourcesPlugin.getWorkspace().addSaveParticipant(CVSProviderPlugin.getPlugin(), this);
-			ISynchronizer synchronizer = ResourcesPlugin.getWorkspace().getSynchronizer();
-			synchronizer.add(FOLDER_DIRTY_STATE_KEY);
-		} catch (CoreException e) {
-			CVSProviderPlugin.log(e);
-		}
-	}
-
-	/**
-	 * If not already cached, loads and caches the folder ignores sync for the container.
-	 * Folder must exist and must not be the workspace root.
-	 *
-	 * @param container the container
-	 * @return the folder ignore patterns, or an empty array if none
-	 */
-	/*package*/ FileNameMatcher getFolderIgnores(IContainer container, boolean threadSafeAccess) throws CVSException {
-		// don't try to load if the information is already cached
-		FileNameMatcher matcher = (FileNameMatcher)safeGetSessionProperty(container, IGNORE_SYNC_KEY);
-		if (threadSafeAccess && matcher == null) {
-			// read folder ignores and remember it
-			String[] ignores = SyncFileWriter.readCVSIgnoreEntries(container);
-			if (ignores == null) {
-				matcher = NULL_IGNORES;
-			} else {
-				matcher = new FileNameMatcher(ignores);
-			}
-			safeSetSessionProperty(container, IGNORE_SYNC_KEY, matcher);
-		}
-		return matcher;
-	}
-    
-    /* package */ boolean isIgnoresCached(IContainer container) throws CVSException {
-        return safeGetSessionProperty(container, IGNORE_SYNC_KEY) != null;
-    }
-
-	/*package*/ boolean isFolderSyncInfoCached(IContainer container) throws CVSException {
-		Object info = safeGetSessionProperty(container, FOLDER_SYNC_KEY);
-		if (info == null){
-			// Defer to the synchronizer in case the folder was recreated
-			info = synchronizerCache.getCachedFolderSync(container, true);
-		}
-		return info != null;
-	}
-
-	/*package*/ boolean isResourceSyncInfoCached(IContainer container) throws CVSException {
-		return safeGetSessionProperty(container, RESOURCE_SYNC_CACHED_KEY) != null;
-	}
-	
-	/*package*/ void setResourceSyncInfoCached(IContainer container) throws CVSException {
-		safeSetSessionProperty(container, RESOURCE_SYNC_CACHED_KEY, RESOURCE_SYNC_CACHED);
-	}
-
-	/**
-	 * Returns the folder sync info for the container; null if none.
-	 * Folder must exist and must not be the workspace root.
-	 * The folder sync info for the container MUST ALREADY BE CACHED.
-	 * @param container the container
-	 * @param threadSafeAccess if false, the return value can only be used if not null
-	 * @return the folder sync info for the folder, or null if none.
-	 * @see #cacheFolderSync
-	 */
-	FolderSyncInfo getCachedFolderSync(IContainer container, boolean threadSafeAccess) throws CVSException {
-		FolderSyncInfo info = (FolderSyncInfo)safeGetSessionProperty(container, FOLDER_SYNC_KEY);
-        // If we are not thread safe, just return whatever was found in the session property
-        if (!threadSafeAccess)
-            return info == NULL_FOLDER_SYNC_INFO ? null : info;
-		if (info == null) {
-			// Defer to the synchronizer in case the folder was recreated
-			info = synchronizerCache.getCachedFolderSync(container, true);
-			if (info != null) {
-				safeSetSessionProperty(container, FOLDER_SYNC_KEY, info);
-			}
-		}
-		if (info == null) {
-			// There should be sync info but it was missing. Report the error.
-			// Only report the error is the folder is not derived (see bug 97023)
-			if (container.exists() && !container.isDerived()){
-				IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.ERROR, NLS.bind(CVSMessages.EclipseSynchronizer_folderSyncInfoMissing, new String[] { container.getFullPath().toString() }), container);
-				throw new CVSException(status); 
-			}
-		}
-		if (info == NULL_FOLDER_SYNC_INFO) return null;
-		return info;
-	}
-
-	/**
-	 * Purges the cache recursively for all resources beneath the container.
-	 * There must not be any pending uncommitted changes.
-	 * @return the resources whose sync info was flushed
-	 */
-	/*package*/ IResource[] purgeCache(IContainer container, boolean deep) throws CVSException {
-		if (! container.exists()) return new IResource[0];
-		try {
-			Set flushed = new HashSet();
-			if (container.getType() != IResource.ROOT) {
-				safeSetSessionProperty(container, IGNORE_SYNC_KEY, null);
-				safeSetSessionProperty(container, FOLDER_SYNC_KEY, null);
-				safeSetSessionProperty(container, RESOURCE_SYNC_CACHED_KEY, null);
-				flushed.add(container);
-				EclipseSynchronizer.getInstance().adjustDirtyStateRecursively(container, RECOMPUTE_INDICATOR);
-			}
-			IResource[] members = container.members();
-			for (int i = 0; i < members.length; i++) {
-				IResource resource = members[i];
-				purgeResourceSyncCache(resource);
-				flushed.add(resource);
-				if (deep && resource.getType() != IResource.FILE) {
-					IResource[] flushedChildren = purgeCache((IContainer) resource, deep);
-					flushed.addAll(Arrays.asList(flushedChildren));
-				}
-			}
-			return (IResource[]) flushed.toArray(new IResource[flushed.size()]);
-		} catch (CoreException e) {
-			throw CVSException.wrapException(e);
-		}
-	}
-	
-	/* package*/ void purgeResourceSyncCache(IResource resource) throws CVSException {
-		safeSetSessionProperty(resource, RESOURCE_SYNC_KEY, null);
-		EclipseSynchronizer.getInstance().adjustDirtyStateRecursively(resource, RECOMPUTE_INDICATOR);
-	}
-	
-	/**
-	 * Sets the array of folder ignore patterns for the container, must not be null.
-	 * Folder must exist and must not be the workspace root.
-	 *
-	 * @param container the container
-	 * @param ignores the array of ignore patterns
-	 */
-	/*package*/ void setCachedFolderIgnores(IContainer container, String[] ignores) throws CVSException {
-		safeSetSessionProperty(container, IGNORE_SYNC_KEY, new FileNameMatcher(ignores));
-	}
-
-
-	/**
-	 * Sets the folder sync info for the container; if null, deletes it.
-	 * Folder must exist and must not be the workspace root.
-	 * The folder sync info for the container need not have previously been cached.
-	 *
-	 * @param container the container
-	 * @param info the new folder sync info
-	 */
-	void setCachedFolderSync(IContainer container, FolderSyncInfo info, boolean canModifyWorkspace) throws CVSException {
-		if (!container.exists()) return;
-		if (info == null) {
-			info = NULL_FOLDER_SYNC_INFO;
-		} 
-		safeSetSessionProperty(container, FOLDER_SYNC_KEY, info);
-		// Ensure the synchronizer is clear for exiting resources
-		if (canModifyWorkspace && synchronizerCache.getCachedFolderSync(container, true) != null) {
-			synchronizerCache.setCachedFolderSync(container, null, true);
-		}
-	}
-
-	/*package*/ void setDirtyIndicator(IResource resource, String indicator) throws CVSException {
-		if (resource.getType() == IResource.FILE) {
-			internalSetDirtyIndicator((IFile)resource, indicator);
-		} else {
-			internalSetDirtyIndicator((IContainer)resource, indicator);
-		}
-	}
-	/*package*/ String getDirtyIndicator(IResource resource, boolean threadSafeAccess) throws CVSException {
-		if (resource.getType() == IResource.FILE) {
-			return internalGetDirtyIndicator((IFile)resource, threadSafeAccess);
-		} else {
-			return internalGetDirtyIndicator((IContainer)resource, threadSafeAccess);
-		}
-	}
-	
-	private void internalSetDirtyIndicator(IFile file, String indicator) throws CVSException {
-		safeSetSessionProperty(file, IS_DIRTY, indicator);
-	}
-	
-	private String internalGetDirtyIndicator(IFile file, boolean threadSafeAccess) throws CVSException {
-		String di = (String)safeGetSessionProperty(file, IS_DIRTY);
-		if(di == null) {
-			di = RECOMPUTE_INDICATOR;
-		}
-		return di;
-	}
-
-	private void internalSetDirtyIndicator(IContainer container, String indicator) throws CVSException {
-		safeSetSessionProperty(container, IS_DIRTY, indicator);
-	}
-	
-	private String internalGetDirtyIndicator(IContainer container, boolean threadSafeAccess) throws CVSException {
-		try {
-			String di = (String)safeGetSessionProperty(container, IS_DIRTY);
-			
-			// if the session property is not available then restore from persisted sync info. At this
-			// time the sync info is not flushed because we don't want the workspace to generate
-			// a delta.			
-			if(di == null) {
-				byte [] diBytes = ResourcesPlugin.getWorkspace().getSynchronizer().getSyncInfo(FOLDER_DIRTY_STATE_KEY, container);
-				if(diBytes != null && !CVSProviderPlugin.getPlugin().crashOnLastRun()) {
-					di = new String(diBytes);
-					if(di.equals(NOT_DIRTY_INDICATOR)) {
-						di = NOT_DIRTY_INDICATOR;
-					} else if(di.equals(IS_DIRTY_INDICATOR)) {
-						di = IS_DIRTY_INDICATOR;
-					} else {
-						di = RECOMPUTE_INDICATOR;
-					}
-				} else {
-					di = RECOMPUTE_INDICATOR;
-				}
-                // Only set the session property if we are thread safe
-                if (threadSafeAccess) {
-                    setDirtyIndicator(container, di);
-                }
-			}
-			return di;
-		} catch (CoreException e) {
-			throw CVSException.wrapException(e);
-		}
-	}
-		
-	/*
-	 * Flush dirty cache for the resource
-	 */
-	/*package*/ void flushDirtyCache(IResource resource) throws CVSException {
-		if (resource.exists()) {
-			if (resource.getType() == IResource.FILE) {
-				safeSetSessionProperty(resource, IS_DIRTY, null);
-			} else {
-				safeSetSessionProperty(resource, IS_DIRTY, null);
-				flushDirtyStateFromDisk((IContainer)resource);
-			}
-		}
-	}
-	
-	/**
-	 * Method isSyncInfoLoaded returns true if all the sync info for the
-	 * provided resources is loaded into the internal cache.
-	 *
-	 * @param resources
-	 * @param i
-	 * @return boolean
-	 */
-	/*package*/ boolean isSyncInfoLoaded(IContainer parent) throws CVSException {
-		if (parent.getFolder(new Path(SyncFileWriter.CVS_DIRNAME)).exists()) {
-			if (safeGetSessionProperty(parent, RESOURCE_SYNC_CACHED_KEY) == null)
-				return false;
-			if (safeGetSessionProperty(parent, FOLDER_SYNC_KEY) == null)
-				return false;
-//				if (parent.getSessionProperty(IGNORE_SYNC_KEY) == null)
-//					return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.resources.SyncInfoCache#getCachedSyncBytes(org.eclipse.core.resources.IResource, boolean)
-	 */
-	byte[] getCachedSyncBytes(IResource resource, boolean threadSafeAccess) throws CVSException {
-		byte[] bytes = (byte[])safeGetSessionProperty(resource, RESOURCE_SYNC_KEY);
-		// If we are not thread safe, just return whatever was found in the session property
-        if (!threadSafeAccess)
-            return bytes;
-		if (bytes == null) {
-			// Defer to the synchronizer in case the file was recreated
-			bytes = synchronizerCache.getCachedSyncBytes(resource, true);
-			if (bytes != null) {
-				boolean genderChange = false;
-				if (resource.getType() == IResource.FILE) {
-					if (ResourceSyncInfo.isFolder(bytes)) {
-						genderChange = true;
-					}
-				} else if (!ResourceSyncInfo.isFolder(bytes)) {
-					genderChange = true;
-				}
-				if (genderChange) {
-					// Return null if it is a gender change
-					bytes = null;
-				} else {
-					safeSetSessionProperty(resource, RESOURCE_SYNC_KEY, ResourceSyncInfo.convertFromDeletion(bytes));
-				}
-			}
-		}
-		return bytes;
-	}
-
-	Object safeGetSessionProperty(IResource resource, QualifiedName key) throws CVSException {
-		try {
-			return resource.getSessionProperty(key);
-		} catch (CoreException e) {
-			IStatus status = e.getStatus();
-			if(status != null) {
-				int code = e.getStatus().getCode();
-				if(code != IResourceStatus.RESOURCE_NOT_LOCAL ||
-					code != IResourceStatus.RESOURCE_NOT_FOUND) {
-						// ignore error since a phantom would of been created
-						// and we can safely ignore these cases
-						return null;
-				}
-			}
-			// some other error we did not expect
-			throw CVSException.wrapException(e);
-		}
-	}
-	
-	void safeSetSessionProperty(IResource resource, QualifiedName key, Object value) throws CVSException {
-			try {
-				resource.setSessionProperty(key, value);
-			} catch (CoreException e) {
-				throw CVSException.wrapException(e);
-			}
-		}
-	
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.resources.SyncInfoCache#setCachedSyncBytes(org.eclipse.core.resources.IResource, byte[])
-	 */
-	void setCachedSyncBytes(IResource resource, byte[] syncBytes, boolean canModifyWorkspace) throws CVSException {
-		// Ensure that the sync bytes do not indicate a deletion
-		if (syncBytes != null && ResourceSyncInfo.isDeletion(syncBytes)) {
-			syncBytes = ResourceSyncInfo.convertFromDeletion(syncBytes);
-		}
-		// Put the sync bytes into the cache
-		safeSetSessionProperty(resource, RESOURCE_SYNC_KEY, syncBytes);
-		// Ensure the synchronizer is clear
-		if (canModifyWorkspace && synchronizerCache.getCachedSyncBytes(resource, true) != null) {
-			synchronizerCache.setCachedSyncBytes(resource, null, canModifyWorkspace);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.ISaveParticipant#doneSaving(org.eclipse.core.resources.ISaveContext)
-	 */
-	public void doneSaving(ISaveContext context) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.ISaveParticipant#prepareToSave(org.eclipse.core.resources.ISaveContext)
-	 */
-	public void prepareToSave(ISaveContext context) throws CoreException {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.ISaveParticipant#rollback(org.eclipse.core.resources.ISaveContext)
-	 */
-	public void rollback(ISaveContext context) {			
-	}
-
-	/* Called when the workbench is shutdown or projects are closed. The dirty state
-	 * of folders is persisted, using sync info, so that at startup or project open
-	 * the folder state can be quickly calculated. This is mainly for improving decorator
-	 * performance.
-	 * @see org.eclipse.core.resources.ISaveParticipant#saving(org.eclipse.core.resources.ISaveContext)
-	 */
-	public void saving(ISaveContext context) throws CoreException {
-		boolean fullSave = (context.getKind() == ISaveContext.FULL_SAVE);
-		boolean projectSave = (context.getKind() == ISaveContext.PROJECT_SAVE);
-		
-		if((projectSave || fullSave)) {
-			// persist all session properties for folders into sync info.
-			final ISynchronizer synchronizer = ResourcesPlugin.getWorkspace().getSynchronizer();
-		
-			// traverse the workspace looking for CVS managed projects or just the 
-			// specific projects being closed
-			IProject[] projects;
-			if(projectSave) {
-				projects = new IProject[1];
-				projects[0] = context.getProject();
-			} else {
-				projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-			}
-			for (int i = 0; i < projects.length; i++) {
-				IProject project = projects[i];
-				RepositoryProvider provider = RepositoryProvider.getProvider(
-														project,
-														CVSProviderPlugin.getTypeId());
-														
-				// found a project managed by CVS, convert each session property on a
-				// folder to a sync object.
-				if (provider != null) {
-					project.accept(new IResourceVisitor() {
-						public boolean visit(IResource resource) throws CoreException {
-							if(resource.getType() != IResource.FILE) {
-								String di = null;
-								try {
-									di = getDirtyIndicator(resource, true);
-								} catch (CVSException e) {
-									// continue traversal
-									CVSProviderPlugin.log(e);
-								}
-								if(di != null) {
-									synchronizer.setSyncInfo(FOLDER_DIRTY_STATE_KEY, resource, di.getBytes());
-								}								
-							}
-							return true;
-						}
-					});
-				}
-			}
-		}
-	}
-		
-	/* 
-	 * Called to clear the folder dirty state from the resource sync tree and stop persisting
-	 * these values to disk.
-	 */
-	private void flushDirtyStateFromDisk(IContainer container) {
-		final ISynchronizer synchronizer = ResourcesPlugin.getWorkspace().getSynchronizer();									
-		try {
-			synchronizer.flushSyncInfo(FOLDER_DIRTY_STATE_KEY, container, IResource.DEPTH_INFINITE);
-		} catch (CoreException e) {
-			CVSProviderPlugin.log(e);
-		}
-	}
-
-	/*
-	 * Flush all the cahced dirty state for the resource and its members.
-	 */
-	/* package*/ void purgeDirtyCache(IResource resource) throws CVSException {
-		if (! resource.exists()) return;
-		try {
-			if (resource.getType() != IResource.ROOT) {
-				safeSetSessionProperty(resource, IS_DIRTY, null);
-			}
-			if (resource.getType() != IResource.FILE) {
-				ResourcesPlugin.getWorkspace().getSynchronizer().flushSyncInfo(FOLDER_DIRTY_STATE_KEY, resource, IResource.DEPTH_INFINITE);
-				IResource[] members = ((IContainer)resource).members();
-				for (int i = 0; i < members.length; i++) {
-					purgeDirtyCache(members[i]);
-				}
-			}
-		} catch (CoreException e) {
-			throw CVSException.wrapException(e);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.resources.SyncInfoCache#cachesDirtyState()
-	 */
-	public boolean cachesDirtyState() {
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SyncInfoCache.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SyncInfoCache.java
deleted file mode 100644
index 83e395b..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SyncInfoCache.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-
-/**
- * The low level cache provides the sync info as bytes
- */
-/*package*/ abstract class SyncInfoCache {
-
-	// the resources plugin synchronizer is used to cache and possibly persist. These
-	// are keys for storing the sync info.
-	/*package*/ static final QualifiedName FOLDER_SYNC_KEY = new QualifiedName(CVSProviderPlugin.ID, "folder-sync"); //$NON-NLS-1$
-	/*package*/ static final QualifiedName RESOURCE_SYNC_KEY = new QualifiedName(CVSProviderPlugin.ID, "resource-sync"); //$NON-NLS-1$
-	/*package*/ static final QualifiedName IGNORE_SYNC_KEY = new QualifiedName(CVSProviderPlugin.ID, "folder-ignore"); //$NON-NLS-1$
-
-	/*package*/ static final byte[][] EMPTY_RESOURCE_SYNC_INFOS = new byte[0][0];
-	
-	/*package*/ static final QualifiedName IS_DIRTY = new QualifiedName(CVSProviderPlugin.ID, "is-dirty"); //$NON-NLS-1$
-	/*package*/ static final String IS_DIRTY_INDICATOR = "d"; //$NON-NLS-1$
-	/*package*/ static final String NOT_DIRTY_INDICATOR = "c"; //$NON-NLS-1$
-	/*package*/ static final String RECOMPUTE_INDICATOR = "r"; //$NON-NLS-1$
-	
-	/*package*/ static final IStatus STATUS_OK = new Status(IStatus.OK, CVSProviderPlugin.ID, 0, CVSMessages.ok, null); 
-	
-	/**
-	 * Returns the folder sync info for the container; null if none.
-	 * Folder must exist and must not be the workspace root.
-	 * The folder sync info for the container MUST ALREADY BE CACHED.
-	 * <p>
-	 * The <code>canModifyWorkspace</code>
-	 * flag is used to indicate whether it is OK to modify ISycnrhonizer entries for
-	 * the given resource. A value of <code>true</code> indicates that the client
-	 * holds a scheduling rule that encompasses the resource and the workspace is
-	 * open for modification.
-	 * @param container the container
-     * @param threadSafeAccess if false, the return value can only be used if not null
-	 * @param canModifyWorkspace indicates if it is OK to modify the ISycnrhonizer
-	 *
-	 * @return the folder sync info for the folder, or null if none.
-	 * @see #cacheFolderSync
-	 */
-	/*package*/ abstract FolderSyncInfo getCachedFolderSync(IContainer container, boolean threadSafeAccess) throws CVSException;
-
-	/**
-	 * Sets the folder sync info for the container; if null, deletes it.
-	 * Folder must exist and must not be the workspace root.
-	 * The folder sync info for the container need not have previously been
-	 * cached. The <code>canModifyWorkspace</code>
-	 * flag is used to indicate whether it is OK to modify ISycnrhonizer entries for
-	 * the given resource. A value of <code>true</code> indicates that the client
-	 * holds a scheduling rule that encompasses the resource and the workspace is
-	 * open for modification.
-	 *
-	 * @param container the container
-	 * @param info the new folder sync info
-	 * @param canModifyWorkspace indicates if it is OK to modify the ISycnrhonizer
-	 */
-	/*package*/ abstract void setCachedFolderSync(IContainer container, FolderSyncInfo info, boolean canModifyWorkspace) throws CVSException;
-
-	/**
-	 * Returns the resource sync info for the given resource. The resource sync
-	 * info for the resource MUST ALREADY BE CACHED.
-	 * @param resource the resource
-	 * @param threadSafeAccess if false, the return value can only be used if not null
-	 *
-	 * @return the bytes containing the resource's sync info
-	 * @see #cacheResourceSyncForChildren
-	 */
-	/*package*/ abstract byte[] getCachedSyncBytes(IResource resource, boolean threadSafeAccess) throws CVSException;
-
-	/**
-	 * Sets the resource sync info for the resource; if null, deletes it. Parent
-	 * must exist and must not be the workspace root. The resource sync info for
-	 * the resource MUST ALREADY BE CACHED. The <code>canModifyWorkspace</code>
-	 * flag is used to indicate whether it is OK to modify ISycnrhonizer entries for
-	 * the given resource. A value of <code>true</code> indicates that the client
-	 * holds a scheduling rule that encompasses the resource and the workspace is
-	 * open for modification.
-	 *
-	 * @param resource the resource
-	 * @param syncBytes the bytes containing the new resource sync info
-	 * @param canModifyWorkspace indicates if it is OK to modify the ISycnrhonizer
-	 * @see #cacheResourceSyncForChildren
-	 */
-	/*package*/ abstract void setCachedSyncBytes(IResource resource, byte[] syncBytes, boolean canModifyWorkspace) throws CVSException;
-	
-	/*package*/ abstract String getDirtyIndicator(IResource resource, boolean threadSafeAccess) throws CVSException;
-	
-	/*package*/ abstract void setDirtyIndicator(IResource resource, String indicator) throws CVSException;
-	
-	/*package*/ abstract void flushDirtyCache(IResource resource) throws CVSException;
-	
-	/*package*/ abstract boolean isSyncInfoLoaded(IContainer parent) throws CVSException;
-	
-	/**
-	 * Query the low level cache to see if the sync info for the provided
-	 * container is loaded.
-	 * 
-	 * @param container
-	 * @return boolean
-	 * @throws CVSException
-	 */
-	/*package*/ abstract boolean isFolderSyncInfoCached(IContainer container) throws CVSException;
-	
-	/**
-	 * Query the low level cache to see if the sync info for the direct children
-	 * of the provided container is loaded.
-	 * 
-	 * @param container
-	 * @return boolean
-	 */
-	/*package*/ abstract boolean isResourceSyncInfoCached(IContainer container) throws CVSException;
-	
-	/**
-	 * Indicate to the low level cache that the sync info for all it's direct
-	 * children have been set so they match what is on disk.
-	 * 
-	 * @param container
-	 */
-	/*package*/ abstract void setResourceSyncInfoCached(IContainer container) throws CVSException;
-
-	/**
-	 * Return whether the cache also caches dirty state or recomputes it
-	 * each time it is requested.
-	 */
-	public abstract boolean cachesDirtyState();
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache.java
deleted file mode 100644
index deee885..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-import java.util.*;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceStatus;
-import org.eclipse.core.resources.ISynchronizer;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSResource;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-/**
- * This cache uses session properties to hold the bytes representing the sync
- * info
- */
-/*package*/ class SynchronizerSyncInfoCache extends SyncInfoCache {
-	
-	// Map of sync bytes that were set without a scheduling rule
-	Map pendingCacheWrites = new HashMap();
-	private static final Object BYTES_REMOVED = new byte[0];
-
-	public SynchronizerSyncInfoCache() {
-		getWorkspaceSynchronizer().add(FOLDER_SYNC_KEY);
-		getWorkspaceSynchronizer().add(RESOURCE_SYNC_KEY);
-	}
-	/**
-	 * Return the Eclipse Workspace Synchronizer (from org.eclipse.core.resources)
-	 */
-	private ISynchronizer getWorkspaceSynchronizer() {
-		return ResourcesPlugin.getWorkspace().getSynchronizer();
-	}
-	
-	/*package*/ void flush(IProject project) throws CVSException {
-		purgeCache(project, true);
-	}
-	
-	/**
-	 * Method flush.
-	 * @param folder
-	 */
-	/*package*/ void flush(IFolder folder) throws CVSException {
-		purgeCache(folder, false);
-	}
-	
-	/**
-	 * Returns the folder sync info for the container; null if none.
-	 * Folder must exist and must not be the workspace root.
-	 * The folder sync info for the container MUST ALREADY BE CACHED.
-	 * @param container the container
-	 *
-	 * @return the folder sync info for the folder, or null if none.
-	 * @see #cacheFolderSync
-	 */
-	FolderSyncInfo getCachedFolderSync(IContainer container, boolean threadSafeAccess) throws CVSException {
-		byte[] bytes = internalGetCachedSyncBytes(container);
-		if (bytes == null) return null;
-		return FolderSyncInfo.getFolderSyncInfo(bytes);
-	}
-	
-	boolean hasCachedFolderSync(IContainer container) throws CVSException {
-		return internalGetCachedSyncBytes(container) != null;
-	};
-	
-	/*
-	 * Retieve the cached sync bytes from the synchronizer. A null
-	 * is returned if there are no cached sync bytes.
-	 */
-	private byte[] internalGetCachedSyncBytes(IContainer container) throws CVSException {
-		try {
-			return getWorkspaceSynchronizer().getSyncInfo(FOLDER_SYNC_KEY, container);
-		} catch (CoreException e) {
-			throw CVSException.wrapException(e);
-		}
-	}
-	/**
-	 * Sets the folder sync info for the container; if null, deletes it.
-	 * Folder must exist and must not be the workspace root.
-	 * The folder sync info for the container need not have previously been
-	 * cached.
-	 *
-	 * @param container the container
-	 * @param info the new folder sync info
-	 */
-	void setCachedFolderSync(IContainer container, FolderSyncInfo info, boolean canModifyWorkspace) throws CVSException {
-		try {
-			if (info == null) {
-				if (container.exists() || container.isPhantom()) {
-					getWorkspaceSynchronizer().flushSyncInfo(FOLDER_SYNC_KEY, container, IResource.DEPTH_ZERO);
-				}
-			} else {
-				getWorkspaceSynchronizer().setSyncInfo(FOLDER_SYNC_KEY, container, info.getBytes());
-			}
-		} catch (CoreException e) {
-			throw CVSException.wrapException(e);
-		}
-	}
-
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.resources.SyncInfoCache#getCachedSyncBytes(org.eclipse.core.resources.IResource, boolean)
-	 */
-	byte[] getCachedSyncBytes(IResource resource, boolean threadSafeAccess) throws CVSException {
-		try {
-			byte[] bytes = null;
-			if (!hasPendingCacheRemoval(resource)) {
-				bytes = getPendingCacheWrite(resource);
-				if (bytes == null) {
-					bytes = getWorkspaceSynchronizer().getSyncInfo(RESOURCE_SYNC_KEY, resource);
-				}
-			}
-			if (bytes != null && resource.getType() == IResource.FILE) {
-				if (ResourceSyncInfo.isAddition(bytes)) {
-					// The local file has been deleted but was an addition
-					// Therefore, ignore the sync bytes
-					bytes = null;
-				} else if (!ResourceSyncInfo.isDeletion(bytes)) {
-					// Ensure the bytes indicate an outgoing deletion
-					bytes = ResourceSyncInfo.convertToDeletion(bytes);
-				}
-			}
-			return bytes;
-		} catch (CoreException e) {
-			throw CVSException.wrapException(e);
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.resources.SyncInfoCache#setCachedSyncBytes(org.eclipse.core.resources.IResource, byte[])
-	 */
-	void setCachedSyncBytes(IResource resource, byte[] syncBytes, boolean canModifyWorkspace) throws CVSException {
-		byte[] oldBytes = getCachedSyncBytes(resource, true);
-		try {
-			if (syncBytes == null) {
-				if (oldBytes != null) {
-					if (canModifyWorkspace) {
-						if (resource.exists() || resource.isPhantom()) {
-							getWorkspaceSynchronizer().flushSyncInfo(RESOURCE_SYNC_KEY, resource, IResource.DEPTH_ZERO);
-						}
-						removePendingCacheWrite(resource);
-					} else {
-						if (resource.exists() || resource.isPhantom()) {
-							setPendingCacheWriteToDelete(resource);
-						}
-					}
-				}
-			} else {
-				// ensure that the sync info is not already set to the same thing.
-				// We do this to avoid causing a resource delta when the sync info is 
-				// initially loaded (i.e. the synchronizer has it and so does the Entries file
-				// Ignore the 
-				if (oldBytes == null || !equals(syncBytes, oldBytes)) {
-					if (canModifyWorkspace) {
-						getWorkspaceSynchronizer().setSyncInfo(RESOURCE_SYNC_KEY, resource, syncBytes);
-						removePendingCacheWrite(resource);
-					} else {
-						setPendingCacheWrite(resource, syncBytes);
-					}
-				}
-			}
-		} catch (CoreException e) {
-			throw CVSException.wrapException(e);
-		}
-	}
-
-	/*
-	 * Convert file sync bytes to deletions to ensure proper comparison
-	 */
-	private boolean equals(byte[] syncBytes, byte[] oldBytes) throws CVSException {
-		if (!ResourceSyncInfo.isFolder(syncBytes)) {
-			syncBytes = ResourceSyncInfo.convertToDeletion(syncBytes);
-		}
-		if (!ResourceSyncInfo.isFolder(oldBytes)) {
-			try {
-				oldBytes = ResourceSyncInfo.convertToDeletion(oldBytes);
-			} catch (CVSException e) {
-				CVSProviderPlugin.log(e);
-				return false;
-			}
-		}
-		return Util.equals(syncBytes, oldBytes);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.resources.SyncInfoCache#getDirtyIndicator(org.eclipse.core.resources.IResource)
-	 */
-	String getDirtyIndicator(IResource resource, boolean threadSafeAccess) throws CVSException {		
-		if (resource.getType() == IResource.FILE) {
-			// a phantom file is dirty if it was managed before it was deleted			 
-			return getCachedSyncBytes(resource, threadSafeAccess) != null ? 
-							IS_DIRTY_INDICATOR : 
-							NOT_DIRTY_INDICATOR;
-		} else {
-			return calculateDirtyCountForPhantomFolder((IContainer)resource);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.resources.SyncInfoCache#setDirtyIndicator(org.eclipse.core.resources.IResource, java.lang.String)
-	 */
-	void setDirtyIndicator(IResource resource, String indicator) throws CVSException {
-		// We don't cache the dirty count for folders because it would cause
-		// resource delta's in the decorator thread and possible deadlock.
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.resources.SyncInfoCache#cachesDirtyState()
-	 */
-	public boolean cachesDirtyState() {
-		// We don't cache the dirty count for folders because it would cause
-		// resource delta's in the decorator thread and possible deadlock.
-		return false;
-	}
-		
-	/*package*/ void flushDirtyCache(IResource container) throws CVSException {
-		// Dirty state is not cached
-	}
-	
-	/*package*/ boolean isSyncInfoLoaded(IContainer parent) throws CVSException {
-		return true;
-	}
-	
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.resources.SyncInfoCache#isResourceSyncInfoCached(org.eclipse.core.resources.IContainer)
-	 */
-	boolean isResourceSyncInfoCached(IContainer container) throws CVSException {
-		// the sync info is always cahced when using the synchronizer
-		return true;
-	}
-	
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.resources.SyncInfoCache#setResourceSyncInfoCached(org.eclipse.core.resources.IContainer)
-	 */
-	void setResourceSyncInfoCached(IContainer container) throws CVSException {
-		// do nothing
-	}
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.resources.SyncInfoCache#isFolderSyncInfoCached(org.eclipse.core.resources.IContainer)
-	 */
-	boolean isFolderSyncInfoCached(IContainer container) throws CVSException {
-		return true;
-	}
-	
-	/*
-	 * Calculate the dirty count for the given phantom folder, performing any
-	 * necessary calculations on the childen as well
-	 */
-	private String calculateDirtyCountForPhantomFolder(IContainer parent) throws CVSException {
-		ICVSFolder cvsFolder = CVSWorkspaceRoot.getCVSFolderFor(parent);
-		if(getCachedFolderSync(parent, true) == null) {
-			return NOT_DIRTY_INDICATOR;
-		}
-		
-		String indicator = NOT_DIRTY_INDICATOR;
-		ICVSResource[] children = cvsFolder.members(ICVSFolder.MANAGED_MEMBERS | ICVSFolder.PHANTOM_MEMBERS);
-		for (int i = 0; i < children.length; i++) {
-			ICVSResource resource = children[i];
-			// keep looking into phantom folders until a managed phantom file 
-			// is found.
-			if (resource.isFolder()) {
-				indicator = calculateDirtyCountForPhantomFolder((IContainer)resource.getIResource());
-			} else {
-				// Any non-existant managed files are dirty (outgoing deletion)
-				indicator = IS_DIRTY_INDICATOR;
-				break;
-			}
-		}
-		return indicator;
-	}
-	
-	/**
-	 * @param root
-	 * @param deep
-	 */
-	public void purgeCache(IContainer root, boolean deep) throws CVSException {
-		int depth = deep ? IResource.DEPTH_INFINITE : IResource.DEPTH_ZERO;
-		try {
-			if (root.exists() || root.isPhantom()) {
-				getWorkspaceSynchronizer().flushSyncInfo(RESOURCE_SYNC_KEY, root, depth);
-			}
-			if (root.exists() || root.isPhantom()) {
-				getWorkspaceSynchronizer().flushSyncInfo(FOLDER_SYNC_KEY, root, depth);
-			}
-			if (deep) {
-				removePendingCacheWritesUnder(root);
-			} else {
-				removePendingCacheWrite(root);
-			}
-		} catch (CoreException e) {
-			if (e.getStatus().getCode() == IResourceStatus.RESOURCE_NOT_FOUND) {
-				// Must have been deleted since we checked
-				return;
-			}
-			throw CVSException.wrapException(e);
-		}
-		
-	}
-	
-	public boolean isPhantom(IResource resource) {
-		return resource.isPhantom() || hasPendingCacheWrite(resource);
-	}
-	
-	public IResource[] members(IContainer folder) throws CoreException {
-		IResource[] pendingWrites = getPendingCacheWrites();
-		if (pendingWrites != null){
-			HashSet cachedResources = new HashSet();
-			for (int i = 0; i < pendingWrites.length; i++) {
-				IResource resource = pendingWrites[i];
-				if (resource.getParent().equals(folder))
-					cachedResources.add(resource);
-			}
-			
-			if (cachedResources.size() != 0){
-				IResource[] resources = folder.members(true);
-				IResource[] cachedResourcesArray = (IResource[]) cachedResources.toArray(new IResource[cachedResources.size()]);
-				IResource[]finalResources = new IResource[resources.length + cachedResourcesArray.length];
-				System.arraycopy(resources, 0, finalResources, 0, resources.length);
-				System.arraycopy(cachedResourcesArray, 0, finalResources, resources.length, cachedResourcesArray.length);
-				return finalResources;
-			}
-		}
-		try {
-			return folder.members(true);
-		} catch (CoreException e) {
-			if (e.getStatus().getCode() == IResourceStatus.RESOURCE_NOT_FOUND)
-				return new IResource[0];
-			throw e;
-		}
-	}
-
-	/**
-	 * Return whether the given resource has a pending cache write
-	 * @param resource the resource
-	 * @return whether the given resource has a pending cache write
-	 */
-	private boolean hasPendingCacheWrite(IResource resource) {
-		synchronized (pendingCacheWrites) {
-			return pendingCacheWrites.containsKey(resource);
-		}
-	}
-	
-	private byte[] getPendingCacheWrite(IResource resource) {
-		synchronized (pendingCacheWrites) {
-			Object object = pendingCacheWrites.get(resource);
-			if (object instanceof byte[]) {
-				return (byte[])object;
-			}
-			return null;
-		}
-	}
-	
-	private boolean hasPendingCacheRemoval(IResource resource) {
-		synchronized (pendingCacheWrites) {
-			Object object = pendingCacheWrites.get(resource);
-			return object == BYTES_REMOVED;
-		}
-	}
-	
-	private void setPendingCacheWrite(IResource resource, byte[] syncBytes) {
-		synchronized (pendingCacheWrites) {
-			pendingCacheWrites.put(resource, syncBytes);
-		}
-	}
-	
-	private void setPendingCacheWriteToDelete(IResource resource) {
-		synchronized (pendingCacheWrites) {
-			pendingCacheWrites.put(resource, BYTES_REMOVED);
-		}
-	}
-	
-	private void removePendingCacheWrite(IResource resource) {
-		synchronized (pendingCacheWrites) {
-			pendingCacheWrites.remove(resource);
-		}
-	}
-	
-	private void removePendingCacheWritesUnder(IContainer root) {
-		synchronized (pendingCacheWrites) {
-			IPath fullPath = root.getFullPath();
-			for (Iterator iter = pendingCacheWrites.keySet().iterator(); iter.hasNext();) {
-				IResource resource = (IResource) iter.next();
-				if (fullPath.isPrefixOf(resource.getFullPath())) {
-					iter.remove();
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Return the resources with pending cache writes or
-	 * <code>null</code> if there aren't any.
-	 * @return the resources with pending cache writes or
-	 * <code>null</code>
-	 */
-	private IResource[] getPendingCacheWrites() {
-		synchronized (pendingCacheWrites) {
-			if (pendingCacheWrites.isEmpty())
-				return null;
-			return (IResource[]) pendingCacheWrites.keySet().toArray(new IResource[pendingCacheWrites.size()]);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/UpdateContentCachingService.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/UpdateContentCachingService.java
deleted file mode 100644
index aedc283..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/UpdateContentCachingService.java
+++ /dev/null
@@ -1,303 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.resources;
-
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.*;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-import org.eclipse.team.internal.ccvs.core.client.listeners.*;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.connection.CVSServerException;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-
-/**
- * This class can be used to fetch and cache file contents for remote files.
- */
-public class UpdateContentCachingService implements IUpdateMessageListener {
-
-	private CVSRepositoryLocation repository;
-	private ICVSFolder remoteRoot;
-	private final CVSTag tag;
-	private final int depth;
-	private boolean fetchAbsentDirectories = true;
-	private ArrayList removed = new ArrayList();
-
-	public class SandboxUpdate extends Update {
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.team.internal.ccvs.core.client.Update#shouldRetrieveAbsentDirectories(org.eclipse.team.internal.ccvs.core.client.Session)
-		 */
-		protected boolean shouldRetrieveAbsentDirectories(Session session) {
-			return fetchAbsentDirectories;
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.team.internal.ccvs.core.client.Command#commandFinished(org.eclipse.team.internal.ccvs.core.client.Session, org.eclipse.team.internal.ccvs.core.client.Command.GlobalOption[], org.eclipse.team.internal.ccvs.core.client.Command.LocalOption[], org.eclipse.team.internal.ccvs.core.ICVSResource[], org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IStatus)
-		 */
-		protected IStatus commandFinished(Session session, GlobalOption[] globalOptions, LocalOption[] localOptions, ICVSResource[] resources, IProgressMonitor monitor, IStatus status) throws CVSException {
-			// Don't do anything (i.e. don't prune)
-			return status;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.team.internal.ccvs.core.client.Command#doExecute(org.eclipse.team.internal.ccvs.core.client.Session, org.eclipse.team.internal.ccvs.core.client.Command.GlobalOption[], org.eclipse.team.internal.ccvs.core.client.Command.LocalOption[], java.lang.String[], org.eclipse.team.internal.ccvs.core.client.listeners.ICommandOutputListener, org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		protected IStatus doExecute(Session session, GlobalOption[] globalOptions, LocalOption[] localOptions, String[] arguments, ICommandOutputListener listener, IProgressMonitor monitor) throws CVSException {
-			session.registerResponseHandler(new SandboxUpdatedHandler(UpdatedHandler.HANDLE_CREATED));
-			session.registerResponseHandler(new SandboxUpdatedHandler(UpdatedHandler.HANDLE_MERGED));
-			session.registerResponseHandler(new SandboxUpdatedHandler(UpdatedHandler.HANDLE_UPDATE_EXISTING));
-			session.registerResponseHandler(new SandboxUpdatedHandler(UpdatedHandler.HANDLE_UPDATED));
-			return super.doExecute(session, globalOptions, localOptions, arguments, listener, monitor);
-		}
-	}
-	
-	/**
-	 * This class overrides the "Created" handler in order to configure the remote file
-	 * to receive and cache the contents
-	 */
-	public class SandboxUpdatedHandler extends UpdatedHandler {
-		public SandboxUpdatedHandler(int type) {
-			super(type);
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.team.internal.ccvs.core.client.UpdatedHandler#receiveTargetFile(org.eclipse.team.internal.ccvs.core.client.Session, org.eclipse.team.internal.ccvs.core.ICVSFile, java.lang.String, java.util.Date, boolean, boolean, org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		protected void receiveTargetFile(
-			Session session,
-			ICVSFile mFile,
-			String entryLine,
-			Date modTime,
-			boolean binary,
-			boolean readOnly,
-			boolean executable,
-			IProgressMonitor monitor)
-			throws CVSException {
-			
-			// Set the sync info first so that the contents are cached properly
-			ResourceSyncInfo info = new ResourceSyncInfo(entryLine, modTime);
-			// We're always excepting new revisions so the file is clean
-			mFile.setSyncInfo(info, ICVSFile.CLEAN);
-			
-			// receive the file contents from the server
-			session.receiveFile(mFile, binary, getHandlerType(), monitor);
-			
-			// Handle execute
-			try {
-				if (executable) mFile.setExecutable(true);
-	        } catch (CVSException e) {
-	            // Just log and keep going
-	            CVSProviderPlugin.log(e);
-	        }
-		}
-	}
-	
-	public static RemoteFolder buildRemoteTree(final CVSRepositoryLocation repository, ICVSFolder root, CVSTag tag, int depth, IProgressMonitor monitor) throws CVSException {
-		monitor.beginTask(null, 100);
-		try {
-			RemoteFolder tree = buildBaseTree(repository, root, tag, Policy.subMonitorFor(monitor, 50));
-			UpdateContentCachingService service = new UpdateContentCachingService(repository, tree, tag, depth);
-			service.setFetchAbsentDirectories(getFetchAbsentDirectories(root));
-			if (!service.cacheFileContents(Policy.subMonitorFor(monitor, 50)))
-				return null;
-			return tree;
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	private void setFetchAbsentDirectories(boolean fetchAbsentDirectories) {
-		this.fetchAbsentDirectories = fetchAbsentDirectories;
-	}
-
-	private static boolean getFetchAbsentDirectories(ICVSFolder root) {
-		IResource resource = root.getIResource();
-		if (resource != null) {
-			IProject project = resource.getProject();
-			RepositoryProvider provider = RepositoryProvider.getProvider(project, CVSProviderPlugin.getTypeId());
-			if (provider instanceof CVSTeamProvider) {
-				CVSTeamProvider cp = (CVSTeamProvider) provider;
-				try {
-					return cp.getFetchAbsentDirectories();
-				} catch (CVSException e) {
-					CVSProviderPlugin.log(e);
-				}
-			}
-		}
-		return CVSProviderPlugin.getPlugin().getFetchAbsentDirectories();
-	}
-
-	private static RemoteFolder buildBaseTree(final CVSRepositoryLocation repository, ICVSFolder root, CVSTag tag, IProgressMonitor progress) throws CVSException {
-		try {
-			RemoteFolderTreeBuilder builder = new RemoteFolderTreeBuilder(repository, root, tag) {
-				protected RemoteFolder createRemoteFolder(ICVSFolder local, RemoteFolder parent, FolderSyncInfo folderSyncInfo) {
-					return new RemoteFolderSandbox(parent, local.getName(), repository, folderSyncInfo.getRepository(), folderSyncInfo.getTag(), folderSyncInfo.getIsStatic());
-				}
-				protected RemoteFile createRemoteFile(RemoteFolder remote, byte[] syncBytes) throws CVSException {
-					return new RemoteFile(remote, syncBytes){
-						public boolean isModified(IProgressMonitor monitor) throws CVSException {
-							return false;
-						}	
-						public void delete() {
-							RemoteFolderSandbox parent = (RemoteFolderSandbox)getParent();
-							parent.remove(this);
-						}
-					};
-				}
-				protected boolean isPruneEmptyDirectories() {
-					return true;
-				}
-			};
-			progress.beginTask(null, 100);
-			IProgressMonitor subProgress = Policy.infiniteSubMonitorFor(progress, 100);
-			subProgress.beginTask(null, 512);  
-			subProgress.subTask(NLS.bind(CVSMessages.RemoteFolderTreeBuilder_buildingBase, new String[] { root.getName() })); 
-	 		RemoteFolder tree = builder.buildBaseTree(null, root, subProgress);
-	 		if (tree == null) {
-	 			// The local tree is empty and was pruned.
-	 			// Return the root folder so that the operation can proceed
-	 			FolderSyncInfo folderSyncInfo = root.getFolderSyncInfo();
-	 			if (folderSyncInfo == null) return null;
-	 			return new RemoteFolderSandbox(null, root.getName(), repository, folderSyncInfo.getRepository(), folderSyncInfo.getTag(), folderSyncInfo.getIsStatic());
-	 		}
-			return tree;
-		} finally {
-			progress.done();
-		}
-	}
-	
-	public static RemoteFile buildRemoteTree(CVSRepositoryLocation repository, ICVSFile file, CVSTag tag, IProgressMonitor monitor) throws CVSException {
-		monitor.beginTask(null, 100);
-		try {
-			RemoteFolderTreeBuilder builder = new RemoteFolderTreeBuilder(repository, file.getParent(), tag);
-			RemoteFile remote =  builder.buildTree(file, Policy.subMonitorFor(monitor, 10));
-			
-			if (remote == null)
-				return null;
-			
-			byte[] syncBytes = remote.getSyncBytes();
-			if (builder.getFileDiffs().length > 0) {
-				// Getting the storage of the file will cache the contents
-				remote.getStorage(Policy.subMonitorFor(monitor, 90));
-			}
-			// We need to set the sync bytes back because the content fetch
-			// makes the handle sticky
-			remote.setSyncBytes(syncBytes, ICVSFile.CLEAN);
-			return remote;
-		} catch (TeamException e) {
-			throw CVSException.wrapException(e);
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	public UpdateContentCachingService(CVSRepositoryLocation repository, RemoteFolder tree, CVSTag tag, int depth) {
-		this.repository = repository;
-		this.remoteRoot = tree;
-		this.tag = tag;
-		this.depth = depth;
-	}
-	
-	private boolean cacheFileContents(IProgressMonitor monitor) throws CVSException {
-		// Fetch the file contents for all out-of-sync files by running an update
-		// on the remote tree passing the known changed files as arguments
-		monitor.beginTask(null, 100);
-		Policy.checkCanceled(monitor);
-		Session session = new Session(repository, remoteRoot, false);
-		session.open(Policy.subMonitorFor(monitor, 10), false /* read-only */);
-		try {
-			Policy.checkCanceled(monitor);
-			IStatus status = new SandboxUpdate().execute(session,
-				Command.NO_GLOBAL_OPTIONS,
-				getLocalOptions(),
-				new String[] { Session.CURRENT_LOCAL_FOLDER },
-				new UpdateListener(this),
-				Policy.subMonitorFor(monitor, 90));
-			if (!status.isOK()) {
-				if (status.getCode() == CVSStatus.SERVER_ERROR) {
-					CVSServerException e = new CVSServerException(status);
-					if ( ! e.isNoTagException() && e.containsErrors())
-						throw e;
-					return false;
-				} else if (status.getSeverity() == IStatus.ERROR && isReportableError(status)) {
-					throw new CVSException(status);
-				}
-			}
-			for (Iterator iterator = removed.iterator(); iterator.hasNext();) {
-				ICVSResource resource = (ICVSResource) iterator.next();
-				if (resource.exists())
-					resource.delete();
-			}
-		} finally {
-			session.close();
-			monitor.done();
-		}
-		return true;
-	}
-
-	private boolean isReportableError(IStatus status) {
-		return CVSStatus.isInternalError(status) 
-			|| status.getCode() == TeamException.UNABLE
-        	|| status.getCode() == CVSStatus.INVALID_LOCAL_RESOURCE_PATH
-        	|| status.getCode() == CVSStatus.RESPONSE_HANDLING_FAILURE;
-	}
-
-	private LocalOption[] getLocalOptions() {
-		ArrayList options = new ArrayList();
-		if (tag != null)
-			options.add(Update.makeTagOption(tag));
-		
-		if (depth != IResource.DEPTH_INFINITE )
-			options.add(Command.DO_NOT_RECURSE);
-		
-		if (fetchAbsentDirectories)
-			options.add(Update.RETRIEVE_ABSENT_DIRECTORIES);
-		
-		if (!options.isEmpty())
-			return (LocalOption[]) options.toArray(new LocalOption[options.size()]);
-		
-		return Command.NO_LOCAL_OPTIONS;
-	}
-
-	public void directoryDoesNotExist(ICVSFolder commandRoot, String path) {
-		try {
-			removed.add(commandRoot.getChild(path));
-		} catch (CVSException e) {
-			CVSProviderPlugin.log(e);
-		}
-	}
-
-	public void directoryInformation(ICVSFolder commandRoot, String path,
-			boolean newDirectory) {
-		// Nothing to do
-	}
-
-	public void fileDoesNotExist(ICVSFolder parent, String filename) {
-		try {
-			removed.add(parent.getChild(filename));
-		} catch (CVSException e) {
-			CVSProviderPlugin.log(e);
-		}
-	}
-
-	public void fileInformation(int type, ICVSFolder parent, String filename) {
-		// Nothing to do
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/BaserevInfo.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/BaserevInfo.java
deleted file mode 100644
index 9b6dbb4..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/BaserevInfo.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.syncinfo;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-/**
- * This class represents the information in the CVS/Baserev file
- */
-public class BaserevInfo {
-	private static final String BASEREV_PREFIX = "B"; //$NON-NLS-1$
-	
-	private String name;
-	private String revision;
-	
-	public BaserevInfo(String entryLine) throws CVSException {
-		setEntryLine(entryLine);
-	}
-
-	public BaserevInfo(String name, String revision) {
-		this.name = name;
-		this.revision = revision;
-	}
-	/**
-	 * Return the entry line as it appears in the CVS/Baserev file
-	 * @return String
-	 */
-	public String getEntryLine() {
-		StringBuffer result = new StringBuffer();
-		result.append(BASEREV_PREFIX);
-		result.append(name);
-		result.append(ResourceSyncInfo.SEPARATOR);
-		result.append(revision);
-		result.append(ResourceSyncInfo.SEPARATOR);
-		return result.toString();
-	}	
-	private void setEntryLine(String entryLine) throws CVSException {
-		if(entryLine.startsWith(BASEREV_PREFIX)) {
-			entryLine = entryLine.substring(1);
-		}
-		String[] strings = Util.parseIntoSubstrings(entryLine, ResourceSyncInfo.SEPARATOR);
-		// Accept either a length of 2 or 3. If the length is 3, we ignore the last
-		// string as per the CVS spec.
-		if(strings.length != 2 && strings.length != 3) {
-			IStatus status = new CVSStatus(IStatus.ERROR,NLS.bind(CVSMessages.BaseRevInfo_malformedEntryLine, new String[] { entryLine }));
-			throw new CVSException(status); 
-		}
-
-		name = strings[0];
-
-		if(name.length()==0) {
-			IStatus status = new CVSStatus(IStatus.ERROR,NLS.bind(CVSMessages.BaseRevInfo_malformedEntryLine, new String[] { entryLine }));
-			throw new CVSException(status);  
-		}
-
-		revision = strings[1];
-
-		if(revision.length()==0) {
-			IStatus status = new CVSStatus(IStatus.ERROR,NLS.bind(CVSMessages.BaseRevInfo_malformedEntryLine, new String[] { entryLine }));
-			throw new CVSException(status);  
-		}
-	}
-	/**
-	 * Returns the name.
-	 * @return String
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Returns the revision.
-	 * @return String
-	 */
-	public String getRevision() {
-		return revision;
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSBaseResourceVariantTree.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSBaseResourceVariantTree.java
deleted file mode 100644
index 23348c7..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSBaseResourceVariantTree.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.syncinfo;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.variants.ResourceVariantByteStore;
-import org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer;
-
-
-public class CVSBaseResourceVariantTree extends ResourceVariantByteStore {
-	public void dispose() {
-		// Do nothing
-	}
-	public byte[] getBytes(IResource resource) throws TeamException {
-		if (resource.getType() == IResource.FILE) {
-			// For a file, return the entry line
-			byte[] bytes =  EclipseSynchronizer.getInstance().getSyncBytes(resource);
-			if (bytes != null) {
-				// Use the base sync info (i.e. no deletion or addition)
-				if (ResourceSyncInfo.isDeletion(bytes)) {
-					bytes = ResourceSyncInfo.convertFromDeletion(bytes);
-				} else if (ResourceSyncInfo.isAddition(bytes)) {
-					bytes = null;
-				}
-			}
-			return bytes;
-		} else {
-			// For a folder, return the folder sync info bytes
-			FolderSyncInfo info = EclipseSynchronizer.getInstance().getFolderSync((IContainer)resource);
-			if (info == null) return null;
-			return info.getBytes();
-		}
-	}
-	public boolean isVariantKnown(IResource resource) throws TeamException {
-		return getBytes(resource) != null;
-	}
-	public boolean flushBytes(IResource resource, int depth) throws TeamException {
-		throw new UnsupportedOperationException();
-	}
-	public boolean setBytes(IResource resource, byte[] bytes) throws TeamException {
-		throw new UnsupportedOperationException();
-	}
-	public boolean deleteBytes(IResource resource) throws TeamException {
-		throw new UnsupportedOperationException();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.utils.SynchronizationCache#members(org.eclipse.core.resources.IResource)
-	 */
-	public IResource[] members(IResource resource) throws TeamException {
-		if(resource.getType() == IResource.FILE) {
-			return new IResource[0];
-		}	
-		return EclipseSynchronizer.getInstance().members((IContainer)resource);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSDescendantResourceVariantByteStore.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSDescendantResourceVariantByteStore.java
deleted file mode 100644
index 36c8003..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSDescendantResourceVariantByteStore.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.syncinfo;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.variants.PersistantResourceVariantByteStore;
-import org.eclipse.team.core.variants.ResourceVariantByteStore;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.core.subscribers.DescendantResourceVariantByteStore;
-
-/**
- * CVS sycnrhonization cache that ignores stale remote bytes
- */
-public class CVSDescendantResourceVariantByteStore extends DescendantResourceVariantByteStore {
-
-	public CVSDescendantResourceVariantByteStore(ResourceVariantByteStore baseCache, PersistantResourceVariantByteStore remoteCache) {
-		super(baseCache, remoteCache);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.DescendantSynchronizationCache#isDescendant(org.eclipse.core.resources.IResource, byte[], byte[])
-	 */
-	protected boolean isDescendant(IResource resource, byte[] baseBytes, byte[] remoteBytes) throws TeamException {
-		if (resource.getType() != IResource.FILE) return true;
-		try {
-			return ResourceSyncInfo.isLaterRevisionOnSameBranch(remoteBytes, baseBytes);
-		} catch (CVSException e) {
-			throw TeamException.asTeamException(e);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.helpers.SynchronizationCache#setSyncBytes(org.eclipse.core.resources.IResource, byte[])
-	 */
-	public boolean setBytes(IResource resource, byte[] bytes) throws TeamException {
-		boolean changed = super.setBytes(resource, bytes);
-		if (resource.getType() == IResource.FILE && getBytes(resource) != null && !parentHasSyncBytes(resource)) {
-			// Log a warning if there is no sync bytes available for the resource's
-			// parent but there is valid sync bytes for the child
-			CVSProviderPlugin.log(new TeamException(NLS.bind(CVSMessages.ResourceSynchronizer_missingParentBytesOnSet, new String[] { ((PersistantResourceVariantByteStore)getRemoteStore()).getSyncName().toString(), resource.getFullPath().toString() }))); 
-		}
-		return changed;
-	}
-
-	/**
-	 * Indicates whether the parent of the given local resource has sync bytes for its
-	 * corresponding remote resource. The parent bytes of a remote resource are required
-	 * (by CVS) to create a handle to the remote resource.
-	 */
-	protected boolean parentHasSyncBytes(IResource resource) throws TeamException {
-		if (resource.getType() == IResource.PROJECT) return true;
-		return (getBytes(resource.getParent()) != null);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.core.subscribers.caches.ResourceVariantByteStore#isVariantKnown(org.eclipse.core.resources.IResource)
-	 */
-	public boolean isVariantKnown(IResource resource) throws TeamException {
-		return ((PersistantResourceVariantByteStore)getRemoteStore()).isVariantKnown(resource);
-	}
-
-	/*
-	 * TODO: Could possibly be generalized and moved up
-	 */
-	public IStatus handleResourceChanges(IResource[] changedResources, boolean canModifyWorkspace) {
-		// IMPORTANT NOTE: This will throw exceptions if performed during the POST_CHANGE delta phase!!!
-		List errors = new ArrayList();
-		for (int i = 0; i < changedResources.length; i++) {
-			IResource resource = changedResources[i];
-			try {
-				if (!isInCVSProject(resource)) continue;
-				if (resource.getType() == IResource.FILE
-						&& (resource.exists() || resource.isPhantom())) {
-					byte[] remoteBytes = getBytes(resource);
-					if (remoteBytes == null) {
-						if (isVariantKnown(resource)) {
-							// The remote is known not to exist. If the local resource is
-							// managed then this information is stale
-							if (getBaseStore().getBytes(resource) != null) {
-								if (canModifyWorkspace) {
-									flushBytes(resource, IResource.DEPTH_ZERO);
-								} else {
-									// The revision  comparison will handle the stale sync bytes
-									// TODO: Unless the remote is known not to exist (see bug 52936)
-								}
-							}
-						}
-					} else {
-						byte[] localBytes = getBaseStore().getBytes(resource);
-						if (localBytes == null || !isDescendant(resource, localBytes, remoteBytes)) {
-							if (canModifyWorkspace) {
-								flushBytes(resource, IResource.DEPTH_ZERO);
-							} else {
-								// The remote byte store handles the stale sync bytes
-							}
-						}
-					}
-				} else if (resource.getType() == IResource.FOLDER) {
-					// If the base has sync info for the folder, purge the remote bytes
-					if (getBaseStore().getBytes(resource) != null && canModifyWorkspace) {
-						flushBytes(resource, IResource.DEPTH_ZERO);
-					}
-				}
-			} catch (TeamException e) {
-				errors.add(e);
-			}
-		}
-		for (Iterator iter = errors.iterator(); iter.hasNext();) {
-			TeamException e = (TeamException) iter.next();
-			CVSProviderPlugin.log(e);
-		}
-		return Status.OK_STATUS; // TODO
-	}
-
-	private boolean isInCVSProject(IResource resource) {
-		return RepositoryProvider.getProvider(resource.getProject(), CVSProviderPlugin.getTypeId()) != null;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSResourceVariantTree.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSResourceVariantTree.java
deleted file mode 100644
index 39ececc..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSResourceVariantTree.java
+++ /dev/null
@@ -1,402 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.syncinfo;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.variants.*;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.*;
-
-/**
- * CVS Specific refresh operation
- */
-public class CVSResourceVariantTree extends ResourceVariantTree {
-
-	private CVSTag tag;
-	private boolean cacheFileContentsHint;
-	private CVSSyncTreeSubscriber subscriber;
-
-	public CVSResourceVariantTree(ResourceVariantByteStore cache, CVSTag tag, boolean cacheFileContentsHint) {
-		super(cache);
-		this.tag = tag;
-		this.cacheFileContentsHint = cacheFileContentsHint;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.RefreshOperation#getSynchronizationCache()
-	 */
-	public ResourceVariantByteStore getByteStore() {
-		return super.getByteStore();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.RefreshOperation#getRemoteSyncBytes(org.eclipse.core.resources.IResource, org.eclipse.team.core.subscribers.ISubscriberResource)
-	 */
-	protected byte[] getBytes(IResource local, IResourceVariant remote) throws TeamException {
-		if (remote != null) {
-			return super.getBytes(local, remote);
-		} else {
-			if (local.getType() == IResource.FOLDER) {
-				// If there is no remote, use the local sync for the folder
-				return getBaseBytes((IContainer)local, getTag(local));
-			}
-			return null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.RefreshOperation#getRemoteChildren(org.eclipse.team.core.subscribers.ISubscriberResource, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IResourceVariant[] fetchMembers(IResourceVariant remote, IProgressMonitor progress) throws TeamException {
-		ICVSRemoteResource[] children = remote != null ? (ICVSRemoteResource[])((RemoteResource)remote).members(progress) : new ICVSRemoteResource[0];
-		IResourceVariant[] result = new IResourceVariant[children.length];
-		for (int i = 0; i < children.length; i++) {
-			result[i] = (IResourceVariant)children[i];
-		}
-		return result;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.RefreshOperation#buildRemoteTree(org.eclipse.core.resources.IResource, int, boolean, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IResourceVariant fetchVariant(IResource resource, int depth, IProgressMonitor monitor) throws TeamException {
-		return (IResourceVariant)CVSWorkspaceRoot.getRemoteTree(resource, getTag(resource), isCacheFileContentsHint(), depth, monitor);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.core.subscribers.caches.ResourceVariantTreeRefreshOperation#collectChanges(org.eclipse.core.resources.IResource, org.eclipse.team.core.synchronize.IResourceVariant, int, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IResource[] collectChanges(IResource local,
-			IResourceVariant remote, int depth, IProgressMonitor monitor)
-			throws TeamException {
-		return super.collectChanges(local, remote, depth, monitor);
-	}
-
-	public IResource[] members(IResource resource) throws TeamException {
-		if (resource.getType() == IResource.FILE) {
-			return new IResource[0];
-		}
-		// Must ensure that any shared folders are included
-		Set members = new HashSet();
-		members.addAll(Arrays.asList(super.members(resource)));
-		try {
-			IResource[]  localMembers = EclipseSynchronizer.getInstance().members((IContainer) resource); //((IContainer)resource).members(true);
-			for (int i = 0; i < localMembers.length; i++) {
-				IResource local = localMembers[i];
-				if (local.getType() != IResource.FILE) {
-					ICVSFolder folder = CVSWorkspaceRoot.getCVSFolderFor((IContainer)local);
-					if (folder.isCVSFolder()) {
-						members.add(local);
-					}
-				}
-			}
-		} catch (CoreException e) {
-			throw CVSException.wrapException(e);
-		}
-		return (IResource[]) members.toArray(new IResource[members.size()]);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.core.subscribers.caches.IResourceVariantTree#roots()
-	 */
-	public IResource[] roots() {
-		return subscriber.roots();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.core.subscribers.caches.IResourceVariantTree#getResourceVariant(org.eclipse.core.resources.IResource)
-	 */
-	public IResourceVariant getResourceVariant(IResource resource) throws TeamException {
-		byte[] remoteBytes = getByteStore().getBytes(resource);
-		if (remoteBytes == null) {
-			// There is no remote handle for this resource
-			return null;
-		} else {
-			if (resource.getType() == IResource.FILE) {
-				byte[] parentBytes = getParentBytes(resource);
-				if (parentBytes == null) {
-					IProject project = resource.getProject();
-					if (project.exists() && RepositoryProvider.getProvider(project, CVSProviderPlugin.getTypeId()) != null) {
-						IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.ERROR,NLS.bind(CVSMessages.ResourceSynchronizer_missingParentBytesOnGet, new String[] { getSyncName(getByteStore()).toString(), resource.getFullPath().toString() }),resource);
-						CVSProviderPlugin.log(status); 
-						// Assume there is no remote and the problem is a programming error
-					}
-					return null;
-				}
-				return RemoteFile.fromBytes(resource, remoteBytes, parentBytes);
-			} else {
-				return RemoteFolder.fromBytes(resource, remoteBytes);
-			}
-		}
-	}
-
-	private String getSyncName(ResourceVariantByteStore cache) {
-		if (cache instanceof PersistantResourceVariantByteStore) {
-			return ((PersistantResourceVariantByteStore)cache).getSyncName().toString();
-		}
-		return cache.getClass().getName();
-	}
-	
-	
-	private byte[] getParentBytes(IResource resource) throws TeamException {
-		IContainer parent = resource.getParent();
-		byte[] bytes =  getByteStore().getBytes(parent);
-		if (bytes == null ) {
-			bytes = getBaseBytes(parent, getTag(resource));
-		}
-		return bytes;
-	}
-
-	private byte[] getBaseBytes(IContainer parent, CVSTag tag) throws CVSException {
-		byte[] bytes;
-		// Look locally for the folder bytes
-		ICVSFolder local = CVSWorkspaceRoot.getCVSFolderFor(parent);
-		FolderSyncInfo info = local.getFolderSyncInfo();
-		if (info == null) {
-			bytes = null;
-		} else {
-			// Use the folder sync from the workspace and the tag from the store
-            MutableFolderSyncInfo newInfo = info.cloneMutable();
-            newInfo.setTag(tag);
-            newInfo.setStatic(false);
-			bytes = newInfo.getBytes();
-		}
-		return bytes;
-	}
-	
-	private boolean hasLocalSyncInfo(IContainer folder) {
-		ICVSFolder local = CVSWorkspaceRoot.getCVSFolderFor(folder);
-		try {
-			return local.getFolderSyncInfo() != null;
-		} catch (CVSException e) {
-			// Say that there is sync info and let the failure occur elsewhere
-			return true;
-		}
-	}
-
-	public CVSTag getTag(IResource resource) {
-		return tag;
-	}
-
-	/**
-	 * Dispose of the underlying byte store
-	 */
-	public void dispose() {
-		getByteStore().dispose();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.core.subscribers.caches.ResourceVariantTree#setVariant(org.eclipse.core.resources.IResource, org.eclipse.team.core.synchronize.IResourceVariant)
-	 */
-	protected boolean setVariant(IResource local, IResourceVariant remote) throws TeamException {
-		if (local.getType() == IResource.FOLDER && remote != null 
-				&& !hasLocalSyncInfo((IFolder)local)
-				&& hasLocalSyncInfo(local.getParent())) {
-			// Manage the folder locally since folders exist in all versions, etc
-			// Use the info from the remote except get the tag from the local parent
-			CVSTag tag = CVSWorkspaceRoot.getCVSFolderFor(local.getParent()).getFolderSyncInfo().getTag();
-			FolderSyncInfo info = null;
-			try{
-				info = FolderSyncInfo.getFolderSyncInfo(remote.asBytes());
-			} catch (CVSException e){
-				Status status = new Status(Status.ERROR, CVSProviderPlugin.ID, 
-						NLS.bind(CVSMessages.CVSResourceVariantTree_GettingSyncInfoError, local.getProjectRelativePath().toString()), 
-						e);
-				throw new CVSException(status);
-			}
-            MutableFolderSyncInfo newInfo = info.cloneMutable();
-            newInfo.setTag(tag);
-			ICVSFolder cvsFolder = CVSWorkspaceRoot.getCVSFolderFor((IFolder)local);
-			cvsFolder.setFolderSyncInfo(newInfo);
-		}
-        if (remote == null && !isManaged(local)) {
-            // Do not record the lack of existence of a remote for unmanaged local files
-            // Instead, just flush the remote bytes if there are any
-        	boolean changed = getByteStore().getBytes(local) != null;
-            flushVariants(local, IResource.DEPTH_ZERO);
-            return changed;
-        } else {
-    		boolean changed = super.setVariant(local, remote);
-    		if (local.getType() == IResource.FILE && getByteStore().getBytes(local) != null && !parentHasSyncBytes(local)) {
-    			// Log a warning if there is no sync bytes available for the resource's
-    			// parent but there is valid sync bytes for the child
-    			CVSProviderPlugin.log(new TeamException(NLS.bind(CVSMessages.ResourceSynchronizer_missingParentBytesOnSet, new String[] { getSyncName(getByteStore()), local.getFullPath().toString() }))); 
-    		}
-    		return changed;
-        }
-	}
-	
-	private boolean isManaged(IResource local) {
-        try {
-            return CVSWorkspaceRoot.getCVSResourceFor(local).isManaged();
-        } catch (CVSException e) {
-            return false;
-        }
-    }
-
-    private boolean parentHasSyncBytes(IResource resource) throws TeamException {
-		if (resource.getType() == IResource.PROJECT) return true;
-		return getParentBytes(resource) != null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.core.subscribers.caches.AbstractResourceVariantTree#collectedMembers(org.eclipse.core.resources.IResource, org.eclipse.core.resources.IResource[])
-	 */
-	protected IResource[] collectedMembers(IResource local, IResource[] members) throws TeamException {
-		// Look for resources that have sync bytes but are not in the resources we care about
-		IResource[] resources = getStoredMembers(local);
-		List children = new ArrayList();
-		List changedResources = new ArrayList();
-		children.addAll(Arrays.asList(members));
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			if (!children.contains(resource)) {
-				// These sync bytes are stale. Purge them
-				flushVariants(resource, IResource.DEPTH_INFINITE);
-				changedResources.add(resource);
-			}
-		}
-		return (IResource[]) changedResources.toArray(new IResource[changedResources.size()]);
-	}
-	
-	/**
-	 * Return all the members of that have resource variant information associated with them,
-	 * such as members that are explicitly flagged as not having a resource variant. This list
-	 * is used by the collection algorithm to flush variants for which there is no local and
-	 * no remote.
-	 * @param local the locla resource
-	 * @return the local children that have resource variant information cached
-	 * @throws TeamException
-	 */
-	private IResource[] getStoredMembers(IResource local) throws TeamException {			
-		try {
-			if (local.getType() != IResource.FILE && (local.exists() || local.isPhantom())) {
-				IResource[] allChildren = ((IContainer)local).members(true /* include phantoms */);
-				List childrenWithSyncBytes = new ArrayList();
-				for (int i = 0; i < allChildren.length; i++) {
-					IResource resource = allChildren[i];
-					if (getByteStore().getBytes(resource) != null) {
-						childrenWithSyncBytes.add(resource);
-					}
-				}
-				return (IResource[]) childrenWithSyncBytes.toArray(
-						new IResource[childrenWithSyncBytes.size()]);
-			}
-		} catch (CoreException e) {
-			throw TeamException.asTeamException(e);
-		}
-		return new IResource[0];
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.AbstractResourceVariantTree#refresh(org.eclipse.core.resources.IResource, int, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IResource[] refresh(IResource resource, int depth, IProgressMonitor monitor) throws TeamException {
-		IResource[] changedResources = null;
-		monitor.beginTask(null, 100);
-		// Wait while a build is running
-		// Initially wait for a short time and then increase the wait 
-		// if the build is still running
-		int count = 0;
-		int waitTime = 10;
-		while (count < 15 
-				&& (isJobInFamilyRunning(ResourcesPlugin.FAMILY_AUTO_BUILD)
-				|| isJobInFamilyRunning(ResourcesPlugin.FAMILY_MANUAL_BUILD))) {
-			try {
-				Thread.sleep(waitTime);
-			} catch (InterruptedException e) {
-				// Conitinue
-			}	
-			count++;
-			if (count >= 10) {
-			    waitTime = 1000;
-			} else if (count >= 5) {
-			    waitTime = 100;
-			}
-			Policy.checkCanceled(monitor);
-		}
-		try {
-			changedResources = super.refresh(resource, depth, Policy.subMonitorFor(monitor, 99));
-		} catch (TeamException e) {
-		    // Try to properly handle exceptions that are due to project modifications
-		    // performed while the refresh was happening
-			if (!resource.getProject().isAccessible()) {
-				// The project is closed so silently skip it
-				return new IResource[0];
-			}
-			throw e;
-		} finally {
-			monitor.done();
-		}
-		if (changedResources == null) return new IResource[0];
-		return changedResources;
-	}
-	
-	private boolean isJobInFamilyRunning(Object family) {
-		Job[] jobs = Job.getJobManager().find(family);
-		if (jobs != null && jobs.length > 0) {
-			for (int i = 0; i < jobs.length; i++) {
-				Job job = jobs[i];
-				if (job.getState() != Job.NONE) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-	
-	
-	public ICVSRemoteResource buildTree(RemoteFolderTree parent, IResource resource, boolean immutable, IProgressMonitor monitor) throws TeamException {
-		
-		Policy.checkCanceled(monitor);
-		
-		byte[] remoteBytes = getByteStore().getBytes(resource);
-		if (remoteBytes == null) {
-			// There is no remote handle for this resource
-			return null;
-		}
-		
-		if (resource.getType() == IResource.FILE) {
-			if (immutable) {
-				remoteBytes = ResourceSyncInfo.setTag(remoteBytes, new CVSTag(ResourceSyncInfo.getRevision(remoteBytes), CVSTag.VERSION));
-			}
-			if (parent == null) {
-				return (ICVSRemoteResource)getResourceVariant(resource);
-			}
-			return new RemoteFile(parent, remoteBytes);
-		} else {
-			RemoteFolderTree remote = RemoteFolderTree.fromBytes(parent, resource, remoteBytes);
-			IResource[] members = members(resource);
-			List children = new ArrayList();
-			for (int i = 0; i < members.length; i++) {
-				IResource member = members[i];
-				ICVSRemoteResource child = buildTree(remote, member, immutable, monitor);
-				if (child != null)
-					children.add(child);
-			}
-			
-			// Add the children to the remote folder tree
-			remote.setChildren((ICVSRemoteResource[])children.toArray(new ICVSRemoteResource[children.size()]));
-			return remote;
-		}
-	}
-
-	public boolean isCacheFileContentsHint() {
-		return cacheFileContentsHint;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/DeferredResourceChangeHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/DeferredResourceChangeHandler.java
deleted file mode 100644
index 137b233..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/DeferredResourceChangeHandler.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.syncinfo;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer;
-import org.eclipse.team.internal.core.BackgroundEventHandler;
-
-/**
- * This class handles resources changes that are reported in deltas
- * in a deferred manner (i.e. in a background job)
- */
-public class DeferredResourceChangeHandler extends BackgroundEventHandler {
-
-	public DeferredResourceChangeHandler() {
-		super(CVSMessages.DeferredResourceChangeHandler_0, CVSMessages.DeferredResourceChangeHandler_1);
-	}
-
-	private static final int IGNORE_FILE_CHANGED = 1;
-	private static final int RECREATED_CVS_RESOURCE = 2;
-	private static final int CONFLICTING_DELETION =3;
-	
-	private Set changedIgnoreFiles = new HashSet();
-	private Set recreatedResources = new HashSet();
-	private Set conflictingDeletion = new HashSet();
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.BackgroundEventHandler#processEvent(org.eclipse.team.core.subscribers.BackgroundEventHandler.Event, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void processEvent(Event event, IProgressMonitor monitor) throws TeamException {
-		int type = event.getType();
-		switch (type) {
-			case IGNORE_FILE_CHANGED :
-				changedIgnoreFiles.add(event.getResource());
-				break;
-			case RECREATED_CVS_RESOURCE :
-				recreatedResources.add(event.getResource());
-				break;
-			case CONFLICTING_DELETION :
-				conflictingDeletion.add(event.getResource());
-				break;
-		}				
-	}
-	
-	private IContainer[] getParents(Set files) {
-		Set parents = new HashSet();
-		for (Iterator iter = files.iterator(); iter.hasNext();) {
-			IFile file = (IFile) iter.next();
-			parents.add(file.getParent());
-		}
-		return (IContainer[]) parents.toArray(new IContainer[parents.size()]);
-	}
-
-	public void ignoreFileChanged(IFile file) {
-		if (isSharedWithCVS(file))
-			queueEvent(new ResourceEvent(file, IGNORE_FILE_CHANGED, IResource.DEPTH_ZERO), false);
-	}
-	
-	/**
-	 * The resource has been added and has sync info that has not been written to disk. 
-	 * Queue an event to ensure that the CVS directory files
-	 * are written to disk.
-	 * @param resource the recently add resource
-	 */
-	public void recreated(IResource resource) {
-		if (isSharedWithCVS(resource))
-			queueEvent(new ResourceEvent(resource, RECREATED_CVS_RESOURCE, IResource.DEPTH_ZERO), false);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.BackgroundEventHandler#dispatchEvents()
-	 */
-	protected boolean doDispatchEvents(IProgressMonitor monitor) {
-		// Handle ignore file changes
-		boolean workDone = !changedIgnoreFiles.isEmpty() || !recreatedResources.isEmpty();
-		try {
-            EclipseSynchronizer.getInstance().ignoreFilesChanged(getParents(changedIgnoreFiles));
-        } catch (CVSException e) {
-            // Log and continue
-            CVSProviderPlugin.log(e);
-        }
-		changedIgnoreFiles.clear();
-		// Handle recreations by project to reduce locking granularity
-		Map recreations = getResourcesByProject((IResource[]) recreatedResources.toArray(new IResource[recreatedResources.size()]));
-		recreatedResources.clear();
-		for (Iterator iter = recreations.values().iterator(); iter.hasNext();) {
-			List resources = (List) iter.next();
-			try {
-				EclipseSynchronizer.getInstance().resourcesRecreated((IResource[]) resources.toArray(new IResource[resources.size()]), monitor);
-			} catch (CVSException e) {
-				// Log and continue
-				CVSProviderPlugin.log(e);
-			}
-		}
-		IResource[] deletions = (IResource[]) conflictingDeletion.toArray(new IResource[conflictingDeletion.size()]);
-		conflictingDeletion.clear();
-		for (int i = 0; i < deletions.length; i++) {
-			IResource resource = deletions[i];
-			ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource);
-			try {
-				if(!cvsResource.isFolder() && cvsResource.isManaged()) {
-					cvsResource.unmanage(monitor);
-				}
-			} catch (CVSException e) {
-				// Log and continue
-				CVSProviderPlugin.log(e);
-			}
-		}
-		return workDone;
-	}
-	
-	private Map getResourcesByProject(IResource[] resources) {
-		Map result = new HashMap();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			IProject project = resource.getProject();
-			List projectResources = (List)result.get(project);
-			if (projectResources == null) {
-				projectResources = new ArrayList();
-				result.put(project, projectResources);
-			}
-			projectResources.add(resource);
-		}
-		return result;
-	}
-
-	public void handleConflictingDeletion(IResource local) {
-		if (isSharedWithCVS(local))
-			queueEvent(new ResourceEvent(local, CONFLICTING_DELETION, IResource.DEPTH_ZERO), false);
-	}
-	
-	private boolean isSharedWithCVS(IResource resource) {
-		return CVSTeamProvider.isSharedWithCVS(resource.getProject());
-	}
-
-	protected Object getJobFamiliy() {
-		return this;
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/FolderSyncInfo.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/FolderSyncInfo.java
deleted file mode 100644
index 8daa856..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/FolderSyncInfo.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.syncinfo;
-
- 
-import java.io.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.resources.CVSEntryLineTag;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-/**
- * Value (immutable) object that represents workspace state information about the contents of a
- * folder that was retreived from a CVS repository. It is a specialized representation of the files from
- * the CVS sub-directory that contain folder specific connection information (e.g. Root, Repository, Tag).
- *  
- * @see ICVSFolder#getFolderSyncInfo()
- */
-public class FolderSyncInfo {
-
-	// The Repository value for virtual directories (i.e. local with no corresponding remote)
-	public static final String VIRTUAL_DIRECTORY = "CVSROOT/Emptydir"; //$NON-NLS-1$
-
-	// relative path of this folder in the repository, project1/folder1/folder2
-	protected String repository;
-	
-	// :pserver:user@host:/home/user/repo
-    protected String root;
-	
-	// sticky tag (e.g. version, date, or branch tag applied to folder)
-	private CVSEntryLineTag tag;
-	
-	// if true then it means only part of the folder was fetched from the repository, and CVS will not create 
-	// additional files in that folder.
-    protected boolean isStatic;
-
-	/**
-	 * Construct a folder sync object.
-	 * 
-	 * @param repo the relative path of this folder in the repository, cannot be <code>null</code>.
-	 * @param root the location of the repository, cannot be <code>null</code>.
-	 * @param tag the tag set for the folder or <code>null</code> if there is no tag applied.
-	 * @param isStatic to indicate is only part of the folder was fetched from the server.
-	 */
-	public FolderSyncInfo(String repo, String root, CVSTag tag, boolean isStatic) {
-		Assert.isNotNull(repo);
-		Assert.isNotNull(root);
-		this.repository = repo;
-		// intern the root so that caching of FolderSyncInfos for folders will use less space
-		this.root = root.intern();
-		ensureRepositoryRelativeToRoot();
-		this.isStatic = isStatic;
-		setTag(tag);
-	}
-
-	/**
-	 * Method ensureRepositoryRelativeToRoot.
-	 */
-	private void ensureRepositoryRelativeToRoot() {
-		String rootDir;
-		try {
-			rootDir = getRootDirectory();
-		} catch (CVSException e) {
-			// Ignore the for now. Using the root will show the error to the user.
-			return;
-		}
-		if (repository.startsWith(rootDir)) {
-			repository = repository.substring(rootDir.length());
-		}
-		if (repository.startsWith(ResourceSyncInfo.SEPARATOR)) {
-			repository = repository.substring(ResourceSyncInfo.SEPARATOR.length());
-		}
-	}
-	
-	public boolean equals(Object other) {
-		if(other == this) return true;
-		if (!(other instanceof FolderSyncInfo)) return false;
-			
-		FolderSyncInfo syncInfo = ((FolderSyncInfo)other);
-		if (!getRoot().equals(syncInfo.getRoot())) return false;
-		if (!getRepository().equals(syncInfo.getRepository())) return false;
-		if (getIsStatic() != syncInfo.getIsStatic()) return false;
-		if ((getTag() == null) || (syncInfo.getTag() == null)) {
-			if ((getTag() == null) && (syncInfo.getTag() != null) && (syncInfo.getTag().getType() != CVSTag.HEAD)) {
-				return false;
-			} else if ((syncInfo.getTag() == null) && (getTag() != null) && (getTag().getType() != CVSTag.HEAD)) {
-				return false;
-			}
-		} else if (!getTag().equals(syncInfo.getTag())) {
-			return false;
-		}
-		return true;
-	}
-	/**
-	 * Gets the root, cannot be <code>null.
-	 * 
-	 * @return Returns a String
-	 */
-	public String getRoot() {
-		return root;
-	}
-
-	/**
-	 * Answer the directory portion of the root. For example, if
-	 *    root = :pserver:user@host:/home/user/repo
-	 * then /home/user/repo is return.
-	 * <p>
-	 * The root does not neccesarily contain a user name, in which cas the format is
-	 * :pserver:host:/home/user/repo.
-	 *
-	 * 
-	 * @return String
-	 */
-	private String getRootDirectory() throws CVSException {
-		try {
-			String root = getRoot();
-			int index = root.indexOf(CVSRepositoryLocation.HOST_SEPARATOR);
-			if (index == -1) {
-				// If the username is missing, we have to find the third ':'.
-				index = root.indexOf(CVSRepositoryLocation.COLON);
-				if (index == 0) {
-				    // This indicates that the conection method is present.
-				    // It is surrounded by two colons so skip them.
-					index = root.indexOf(CVSRepositoryLocation.COLON, index + 1);
-					index = root.indexOf(CVSRepositoryLocation.COLON, index + 1);
-				}
-				if (index == -1) {
-				    // The host colon is missing.
-				    // Look for a slash to find the path
-				    index = root.indexOf(ResourceSyncInfo.SEPARATOR);
-				    // Decrement the index since the slash is part of the path
-				    if (index != -1) index--;
-				}
-			} else {
-				// If the username was there, we find the first ':' past the '@'
-				index = root.indexOf(CVSRepositoryLocation.COLON, index + 1);
-			}
-			index++;
-			// strip off a leading port if there is one
-			char c = root.charAt(index);
-			while (Character.isDigit(c)) {
-				c = root.charAt(++index);
-			}
-			return root.substring(index);
-		} catch (IndexOutOfBoundsException e) {
-			IStatus status = new CVSStatus(IStatus.ERROR,CVSMessages.FolderSyncInfo_Maleformed_root_4, e);
-			throw new CVSException(status); 
-		}
-	}
-	
-	/**
-	 * Gets the tag, may be <code>null</code>.
-	 * 
-	 * @return Returns a String
-	 */
-	public CVSEntryLineTag getTag() {
-		return tag;
-	}
-
-	/**
-	 * Gets the repository, may be <code>null</code>.
-	 * 
-	 * @return Returns a String
-	 */
-	public String getRepository() {
-		return repository;
-	}
-
-	/**
-	 * Gets the isStatic.
-	 * 
-	 * @return Returns a boolean
-	 */
-	public boolean getIsStatic() {
-		return isStatic;
-	}
-
-	/**
-	 * Answers a full path to the folder on the remote server. This by appending the repository to the
-	 * repository location speficied in the root.
-	 * 
-	 * Example:
-	 * 	root = :pserver:user@host:/home/user/repo
-	 * 	repository = folder1/folder2
-	 * 
-	 * Returns:
-	 * 	/home/users/repo/folder1/folder2
-	 * 
-	 * Note: CVS supports repository root directories that end in a slash (/).
-	 * For these directories, the remote location must contain two slashes (//)
-	 * between the root directory and the rest of the path. For example:
-	 * 	root = :pserver:user@host:/home/user/repo/
-	 * 	repository = folder1/folder2
-	 * must return:
-	 * 	/home/users/repo//folder1/folder2
-	 * 
-	 * @return the full path of this folder on the server.
-	 * @throws a CVSException if the root or repository is malformed.
-	 */
-	public String getRemoteLocation() throws CVSException {
-		return Util.appendPath(getRootDirectory(), getRepository());
-	}
-	
-	/*
-	 * Provide a hashCode() method that gaurentees that equal object will have the
-	 * same hashCode
-	 */
-	public int hashCode() {
-		return getRoot().hashCode() | getRepository().hashCode();
-	}
-	
-	/**
-	 * Sets the tag for the folder.
-	 * 
-	 * @param tag The tag to set
-	 */
-	protected void setTag(CVSTag tag) {
-		if (tag == null || tag.equals(CVSTag.DEFAULT)) {
-			this.tag = null;
-		} else {
-			this.tag = new CVSEntryLineTag(tag);
-		}
-	}
-	/*
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return getRoot() + "/" + getRepository() + "/" + getTag(); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-	public MutableFolderSyncInfo cloneMutable() {
-		MutableFolderSyncInfo newSync = new MutableFolderSyncInfo(this);
-		return newSync;
-	}
-
-	/**
-	 * Return true if this FolderSyncInfo is mapped to the same remote directory
-	 * as the other FolderSyncInfo passed as a parameter.
-	 * 
-	 * @param remoteInfo
-	 * @return
-	 */
-	public boolean isSameMapping(FolderSyncInfo other) {
-		if (other == null) return false;
-		return (this.getRoot().equals(other.getRoot()) 
-			&& this.getRepository().equals(other.getRepository())) ;
-	}
-
-/**
-	 * Convert a FolderSyncInfo into a byte array that can be stored
-	 * in the workspace synchronizer
-	 */
-	public byte[] getBytes() throws CVSException {
-		ByteArrayOutputStream out = new ByteArrayOutputStream();
-		DataOutputStream dos = new DataOutputStream(out);
-		try {
-			dos.writeUTF(getRoot());
-			dos.writeUTF(getRepository());
-			CVSEntryLineTag t = getTag();
-			if (t == null) {
-				dos.writeUTF(""); //$NON-NLS-1$
-			} else {
-				dos.writeUTF(t.toString());
-			}
-			dos.writeBoolean(getIsStatic());
-			dos.close();
-		} catch (IOException e) {
-			throw CVSException.wrapException(e);
-		}
-		return out.toByteArray();
-	}
-
-	/**
-	 * Convert a byte array that was created using getBytes(FolderSyncInfo)
-	 * into a FolderSyncInfo
-	 */
-	public static FolderSyncInfo getFolderSyncInfo(byte[] bytes) throws CVSException {
-		Assert.isNotNull(bytes, "getFolderSyncInfo cannot be called with null parameter"); //$NON-NLS-1$
-		ByteArrayInputStream in = new ByteArrayInputStream(bytes);
-		DataInputStream dis = new DataInputStream(in);
-		String root;
-		String repository;
-		CVSEntryLineTag tag;
-		boolean isStatic;
-		try {
-			root = dis.readUTF();
-			repository = dis.readUTF();
-			String tagName = dis.readUTF();
-			if (tagName.length() == 0) {
-				tag = null;
-			} else {
-				tag = new CVSEntryLineTag(tagName);
-			}
-			isStatic = dis.readBoolean();
-		} catch (IOException e) {
-			Status status = new Status(Status.ERROR, CVSProviderPlugin.ID, NLS.bind(CVSMessages.FolderSyncInfo_InvalidSyncInfoBytes, new String(bytes)), e);
-			CVSException ex = new CVSException(status);
-			throw ex;
-		}
-		return new FolderSyncInfo(repository, root, tag, isStatic);
-	}
-	
-	/**
-	 * Return whether the local directory is mapped to an existing remote 
-	 * directory or is just a local placeholder for child folders. a return type
-	 * of <code>true</code> indicates that the local folder is not mapped to a
-	 * remote folder.
-	 * @return whether the directory is a local placeholder
-	 */
-	public boolean isVirtualDirectory() {
-		return getRepository().equals(VIRTUAL_DIRECTORY);
-	}
-
-    public FolderSyncInfo asImmutable() {
-        return this;
-    }
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/MultiTagResourceVariantTree.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/MultiTagResourceVariantTree.java
deleted file mode 100644
index 377d804..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/MultiTagResourceVariantTree.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.syncinfo;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.team.core.variants.ResourceVariantByteStore;
-import org.eclipse.team.internal.ccvs.core.CVSTag;
-
-/**
- * A CVS resource variant tree that associates a different tag with each root project.
- */
-public class MultiTagResourceVariantTree extends CVSResourceVariantTree {
-
-	Map resources = new HashMap();
-	
-	public MultiTagResourceVariantTree(ResourceVariantByteStore cache, boolean cacheFileContentsHint) {
-		super(cache, null, cacheFileContentsHint);
-	}
-	
-	public void addResource(IResource resource, CVSTag tag) {
-		Assert.isNotNull(resource);
-		Assert.isNotNull(tag);
-		resources.put(resource, tag);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.syncinfo.CVSResourceVariantTree#getTag(org.eclipse.core.resources.IResource)
-	 */
-	public CVSTag getTag(IResource resource) {
-		return (CVSTag)resources.get(resource);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/MutableFolderSyncInfo.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/MutableFolderSyncInfo.java
deleted file mode 100644
index 84b6e4e..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/MutableFolderSyncInfo.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.syncinfo;
-
-import org.eclipse.team.internal.ccvs.core.CVSTag;
-
-/**
- * Mutable version of FolderSyncInfo. Can be used when either creating a
- * folder sync object from scratch or when modifying an existing
- * <code>FolderSyncInfo</code> instance. Example usage:
- * <pre>
- * FolderSyncInfo info = folder.getFolderSyncInfo(); 
- * if(info!=null) {
- *    MutableFolderSyncInfo newInfo = info.cloneMutable(); 
- *    newInfo.setTag(CVSTag.DEFAULT);
- *    folder.setFolderSyncInfo(newInfo);
- * }
- * </pre>
- * @see FolderSyncInfo
- */
-public class MutableFolderSyncInfo extends FolderSyncInfo {
-	
-	public MutableFolderSyncInfo(FolderSyncInfo info) {
-		this(info.getRepository(), info.getRoot(), info.getTag(), info.getIsStatic());
-	}
-
-	public MutableFolderSyncInfo(String repo, String root, CVSTag tag, boolean isStatic) {
-		super(repo, root, tag, isStatic);
-	}
-
-	public void setTag(CVSTag tag) {
-		super.setTag(tag);
-	}
-
-	public void setRepository(String repository) {
-		this.repository = repository;
-	}
-
-    public void setStatic(boolean isStatic) {
-        this.isStatic = isStatic;
-    }
-    
-    public FolderSyncInfo asImmutable() {
-        return new FolderSyncInfo(getRepository(), getRoot(), getTag(), getIsStatic());
-    }
-
-    public void setRoot(String root) {
-        this.root = root;
-    }
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/MutableResourceSyncInfo.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/MutableResourceSyncInfo.java
deleted file mode 100644
index 6e574ae..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/MutableResourceSyncInfo.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.syncinfo;
-
-import java.util.Date;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSTag;
-import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption;
-
-/**
- * Mutable version of ResourceSyncInfo. Can be used when either creating a resource sync
- * object from scratch (e.g. without an entry line) or want to modify an existing
- * <code>ResourceSyncInfo</code> instance. Example usage:
- * <pre>
- * ResourceSyncInfo info = resource.getSyncInfo();
- * if(info!=null) {
- *   MutableResourceSyncInfo newInfo = info.cloneMutable();
- *   newInfo.setRevision("1.22");
- *   resource.setSyncInfo(newInfo);
- * }
- * </pre>
- * @see ResourceSyncInfo
- */
-public class MutableResourceSyncInfo extends ResourceSyncInfo {
-	
-	protected MutableResourceSyncInfo(ResourceSyncInfo info) {
-		this.name = info.getName();
-		setRevision(info.getRevision());
-		setTag(info.getTag());
-		this.timeStamp = info.getTimeStamp();
-		this.isDirectory = info.isDirectory();
-		this.keywordMode = info.getKeywordMode();
-		this.isDeleted = info.isDeleted();
-		if(info.isMergedWithConflicts()) {
-			setSyncType(TYPE_MERGED_WITH_CONFLICTS);
-		} else if(info.isMerged()) {
-			setSyncType(TYPE_MERGED);
-		} else {
-			setSyncType(TYPE_REGULAR);
-		}
-	}
-	
-	/**
-	 * Creates a default sync info, if revision is <code>null</code> then
-	 * the sync info will be considered in the newly added state.
-	 */ 
-	public MutableResourceSyncInfo(String name, String revision) {
-		Assert.isNotNull(name);
-		this.name = name;
-		setRevision(revision);
-	}
-	
-	/**
-	 * Sets the revision.
-	 * @param revision The revision to set
-	 */
-	public void setRevision(String revision) {
-		super.setRevision(revision);
-	}
-	
-	/**
-	 * Sets the timeStamp.
-	 * @param timeStamp The timeStamp to set
-	 */
-	public void setTimeStamp(Date timeStamp) {
-		this.timeStamp = timeStamp;
-	}
-	
-	/**
-	 * Sets the timeStamp.
-	 * @param timeStamp The timeStamp to set
-	 */
-	public void setTimeStamp(Date timeStamp, boolean clearMerged) {
-		setTimeStamp(timeStamp);
-		if (clearMerged) setSyncType(TYPE_REGULAR);
-	}
-	
-	/**
-	 * Sets the keywordMode.
-	 * @param keywordMode The keywordMode to set
-	 */
-	public void setKeywordMode(KSubstOption keywordMode) {
-		this.keywordMode = keywordMode;
-	}
-
-	/**
-	 * Sets the tag.
-	 * @param tag The tag to set
-	 */
-	public void setTag(CVSTag tag) {
-		super.setTag(tag);
-	}
-	
-	/**
-	 * Sets the deleted state.
-	 * @param isDeleted The deleted state of this resource sync
-	 */
-	public void setDeleted(boolean isDeleted) {
-		this.isDeleted = isDeleted;;
-	}
-	
-	/**
-	 * Sets to the added state. The timestamp and other are cleared.
-	 */
-	public void setAdded() {
-		setRevision(ADDED_REVISION);
-	}
-	
-	/**
-	 * Sets that this resource sync is a result of a non-conflicting merge
-	 */
-	public void setMerged() {
-		// if already merged state then ignore
-		if(syncType==TYPE_REGULAR) {			
-			this.syncType = TYPE_MERGED;
-		}
-	}
-	
-	/**
-	 * @see org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo#setEntryLine(java.lang.String)
-	 */
-	public void setEntryLine(String entryLine) throws CVSException {
-		super.setEntryLine(entryLine);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/NotifyInfo.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/NotifyInfo.java
deleted file mode 100644
index f3e3d27..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/NotifyInfo.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.syncinfo;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.text.ParseException;
-import java.util.Date;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.util.CVSDateFormatter;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-/**
- * This class contains the information required by the server for edit/unedit.
- */
-public class NotifyInfo {
-	
-	// constants for the notifiation type and watches
-	public static final char EDIT = 'E';
-	public static final char UNEDIT = 'U';
-	public static final char COMMIT = 'C';
-	public static final char[] ALL = new char[] {EDIT, UNEDIT, COMMIT};
-	
-	protected static final String TAB_SEPARATOR = "\t"; //$NON-NLS-1$
-	
-	private String filename;
-	private char notificationType;
-	private Date timeStamp;
-	private char[] watches;
-	
-	/**
-	 * Constructor for setting all variables
-	 */
-	public NotifyInfo(String filename, char notificationType, Date timeStamp, char[] watches) {
-			
-		this.filename = filename;
-		this.notificationType = notificationType;
-		this.timeStamp = timeStamp;
-		this.watches = watches;
-	}
-
-	/**
-	 * Constructor for a line from the CVS/Notify file
-	 * @param line
-	 */
-	public NotifyInfo(IContainer parent, String line) throws CVSException {
-		String[] strings = Util.parseIntoSubstrings(line, ResourceSyncInfo.SEPARATOR);
-		if(strings.length != 4) {
-			IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.ERROR_LINE, NLS.bind(CVSMessages.NotifyInfo_MalformedLine, new String[] { line }), parent);
-			throw new CVSException(status); 
-		}
-		this.filename = strings[0];
-		
-		String type = strings[1];
-		if (type.length() != 1) {
-			IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.ERROR_LINE, NLS.bind(CVSMessages.NotifyInfo_MalformedNotificationType, new String[] { line }), parent);
-			throw new CVSException(status);
-		}
-		this.notificationType = type.charAt(0);
-		
-		String date = strings[2];
-		try {	
-			this.timeStamp = CVSDateFormatter.entryLineToDate(date);
-		} catch(ParseException e) {
-			IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.ERROR_LINE, NLS.bind(CVSMessages.NotifyInfo_MalformedNotifyDate, new String[] { line }), parent);
-			throw new CVSException(status);			
-		}
-		
-		String watchesString = strings[3];
-		if (watchesString.length() > 0) {
-			this.watches = new char[watchesString.length()];
-			for (int i = 0; i < watchesString.length(); i++) {
-				watches[i] = watchesString.charAt(i);
-			}
-		} else {
-			this.watches = null;
-		}
-	}
-	
-	/**
-	 * Answer a Sting formatted to be written to the CVS/Notify file.
-	 * 
-	 * XXX NOTE: This is a guess at the local format. Need to obtain proper format
-	 * 
-	 * @return String
-	 */
-	public String getNotifyLine() {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(getName());
-		buffer.append(ResourceSyncInfo.SEPARATOR);
-		buffer.append(notificationType);
-		buffer.append(ResourceSyncInfo.SEPARATOR);
-		buffer.append(CVSDateFormatter.dateToEntryLine(timeStamp));
-		buffer.append(ResourceSyncInfo.SEPARATOR);
-		if (watches != null) {
-			for (int i = 0; i < watches.length; i++) {
-				char c = watches[i];
-				buffer.append(c);
-			}
-		}
-		return buffer.toString();
-	}
-
-	/**
-	 * Answer a Sting formatted to be sent to the server.
-	 * 
-	 * @return String
-	 */
-	public String getServerLine(ICVSFolder parent) throws CVSException {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(notificationType);
-		buffer.append(TAB_SEPARATOR);
-		buffer.append(getServerTimestamp());
-		buffer.append(TAB_SEPARATOR);
-		buffer.append(getHost());
-		buffer.append(TAB_SEPARATOR);
-		buffer.append(getWorkingDirectory(parent));
-		buffer.append(TAB_SEPARATOR);
-		if (watches != null) {
-			for (int i = 0; i < watches.length; i++) {
-				char c = watches[i];
-				buffer.append(c);
-			}
-		}
-		return buffer.toString();
-	}
-
-	/**
-	 * Answer the timestamp in GMT format.
-	 * @return String
-	 */
-	private String getServerTimestamp() {
-		return CVSDateFormatter.dateToNotifyServer(timeStamp);
-	}
-
-	/**
-	 * Answer the working directory for the receiver's file. The format
-	 * is NOT device dependant (i.e. /'s are used as the path separator).
-	 * 
-	 * @return String
-	 */
-	private String getWorkingDirectory(ICVSFolder parent) throws CVSException {
-		return parent.getIResource().getLocation().toString();
-	}
-
-	/**
-	 * Answer the host name of the client machine.
-	 * @return String
-	 */
-	private String getHost() throws CVSException {
-		try {
-			return InetAddress.getLocalHost().getHostName();
-		} catch (UnknownHostException e) {
-			throw CVSException.wrapException(e);
-		}
-	}
-
-	/**
-	 * Answer the name of the file associated with the notification
-	 * @return String
-	 */
-	public String getName() {
-		return filename;
-	}
-
-	/**
-	 * Answer the notification type associated with the notification
-	 * @return char
-	 */
-	public char getNotificationType() {
-		return notificationType;
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ReentrantLock.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ReentrantLock.java
deleted file mode 100644
index fb9d112..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ReentrantLock.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.syncinfo;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.core.subscribers.BatchingLock;
-
-/**
- * Provides a per-thread nested locking mechanism. A thread can acquire a
- * lock on a specific resource by calling acquire(). Subsequently, acquire() can be called
- * multiple times on the resource or any of its children from within the same thread
- * without blocking. Other threads that try
- * and acquire the lock on those same resources will be blocked until the first 
- * thread releases all it's nested locks.
- * <p>
- * The locking is managed by the platform via scheduling rules. This class simply 
- * provides the nesting mechnism in order to allow the client to determine when
- * the lock for the thread has been released. Therefore, this lock will block if
- * another thread already locks the same resource.</p>
- */
-public class ReentrantLock extends BatchingLock {
-	
-	public class CVSThreadInfo extends ThreadInfo{
-		private Set changedFolders = new HashSet();
-		public CVSThreadInfo(IFlushOperation operation) {
-			super(operation);
-		}
-		public void addChangedFolder(IContainer container) {
-			changedFolders.add(container);
-		}
-		public boolean isEmpty() {
-			return changedFolders.isEmpty() && super.isEmpty();
-		}
-		public IContainer[] getChangedFolders() {
-			return (IContainer[]) changedFolders.toArray(new IContainer[changedFolders.size()]);
-		}
-		public void flush(IProgressMonitor monitor) throws TeamException {
-			try {
-				super.flush(monitor);
-			} finally {
-				// We have to clear the resources no matter what since the next attempt
-				// to flush may not have an appropriate scheduling rule
-				changedFolders.clear();
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-     * @see org.eclipse.team.internal.core.subscribers.BatchingLock#createThreadInfo(org.eclipse.team.internal.core.subscribers.BatchingLock.IFlushOperation)
-     */
-    protected ThreadInfo createThreadInfo(IFlushOperation operation) {
-        return new CVSThreadInfo(operation);
-    }
-    
-	public void folderChanged(IContainer folder) {
-		CVSThreadInfo info = (CVSThreadInfo)getThreadInfo();
-		Assert.isNotNull(info, "Folder changed outside of resource lock"); //$NON-NLS-1$
-		info.addChangedFolder(folder);
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ResourceSyncInfo.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ResourceSyncInfo.java
deleted file mode 100644
index 547c5f2..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ResourceSyncInfo.java
+++ /dev/null
@@ -1,943 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Red Hat Incorporated - is/setExecutable() code
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.syncinfo;
-
- 
-import java.text.ParseException;
-import java.util.Date;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption;
-import org.eclipse.team.internal.ccvs.core.resources.CVSEntryLineTag;
-import org.eclipse.team.internal.ccvs.core.util.CVSDateFormatter;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-
-/**
- * Value (immutable) object that represents workspace state information about a resource contained in
- * a CVS repository. It is a specialized representation of a line in the CVS/Entry file with the addition of 
- * file permissions.
- * <p>
- * ResourceSyncInfo instances are created from entry lines from the CVS server and from the CVS/Entries
- * file. Although both entry lines have slightly different formats (e.g. timestamps) they can safely be passed
- * to the constructor.</p>
- * <p>
- * A class named <code>MutableResourceSyncInfo</code> can be used to modify an existing resource
- * sync or create sync info without an entry line.</p>
- * 
- * Example entry line from the CVS/Entry file:
- * 
- * /new.java/1.2/Fri Dec  7 00:17:52 2001/-kb/
- * D/src////
- *  
- * @see MutableResourceSyncInfo
- * @see ICVSResource#getSyncInfos()
- */
-public class ResourceSyncInfo {
-		
-	// [Note: permissions aren't honoured in this current implementation]
-	// safe default permissions. Permissions are saved separately so that the correct permissions
-	// can be sent back to the server on systems that don't save execute bits (e.g. windows).
-	private static final String DEFAULT_PERMISSIONS = "u=rw,g=rw,o=r"; //$NON-NLS-1$
-	private static final String DEFAULT_EXECUTABLE_PERMISSIONS = "u=rwx,g=rwx,o=rx"; //$NON-NLS-1$
-	
-	// file sync information can be associated with a local resource that has been deleted. This is
-	// noted by prefixing the revision with this character.
-	private static final String DELETED_PREFIX = "-"; //$NON-NLS-1$
-	private static final byte DELETED_PREFIX_BYTE = '-';
-
-	// revision can be locked in repository using "cvs admin -l<rev>" command
-	// entry looks like [M revision 1.2.2.3	locked by: igorf;]
-	private static final String LOCKEDBY_SUFFIX = "\tlocked by"; //$NON-NLS-1$
-
-	// a sync element with a revision of '0' is considered a new file that has
-	// not been comitted to the repo. Is visible so that clients can create sync infos
-	// for new files.
-	public static final String ADDED_REVISION = "0"; //$NON-NLS-1$
-	
-	// Timestamp constants used to identify special cases
-	protected static final int TYPE_REGULAR = 1;
-	protected static final int TYPE_MERGED = 2;
-	protected static final int TYPE_MERGED_WITH_CONFLICTS = 3;
-	
-	protected static final String TIMESTAMP_DUMMY = "dummy timestamp"; //$NON-NLS-1$
-	protected static final String TIMESTAMP_MERGED = "Result of merge"; //$NON-NLS-1$
-	protected static final String TIMESTAMP_MERGED_WITH_CONFLICT = TIMESTAMP_MERGED + "+"; //$NON-NLS-1$
-	
-	protected static final String TIMESTAMP_SERVER_MERGED = "+modified"; //$NON-NLS-1$
-	protected static final String TIMESTAMP_SERVER_MERGED_WITH_CONFLICT = "+="; //$NON-NLS-1$
-	
-	// a directory sync info will have nothing more than a name
-	protected boolean isDirectory = false;
-	protected boolean isDeleted = false;
-	
-	// utility constants
-	protected static final String DIRECTORY_PREFIX = "D"; //$NON-NLS-1$
-	protected static final String SEPARATOR = "/"; //$NON-NLS-1$
-	protected static final byte SEPARATOR_BYTE = (byte)'/';
-	
-	// fields describing the synchronization of a resource in CVS parlance
-	protected String name;
-	protected String revision;
-	protected Date timeStamp;
-	protected KSubstOption keywordMode;
-	protected CVSEntryLineTag tag;
-	
-	// type of sync
-	protected int syncType = TYPE_REGULAR;
-	protected ResourceSyncInfo() {
-		// Added for use by subclasses
-	}
-	
-	public ResourceSyncInfo(byte[] entryLine) throws CVSException {
-		this(new String(entryLine), null);
-	}
-	
-	/**
-	 * Constructor to create a sync object from entry line formats. The entry lines are parsed by this class.
-	 * The constructor can handle parsing entry lines from the server or from an entry file.
-	 * 
-	 * @param entryLine the entry line (e.g.  /new.java/1.2/Fri Dec 07 00:17:52 2001/-kb/)
-	 * @param permissions the file permission (e.g. u=rw,g=rw,o=r). May be <code>null</code>.
-	 * @param timestamp if not included in the entry line. May be <code>null</code>.
-	 * 
-	 * @exception CVSException is thrown if the entry cannot be parsed.
-	 */
-	public ResourceSyncInfo(String entryLine, Date timestamp) throws CVSException {
-		Assert.isNotNull(entryLine);
-		setEntryLine(entryLine);
-		
-		// override the timestamp that may of been in entryLine. In some cases the timestamp is not in the
-		// entry line (e.g. receiving entry lines from the server versus reading them from the Entry file).
-		if(timestamp!=null) {
-			this.timeStamp = timestamp;
-		}
-	}
-	
-	/**
-	 * Constructor to create a resource sync object for a folder.
-	 * 
-	 * @param name of the resource for which this sync state is associatied, cannot be <code>null</code>.
-	 */
-	public ResourceSyncInfo(String name) {
-		Assert.isNotNull(name);
-		this.name = name;
-		this.isDirectory = true;
-	}
-	/**
-	 * Answers if this sync information is for a folder in which case only a name is
-	 * available.
-	 * 
-	 * @return <code>true</code> if the sync information is for a folder and <code>false</code>
-	 * if it is for a file.
-	 */
-	public boolean isDirectory() {
-		return isDirectory;
-	}
-	
-	/**
-	 * Answers if this sync information is for a resource that has been merged by the cvs server with
-	 * conflicts and has not been modified yet relative to the given timestamp.
-	 * 
-	 * @param otherTimestamp is the timestamp of the file associated with this resource sync
-	 * @return <code>true</code> if the sync information is for a file that has been merged and
-	 * <code>false</code> for folders and for files that have not been merged.
-	 */
-	public boolean isNeedsMerge(Date otherTimestamp) {
-		return syncType == TYPE_MERGED_WITH_CONFLICTS && timeStamp != null && timeStamp.equals(otherTimestamp);
-	}
-	
-	/**
-	 * Answers if this sync information is for a resource that has been merged with conflicts by the 
-	 * cvs server.
-	 * 
-	 * @return <code>true</code> if the sync information is for a file that has been merged and
-	 * <code>false</code> for folders and for files that have not been merged.
-	 */
-	public boolean isMergedWithConflicts() {
-		return syncType == TYPE_MERGED_WITH_CONFLICTS;
-	}
-	
-	/**
-	 * Answers if this sync information is for a resource that has been merged by the cvs server.
-	 * 
-	 * @return <code>true</code> if the sync information is for a file that has been merged and
-	 * <code>false</code> for folders and for files that have not been merged.
-	 */
-	public boolean isMerged() {
-		return syncType == TYPE_MERGED || isMergedWithConflicts();
-	}
-	
-	/**
-	 * Answers if this sync information is for a file that has been added but not comitted
-	 * to the CVS repository yet.
-	 * 
-	 * @return <code>true</code> if the sync information is new or <code>false</code> if 
-	 * the sync is for an file that exists remotely. For folder sync info this returns
-	 * <code>false</code>.
-	 */
-	public boolean isAdded() {
-		if(!isDirectory) {
-			return getRevision().equals(ADDED_REVISION);
-		} else {
-			return false;
-		}
-	}
-	
-	/**
-	 * Answers if this sync information is for a file that is scheduled to be deleted
-	 * from the repository but the deletion has not yet been comitted.
-	 * 
-	 * @return <code>true</code> if the sync information is deleted or <code>false</code> if 
-	 * the sync is for an file that exists remotely.
-	 */
-	public boolean isDeleted() {
-		return isDeleted;
-	}
-	
-	/**
-	 * Returns an entry line that can be saved in the CVS/Entries file. For sending entry lines to the
-	 * server use <code>getServerEntryLine</code>.
-	 * 
-	 * @return a file or folder entry line reflecting the state of this sync object.
-	 */
-	public String getEntryLine() {
-		return getEntryLine(true /*include timestamps*/, null /*no timestamp override*/);
-	}
-		
-	/**
-	 * Same as <code>getEntryLine</code> except it considers merged files in entry line timestamp format. 
-	 * This is only valid for sending the file to the server.
-	 * 
-	 * @param fileTimestamp is timestamp of the resource associated with this sync info.
-	 * @return a file or folder entry line reflecting the state of this sync object.
-	 */
-	public String getServerEntryLine(Date fileTimestamp) {
-		String serverTimestamp;
-		if(fileTimestamp != null && (isMerged() || isMergedWithConflicts())) {
-			if(isNeedsMerge(fileTimestamp)) {
-				serverTimestamp = TIMESTAMP_SERVER_MERGED_WITH_CONFLICT;
-			} else {
-				serverTimestamp = TIMESTAMP_SERVER_MERGED;
-			}
-			return getEntryLine(true, serverTimestamp);
-		} else {
-			return getEntryLine(false, null);
-		}		
-	}
-	
-	/**
-	 * Gets the tag or <code>null</code> if a tag is not available.
-	 * 
-	 * @return Returns a String
-	 */
-	public CVSTag getTag() {
-		return tag;
-	}
-	/**
-	 * Gets the timeStamp or <code>null</code> if a timestamp is not available.
-	 * 
-	 * @return a date instance representing the timestamp
-	 */
-	public Date getTimeStamp() {
-		return timeStamp;
-	}
-	/**
-	 * Gets the version or <code>null</code> if this is a folder sync info. The returned
-	 * revision will never include the DELETED_PREFIX. To found out if this sync info is
-	 * for a deleted resource call isDeleted().
-	 * 
-	 * @return Returns a String
-	 */
-	public String getRevision() {
-		return revision;
-	}
-	
-	/**
-	 * Gets the name.
-	 * 
-	 * @return Returns a String
-	 */
-	public String getName() {
-		return name;
-	}
-	/**
-	 * Gets the keyword mode.
-	 * @return the keyword substitution option
-	 */
-	public KSubstOption getKeywordMode() {
-		return keywordMode;
-	}
-	
-	/**
-	 * Answers the default permissions string.
-	 */
-	public static String getDefaultPermissions() {
-		return DEFAULT_PERMISSIONS;
-	}
-	
-	/**
-	 * Answers the default permissions string that is executable.
-	 */
-	public static String getDefaultExecutablePermissions() {
-		return DEFAULT_EXECUTABLE_PERMISSIONS;
-	}
-	
-	/**
-	 * Name equality between resource sync info objects.
-	 */
-	public boolean equals(Object other) {
-		if(other instanceof ResourceSyncInfo) {
-			ResourceSyncInfo syncInfo = ((ResourceSyncInfo)other);
-			if(other == this) return true;
-			if(getName() == syncInfo.getName()) return true;
-			return getName().equals(syncInfo.getName());
-		} else {
-			return false;
-		}
-	}
-	
-	public int hashCode() {
-		return getName().hashCode();
-	}
-	
-	/*
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		return getEntryLine(true, null /*no timestamp override*/);
-	}
-	public MutableResourceSyncInfo cloneMutable() {
-		MutableResourceSyncInfo newSync = new MutableResourceSyncInfo(this);
-		return newSync;
-	}
-	/**
-	 * Sets the tag for the resource.
-	 */
-	protected void setTag(CVSTag tag) {
-		if(tag!=null) {
-			this.tag = new CVSEntryLineTag(tag);
-		} else {
-			this.tag = null;
-		}					
-	}
-	
-		
-	/*
-	 * Sets the sync type
-	 */
-	protected void setSyncType(int syncType) {
-		this.syncType = syncType;
-	}
-	/**
-	 * Sets the version and decides if the revision is for a deleted resource the revision field
-	 * will not include the deleted prefix '-'.
-	 * 
-	 * @param version the version to set
-	 */
-	protected void setRevision(String revision) {
-		if(revision==null || revision.equals(ADDED_REVISION)) {
-			this.revision = ADDED_REVISION;
-			timeStamp = null;
-			syncType = TYPE_REGULAR;
-			isDeleted = false;
-		} else if(revision.startsWith(DELETED_PREFIX)) {
-			this.revision = revision.substring(DELETED_PREFIX.length());
-			isDeleted = true;
-		} else {
-			this.revision = revision;
-			isDeleted = false;
-		}
-	}
-	
-	/**
-	 * Set the entry line 
-	 * 
-	 * @throws CVSException if the entryLine is malformed
-	 */
-	protected void setEntryLine(String entryLine) throws CVSException {
-
-		String[] strings = Util.parseIntoSubstrings(entryLine, SEPARATOR);
-		if(strings.length < 6) {
-			throw new CVSException(CVSMessages.Malformed_entry_line___11 + entryLine); 
-		}
-		
-		isDirectory = (strings[0].equals(DIRECTORY_PREFIX));
-		
-		name = strings[1];
-		
-		if(name.length()==0) {
-			throw new CVSException(CVSMessages.Malformed_entry_line__missing_name___12 + entryLine); 
-		}
-		
-		String rev = strings[2];
-		
-		if(rev.length()==0 && !isDirectory()) {
-			throw new CVSException(CVSMessages.Malformed_entry_line__missing_revision___13 + entryLine); 
-		} else {
-			setRevision(rev);
-		}
-	
-		String date = strings[3];
-		
-		// possible timestamps are:
-		// from server: "+=" and "+modified"
-		// from entry line: "Result of Merge+Thu May 25 12:33:33 2002"
-		//							 "Result of Merge"
-		//							"Thu May 25 12:33:33 2002"
-		//
-		// The server will send a timestamp of "+=" if
-		// the file was merged with conflicts. The '+' indicates that there are conflicts and the
-		// '=' indicate that the timestamp for the file should be used. If the merge does not
-		// have conflicts, simply add a text only timestamp and the file will be regarded as
-		// having outgoing changes.
-		// The purpose for having the two different timestamp options for merges is to 
-		// dissallow commit of files that have conflicts until they have been manually edited.			
-		if(date.indexOf(ResourceSyncInfo.TIMESTAMP_SERVER_MERGED) != -1) {
-			syncType = TYPE_MERGED;
-			date = null;
-		} else if(date.indexOf(ResourceSyncInfo.TIMESTAMP_SERVER_MERGED_WITH_CONFLICT) != -1) {
-			syncType = TYPE_MERGED_WITH_CONFLICTS;
-			date = null;
-		} else if(date.indexOf(TIMESTAMP_MERGED_WITH_CONFLICT)!=-1) {
-			date = date.substring(date.indexOf("+") + 1); //$NON-NLS-1$
-			syncType = TYPE_MERGED_WITH_CONFLICTS;
-		} else if(date.indexOf(TIMESTAMP_MERGED)!=-1) {
-			syncType = TYPE_MERGED;
-			date = null;
-		}
-		
-		if(date==null || "".equals(date)) { //$NON-NLS-1$
-			timeStamp = null;	
-		} else {
-			try {	
-				timeStamp = CVSDateFormatter.entryLineToDate(date);
-			} catch(ParseException e) {
-				// something we don't understand, just make this sync have no timestamp and
-				// never be in sync with the server.
-				timeStamp = null;
-			}
-		}
-		keywordMode = KSubstOption.fromMode(strings[4]);
-		String tagEntry;
-		if (strings.length == 6) {
-			tagEntry = strings[5];
-		} else {
-			// It turns out that CVS supports slashes (/) in the tag even though this breaks the spec
-			// See http://dev.eclipse.org/bugs/show_bug.cgi?id=26717
-			StringBuffer buffer = new StringBuffer();
-			for (int i = 5; i < strings.length; i++) {
-				buffer.append(strings[i]);
-				if (i < strings.length - 1) {
-					buffer.append(SEPARATOR);
-				}
-			}
-			tagEntry = buffer.toString();
-		}
-						
-		if(tagEntry.length()>0) {
-			tag = new CVSEntryLineTag(tagEntry);
-		} else {
-			tag = null;
-		}
-	}
-	
-	private String getEntryLine(boolean includeTimeStamp, String timestampOverride) {
-		StringBuffer result = new StringBuffer();
-		
-		if(isDirectory) {
-			result.append(DIRECTORY_PREFIX);
-			result.append(SEPARATOR);
-			result.append(name);
-			for (int i = 0; i < 4; i++) {
-				result.append(SEPARATOR);
-			}
-		} else {
-			result.append(SEPARATOR);
-			result.append(name);
-			result.append(SEPARATOR);
-			
-			if(isDeleted){
-				result.append(DELETED_PREFIX); 
-			}
-			result.append(revision);
-			result.append(SEPARATOR);
-			if(includeTimeStamp) {
-				String entryLineTimestamp = ""; //$NON-NLS-1$
-				if(timestampOverride!=null) {
-					entryLineTimestamp = timestampOverride;
-				} else {					
-					switch(syncType) {
-						case TYPE_REGULAR:
-							if(timeStamp==null) {
-								entryLineTimestamp = TIMESTAMP_DUMMY;
-							} else {
-								entryLineTimestamp = CVSDateFormatter.dateToEntryLine(timeStamp);
-							} break;
-						case TYPE_MERGED:
-							entryLineTimestamp = TIMESTAMP_MERGED; break;
-						case TYPE_MERGED_WITH_CONFLICTS:
-							entryLineTimestamp = TIMESTAMP_MERGED_WITH_CONFLICT + CVSDateFormatter.dateToEntryLine(timeStamp); break;
-					}						
-				}
-				result.append(entryLineTimestamp);
-			}
-			result.append(SEPARATOR);
-			if (keywordMode != null) result.append(keywordMode.toEntryLineMode());
-			result.append(SEPARATOR);
-			if (tag != null) {
-				result.append(tag.toEntryLineFormat(true));
-			}
-		}
-		return result.toString();
-	}
-	
-	/**
-	 * Method getBytes.
-	 * @return byte[]
-	 */
-	public byte[] getBytes() {
-		return getEntryLine().getBytes();
-	}
-	
-	/**
-	 * Method getName.
-	 * @param syncBytes
-	 * @return String
-	 */
-	public static String getName(byte[] syncBytes) throws CVSException {
-		String name = Util.getSubstring(syncBytes, SEPARATOR_BYTE, 1, false);
-		if (name == null) {
-			throw new CVSException(NLS.bind(CVSMessages.ResourceSyncInfo_malformedSyncBytes, new String[] { new String(syncBytes) })); 
-		}
-		return name;
-	}
-	
-	/**
-	 * Method getKeywordMode.
-	 * @param syncBytes
-	 * @return String
-	 */
-	public static KSubstOption getKeywordMode(byte[] syncBytes) throws CVSException {
-		String mode = Util.getSubstring(syncBytes, SEPARATOR_BYTE, 4, false);
-		if (mode == null) {
-			throw new CVSException(NLS.bind(CVSMessages.ResourceSyncInfo_malformedSyncBytes, new String[] { new String(syncBytes) })); 
-		}
-		return KSubstOption.fromMode(mode);
-	}
-	
-	/**
-	 * Method setKeywordMode.
-	 * 
-	 * @param syncBytes
-	 *            bytes to set
-	 * @param mode
-	 *            keyword substitution options
-	 * @return modified array of bytes
-	 * @throws CVSException
-	 *             thrown when the entry lines bytes are malformed
-	 */
-	public static byte[] setKeywordMode(byte[] syncBytes, KSubstOption mode) throws CVSException {
-		return setKeywordMode(syncBytes, mode.toEntryLineMode().getBytes());
-	}
-	
-	/**
-	 * Method setKeywordMode.
-	 * 
-	 * @param syncBytes
-	 *            bytes to set
-	 * @param modeBytes
-	 *            entry line mode bytes
-	 * @return modified array of bytes
-	 * @throws CVSException
-	 *             thrown when the entry lines bytes are malformed
-	 */
-	public static byte[] setKeywordMode(byte[] syncBytes, byte[] modeBytes) throws CVSException {
-		return setSlot(syncBytes, 4, modeBytes);
-	}
-	
-	/**
-	 * Return whether the provided syncBytes represent a binary file.
-	 * @param syncBytes
-	 * @return boolean
-	 * @throws CVSException 
-	 */
-	public static boolean isBinary(byte[] syncBytes)  throws CVSException {
-		if (syncBytes == null) return false;
-		String mode = Util.getSubstring(syncBytes, SEPARATOR_BYTE, 4, false);
-		if (mode == null) {
-			throw new CVSException(NLS.bind(CVSMessages.ResourceSyncInfo_malformedSyncBytes, new String[] { new String(syncBytes) })); 
-		}
-		return "-kb".equals(mode); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Method isFolder.
-	 * @param syncBytes
-	 * @return boolean
-	 */
-	public static boolean isFolder(byte[] syncBytes) {
-		return syncBytes.length > 0 && syncBytes[0] == 'D';
-	}
-
-	/**
-	 * Method isAddition.
-	 * @param syncBytes
-	 * @return boolean
-	 */
-	public static boolean isAddition(byte[] syncBytes) throws CVSException {
-		int start = startOfSlot(syncBytes, 2);
-		// There must be a slot and, in the very least, there must be two characters after the slot
-		if (start == -1 || start > syncBytes.length - 3) {
-			throw new CVSException(NLS.bind(CVSMessages.ResourceSyncInfo_malformedSyncBytes, new String[] { new String(syncBytes) })); 
-		}
-		// If the zero is followed by a dot, then it is a valid revision and not an addition
-		return syncBytes[start + 1] == '0' && syncBytes[start + 2] != '.';
-	}
-	
-	/**
-	 * Method isDeleted.
-	 * @param syncBytes
-	 * @return boolean
-	 */
-	public static boolean isDeletion(byte[] syncBytes) throws CVSException {
-		int start = startOfSlot(syncBytes, 2);
-		if (start == -1 || start >= syncBytes.length) {
-			throw new CVSException(NLS.bind(CVSMessages.ResourceSyncInfo_malformedSyncBytes, new String[] { new String(syncBytes) })); 
-		}
-		return syncBytes[start + 1] == DELETED_PREFIX_BYTE;
-	}
-		
-	/**
-	 * Method convertToDeletion.
-	 * @param syncBytes
-	 * @return byte[]
-	 */
-	public static byte[] convertToDeletion(byte[] syncBytes) throws CVSException {
-		int index = startOfSlot(syncBytes, 2);
-		if (index == -1) {
-			throw new CVSException(NLS.bind(CVSMessages.ResourceSyncInfo_malformedSyncBytes, new String[] { new String(syncBytes) })); 
-		}
-		if (syncBytes.length > index && syncBytes[index+1] != DELETED_PREFIX_BYTE) {
-			byte[] newSyncBytes = new byte[syncBytes.length + 1];
-			System.arraycopy(syncBytes, 0, newSyncBytes, 0, index + 1);
-			newSyncBytes[index + 1] = DELETED_PREFIX_BYTE;
-			System.arraycopy(syncBytes, index + 1, newSyncBytes, index + 2, syncBytes.length - index - 1);
-			return newSyncBytes;
-		}
-		return syncBytes;
-	}
-	
-	/**
-	 * Method convertFromDeletion.
-	 * @param syncBytes
-	 * @return byte[]
-	 */
-	public static byte[] convertFromDeletion(byte[] syncBytes) throws CVSException {
-		int index = startOfSlot(syncBytes, 2);
-		if (index == -1) {
-			throw new CVSException(NLS.bind(CVSMessages.ResourceSyncInfo_malformedSyncBytes, new String[] { new String(syncBytes) })); 
-		}
-		if (syncBytes.length > index && syncBytes[index+1] == DELETED_PREFIX_BYTE) {
-			byte[] newSyncBytes = new byte[syncBytes.length - 1];
-			System.arraycopy(syncBytes, 0, newSyncBytes, 0, index + 1);
-			System.arraycopy(syncBytes, index + 2, newSyncBytes, index + 1, newSyncBytes.length - index - 1);
-			return newSyncBytes;
-		}
-		return syncBytes;
-	}
-	/**
-	 * Method startOfSlot returns the index of the slash that occurs before the
-	 * given slot index. The provided index should be >= 1 which assumes that
-	 * slot zero occurs before the first slash.
-	 * 
-	 * @param syncBytes
-	 * @param i
-	 * @return int
-	 */
-	private static int startOfSlot(byte[] syncBytes, int slot) {
-		int count = 0;
-		for (int j = 0; j < syncBytes.length; j++) {
-			if (syncBytes[j] == SEPARATOR_BYTE) {
-				count++;
-				if (count == slot) return j;
-			} 
-		}
-		return -1;
-	}
-	
-	/**
-	 * Method setSlot modifies a given array of bytes representing a line in the
-	 * CVS/Entry file.
-	 * 
-	 * @param syncBytes
-	 *            array of bytes representing a line in the CVS/Entry file
-	 * @param slot
-	 *            number of the slot to modify. Slots are groups separated be
-	 *            slashes.
-	 * @param newBytes
-	 *            array of bytes to be set in the given slot
-	 * @return byte[] modified array of bytes
-	 * @throws CVSException
-	 *             thrown when the entry lines bytes are malformed.
-	 */
-	public static byte[] setSlot(byte[] syncBytes, int slot, byte[] newBytes) throws CVSException {
-		int start = startOfSlot(syncBytes, slot);
-		if (start == -1) {
-			throw new CVSException(NLS.bind(CVSMessages.ResourceSyncInfo_malformedSyncBytes, new String[] { new String(syncBytes) })); 
-		}
-		int end = startOfSlot(syncBytes, slot + 1);
-		int totalLength = start + 1 + newBytes.length;
-		if (end != -1) {
-			totalLength += syncBytes.length - end;
-		}
-		byte[] result = new byte[totalLength];
-		System.arraycopy(syncBytes, 0, result, 0, start + 1);
-		System.arraycopy(newBytes, 0, result, start + 1, newBytes.length);
-		if (end != -1) {
-			System.arraycopy(syncBytes, end, result, start + 1 + newBytes.length, syncBytes.length - end);
-		}
-		return result;
-	}
-
-	/**
-	 * Return the timestamp portion of the sync info that is to be sent to the
-	 * server.
-	 * 
-	 * @param syncBytes
-	 * @param fileTimestamp
-	 * @return String
-	 */
-	public static String getTimestampToServer(byte[] syncBytes, Date fileTimestamp) throws CVSException {
-		if(fileTimestamp != null) {
-			String syncTimestamp = Util.getSubstring(syncBytes, SEPARATOR_BYTE, 3, false);
-			if (syncTimestamp == null) {
-				throw new CVSException(NLS.bind(CVSMessages.ResourceSyncInfo_malformedSyncBytes, new String[] { new String(syncBytes) })); 
-			}
-			int syncType = getSyncType(syncTimestamp);
-			if (syncType != TYPE_REGULAR) {
-				if (syncType == TYPE_MERGED_WITH_CONFLICTS && fileTimestamp.equals(getTimestamp(syncTimestamp))) {
-					return TIMESTAMP_SERVER_MERGED_WITH_CONFLICT;
-				} else {
-					return TIMESTAMP_SERVER_MERGED;
-				}
-			}
-		}	
-		return null;
-	}
-	/**
-	 * Method getTimestamp.
-	 * @param syncTimestamp
-	 * @return Object
-	 */
-	private static Date getTimestamp(String syncTimestamp) {
-		String dateString= syncTimestamp;
-		if(syncTimestamp.indexOf(ResourceSyncInfo.TIMESTAMP_SERVER_MERGED) != -1) {
-			dateString = null;
-		} else if(syncTimestamp.indexOf(ResourceSyncInfo.TIMESTAMP_SERVER_MERGED_WITH_CONFLICT) != -1) {
-			dateString = null;
-		} else if(syncTimestamp.indexOf(TIMESTAMP_MERGED_WITH_CONFLICT)!=-1) {
-			dateString = syncTimestamp.substring(syncTimestamp.indexOf("+") + 1); //$NON-NLS-1$
-		} else if(syncTimestamp.indexOf(TIMESTAMP_MERGED)!=-1) {
-			dateString = null;
-		}
-		
-		if(dateString==null || "".equals(dateString)) { //$NON-NLS-1$
-			return null;	
-		} else {
-			try {	
-				return CVSDateFormatter.entryLineToDate(dateString);
-			} catch(ParseException e) {
-				// something we don't understand, just make this sync have no timestamp and
-				// never be in sync with the server.
-				return null;
-			}
-		}
-	}
-	
-	/**
-	 * Method getSyncType.
-	 * @param syncTimestamp
-	 * @return int
-	 */
-	private static int getSyncType(String date) {
-		if(date.indexOf(ResourceSyncInfo.TIMESTAMP_SERVER_MERGED) != -1) {
-			return TYPE_MERGED;
-		} else if(date.indexOf(ResourceSyncInfo.TIMESTAMP_SERVER_MERGED_WITH_CONFLICT) != -1) {
-			return TYPE_MERGED_WITH_CONFLICTS;
-		} else if(date.indexOf(TIMESTAMP_MERGED_WITH_CONFLICT)!=-1) {
-			return TYPE_MERGED_WITH_CONFLICTS;
-		} else if(date.indexOf(TIMESTAMP_MERGED)!=-1) {
-			return TYPE_MERGED;
-		}
-		return TYPE_REGULAR;
-	}
-	
-	/**
-	 * Method getTag.
-	 * @param syncBytes
-	 * @return String
-	 */
-	public static byte[] getTagBytes(byte[] syncBytes) throws CVSException {
-		byte[] tag = Util.getBytesForSlot(syncBytes, SEPARATOR_BYTE, 5, true);
-		if (tag == null) {
-			throw new CVSException(NLS.bind(CVSMessages.ResourceSyncInfo_malformedSyncBytes, new String[] { new String(syncBytes) })); 
-		}
-		return tag;
-	}
-	
-	/**
-	 * Method setTag.
-	 * @param syncBytes
-	 * @param tagString
-	 * @return byte[]
-	 */
-	public static byte[] setTag(byte[] syncBytes, byte[] tagBytes) throws CVSException {
-		return setSlot(syncBytes, 5, tagBytes);
-	}
-	
-	/**
-	 * Method setTag.
-	 * @param syncBytes
-	 * @param tag
-	 * @return ResourceSyncInfo
-	 */
-	public static byte[] setTag(byte[] syncBytes, CVSTag tag) throws CVSException {
-		CVSEntryLineTag entryTag;
-		if (tag instanceof CVSEntryLineTag) {
-			entryTag = (CVSEntryLineTag)tag;
-		} else {
-			entryTag = new CVSEntryLineTag(tag);
-		}
-		return setTag(syncBytes, entryTag.toEntryLineFormat(true).getBytes());
-	}
-	
-	/**
-	 * Method getRevision.
-	 * @param syncBytes
-	 */
-	public static String getRevision(byte[] syncBytes) throws CVSException {
-		String revision = Util.getSubstring(syncBytes, SEPARATOR_BYTE, 2, false);
-		if (revision == null) {
-			throw new CVSException(NLS.bind(CVSMessages.ResourceSyncInfo_malformedSyncBytes, new String[] { new String(syncBytes) })); 
-		}
-		if(revision.startsWith(DELETED_PREFIX)) {
-			revision = revision.substring(DELETED_PREFIX.length());
-		}
-		int lockedIdx = revision.indexOf(LOCKEDBY_SUFFIX);
-		if (lockedIdx >= 0) {
-			revision = revision.substring(0, lockedIdx);
-		}
-		return revision;
-	}
-
-	/**
-	 * Method setRevision.
-	 * @param syncBytes
-	 * @param revision
-	 * @return byte[]
-	 */
-	public static byte[] setRevision(byte[] syncBytes, String revision) throws CVSException {
-		return setSlot(syncBytes, 2, revision.getBytes());
-	}
-	
-	/**
-	 * Method isMerge.
-	 * @param syncBytes1
-	 * @return boolean
-	 */
-	public static boolean isMerge(byte[] syncBytes) throws CVSException {
-		String timestamp = Util.getSubstring(syncBytes, SEPARATOR_BYTE, 3, false);
-		if (timestamp == null) {
-			throw new CVSException(NLS.bind(CVSMessages.ResourceSyncInfo_malformedSyncBytes, new String[] { new String(syncBytes) })); 
-		}
-		int syncType = getSyncType(timestamp);
-		return syncType == TYPE_MERGED || syncType == TYPE_MERGED_WITH_CONFLICTS;
-	}
-
-	/**
-	 * Method isMerge.
-	 * @param syncBytes1
-	 * @return boolean
-	 */
-	public static boolean isMergedWithConflicts(byte[] syncBytes) throws CVSException {
-		String timestamp = Util.getSubstring(syncBytes, SEPARATOR_BYTE, 3, false);
-		if (timestamp == null) {
-			throw new CVSException(NLS.bind(CVSMessages.ResourceSyncInfo_malformedSyncBytes, new String[] { new String(syncBytes) })); 
-		}
-		int syncType = getSyncType(timestamp);
-		return syncType == TYPE_MERGED_WITH_CONFLICTS;
-	}
-	
-	
-	/**
-	 * Return <code>true</code> if the remoteBytes represents a later revision on the same
-	 * branch as localBytes. Return <code>false</code> if remoteBytes is the same or an earlier 
-	 * revision or if the bytes are on a separate branch (or tag)
-	 * @param remoteBytes
-	 * @param localBytes
-	 * @return
-	 */
-	public static boolean isLaterRevisionOnSameBranch(byte[] remoteBytes, byte[] localBytes) throws CVSException {
-		// If the two byte arrays are the same, then the remote isn't a later revision
-		if (remoteBytes == localBytes) return false;
-		//	If the tags differ, then the remote isn't a later revision
-		byte[] remoteTag = ResourceSyncInfo.getTagBytes(remoteBytes);
-		byte[] localTag = ResourceSyncInfo.getTagBytes(localBytes);
-		if (!Util.equals(remoteTag, localTag)) return false;
-		// If the revisions are the same, the remote isn't later
-		String remoteRevision = ResourceSyncInfo.getRevision(remoteBytes);
-		String localRevision = ResourceSyncInfo.getRevision(localBytes);
-		if (remoteRevision.equals(localRevision)) return false;
-		return isLaterRevision(remoteRevision, localRevision);
-	}
-
-	/**
-	 * Return true if the remoteRevision represents a later revision than the local revision
-	 * on the same branch.
-	 * @param remoteRevision
-	 * @param localRevision
-	 * @return
-	 */
-	public static boolean isLaterRevision(String remoteRevision, String localRevision) {
-		int localDigits[] = Util.convertToDigits(localRevision);
-		if (localDigits.length == 0) return false;
-		int remoteDigits[] = Util.convertToDigits(remoteRevision);
-		if (remoteDigits.length == 0) return false;
-		
-		if (localRevision.equals(ADDED_REVISION)) {
-			return (remoteDigits.length >= 2);
-		}
-		if (localDigits.length < remoteDigits.length) {
-			// If there are more digits in the remote revision then all
-			// the leading digits must match
-			for (int i = 0; i < localDigits.length; i++) {
-				int localDigit = localDigits[i];
-				int remoteDigit = remoteDigits[i];
-				if (remoteDigit != localDigit) return false;
-			}
-			return true;
-		}
-		// They are the same length or the local is longer.
-		// The last digit must differ and all others must be the same.
-		// If the local is longer, ignore the addition numbers
-		// (this can occur as the result on an import)
-		for (int i = 0; i < remoteDigits.length - 1; i++) {
-			int localDigit = localDigits[i];
-			int remoteDigit = remoteDigits[i];
-			if (remoteDigit != localDigit) return false;
-		}
-		// All the leading digits are equals so the remote is later if the last digit is greater
-		return localDigits[remoteDigits.length - 1] < remoteDigits[remoteDigits.length - 1] ;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/BuildCleanupListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/BuildCleanupListener.java
deleted file mode 100644
index 3249352..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/BuildCleanupListener.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.util;
-
- 
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSRunnable;
-import org.eclipse.team.internal.ccvs.core.Policy;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer;
-
-/**
- * Cleanup any CVS folders that were copied by a builder. This will also clean up
- * CVS folders that were copied by the user since the last auto-build.
- */
-public class BuildCleanupListener implements IResourceDeltaVisitor, IResourceChangeListener {
-	
-	public static IResource getResourceFor(IProject container, IResource destination, IPath originating) {
-		switch(destination.getType()) {
-			case IResource.FILE : return container.getFile(originating); 			
-			case IResource.FOLDER: return container.getFolder(originating);
-			case IResource.PROJECT: return ResourcesPlugin.getWorkspace().getRoot().getProject(originating.toString());
-		}
-		return destination;
-	}
-	
-	/**
-	 * @see IResourceDeltaVisitor#visit(IResourceDelta)
-	 */
-	public boolean visit(IResourceDelta delta) throws CoreException {
-		IResource resource = delta.getResource();
-		boolean movedFrom = (delta.getFlags() & IResourceDelta.MOVED_FROM) > 0;
-		switch (delta.getKind()) {
-			case IResourceDelta.ADDED :
-				// make sure the added resource isn't a phantom
-				if (resource.exists()) {
-					if (EclipseSynchronizer.getInstance().wasPhantom(resource)) {
-						EclipseSynchronizer.getInstance().resourcesRecreated(new IResource[] { resource }, null);
-					}
-					if (resource.getType() == IResource.FOLDER) {
-						if (resource.getName().equals(SyncFileWriter.CVS_DIRNAME)) {
-							handleOrphanedSubtree(resource.getParent());
-						} else {
-							handleOrphanedSubtree((IContainer)resource);
-						}
-					}
-				}
-				break;
-			case IResourceDelta.CHANGED :
-				// This state means there is a resource before and after but changes were made by deleting and moving.
-				// For files, we shouldn'd do anything.
-				// For folders, we should purge the CVS info
-				if (movedFrom && resource.getType() == IResource.FOLDER && resource.exists()) {
-					// When folders are moved, purge the CVS folders
-					return ! handleOrphanedSubtree((IContainer)resource);
-				}
-				break;
-		}
-		return true;
-	}
-	
-	/*
-	 * Determine if the container is an orphaned subtree. 
-	 * If it is, handle it and return true. 
-	 * Otherwise, return false
-	 */
-	private boolean handleOrphanedSubtree(IContainer container) {
-		try {
-			if (CVSWorkspaceRoot.isOrphanedSubtree(container)) {
-				ICVSFolder mFolder = CVSWorkspaceRoot.getCVSFolderFor(container);
-				mFolder.unmanage(null);
-				return true;
-			}
-		} catch (CVSException e) {
-			CVSProviderPlugin.log(e);
-		}
-		return false;
-	}
-	
-	public void resourceChanged(IResourceChangeEvent event) {
-		try {
-			IResourceDelta root = event.getDelta();
-			IResourceDelta[] projectDeltas = root.getAffectedChildren();
-			for (int i = 0; i < projectDeltas.length; i++) {							
-				final IResourceDelta delta = projectDeltas[i];
-				IResource resource = delta.getResource();
-				
-				if (resource.getType() == IResource.PROJECT) {
-					// If the project is not accessible, don't process it
-					if (!resource.isAccessible()) continue;
-				}
-				
-				RepositoryProvider provider = RepositoryProvider.getProvider(resource.getProject(), CVSProviderPlugin.getTypeId());	
-
-				// Make sure that the project is a CVS folder.
-				ICVSFolder folder = CVSWorkspaceRoot.getCVSFolderFor(resource.getProject());
-				if (provider != null) {
-					try {
-						if (! folder.isCVSFolder()) {
-							RepositoryProvider.unmap(resource.getProject());
-							provider = null;
-						}
-					} catch (TeamException e) {
-						CVSProviderPlugin.log(e);
-					}
-				}
-				
-				// if a project is moved the originating project will not be associated with the CVS provider
-				// however listeners will probably still be interested in the move delta.	
-				if ((delta.getFlags() & IResourceDelta.MOVED_TO) > 0) {																
-					IResource destination = getResourceFor(resource.getProject(), resource, delta.getMovedToPath());
-					provider = RepositoryProvider.getProvider(destination.getProject());
-				}
-				
-				if(provider!=null) {
-					// Traverse the delta is a runnable so that files are only written at the end
-					folder.run(new ICVSRunnable() {
-						public void run(IProgressMonitor monitor) throws CVSException {
-							try {
-								delta.accept(BuildCleanupListener.this);
-							} catch (CoreException e) {
-								Util.logError(CVSMessages.ResourceDeltaVisitor_visitError, e);
-							}
-						}
-					}, Policy.monitorFor(null));
-				}
-			}
-		} catch (CVSException e) {
-			Util.logError(CVSMessages.ResourceDeltaVisitor_visitError, e);
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/CVSDateFormatter.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/CVSDateFormatter.java
deleted file mode 100644
index ba2beba..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/CVSDateFormatter.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.util;
-
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Locale;
-import java.util.TimeZone;
-
-/**
- * Utility class for converting timestamps used in Entry file lines. The format
- * required in the Entry file is ISO C asctime() function (Sun Apr  7 01:29:26 1996).
- * <p>
- * To be compatible with asctime(), the day field in the entryline format is
- * padded with a space and not a zero. Most other CVS clients use string comparison 
- * for timestamps based on the result of the C function asctime().
- * </p>
- */
-public class CVSDateFormatter {
-	
-	private static final String ENTRYLINE_FORMAT = "E MMM dd HH:mm:ss yyyy"; //$NON-NLS-1$
-	private static final String SERVER_FORMAT = "dd MMM yyyy HH:mm:ss";//$NON-NLS-1$
-	private static final int ENTRYLINE_TENS_DAY_OFFSET = 8;
-	
-	private static final SimpleDateFormat serverFormat = new SimpleDateFormat(SERVER_FORMAT, Locale.US);
-	private static SimpleDateFormat entryLineFormat = new SimpleDateFormat(ENTRYLINE_FORMAT, Locale.US);
-	
-	static {
-		entryLineFormat.setTimeZone(TimeZone.getTimeZone("GMT")); //$NON-NLS-1$
-	}
-	static synchronized public Date serverStampToDate(String text) throws ParseException {
-		serverFormat.setTimeZone(getTimeZone(text));
-		Date date = serverFormat.parse(text);
-		return date;
-	}
-	
-	static synchronized public Date entryLineToDate(String text) throws ParseException {
-		try {
-			if (text.charAt(ENTRYLINE_TENS_DAY_OFFSET) == ' ') {
-				StringBuffer buf = new StringBuffer(text);
-				buf.setCharAt(ENTRYLINE_TENS_DAY_OFFSET, '0');
-				text = buf.toString();
-			}
-		} catch (StringIndexOutOfBoundsException e) {
-			throw new ParseException(e.getMessage(), ENTRYLINE_TENS_DAY_OFFSET);
-		}
-		return entryLineFormat.parse(text);
-	}
-
-	static synchronized public String dateToEntryLine(Date date) {
-		if (date == null) return ""; //$NON-NLS-1$
-		String passOne = entryLineFormat.format(date);
-		if (passOne.charAt(ENTRYLINE_TENS_DAY_OFFSET) != '0') return passOne;
-		StringBuffer passTwo = new StringBuffer(passOne);
-		passTwo.setCharAt(ENTRYLINE_TENS_DAY_OFFSET, ' ');
-		return passTwo.toString();
-	}
-	
-	static synchronized public String dateToNotifyServer(Date date) {
-		serverFormat.setTimeZone(TimeZone.getTimeZone("GMT"));//$NON-NLS-1$
-		return serverFormat.format(date) + " GMT"; //$NON-NLS-1$
-	}
-	
-	/*
-	 * Converts timezone text from date string from CVS server and
-	 * returns a timezone representing the received timezone.
-	 * Timezone string is of the following format: [-|+]MMSS
-	 */
-	static private TimeZone getTimeZone(String dateFromServer) {
-	    if (dateFromServer.lastIndexOf("0000") != -1)  //$NON-NLS-1$
-	        return TimeZone.getTimeZone("GMT");//$NON-NLS-1$ 
-		String tz = null;
-		StringBuffer resultTz = new StringBuffer("GMT");//$NON-NLS-1$
-		if (dateFromServer.indexOf("-") != -1) {//$NON-NLS-1$
-			resultTz.append("-");//$NON-NLS-1$
-			tz = dateFromServer.substring(dateFromServer.indexOf("-"));//$NON-NLS-1$
-		} else if (dateFromServer.indexOf("+") != -1) {//$NON-NLS-1$
-			resultTz.append('+');
-			tz = dateFromServer.substring(dateFromServer.indexOf("+"));//$NON-NLS-1$
-		}
-		try {
-			if(tz!=null) {
-				resultTz.append(tz.substring(1, 3) /*hours*/ + ":" + tz.substring(3, 5) /*minutes*/);//$NON-NLS-1$
-				return TimeZone.getTimeZone(resultTz.toString());
-			}
-		} catch(IndexOutOfBoundsException e) {
-			return TimeZone.getTimeZone("GMT");//$NON-NLS-1$
-		}
-		return TimeZone.getTimeZone("GMT");//$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/FileNameMatcher.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/FileNameMatcher.java
deleted file mode 100644
index d82c916..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/FileNameMatcher.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.util;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.Assert;
-
-/**
- * A FileNameMatcher associates a String with a String pattern.
- */
-public class FileNameMatcher {
-	
-	private List matchers = new ArrayList();
-	private List results = new ArrayList();
-	private static final String TRUE = "true"; //$NON-NLS-1$
-	
-	public FileNameMatcher() {
-	}
-	
-	public FileNameMatcher(String[] patterns) {
-		register(patterns);
-	}
-		
-	void register(String[] patterns) {
-		for (int i = 0; i < patterns.length; i++) {
-			register(patterns[i],TRUE);
-		}
-	}
-	
-	public void register(String pattern, String result) {
-		
-		Assert.isTrue(matchers.size() == results.size());
-		
-		pattern = pattern.trim();
-		
-		// The empty pattern matches everything, but we want to match
-		// nothing with it, so we just do not register anything
-		if (pattern.length() == 0) {
-			return;
-		}
-	
-		matchers.add(new StringMatcher(pattern,false,false));
-		results.add(result);
-		
-	}
-	
-	public String getMatch(String name) {
-		StringMatcher stringMatcher;
-		
-		for (int i = 0; i < matchers.size(); i++) {
-			stringMatcher = (StringMatcher) matchers.get(i);
-			if (stringMatcher.match(name)) {
-				return (String)results.get(i);
-			}
-		}
-		
-		return null;
-	}
-	
-	public boolean match(String name) {
-		return getMatch(name) != null;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/KnownRepositories.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/KnownRepositories.java
deleted file mode 100644
index b421303..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/KnownRepositories.java
+++ /dev/null
@@ -1,292 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.util;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences.INodeChangeListener;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences.NodeChangeEvent;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.osgi.service.prefs.BackingStoreException;
-
-/**
- * This class keeps track of the CVS repository locations that are known to
- * the CVS plugin.
- */
-public class KnownRepositories implements INodeChangeListener, IPreferenceChangeListener {
-
-	private List repositoryListeners = new ArrayList();
-	private Map repositories;
-
-	private static KnownRepositories instance;
-	
-	public static synchronized KnownRepositories getInstance() {
-		if (instance == null) {
-			instance = new KnownRepositories();
-		}
-		return instance;
-	}
-	
-	/*
-	 * Private class used to safely notify listeners of resouce sync info changes. 
-	 * Subclass override the notify(IResourceStateChangeListener) method to
-	 * fire specific events inside an ISafeRunnable.
-	 */
-	private abstract class Notification implements ISafeRunnable {
-		private ICVSListener listener;
-		public void handleException(Throwable exception) {
-			// don't log the exception....it is already being logged in Platform#run
-		}
-		public void run(ICVSListener listener) {
-			this.listener = listener;
-			Platform.run(this);
-		}
-		public void run() throws Exception {
-			notify(listener);
-		}
-		/**
-		 * Subsclasses overide this method to send an event safely to a lsistener
-		 * @param listener
-		 */
-		protected abstract void notify(ICVSListener listener);
-	}
-	
-	/**
-	 * Register to receive notification of repository creation and disposal
-	 */
-	public void addRepositoryListener(ICVSListener listener) {
-		synchronized(repositoryListeners) {
-			repositoryListeners.add(listener);
-		}
-	}
-	
-	/**
-	 * De-register a listener
-	 */
-	public void removeRepositoryListener(ICVSListener listener) {
-		synchronized(repositoryListeners) {
-			repositoryListeners.remove(listener);
-		}
-	}
-
-	/**
-	 * Add the repository to the receiver's list of known repositories. Doing this will enable
-	 * password caching across platform invocations.
-	 */
-	public ICVSRepositoryLocation addRepository(final ICVSRepositoryLocation repository, boolean broadcast) {
-		CVSRepositoryLocation existingLocation;
-		synchronized (this) {
-			// Check the cache for an equivalent instance and if there is one, just update the cache
-			existingLocation = internalGetRepository(repository.getLocation(false));
-			if (existingLocation == null) {
-				// Store the location
-				store((CVSRepositoryLocation)repository);
-				existingLocation = (CVSRepositoryLocation)repository;
-			}
-		}
-		// Notify no matter what since it may not have been broadcast before
-		if (broadcast) {
-			final CVSRepositoryLocation location = existingLocation;
-			((CVSRepositoryLocation)repository).updateCache();
-			fireNotification(new Notification() {
-				public void notify(ICVSListener listener) {
-					listener.repositoryAdded(location);
-				}
-			});
-		}
-		return existingLocation;
-	}
-	
-	/**
-	 * Dispose of the repository location
-	 * 
-	 * Removes any cached information about the repository such as a remembered password.
-	 */
-	public void disposeRepository(final ICVSRepositoryLocation repository) {
-		Object removed;
-		synchronized (this) {
-			((CVSRepositoryLocation)repository).dispose();
-			removed = getRepositoriesMap().remove(repository.getLocation(false));
-		}
-		if (removed != null) {
-			fireNotification(new Notification() {
-				public void notify(ICVSListener listener) {
-					listener.repositoryRemoved(repository);
-				}
-			});
-		}
-	}
-
-	/**
-	 * Answer whether the provided repository location is known by the provider or not.
-	 * The location string corresponds to the String returned by ICVSRepositoryLocation#getLocation()
-	 */
-	public synchronized boolean isKnownRepository(String location) {
-		return internalGetRepository(location) != null;
-	}
-
-	/** 
-	 * Return a list of the know repository locations
-	 */
-	public synchronized ICVSRepositoryLocation[] getRepositories() {
-		return (ICVSRepositoryLocation[])getRepositoriesMap().values().toArray(new ICVSRepositoryLocation[getRepositoriesMap().size()]);
-	}
-	
-	/**
-	 * Get the repository instance which matches the given String. The format of the String is
-	 * the same as that returned by ICVSRepositoryLocation#getLocation().
-	 * The format is:
-	 * 
-	 *   connection:user[:password]@host[#port]:root
-	 * 
-	 * where [] indicates optional and the identier meanings are:
-	 * 
-	 * 	 connection The connection method to be used
-	 *   user The username for the connection
-	 *   password The password used for the connection (optional)
-	 *   host The host where the repository resides
-	 *   port The port to connect to (optional)
-	 *   root The server directory where the repository is located
-	 * 
-	 * If the repository is already registered, the cahced instance is returned.
-	 * Otherwise, a new uncached instance is returned.
-	 * 
-	 * WARNING: Providing the password as part of the String will result in the password being part
-	 * of the location permanently. This means that it cannot be modified by the authenticator. 
-	 */
-	public synchronized ICVSRepositoryLocation getRepository(String location) throws CVSException {
-		ICVSRepositoryLocation repository = internalGetRepository(location);
-		if (repository == null) {
-			repository = CVSRepositoryLocation.fromString(location);
-		}
-		return repository;
-	}
-	
-	private CVSRepositoryLocation internalGetRepository(String location) {
-		return (CVSRepositoryLocation)getRepositoriesMap().get(location);
-	}
-	
-	/*
-	 * Cache the location and store it in the preferences for persistance
-	 */
-	private void store(CVSRepositoryLocation location) {
-		// Cache the location instance for later retrieval
-		getRepositoriesMap().put(location.getLocation(), location);
-		location.storePreferences();
-	}
-	
-	private Map getRepositoriesMap() {
-		if (repositories == null) {
-			// Load the repositories from the preferences
-			repositories = new HashMap();
-			IEclipsePreferences prefs = (IEclipsePreferences) CVSRepositoryLocation.getParentPreferences();
-			prefs.addNodeChangeListener(this);
-			try {
-				String[] keys = prefs.childrenNames();
-				for (int i = 0; i < keys.length; i++) {
-					String key = keys[i];
-					try {
-						IEclipsePreferences node = (IEclipsePreferences) prefs.node(key);
-						node.addPreferenceChangeListener(this);
-						String location = node.get(CVSRepositoryLocation.PREF_LOCATION, null);
-						if (location != null) {
-							repositories.put(location, CVSRepositoryLocation.fromString(location));
-						} else {
-							node.removeNode();
-							prefs.flush();
-						}
-					} catch (CVSException e) {
-						// Log and continue
-						CVSProviderPlugin.log(e);
-					}
-				}
-				if (repositories.isEmpty()) {
-					getRepositoriesFromProjects();
-				}
-			} catch (BackingStoreException e) {
-				// Log and continue (although all repos will be missing)
-				CVSProviderPlugin.log(IStatus.ERROR, CVSMessages.KnownRepositories_0, e); 
-			} catch (CVSException e) {
-				CVSProviderPlugin.log(e);
-			}
-		}
-		return repositories;
-	}
-	
-	private void getRepositoriesFromProjects() throws CVSException {
-		// If the file did not exist, then prime the list of repositories with
-		// the providers with which the projects in the workspace are shared.
-		IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		for (int i = 0; i < projects.length; i++) {
-			RepositoryProvider provider = RepositoryProvider.getProvider(projects[i], CVSProviderPlugin.getTypeId());
-			if (provider!=null) {
-				ICVSFolder folder = (ICVSFolder)CVSWorkspaceRoot.getCVSResourceFor(projects[i]);
-				FolderSyncInfo info = folder.getFolderSyncInfo();
-				if (info != null) {
-					addRepository(getRepository(info.getRoot()), false);
-				}
-			}
-		}
-	}
-	
-	private ICVSListener[] getListeners() {
-		synchronized(repositoryListeners) {
-			return (ICVSListener[]) repositoryListeners.toArray(new ICVSListener[repositoryListeners.size()]);
-		}
-	}
-	
-	private void fireNotification(Notification notification) {
-		// Get a snapshot of the listeners so the list doesn't change while we're firing
-		ICVSListener[] listeners = getListeners();
-		// Notify each listener in a safe manner (i.e. so their exceptions don't kill us)
-		for (int i = 0; i < listeners.length; i++) {
-			ICVSListener listener = listeners[i];
-			notification.run(listener);
-		}
-	}
-
-	public void added(NodeChangeEvent event) {
-		((IEclipsePreferences)event.getChild()).addPreferenceChangeListener(this);
-	}
-
-	public void removed(NodeChangeEvent event) {
-		// Cannot remove the listener once the node is removed
-		//((IEclipsePreferences)event.getChild()).removePreferenceChangeListener(this);
-	}
-
-	public void preferenceChange(PreferenceChangeEvent event) {
-		if (CVSRepositoryLocation.PREF_LOCATION.equals(event.getKey())) {
-			String location = (String)event.getNewValue();
-			if (location == null) {
-				((IEclipsePreferences)event.getNode()).removePreferenceChangeListener(this);
-			} else {
-				try {
-					addRepository(CVSRepositoryLocation.fromString(location), true);
-				} catch (CVSException e) {
-					CVSProviderPlugin.log(e);
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/MoveDeleteHook.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/MoveDeleteHook.java
deleted file mode 100644
index b74078f..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/MoveDeleteHook.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.util;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.team.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer;
-
-/**
- * This hook exists to ensure that folders deletions will be recorded so that outgoing file
- * deletions can be properly communicated to the server.
- */
-public class MoveDeleteHook implements IMoveDeleteHook {
-	
-	/**
-	 * @see IMoveDeleteHook#deleteFile(IResourceTree, IFile, int, IProgressMonitor)
-	 */
-	public boolean deleteFile(
-		final IResourceTree tree,
-		final IFile file,
-		final int updateFlags,
-		IProgressMonitor monitor) {
-		
-		try {
-			monitor.beginTask(null, 100);
-
-			// No special handling required for team-private members
-			if (file.isTeamPrivateMember()) return false;
-
-			// If the file is ignored by CVS then we can just delete it.
-			ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor(file);
-			if (cvsFile.isIgnored()) return false;
-
-			// If we can't check out the files, return.
-			if (!checkOutFiles(tree, new IFile[] {file}, Policy.subMonitorFor(monitor, 30))) {
-				// Return that the delete was handled because the checkout
-				// will have reported the error to the IResourceTree
-				return true;
-			}
-
-			// Otherwise, we need to prepare properly for the delete
-			EclipseSynchronizer.getInstance().performMoveDelete(new ICVSRunnable() {
-				public void run(IProgressMonitor monitor) throws CVSException {
-					try {
-						monitor.beginTask(null, 100);		
-						EclipseSynchronizer.getInstance().prepareForDeletion(file, Policy.subMonitorFor(monitor, 40));
-						tree.standardDeleteFile(file, updateFlags, Policy.subMonitorFor(monitor, 60));
-					} finally {
-						monitor.done();
-					}
-				}
-			}, Policy.subMonitorFor(monitor, 70));
-		} catch (CVSException e) {
-			tree.failed(e.getStatus());
-		} finally {
-			monitor.done();
-		}
-		return true;
-	}
-	
-	/**
-	 * @see IMoveDeleteHook#deleteFolder(IResourceTree, IFolder, int, IProgressMonitor)
-	 */
-	public boolean deleteFolder(
-		final IResourceTree tree,
-		final IFolder folder,
-		final int updateFlags,
-		IProgressMonitor monitor) {
-		
-		// No special handling required for team-private members
-		if (folder.isTeamPrivateMember()) return false;
-		monitor.beginTask(null, 100);
-		try {
-			final ICVSFolder cvsFolder = CVSWorkspaceRoot.getCVSFolderFor(folder);
-			if (cvsFolder.isCVSFolder() && ensureCheckedOut(new IFolder[] {folder}, tree, Policy.subMonitorFor(monitor, 30))) {
-				EclipseSynchronizer.getInstance().performMoveDelete(new ICVSRunnable() {
-					public void run(IProgressMonitor monitor) throws CVSException {
-						try {
-							monitor.beginTask(null, 100);
-							EclipseSynchronizer.getInstance().prepareForDeletion(folder, Policy.subMonitorFor(monitor, 20));
-							tree.standardDeleteFolder(folder, updateFlags, Policy.subMonitorFor(monitor, 50));
-						} finally {
-							monitor.done();
-						}
-					}
-				}, Policy.subMonitorFor(monitor, 70));
-				return true;
-			} else if (!cvsFolder.isIgnored()) {
-				EclipseSynchronizer.getInstance().prepareForDeletion(cvsFolder.getIResource(), Policy.subMonitorFor(monitor, 70));
-			}
-		} catch (CVSException e) {
-			tree.failed(e.getStatus());
-		} finally {
-			monitor.done();
-		}
-		return false;
-	}
-
-	/**
-	 * @see IMoveDeleteHook#deleteProject(IResourceTree, IProject, int, IProgressMonitor)
-	 */
-	public boolean deleteProject(
-		IResourceTree tree,
-		IProject project,
-		int updateFlags,
-		IProgressMonitor monitor) {
-			
-		// We need to flush any remembered folder deletions for the deleted project.
-		// All other sync info is stored in session and persistant properties, which
-		// are deleted when the associated resources are deleted
-		try {
-			EclipseSynchronizer.getInstance().prepareForDeletion(project, monitor);
-		} catch (CVSException e) {
-			CVSProviderPlugin.log(e);
-		}
-		// todo: Perform a "cvs release" if there are any edits on the project
-		return false;
-	}
-
-	/**
-	 * @see IMoveDeleteHook#moveFile(IResourceTree, IFile, IFile, int, IProgressMonitor)
-	 */
-	public boolean moveFile(
-			final IResourceTree tree,
-			final IFile source,
-			final IFile destination,
-			final int updateFlags,
-			IProgressMonitor monitor) {
-		
-		try {
-			monitor.beginTask(null, 100);
-
-			// ensure we can write to both the source and the destination
-			IFile[] filesToCheckOut;
-			if (destination.exists()) {
-				filesToCheckOut = new IFile[] {source, destination};
-			} else {
-				filesToCheckOut = new IFile[] {source};
-			}
-			if (!checkOutFiles(tree, filesToCheckOut, Policy.subMonitorFor(monitor, 30))) {
-				// Return that the move was handled because the checkout
-				// will have reported the error to the IResourceTree
-				return true;
-			}
-
-			// Perform the move
-			EclipseSynchronizer.getInstance().performMoveDelete(new ICVSRunnable() {
-				public void run(IProgressMonitor monitor) throws CVSException {
-					try {
-						monitor.beginTask(null, 100);
-						EclipseSynchronizer.getInstance().prepareForDeletion(source, Policy.subMonitorFor(monitor, 40));
-						if (destination.exists()) {
-							EclipseSynchronizer.getInstance().prepareForDeletion(destination, Policy.subMonitorFor(monitor, 20));
-						}
-						tree.standardMoveFile(source, destination, updateFlags, Policy.subMonitorFor(monitor, 40));
-						EclipseSynchronizer.getInstance().postMove(destination);
-					} finally {
-						monitor.done();
-					}
-				}
-			}, Policy.subMonitorFor(monitor, 70));
-		} catch (CVSException e) {
-			tree.failed(e.getStatus());
-		} finally {
-			monitor.done();
-		}
-		return true;
-	}
-
-	/**
-	 * @see IMoveDeleteHook#moveFolder(IResourceTree, IFolder, IFolder, int, IProgressMonitor)
-	 */
-	public boolean moveFolder(
-		final IResourceTree tree,
-		final IFolder source,
-		final IFolder destination,
-		final int updateFlags,
-		IProgressMonitor monitor) {
-		
-		monitor.beginTask(null, 100);
-		try {
-			final ICVSFolder cvsFolder = CVSWorkspaceRoot.getCVSFolderFor(source);
-			if (cvsFolder.isManaged()) {
-				if (!ensureCheckedOut(new IFolder[] {source, destination}, tree, Policy.subMonitorFor(monitor, 20))) return true;
-				EclipseSynchronizer.getInstance().performMoveDelete(new ICVSRunnable() {
-					public void run(IProgressMonitor monitor) throws CVSException {
-						EclipseSynchronizer.getInstance().prepareForDeletion(source, Policy.subMonitorFor(monitor, 20));
-						if (destination.exists()) {
-							EclipseSynchronizer.getInstance().prepareForDeletion(destination, Policy.subMonitorFor(monitor, 20));
-						}
-						tree.standardMoveFolder(source, destination, updateFlags, Policy.subMonitorFor(monitor, 30));
-						purgeCVSFolders(destination, Policy.subMonitorFor(monitor, 20));
-						EclipseSynchronizer.getInstance().postMove(destination);
-					}
-					private void purgeCVSFolders(IFolder destination, final IProgressMonitor monitor) throws CVSException {
-						// Delete any CVS folders
-						try {
-							destination.accept(new IResourceVisitor() {
-								public boolean visit(IResource resource) throws CoreException {
-									if (resource.getType() == IResource.FOLDER && resource.getName().equals(SyncFileWriter.CVS_DIRNAME)) {
-										tree.standardDeleteFolder((IFolder)resource, updateFlags, monitor);
-										return false;
-									}
-									return true;
-								}
-							}, IResource.DEPTH_INFINITE, IContainer.INCLUDE_TEAM_PRIVATE_MEMBERS);
-						} catch (CoreException e) {
-							throw CVSException.wrapException(e);
-						}
-					}
-				}, Policy.subMonitorFor(monitor, 60));
-				return true;
-			} else if (!cvsFolder.isIgnored()) {
-				EclipseSynchronizer.getInstance().prepareForDeletion(cvsFolder.getIResource(), Policy.subMonitorFor(monitor, 60));
-			}
-		} catch (CVSException e) {
-			tree.failed(e.getStatus());
-			return true;
-		} finally {
-			monitor.done();
-		}
-			
-		return false;
-	}
-
-	/**
-	 * @see IMoveDeleteHook#moveProject(IResourceTree, IProject, IProjectDescription, int, IProgressMonitor)
-	 */
-	public boolean moveProject(
-		IResourceTree tree,
-		IProject source,
-		IProjectDescription description,
-		int updateFlags,
-		IProgressMonitor monitor) {
-			
-		// We need to move (or flush) any remembered folder deletions for the deleted project
-		// XXX We flush for now. This means that deleting a managed folder and then moving the
-		// project will mean that the file deletions will be lost. It also means that phantom
-		// folders are lost.
-		try {
-			EclipseSynchronizer.getInstance().prepareForDeletion(source, monitor);
-		} catch (CVSException e) {
-			CVSProviderPlugin.log(e);
-		}
-		return false;
-	}
-	
-	/**
-	 * Ensure that the given file is checked out (i.e. not read only). Return
-	 * true if it is OK to procede and false otherwise.
-	 * 
-	 * @param tree
-	 * @param file
-	 * @return boolean
-	 */
-	/* private */ boolean checkOutFiles(IResourceTree tree, IFile[] files, IProgressMonitor monitor) {
-		// Ensure that the file is "checked out" (i.e. not read-only
-		IFileModificationValidator validator = getFileModificationValidator(files);
-		if (validator instanceof ICVSFileModificationValidator) {
-			IStatus status = ((ICVSFileModificationValidator)validator).validateMoveDelete(files, monitor);
-			if (status.isOK()) {
-				return true;
-			} else {
-				tree.failed(status);
-				return false;
-			}
-		}
-		return true;
-	}
-
-	private boolean ensureCheckedOut(IFolder[] folders, IResourceTree tree, IProgressMonitor monitor) {
-		final List readOnlyFiles = new ArrayList();
-		try {
-			// Find any read-only files
-			for (int i = 0; i < folders.length; i++) {
-				IFolder folder = folders[i];
-				if (folder.exists()) {
-					folder.accept(new IResourceVisitor() {
-						public boolean visit(IResource resource) throws CoreException {
-							if (resource.getType() == IResource.FILE) {
-								IFile file = (IFile) resource;
-								if (file.isReadOnly()) {
-									readOnlyFiles.add(file);
-								}
-							}
-							return true;
-						}
-					});
-				}
-			}
-			if (readOnlyFiles.isEmpty()) return true;
-			// Ensure read-only files are checked out
-			return checkOutFiles(tree, (IFile[]) readOnlyFiles.toArray(new IFile[readOnlyFiles.size()]), monitor);
-		} catch (CoreException e) {
-			tree.failed(e.getStatus());
-			return false;
-		}
-	}
-
-	private FileModificationValidator getFileModificationValidator(IFile[] files) {
-		return getProvider(files).getFileModificationValidator2();
-	}
-
-	private CVSTeamProvider getProvider(IFile[] files) {
-		CVSTeamProvider provider = (CVSTeamProvider)RepositoryProvider.getProvider(files[0].getProject(), CVSProviderPlugin.getTypeId());
-		return provider;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/PrepareForReplaceVisitor.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/PrepareForReplaceVisitor.java
deleted file mode 100644
index a1f12c0..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/PrepareForReplaceVisitor.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Matt McCutchen <hashproduct+eclipse@gmail.com> - Bug 179174 CVS client sets timestamps back when replacing
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.util;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.ConsoleListeners;
-import org.eclipse.team.internal.ccvs.core.client.Session;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-
-/**
- * This class is used to prepare a local CVS workspace for replacement by
- * the corresponding remote resources. More specifically, this class will
- * unmanage added and deleted resources so that, after the operation, the
- * resources in the local workspace will either correspond to the remote
- * counterparts or be unmanaged.
- */
-public class PrepareForReplaceVisitor implements ICVSResourceVisitor {
-
-	private IProgressMonitor monitor;
-	private int depth;
-	private CVSTag tag; 
-	private Set/*<ICVSFile>*/ deletedFiles;
-	private Session session;
-
-	public PrepareForReplaceVisitor(Session session, CVSTag tag){
-		this.tag = tag;
-		this.session = session;
-	}
-	
-	/**
-	 * @see ICVSResourceVisitor#visitFile(ICVSFile)
-	 */
-	public void visitFile(ICVSFile file) throws CVSException {
-		byte[] syncBytes = file.getSyncBytes();
-		if (syncBytes == null) {
-			// Delete unmanaged files if the user wants them deleted
-			if (CVSProviderPlugin.getPlugin().isReplaceUnmanaged()) {
-				file.delete();
-				deletedFiles.add(file);
-			}
-		} else if (ResourceSyncInfo.isAddition(syncBytes)) {
-			file.delete();
-			deletedFiles.add(file);
-			file.unmanage(null);
-		} else if (ResourceSyncInfo.isDeletion(syncBytes)) {
-			// If deleted, null the sync info so the file will be refetched.
-			// If we are replacing with the "BASE" tag, the file will not be refetched,
-			// it is necessary to restore it from history (see bug 150158).
-			if (!shouldDeleteModifications(file)) {
-				IFile res = (IFile) file.getIResource();
-				try {
-					IFileState[] states  = res.getHistory(null);
-					if(states.length > 0){
-						restoreParentDirectory(file);
-						// recreate file using the latest state
-						res.create(states[0].getContents(), true, null);
-					} else {
-						IStatus status = new Status(Status.ERROR, CVSProviderPlugin.ID, 
-								CVSMessages.PrepareForReplaceVisitor_DeletedFileWithoutHistoryCannotBeRestoredWhileRevertToBase);
-						CVSProviderPlugin.log(status);
-						ConsoleListeners.getInstance().errorLineReceived(session, 
-								NLS.bind(CVSMessages.PrepareForReplaceVisitor_FileCannotBeReplacedWithBase,
-										res.getName()), 
-								status);
-					}
-				} catch (CoreException e) {
-					CVSProviderPlugin.log(e);
-				}
-			} else {
-				file.unmanage(null);
-			}
-		} else if (file.isModified(null) && shouldDeleteModifications(file)) {
-			// If the file is modified, delete and unmanage it and allow the 
-			// replace operation to fetch it again. This is required because "update -C" 
-			// will fail for locally modified resources that have been deleted remotely.
-			file.delete();
-			deletedFiles.add(file);
-			// Only unmanage if the delete was successful (bug 76029)
-			file.unmanage(null);
-		}
-		monitor.worked(1);
-	}
-
-	private void restoreParentDirectory(ICVSFile file) throws CVSException {
-		List parents = new ArrayList();
-		ICVSFolder parent = file.getParent();
-		while(!parent.getIResource().exists()){
-			parents.add(parent);
-			parent = parent.getParent();
-		}
-		for(int i = parents.size() - 1; i > -1; i--){
-			((ICVSFolder)parents.get(i)).mkdir();
-		}
-	}
-
-	/*
-	 * see bug 150158
-	 */
-	private boolean shouldDeleteModifications(ICVSFile file) {
-		return (tag == null && !isStickyRevision(file)) // We don't need to delete sticky files since there can't be conflicting modifications (see bug 199367)
-			|| (tag != null && !tag.getName().equals("BASE")); //$NON-NLS-1$
-	}
-
-	private boolean isStickyRevision(ICVSFile file) {
-		try {
-			ResourceSyncInfo info = file.getSyncInfo();
-			if (info != null) {
-				CVSTag tag = info.getTag();
-				if (tag != null) {
-					// The problem with tags on files is that they always have the branch type
-					// so we need to check if the tag is the file's revision
-					return tag.getName().equals(info.getRevision());
-				}
-			}
-		} catch (CVSException e) {
-			CVSProviderPlugin.log(e);
-		}
-		return false;
-	}
-
-	/**
-	 * @see ICVSResourceVisitor#visitFolder(ICVSFolder)
-	 */
-	public void visitFolder(ICVSFolder folder) throws CVSException {
-		// Delete unmanaged folders if the user wants them deleted
-		if (!folder.isCVSFolder()) {
-			if (CVSProviderPlugin.getPlugin().isReplaceUnmanaged()) {
-				// Needed to add files inside to deletedFiles set.
-				folder.acceptChildren(this);
-				folder.delete();
-			}
-		} else {
-			// Visit the children of the folder as appropriate
-			if (depth == IResource.DEPTH_INFINITE) {
-				folder.acceptChildren(this);
-			} else if (depth == IResource.DEPTH_ONE) {
-				ICVSResource[] files = folder.members(ICVSFolder.FILE_MEMBERS);
-				for (int i = 0; i < files.length; i++) {
-					files[i].accept(this);
-				}
-			}
-			// Also delete ignored child files that start with .#
-			ICVSResource[] ignoredFiles = folder.members(ICVSFolder.FILE_MEMBERS | ICVSFolder.IGNORED_MEMBERS);
-			for (int i = 0; i < ignoredFiles.length; i++) {
-				ICVSResource cvsResource = ignoredFiles[i];
-				if (cvsResource.getName().startsWith(".#")) { //$NON-NLS-1$
-					cvsResource.delete();
-				}
-			}
-		}
-		monitor.worked(1);
-	}
-	
-	public void visitResources(IProject project, final ICVSResource[] resources, final String oneArgMessage, int depth, IProgressMonitor pm) throws CVSException {
-		this.depth = depth;
-		deletedFiles = new HashSet();
-		CVSWorkspaceRoot.getCVSFolderFor(project).run(new ICVSRunnable() {
-			public void run(IProgressMonitor pm) throws CVSException {
-				monitor = Policy.infiniteSubMonitorFor(pm, 100);
-				monitor.beginTask(null, 512);
-				for (int i = 0; i < resources.length; i++) {
-					if (oneArgMessage != null) {
-						monitor.subTask(NLS.bind(oneArgMessage, new String[] { resources[i].getIResource().getFullPath().toString() })); 
-					}
-					resources[i].accept(PrepareForReplaceVisitor.this);
-				}
-				monitor.done();
-			}
-		}, pm);
-	}
-	
-	public Set/*<ICVSFile>*/ getDeletedFiles() {
-		return Collections.unmodifiableSet(deletedFiles);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/ResourceStateChangeListeners.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/ResourceStateChangeListeners.java
deleted file mode 100644
index a8efc1e..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/ResourceStateChangeListeners.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.util;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.team.internal.ccvs.core.IResourceStateChangeListener;
-import org.eclipse.team.internal.ccvs.core.Policy;
-
-/**
- * Class that manages the listeners of CVS sync change notification
- */
-public class ResourceStateChangeListeners {
-
-	private static List listeners = new ArrayList();
-	
-	private static ResourceStateChangeListeners instance;
-	
-	public static synchronized ResourceStateChangeListeners getListener() {
-		if (instance == null) {
-			instance = new ResourceStateChangeListeners();
-		}
-		return instance;
-	}
-	
-	/*
-	 * Private class used to safely notify listeners of resouce sync info changes. 
-	 * Subclass override the notify(IResourceStateChangeListener) method to
-	 * fire specific events inside an ISafeRunnable.
-	 */
-	private abstract class Notification implements ISafeRunnable {
-		private IResourceStateChangeListener listener;
-		public void handleException(Throwable exception) {
-			// don't log the exception....it is already being logged in Platform#run
-		}
-		public void run(IResourceStateChangeListener listener) {
-			this.listener = listener;
-			Platform.run(this);
-		}
-		public void run() throws Exception {
-			notify(listener);
-		}
-		/**
-		 * Subsclasses overide this method to send an event safely to a lsistener
-		 * @param listener
-		 */
-		protected abstract void notify(IResourceStateChangeListener listener);
-	}
-	
-	private IResourceStateChangeListener[] getListeners() {
-		synchronized(listeners) {
-			return (IResourceStateChangeListener[]) listeners.toArray(new IResourceStateChangeListener[listeners.size()]);
-		}
-	}
-	
-	private void fireNotification(Notification notification) {
-		// Get a snapshot of the listeners so the list doesn't change while we're firing
-		IResourceStateChangeListener[] listeners = getListeners();
-		// Notify each listener in a safe manner (i.e. so their exceptions don't kill us)
-		for (int i = 0; i < listeners.length; i++) {
-			IResourceStateChangeListener listener = listeners[i];
-			notification.run(listener);
-		}
-	}
-	
-	public void addResourceStateChangeListener(IResourceStateChangeListener listener) {
-		synchronized(listeners) {
-			listeners.add(listener);
-		}
-	}
-
-	public void removeResourceStateChangeListener(IResourceStateChangeListener listener) {
-		synchronized(listeners) {
-			listeners.remove(listener);
-		}
-	}
-	
-	public void resourceSyncInfoChanged(final IResource[] resources) {
-		if (Policy.DEBUG_SYNC_CHANGE_EVENTS) {
-			printDebugInfo("Sync info change event ", resources); //$NON-NLS-1$
-		}
-		fireNotification(new Notification() {
-			public void notify(IResourceStateChangeListener listener) {
-				listener.resourceSyncInfoChanged(resources);
-			}
-		});
-	}
-	
-	public void externalSyncInfoChange(final IResource[] resources) {
-		if (Policy.DEBUG_SYNC_CHANGE_EVENTS) {
-			printDebugInfo("External sync info change event ", resources); //$NON-NLS-1$
-		}
-		fireNotification(new Notification() {
-			public void notify(IResourceStateChangeListener listener) {
-				listener.externalSyncInfoChange(resources);
-			}
-		});
-	}
-	
-	public void resourceModified(final IResource[] resources) {
-		if (Policy.DEBUG_SYNC_CHANGE_EVENTS) {
-			printDebugInfo("Resource modified change event ", resources); //$NON-NLS-1$
-		}
-		fireNotification(new Notification() {
-			public void notify(IResourceStateChangeListener listener) {
-				listener.resourceModified(resources);
-			}
-		});
-	}
-	public void projectConfigured(final IProject project) {
-		if (Policy.DEBUG_SYNC_CHANGE_EVENTS) {
-			printDebugInfo("Project configured change event ", new IResource[] { project }); //$NON-NLS-1$
-		}
-		fireNotification(new Notification() {
-			public void notify(IResourceStateChangeListener listener) {
-				listener.projectConfigured(project);
-			}
-		});
-	}
-	public void projectDeconfigured(final IProject project) {
-		if (Policy.DEBUG_SYNC_CHANGE_EVENTS) {
-			printDebugInfo("Project deconfigured change event ", new IResource[] { project }); //$NON-NLS-1$
-		}
-		fireNotification(new Notification() {
-			public void notify(IResourceStateChangeListener listener) {
-				listener.projectDeconfigured(project);
-			}
-		});
-	}
-	
-	private void printDebugInfo(String prefix, IResource[] resources) {
-		System.out.print(prefix);
-		System.out.print(" from thread  " + Thread.currentThread().getName()); //$NON-NLS-1$
-		System.out.print(" for the following " + resources.length + " resources"); //$NON-NLS-1$ //$NON-NLS-2$
-		System.out.println(":"); //$NON-NLS-1$
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			System.out.println(resource.getFullPath().toString());
-		}
-	}
-	
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/ResponsiveSocketFactory.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/ResponsiveSocketFactory.java
deleted file mode 100644
index f598b2b..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/ResponsiveSocketFactory.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.util;
-
-import java.io.IOException;
-import java.io.InterruptedIOException;
-import java.lang.reflect.*;
-import java.net.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-
-/**
- * Class copied from "org.eclipse.jsch.internal.core"
- */
-public class ResponsiveSocketFactory {
-  private static final String JAVA_NET_PROXY="java.net.Proxy"; //$NON-NLS-1$
-  private static final int DEFAULT_TIMEOUT=60; // Seconds
-  private IProgressMonitor monitor;
-  private final int timeout;
-  private static Class proxyClass;
-  private static boolean hasProxyClass = true;
-  public ResponsiveSocketFactory(IProgressMonitor monitor, int timeout) {
-    if (monitor == null)
-      monitor = new NullProgressMonitor();
-    this.monitor = monitor;
-    this.timeout=timeout;
-  }
-  public Socket createSocket(String host, int port) throws IOException, UnknownHostException {
-    Socket socket = null;
-    socket = createSocket(host, port, timeout / 1000, monitor);
-    // Null out the monitor so we don't hold onto anything
-    // (i.e. the SSH2 session will keep a handle to the socket factory around
-    monitor = new NullProgressMonitor();
-    // Set the socket timeout
-    socket.setSoTimeout(timeout);
-    return socket;
-  }
-  
-  /**
-   * Helper method that will time out when making a socket connection.
-   * This is required because there is no way to provide a timeout value
-   * when creating a socket and in some instances, they don't seem to
-   * timeout at all.
-   */
-  private Socket createSocket(final String host, final int port, int timeout, IProgressMonitor monitor) throws UnknownHostException, IOException {
-    
-    // Start a thread to open a socket
-    final Socket[] socket = new Socket[] { null };
-    final Exception[] exception = new Exception[] {null };
-    final Thread thread = new Thread(new Runnable() {
-      public void run() {
-        try {
-          Socket newSocket = internalCreateSocket(host, port);
-          synchronized (socket) {
-            if (Thread.interrupted()) {
-              // we we're either canceled or timed out so just close the socket
-              newSocket.close();
-            } else {
-              socket[0] = newSocket;
-            }
-          }
-        } catch (UnknownHostException e) {
-          exception[0] = e;
-        } catch (IOException e) {
-          exception[0] = e;
-        }
-      }
-    });
-    thread.start();
-    
-    // Wait the appropriate number of seconds
-    if (timeout == 0) timeout = DEFAULT_TIMEOUT;
-    for (int i = 0; i < timeout; i++) {
-      try {
-        // wait for the thread to complete or 1 second, which ever comes first
-        thread.join(1000);
-      } catch (InterruptedException e) {
-        // I think this means the thread was interrupted but not necessarily timed out
-        // so we don't need to do anything
-      }
-      synchronized (socket) {
-        // if the user canceled, clean up before preempting the operation
-        if (monitor.isCanceled()) {
-          if (thread.isAlive()) {
-            thread.interrupt();
-          }
-          if (socket[0] != null) {
-            socket[0].close();
-          }
-          // this method will throw the proper exception
-          Policy.checkCanceled(monitor);
-        }
-      }
-    }
-    // If the thread is still running (i.e. we timed out) signal that it is too late
-    synchronized (socket) {
-      if (thread.isAlive()) {
-        thread.interrupt();
-      }
-    }
-    if (exception[0] != null) {
-      if (exception[0] instanceof UnknownHostException)
-        throw (UnknownHostException)exception[0];
-      else
-        throw (IOException)exception[0];
-    }
-    if (socket[0] == null) {
-      throw new InterruptedIOException(NLS.bind(CVSMessages.Util_timeout, new String[] { host })); 
-    }
-    return socket[0];
-  }
-  
-  /* private */  Socket internalCreateSocket(final String host, final int port)
-      throws UnknownHostException, IOException{
-    Class proxyClass = getProxyClass();
-    if (proxyClass != null) {
-      // We need to disable proxy support for the socket
-      try{
-        
-        // Obtain the value of the NO_PROXY static field of the proxy class
-        Field field = proxyClass.getField("NO_PROXY"); //$NON-NLS-1$
-        Object noProxyObject = field.get(null);
-        Constructor constructor = Socket.class.getConstructor(new Class[] { proxyClass });
-        Object o = constructor.newInstance(new Object[] { noProxyObject });
-        if(o instanceof Socket){
-          Socket socket=(Socket)o;
-          socket.connect(new InetSocketAddress(host, port), timeout * 1000);
-          return socket;
-        }
-      }
-      catch(SecurityException e){
-        CVSProviderPlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      catch(NoSuchFieldException e){
-    	  CVSProviderPlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      catch(IllegalArgumentException e){
-    	  CVSProviderPlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      catch(IllegalAccessException e){
-    	  CVSProviderPlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      catch(NoSuchMethodException e){
-    	  CVSProviderPlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      catch(InstantiationException e){
-    	  CVSProviderPlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      catch(InvocationTargetException e){
-    	  CVSProviderPlugin.log(IStatus.ERROR, NLS.bind("An internal error occurred while connecting to {0}", host), e); //$NON-NLS-1$
-      }
-      
-    }
-    return new Socket(host, port);
-  }
-  
-  private synchronized Class getProxyClass() {
-    if (hasProxyClass && proxyClass == null) {
-      try{
-        proxyClass = Class.forName(JAVA_NET_PROXY);
-      }
-      catch(ClassNotFoundException e){
-        // We couldn't find the class so we'll assume we are using pre-1.5 JRE
-        hasProxyClass = false;
-      }
-    }
-    return proxyClass;
-  }
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/StringMatcher.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/StringMatcher.java
deleted file mode 100644
index 0597464..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/StringMatcher.java
+++ /dev/null
@@ -1,450 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Matt McCutchen (hashproduct+eclipse@gmail.com) - Bug 132260 Eclipse doesn't understand negated character classes in .cvsignore
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.util;
-
-import java.util.Vector;
-import java.util.HashMap;
-
-/**
- * A StringMatcher contains a glob and matches it against strings.
- * StringMatcher supports * and ? wildcards and character classes, possibly
- * negated by !, that contain single characters and/or ranges.
- * Note: code copied from org.eclipse.jdt.internal.core.util.StringMatcher on April 3, 2001
- * (version 0.1 - 010901H18 [rename jbl]).
- */
-public class StringMatcher {
-
-	protected static class CharacterClass {
-		final boolean isNegated;
-		final String text;
-
-		CharacterClass(boolean isNegated, String text) {
-			this.isNegated = isNegated;
-			this.text = text;
-		}
-
-		boolean listed(char c) {
-			for (int i = 0; i < text.length(); ) {
-				if (i + 2 < text.length() && text.charAt(i + 1) == '-') {
-					if (c >= text.charAt(i) && c <= text.charAt(i + 2))
-						return true;
-					i += 3;
-				} else {
-					if (c == text.charAt(i))
-						return true;
-					i++;
-				}
-			}
-			return false;
-		}
-		boolean match(char c) {
-			return listed(c) ^ isNegated;
-		}
-	}
-	
-	protected String fPattern;
-	protected int fLength; // pattern length
-	protected boolean fIgnoreWildCards;
-	protected boolean fIgnoreCase;
-	protected boolean fHasLeadingStar;
-	protected boolean fHasTrailingStar;
-	protected String fSegments[]; //the given pattern is split into * separated segments
-	protected HashMap/*<Integer, CharacterClass>*/ fCharacterClassMaps[];
-
-	/* boundary value beyond which we don't need to search in the text */
-	protected int fBound = 0;
-	
-	/** \? in pattern becomes ? in fSegments, while ? in pattern becomes this */
-	protected static final char fSingleWildCard = '\u0000';
-	
-	public static class Position {
-		int start; //inclusive
-		int end; //exclusive
-		public Position(int start, int end) {
-			this.start = start;
-			this.end = end;
-		}
-		public int getStart() {
-			return start;
-		}
-		public int getEnd() {
-			return end;
-		}
-	}
-
-	/**
-	 * Find the first occurrence of the pattern between <code>start</code> (inclusive) 
-	 * and <code>end</code> (exclusive).  
-	 * @param text the String object to search in 
-	 * @param start the starting index of the search range, inclusive
-	 * @param end the ending index of the search range, exclusive
-	 * @return a <code>StringMatcher.Position</code> object that keeps the starting 
-	 * (inclusive) and ending positions (exclusive) of the first occurrence of the 
-	 * pattern in the specified range of the text; return null if not found or subtext
-	 * is empty (start==end). A pair of zeros is returned if pattern is empty string
-	 * Note that for pattern like "*abc*" with leading and trailing stars, position of "abc"
-	 * is returned. For a pattern like"*??*" in text "abcdf", (1,3) is returned
-	 */
-	public StringMatcher.Position find(String text, int start, int end) {
-		if (fPattern  == null|| text == null)
-			throw new IllegalArgumentException();
-			
-		int tlen = text.length();
-		if (start < 0)
-			start = 0;
-		if (end > tlen)
-			end = tlen;
-		if (end < 0 ||start >= end )
-			return null;
-		if (fLength == 0)
-			return new Position(start, start);
-		if (fIgnoreWildCards) {
-			int x = posIn(text, start, end);
-			if (x < 0)
-				return null;
-			return new Position(x, x+fLength);
-		}
-
-		int segCount = fSegments.length;
-		if (segCount == 0)//pattern contains only '*'(s)
-			return new Position (start, end);
-					
-		int curPos = start;
-		int matchStart = -1; 
-		int i; 
-		for (i = 0; i < segCount && curPos < end; ++i) {
-			String current = fSegments[i];
-			int nextMatch = regExpPosIn(text, curPos, end, current, fCharacterClassMaps[i]);
-			if (nextMatch < 0 )
-				return null;
-			if(i == 0)
-				matchStart = nextMatch;
-			curPos = nextMatch + current.length();
-		}
-		if (i < segCount)
-			return null;
-		return new Position(matchStart, curPos);
-	}
-
-	/**
-	 * Constructs a StringMatcher that matches strings against the glob
-	 * <code>aPattern</code>.
-	 * 
-	 * <code>aPattern</code> may contain "?"s, which match single characters,
-	 * "*"s, which match zero or more characters, and character classes in
-	 * "[...]".  All characters other than "*", "?", and "[" match themselves,
-	 * except for "\", which escapes the following character.  For example,
-	 * "\*" matches "*" and "\a" matches "a", while "\\" matches "\".  Remember
-	 * that Java string literals have an additional level of escaping, so a
-	 * string literal for a glob matching a single backslash is written "\\\\".
-	 * 
-	 * "[" begins a character class, which may contain characters and/or ranges;
-	 * "]" ends the class.  A character class matches any single character in
-	 * it; for example, "[ac-e]" matches an "a", a "c", a "d", or an "e".  A
-	 * negated character class begins with "[!" and matches any single character
-	 * not listed.  Inside a character class, "\" loses its special meaning as
-	 * an escape character.  The fancier POSIX requirements for character
-	 * classes are not supported: ranges use Unicode character numbers, and
-	 * (for example) [:alpha:], [.ch.], and [=a=] are not recognized.
-	 * 
-	 * @param aPattern the glob to match text with
-	 * @param ignoreCase if true, case is ignored
-	 * @param ignoreWildCards if true, the pattern is taken literally instead of
-	 * as a glob
-	 */
-	public StringMatcher(String aPattern, boolean ignoreCase, boolean ignoreWildCards) {
-		fIgnoreCase = ignoreCase;
-		fIgnoreWildCards = ignoreWildCards;
-		fLength = aPattern.length();
-
-		/* convert case */
-		if (fIgnoreCase) {
-			fPattern = aPattern.toUpperCase();
-		} else {
-			fPattern = aPattern;
-		}
-		
-		if (fIgnoreWildCards) {
-			parseNoWildCards();
-		} else {
-			parseWildCards();
-		}
-	}
-	/**
-	 * Given the starting (inclusive) and the ending (exclusive) poisitions in the   
-	 * <code>text</code>, determine if the given substring matches with aPattern  
-	 * @return true if the specified portion of the text matches the pattern
-	 * @param text a String object that contains the substring to match 
-	 * @param start marks the starting position (inclusive) of the substring
-	 * @param end marks the ending index (exclusive) of the substring 
-	 */
-	public boolean match(String text, int start, int end) {
-		if (null == text)
-			throw new IllegalArgumentException();
-
-		if (start > end)
-			return false;
-
-		if (fIgnoreWildCards)
-			return (end - start == fLength) && fPattern.regionMatches(fIgnoreCase, 0, text, start, fLength);
-		int segCount= fSegments.length;
-		if (segCount == 0 && (fHasLeadingStar || fHasTrailingStar))  // pattern contains only '*'(s)
-			return true;
-		if (start == end)
-			return fLength == 0;
-		if (fLength == 0)
-			return start == end;
-
-		int tlen= text.length();
-		if (start < 0)
-			start= 0;
-		if (end > tlen)
-			end= tlen;
-
-		int tCurPos= start;
-		int bound= end - fBound;
-		if ( bound < 0)
-			return false;
-		int i=0;
-		String current= fSegments[i];
-		HashMap/*<Integer, CharacterClass>*/ curCharClassMap= fCharacterClassMaps[i];
-		int segLength= current.length();
-
-		/* process first segment */
-		if (!fHasLeadingStar){
-			if(!regExpRegionMatches(text, start, current, 0, segLength, curCharClassMap)) {
-				return false;
-			} else {
-				++i;
-				tCurPos= tCurPos + segLength;
-			}
-		}
-		if ((fSegments.length == 1) && (!fHasLeadingStar) && (!fHasTrailingStar)) {
-			// only one segment to match, no wildcards specified
-			return tCurPos == end;
-		}
-		/* process middle segments */
-		while (i < segCount) {
-			current= fSegments[i];
-			curCharClassMap= fCharacterClassMaps[i];
-			int currentMatch;
-			int k= current.indexOf(fSingleWildCard);
-			if (k < 0) {
-				currentMatch= textPosIn(text, tCurPos, end, current);
-				if (currentMatch < 0)
-					return false;
-			} else {
-				currentMatch= regExpPosIn(text, tCurPos, end, current, curCharClassMap);
-				if (currentMatch < 0)
-					return false;
-			}
-			tCurPos= currentMatch + current.length();
-			i++;
-		}
-
-		/* process final segment */
-		if (!fHasTrailingStar && tCurPos != end) {
-			int clen= current.length();
-			return regExpRegionMatches(text, end - clen, current, 0, clen, curCharClassMap);
-		}
-		return i == segCount ;
-	}
-	/**
-	 * match the given <code>text</code> with the pattern 
-	 * @return true if matched eitherwise false
-	 * @param text the String object to match against the pattern 
-	 */
-	public boolean  match(String text) {
-		return match(text, 0, text.length());
-	}
-	/**
-	 * This method parses the given pattern into segments separated by wildcard '*' characters.
-	 * Since wildcards are not being used in this case, the pattern consists of a single segment.
-	 */
-	private void parseNoWildCards() {
-		fSegments = new String[1];
-		fSegments[0] = fPattern;
-		fBound = fLength;
-	}
-	/**
-	 * This method parses the given pattern into segments separated by wildcard '*' characters.
-	 * @param p a String object that is a simple regular expression with *  and/or  ? 
-	 */
-	private void parseWildCards() {
-		if(fPattern.startsWith("*"))//$NON-NLS-1$
-			fHasLeadingStar = true;
-
-		Vector temp = new Vector();
-		HashMap/*<Integer, CharacterClass>*/ segmentCCs = null;
-		Vector/*<HashMap<Integer, CharacterClass>>*/ allCCs = new Vector();
-
-		int pos = 0;
-		StringBuffer buf = new StringBuffer();
-		while (pos < fLength) {
-			char c = fPattern.charAt(pos++);
-			fHasTrailingStar = false;
-			switch (c) {
-				case '\\':
-					if (pos >= fLength) {
-						buf.append(c);
-					} else {
-						c = fPattern.charAt(pos++);
-						buf.append(c);
-					}
-				break;
-				case '*':
-					fHasTrailingStar = true;
-					if (buf.length() > 0) {
-						/* new segment */
-						temp.addElement(buf.toString());
-						allCCs.addElement(segmentCCs);
-						fBound += buf.length();
-						buf.setLength(0);
-						segmentCCs = null;
-					}
-				break;
-				case '[':
-					if (segmentCCs == null)
-						segmentCCs = new HashMap/*<Integer, CharacterClass>*/();
-					if (pos >= fLength) {
-						// Unterminated; take [ literally for lack of anything better to do
-						buf.append(c);
-						break;
-					}
-					boolean negated = (fPattern.charAt(pos) == '!');
-					int beginPos = (negated ? pos + 1 : pos);
-					int endPos = fPattern.indexOf(']', beginPos + 1);
-					if (endPos == -1) {
-						// Unterminated; take [ literally for lack of anything better to do
-						buf.append(c);
-						break;
-					}
-					CharacterClass cc = new CharacterClass(negated, fPattern.substring(beginPos, endPos));
-					segmentCCs.put(new Integer(buf.length()), cc);
-					pos = endPos + 1;
-					/* fall through; fSingleWildCard can also represent a character class */
-				case '?':
-					/* append special character representing single match wildcard */
-					buf.append(fSingleWildCard);
-				break;
-				default:
-					buf.append(c);
-			}
-		}
-
-		/* add last buffer to segment list */
-		if (buf.length() > 0) {
-			temp.addElement(buf.toString());
-			allCCs.addElement(segmentCCs);
-			fBound += buf.length();
-		}
-			
-		fSegments = new String[temp.size()];
-		temp.copyInto(fSegments);
-		fCharacterClassMaps = new HashMap[allCCs.size()];
-		allCCs.copyInto(fCharacterClassMaps);
-	}
-	/** 
-	 * @param text a string which contains no wildcard
-	 * @param start the starting index in the text for search, inclusive
-	 * @param end the stopping point of search, exclusive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int posIn(String text, int start, int end) {//no wild card in pattern
-		return textPosIn(text, start, end, fPattern);
-	}
-	/** 
-	 * @param text a simple regular expression that may only contain '?'(s)
-	 * @param start the starting index in the text for search, inclusive
-	 * @param end the stopping point of search, exclusive
-	 * @param p a simple regular expression that may contains '?'
-	 * @param caseIgnored whether the pattern is not casesensitive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int regExpPosIn(String text, int start, int end, String p, HashMap/*<Integer, CharacterClass>*/ ccMap) {
-		int plen = p.length();
-		
-		int max = end - plen;
-		for (int i = start; i <= max; ++i) {
-			if (regExpRegionMatches(text, i, p, 0, plen, ccMap))
-				return i;
-		}
-		return -1;
-	}
-	/**
-	 * 
-	 * @return boolean
-	 * @param text a String to match
-	 * @param start int that indicates the starting index of match, inclusive
-	 * @param end int that indicates the ending index of match, exclusive
-	 * @param p String, a simple regular expression that may contain '?'
-	 * @param ignoreCase boolean indicating whether <code>p</code> is case sensitive
-	 * @param ccMap maps each index of p at which fSingleWildCard occurs (as an 
-	 * Integer) to CharacterClass data, or null for a plain old ?
-	 */
-	protected boolean regExpRegionMatches(String text, int tStart, String p, int pStart, int plen, HashMap/*<Integer, CharacterClass>*/ ccMap) {
-		for (int ppos = 0; plen-- > 0; ppos++) {
-			char tchar = text.charAt(tStart++);
-			char pchar = p.charAt(pStart++);
-
-			/* process wild cards */
-			if (!fIgnoreWildCards) {
-				/* skip single wild cards */
-				if (pchar == fSingleWildCard) {
-					if (ccMap == null)
-						continue;
-					CharacterClass cc = (CharacterClass) ccMap.get(new Integer(ppos));
-					if (cc == null || cc.match(tchar))
-						continue;
-					else
-						return false;
-				}
-			}
-			if (pchar == tchar)
-				continue;
-			if (fIgnoreCase) {
-				char tc = Character.toUpperCase(tchar);
-				if (tc == pchar)
-					continue;
-			}
-			return false;
-		}
-		return true;
-	}
-	/** 
-	 * @param text the string to match
-	 * @param start the starting index in the text for search, inclusive
-	 * @param end the stopping point of search, exclusive
-	 * @param p a string that has no wildcard
-	 * @param ignoreCase boolean indicating whether p is case sensitive
-	 * @return the starting index in the text of the pattern , or -1 if not found 
-	 */
-	protected int textPosIn(String text, int start, int end, String p) { 
-		
-		int plen = p.length();
-		int max = end - plen;
-		
-		if (!fIgnoreCase) {
-			int i = text.indexOf(p, start);
-			if (i == -1 || i > max)
-				return -1;
-			return i;
-		}
-		
-		for (int i = start; i <= max; ++i) {
-			if (text.regionMatches(true, i, p, 0, plen))
-				return i;
-		}
-		
-		return -1;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/SyncFileChangeListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/SyncFileChangeListener.java
deleted file mode 100644
index 265c3a3..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/SyncFileChangeListener.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.util;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
-import org.eclipse.team.internal.ccvs.core.ICVSFile;
-import org.eclipse.team.internal.ccvs.core.Policy;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer;
-import org.eclipse.team.internal.ccvs.core.syncinfo.DeferredResourceChangeHandler;
-
-/*
- * Listens to CVS meta-file changes and notifies the EclipseSynchronizer of changes made to sync files 
- * by 3rd parties.
- * 
- * If CVS meta-directories are created outside of the CVS plugin their team-private state will be set
- * by this listener however this change won't be known to other plugins because it does not generate 
- * a delta. As a result views, such as the navigator, may show CVS team-private directories. There
- * are some common scenarios where a user may (depending on the order of delta traversal)  see 
- * this behavior:
- * 
- * 1. A user has an existing CVS project outside of Eclipse. By creating the project in Eclipse to point
- * to the existing location the project's contents will be brought into Eclipse and the CVS folders
- * will be marlked as team-private but other delta listeners that have handled the event already won't receive
- * notification that the resource is now team-private. As a result, the user may have to close views or 
- * restart the workbench to have the CVS folders filtered.
- * 
- * 2. A user performs CVS command line operations outside of Eclipse that result in new CVS folders.
- * From Eclipse the refresh local will bring in the new folders and they will be marked as team-private.
- * But as in 1, they may not appear in the UI.
- * 
- * See: http://dev.eclipse.org/bugs/show_bug.cgi?id=12386
- */
-public class SyncFileChangeListener implements IResourceChangeListener {
-	
-	// consider the following changes types and ignore the others (e.g. marker and description changes are ignored)
-	protected int INTERESTING_CHANGES = 	IResourceDelta.CONTENT | 
-																	IResourceDelta.MOVED_FROM | 
-																	IResourceDelta.MOVED_TO |
-																	IResourceDelta.OPEN | 
-																	IResourceDelta.REPLACED |
-																	IResourceDelta.TYPE;
-	
-	protected boolean isProjectOpening = false;
-	
-	protected static DeferredResourceChangeHandler deferredHandler = new DeferredResourceChangeHandler();
-	
-	/**
-	 * This accessor is for use by test cases only.
-	 * 
-	 * @return Returns the deferredHandler.
-	 */
-	public static DeferredResourceChangeHandler getDeferredHandler() {
-		return deferredHandler;
-	}
-	
-	/*
-	 * When a resource changes this method will detect if the changed resources is a meta file that has changed 
-	 * by a 3rd party. For example, if the command line tool was run and then the user refreshed from local. To
-	 * distinguish changes made by this class and thoses made by others a modification stamp is persisted with each
-	 * metafile.
-	 * 
-	 * @see IResourceChangeListener#resourceChanged(IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		try {
-			final Set changedContainers = new HashSet();
-			final Set externalDeletions = new HashSet();
-			
-			setProjectOpening(false);
-			
-			event.getDelta().accept(new IResourceDeltaVisitor() {
-
-				public boolean visit(IResourceDelta delta) {
-					IResource resource = delta.getResource();
-					
-					if(resource.getType()==IResource.ROOT) {
-						// continue with the delta
-						return true;
-					}
-					
-					if (resource.getType() == IResource.PROJECT) {
-						// If the project is not accessible, don't process it
-						if (!resource.isAccessible()) return false;
-						setProjectOpening((delta.getFlags() & IResourceDelta.OPEN) != 0);
-					}
-															
-					String name = resource.getName();
-					int kind = delta.getKind();
-					
-					// if the file has changed but not in a way that we care
-					// then ignore the change (e.g. marker changes to files).
-					if(kind == IResourceDelta.CHANGED && 
-						(delta.getFlags() & INTERESTING_CHANGES) == 0) {
-							return true;
-					}
-										
-					if(name.equals(SyncFileWriter.CVS_DIRNAME)) {
-						handleCVSDir((IContainer)resource, kind);
-						// if the project is opening there is no need to notify about chagned CVs/ meta files
-						// they will all be read from disk.
-						if(isProjectOpening()) return false;
-					} else {
-						// Inform the synchronizer about folder creations
-						if(isProjectOpening()) return true;
-					}
-					
-					if(isMetaFile(resource)) {
-						IResource[] toBeNotified = handleChangedMetaFile(resource);
-						if(toBeNotified.length>0 && isModifiedBy3rdParty(resource)) {
-							for (int i = 0; i < toBeNotified.length; i++) {
-								changedContainers.add(toBeNotified[i]);							
-							}
-							if(Policy.DEBUG_METAFILE_CHANGES) {
-								System.out.println("[cvs] metafile changed by 3rd party: " + resource.getFullPath()); //$NON-NLS-1$
-							}
-							return false; /*don't visit any children we have all the information we need*/
-						}
-					} else if(isIgnoreFile(resource) && isModifiedBy3rdParty(resource)) {
-						deferredHandler.ignoreFileChanged((IFile)resource);
-					} else if (isExternalDeletion(resource, kind)) {
-						externalDeletions.add(resource);
-					} else if (kind == IResourceDelta.ADDED && isRecreation(resource)) {
-						deferredHandler.recreated(resource);
-					}
-					return true;
-				}
-			}, IContainer.INCLUDE_TEAM_PRIVATE_MEMBERS);
-				
-			if(!changedContainers.isEmpty() || !externalDeletions.isEmpty()) {
-				EclipseSynchronizer.getInstance().syncFilesChangedExternally(
-					(IContainer[])changedContainers.toArray(new IContainer[changedContainers.size()]),
-					(IFile[]) externalDeletions.toArray(new IFile[externalDeletions.size()]));
-			}			
-		} catch(CoreException e) {
-			CVSProviderPlugin.log(e);
-		}
-	}
-
-	/**
-	 * Treat a resource as an external deletion if 
-	 *   - it is a file 
-	 *   - the delta says the file was removed
-	 *   - the file is not managed but its parent is a CVS folder
-	 * 
-	 * There will be some false positives but the reaction to this situation
-	 * is to purge the cahced CVS meta-information so nothing bad will happen
-	 * for the false positives.
-	 * 
-	 * @param resource
-	 * @param kind
-	 * @return
-	 */
-	protected boolean isExternalDeletion(IResource resource, int kind) {
-		if (kind != IResourceDelta.REMOVED) return false;
-		if (resource.getType() != IResource.FILE) return false;
-		ICVSFile file = CVSWorkspaceRoot.getCVSFileFor((IFile)resource);
-		try {
-			return (!file.isManaged() && file.getParent().isCVSFolder() && file.getParent().exists());
-		} catch (CVSException e) {
-			CVSProviderPlugin.log(e);
-			return false;
-		}
-	}
-
-	/*
-	 * Consider non-existing resources as being recently deleted and thus modified, and resources
-	 * with modification stamps that differ from when the CVS plugin last modified the meta-file.
-	 */
-	protected boolean isModifiedBy3rdParty(IResource resource) {
-		if(!resource.exists()) return true;
-		long modStamp = resource.getModificationStamp();
-		Long whenWeWrote;
-		try {
-			whenWeWrote = (Long)resource.getSessionProperty(SyncFileWriter.MODSTAMP_KEY);
-		} catch(CoreException e) {
-			CVSProviderPlugin.log(e);
-			whenWeWrote = null;
-		}
-		return (whenWeWrote==null || whenWeWrote.longValue() != modStamp);
-	}
-	
-	/*
-	 * If it's a new CVS directory with the canonical child metafiles then mark it as team-private. Otherwise
-	 * if changed or deleted
-	 */	
-	protected void handleCVSDir(IContainer cvsDir, int kind) {
-		if((kind & IResourceDelta.ALL_WITH_PHANTOMS)!=0) {
-			if(kind==IResourceDelta.ADDED) {
-				// should this dir be made team-private? If it contains CVS/Root and CVS/Repository then yes!
-				IFile rootFile = cvsDir.getFile(new Path(SyncFileWriter.ROOT));
-				IFile repositoryFile = cvsDir.getFile(new Path(SyncFileWriter.REPOSITORY));
-				if(rootFile.exists() && repositoryFile.exists() && !cvsDir.isTeamPrivateMember()) {
-					try {
-						// TODO: Is this considered a tree modification?
-						cvsDir.setTeamPrivateMember(true);			
-						if(Policy.DEBUG_METAFILE_CHANGES) {
-							System.out.println("[cvs] found a new CVS meta folder, marking as team-private: " + cvsDir.getFullPath()); //$NON-NLS-1$
-						}
-					} catch(CoreException e) {
-						CVSProviderPlugin.log(CVSException.wrapException(cvsDir, CVSMessages.SyncFileChangeListener_errorSettingTeamPrivateFlag, e)); 
-					}
-				}
-			}
-		}
-	}
-	
-	protected boolean isIgnoreFile(IResource resource) {
-		return resource.getType() == IResource.FILE &&
-			resource.getName().equals(SyncFileWriter.IGNORE_FILE);
-	}
-	
-	private boolean isRecreation(IResource resource) {
-		return EclipseSynchronizer.getInstance().wasPhantom(resource);
-	}
-	
-	/*
-	 * It's a meta file if it's parent is a team-private CVS folder.
-	 */
-	protected boolean isMetaFile(IResource resource) {
-		IContainer parent = resource.getParent();		
-		return resource.getType() == IResource.FILE &&
-				   parent!=null && 
-				   parent.getName().equals(SyncFileWriter.CVS_DIRNAME) &&
-				   (parent.isTeamPrivateMember() || !parent.exists());
-	}
-	
-	/*
-	 * This is a meta file (e.g. folder/CVS/Entries), notify that 'folder' and it's immediate children 
-	 * may have their CVS sync state changed. If the 'folder' is deleted than no notification is
-	 * required.
-	 */
-	protected IContainer[] handleChangedMetaFile(IResource resource) {		
-		IContainer changedContainer = resource.getParent().getParent();
-		if(changedContainer.exists()) {
-			return new IContainer[] {changedContainer};
-		} else {
-			return new IContainer[0];
-		}
-	}
-	
-	/**
-	 * @return boolean
-	 */
-	public boolean isProjectOpening() {
-		return isProjectOpening;
-	}
-
-	/**
-	 * Sets the isProjectOpening.
-	 * @param isProjectOpening The isProjectOpening to set
-	 */
-	public void setProjectOpening(boolean isProjectOpening) {
-		this.isProjectOpening = isProjectOpening;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/SyncFileWriter.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/SyncFileWriter.java
deleted file mode 100644
index c64b540..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/SyncFileWriter.java
+++ /dev/null
@@ -1,750 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Matt McCutchen (hashproduct+eclipse@gmail.com) - Bug 189304 [Sync Info] cvsignore lines should be split on whitespace
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.util;
-
-import java.io.*;
-import java.net.URI;
-import java.util.*;
-
-import org.eclipse.core.filesystem.EFS;
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.CVSEntryLineTag;
-import org.eclipse.team.internal.ccvs.core.syncinfo.*;
-
-/*
- * This is a helper class that knows the format of the CVS metafiles. It
- * provides a bridge between the CVS metafile formats and location to the
- * Eclipse CVS client ResourceSyncInfo and FolderSyncInfo types.
- */
-public class SyncFileWriter {
-
-	// the famous CVS meta directory name
-	public static final String CVS_DIRNAME = "CVS"; //$NON-NLS-1$
-
-	// CVS meta files located in the CVS subdirectory
-	public static final String REPOSITORY = "Repository"; //$NON-NLS-1$
-	public static final String ROOT = "Root"; //$NON-NLS-1$
-	public static final String STATIC = "Entries.Static";	 //$NON-NLS-1$
-	public static final String TAG = "Tag";	 //$NON-NLS-1$
-	public static final String ENTRIES = "Entries"; //$NON-NLS-1$
-	//private static final String PERMISSIONS = "Permissions"; //$NON-NLS-1$
-	public static final String ENTRIES_LOG="Entries.Log"; //$NON-NLS-1$
-	public static final String NOTIFY = "Notify"; //$NON-NLS-1$
-	public static final String BASE_DIRNAME = "Base"; //$NON-NLS-1$
-	public static final String BASEREV = "Baserev"; //$NON-NLS-1$
-	
-	// the local workspace file that contains pattern for ignored resources
-	public static final String IGNORE_FILE = ".cvsignore"; //$NON-NLS-1$
-
-	// Some older CVS clients may of added a line to the entries file consisting
-	// of only a 'D'. It is safe to ingnore these entries.	
-	private static final String FOLDER_TAG="D"; //$NON-NLS-1$
-	
-	// Command characters found in the Entries.log file
-	private static final String ADD_TAG="A "; //$NON-NLS-1$
-	private static final String REMOVE_TAG="R "; //$NON-NLS-1$	
-	
-	// key for saving the mod stamp for each writen meta file
-	public static final QualifiedName MODSTAMP_KEY = new QualifiedName("org.eclipse.team.cvs.core", "meta-file-modtime"); //$NON-NLS-1$ //$NON-NLS-2$
-	
-	/**
-	 * Reads the CVS/Entries, CVS/Entries.log and CVS/Permissions files from the
-	 * specified folder and returns ResourceSyncInfo instances for the data stored therein.
-	 * If the folder does not have a CVS subdirectory then <code>null</code> is returned.
-	 */
-	public static byte[][] readAllResourceSync(IContainer parent) throws CVSException {
-        IFolder cvsSubDir = getCVSSubdirectory(parent);
-        
-        if (!folderExists(cvsSubDir)){
-        	return null;
-        }
-        
-		if (Policy.DEBUG_METAFILE_CHANGES) {
-			System.out.println("Reading Entries file for " + parent.getFullPath()); //$NON-NLS-1$
-		}
-
-		// process Entries file contents
-		String[] entries = readLines(cvsSubDir.getFile(ENTRIES));
-		if (entries == null) return null;
-		Map infos = new TreeMap();
-		for (int i = 0; i < entries.length; i++) {
-			String line = entries[i];
-			if(!FOLDER_TAG.equals(line) && !"".equals(line)) { //$NON-NLS-1$
-				try {
-					ResourceSyncInfo info = new ResourceSyncInfo(line, null);
-					infos.put(info.getName(), info);
-				} catch (CVSException e) {
-					// There was a problem parsing the entry line.
-					// Log the problem and skip the entry
-					CVSProviderPlugin.log(new CVSStatus(IStatus.ERROR, NLS.bind(CVSMessages.SyncFileWriter_0, new String[] { parent.getFullPath().toString() }), e)); 
-				}			
-			}
-		}
-		
-		// process Entries.log file contents
-		String[] entriesLog = readLines(cvsSubDir.getFile(ENTRIES_LOG));
-		if (entriesLog != null) {
-			for (int i = 0; i < entriesLog.length; i++) {
-				String line = entriesLog[i];
-				if (line.startsWith(ADD_TAG)) {
-					line = line.substring(ADD_TAG.length());
-					ResourceSyncInfo info = new ResourceSyncInfo(line, null);
-					infos.put(info.getName(), info);
-				} else if (line.startsWith(REMOVE_TAG)) {
-					line = line.substring(REMOVE_TAG.length());
-					ResourceSyncInfo info = new ResourceSyncInfo(line, null);
-					infos.remove(info.getName());
-				}
-			}
-		}
-		
-		//return (ResourceSyncInfo[])infos.values().toArray(new ResourceSyncInfo[infos.size()]);
-		byte[][] result = new byte[infos.size()][];
-		int i = 0;
-		for (Iterator iter = infos.values().iterator(); iter.hasNext();) {
-			ResourceSyncInfo info = (ResourceSyncInfo) iter.next();
-			result[i++] = info.getBytes();
-		}
-		return result;
-	}
-	
-	private static boolean folderExists(IFolder cvsSubDir) throws CVSException {
-	    try {
-	    	URI uri = cvsSubDir.getLocationURI();
-	    	if (uri != null){
-				IFileStore store = EFS.getStore(uri);
-				if (store != null){
-					return store.fetchInfo().exists();
-				}
-	    	}
-		} catch (CoreException e) {
-			throw CVSException.wrapException(e);
-		} 
-		return false;
-	}
-
-	public static void writeAllResourceSync(IContainer parent, byte[][] infos) throws CVSException {
-		try {
-			if (Policy.DEBUG_METAFILE_CHANGES) {
-				System.out.println("Writing Entries file for folder " + parent.getFullPath()); //$NON-NLS-1$
-			}
-			IFolder cvsSubDir = createCVSSubdirectory(parent);
-
-			// format file contents
-			String[] entries = new String[infos.length];
-			for (int i = 0; i < infos.length; i++) {
-				byte[] info = infos[i];
-				entries[i] = new String(info);
-			}
-
-			// write Entries
-			writeLines(cvsSubDir.getFile(ENTRIES), entries);
-
-			// delete Entries.log
-			cvsSubDir.getFile(ENTRIES_LOG).delete(IResource.NONE, null);
-		} catch(CoreException e) {
-			throw CVSException.wrapException(e);
-		}
-	}
-	/**
-	 * Reads the CVS/Root, CVS/Repository, CVS/Tag, and CVS/Entries.static files from
-	 * the specified folder and returns a FolderSyncInfo instance for the data stored therein.
-	 * If the folder does not have a CVS subdirectory then <code>null</code> is returned.
-	 */
-	public static FolderSyncInfo readFolderSync(IContainer folder) throws CVSException {
-		IFolder cvsSubDir = getCVSSubdirectory(folder);
-		
-        if (!folderExists(cvsSubDir)){
-        	return null;
-        }
-
-        if (Policy.DEBUG_METAFILE_CHANGES) {
-			System.out.println("Reading Root/Repository files for " + folder.getFullPath()); //$NON-NLS-1$
-		}
-		
-		// check to make sure the the cvs folder is hidden
-		if (!cvsSubDir.isTeamPrivateMember() && cvsSubDir.exists()) {
-			try {
-				cvsSubDir.setTeamPrivateMember(true);
-			} catch (CoreException e) {
-				CVSProviderPlugin.log(e);
-			}
-		}
-				
-		// read CVS/Root
-		String root = readFirstLine(cvsSubDir.getFile(ROOT));
-		if (root == null) return null;
-		
-		// read CVS/Repository
-		String repository = readFirstLine(cvsSubDir.getFile(REPOSITORY));
-		if (repository == null) return null;
-		
-		// read CVS/Tag
-		String tag = readFirstLine(cvsSubDir.getFile(TAG));
-		if (Policy.DEBUG_METAFILE_CHANGES && tag != null) {
-			System.out.println("Reading Tag file for " + folder.getFullPath()); //$NON-NLS-1$
-		}
-		CVSTag cvsTag = (tag != null) ? new CVSEntryLineTag(tag) : null;
-
-		// read Entries.Static
-		String staticDir = readFirstLine(cvsSubDir.getFile(STATIC));
-		if (Policy.DEBUG_METAFILE_CHANGES && staticDir != null) {
-			System.out.println("Reading Static file for " + folder.getFullPath()); //$NON-NLS-1$
-		}
-		boolean isStatic = (staticDir != null);
-		
-		// return folder sync
-		return new FolderSyncInfo(repository, root, cvsTag, isStatic);		
-	}
-	
-	/**
-	 * Writes the CVS/Root, CVS/Repository, CVS/Tag, and CVS/Entries.static files to the
-	 * specified folder using the data contained in the specified FolderSyncInfo instance.
-	 */
-	public static void writeFolderSync(IContainer folder, FolderSyncInfo info) throws CVSException {
-		try {
-			if (Policy.DEBUG_METAFILE_CHANGES) {
-				System.out.println("Writing Root/Respository files for " + folder.getFullPath()); //$NON-NLS-1$
-			}
-			IFolder cvsSubDir = createCVSSubdirectory(folder);
-	
-			// write CVS/Root
-			writeLines(cvsSubDir.getFile(ROOT), new String[] {info.getRoot()});
-			
-			// write CVS/Repository
-			writeLines(cvsSubDir.getFile(REPOSITORY), new String[] {info.getRepository()});
-			
-			// write CVS/Tag
-			IFile tagFile = cvsSubDir.getFile(TAG);
-			if (info.getTag() != null) {
-				if (Policy.DEBUG_METAFILE_CHANGES) {
-					System.out.println("Writing Tag file for " + folder.getFullPath()); //$NON-NLS-1$
-				}
-				writeLines(tagFile, new String[] {info.getTag().toEntryLineFormat(false)});
-			} else {
-				if(tagFile.exists()) {
-					if (Policy.DEBUG_METAFILE_CHANGES) {
-						System.out.println("Deleting Tag file for " + folder.getFullPath()); //$NON-NLS-1$
-					}
-					tagFile.delete(IResource.NONE, null);
-				}
-			}
-			
-			// write CVS/Entries.Static
-			IFile staticFile = cvsSubDir.getFile(STATIC);
-			if(info.getIsStatic()) {
-				// the existance of the file is all that matters
-				if (Policy.DEBUG_METAFILE_CHANGES) {
-					System.out.println("Writing Static file for " + folder.getFullPath()); //$NON-NLS-1$
-				}
-				writeLines(staticFile, new String[] {""}); //$NON-NLS-1$
-			} else {
-				if(staticFile.exists()) {
-					if (Policy.DEBUG_METAFILE_CHANGES) {
-						System.out.println("Deleting Static file for " + folder.getFullPath()); //$NON-NLS-1$
-					}
-					staticFile.delete(IResource.NONE, null);
-				}
-			}
-		} catch(CoreException e) {
-			throw CVSException.wrapException(e);
-		}
-	}
-
-	/**
-	 * Returns all .cvsignore entries for the specified folder.
-	 */
-	public static String[] readCVSIgnoreEntries(IContainer folder) throws CVSException {
-		IFile ignoreFile = folder.getFile(new Path(IGNORE_FILE));
-		if (ignoreFile != null) {
-			String[] lines = readLines(ignoreFile);
-			if (lines == null)
-				return null;
-			// Split each line on spaces and tabs.
-			ArrayList/*<String>*/ entries = new ArrayList/*<String>*/();
-			for (int ln = 0; ln < lines.length; ln++) {
-				String line = lines[ln];
-				int pos = 0;
-				while (pos < line.length()) {
-					if (line.charAt(pos) == ' ' || line.charAt(pos) == '\t')
-						pos++;
-					else {
-						int start = pos;
-						while (pos < line.length() && line.charAt(pos) != ' ' && line.charAt(pos) != '\t')
-							pos++;
-						entries.add(line.substring(start, pos));
-					}
-				}
-			}
-			return (String[]) entries.toArray(new String[entries.size()]);
-		}
-		return null;
-	}
-	
-	/**
-	 * Writes all entries to the specified folder's .cvsignore file, overwriting any
-	 * previous edition of the file.
-	 */
-	public static void writeCVSIgnoreEntries(IContainer folder, String[] patterns) throws CVSException {
-		IFile ignoreFile = folder.getFile(new Path(IGNORE_FILE));
-		writeLines(ignoreFile, patterns);
-	}	
-
-	/**
-	 * Delete folder sync is equilavent to removing the CVS subdir.
-	 */
-	public static void deleteFolderSync(IContainer folder) throws CVSException {		
-		try {
-			if (Policy.DEBUG_METAFILE_CHANGES) {
-				System.out.println("Deleting CVS directory from " + folder.getFullPath()); //$NON-NLS-1$
-			}
-			getCVSSubdirectory(folder).delete(IResource.NONE, null);
-		} catch(CoreException e) {
-			throw CVSException.wrapException(e);
-		}
-	}
-
-	/**
-	 * Reads the CVS/Notify file from the specified folder and returns NotifyInfo instances 
-	 * for the data stored therein. If the folder does not have a CVS subdirectory then <code>null</code> is returned.
-	 */
-	public static NotifyInfo[] readAllNotifyInfo(IContainer parent) throws CVSException {
-		IFolder cvsSubDir = getCVSSubdirectory(parent);
-
-        if (!folderExists(cvsSubDir)){
-        	return null;
-        }
-        
-		// process Notify file contents
-		String[] entries = readLines(cvsSubDir.getFile(NOTIFY));
-		if (entries == null) return null;
-		Map infos = new TreeMap();
-		for (int i = 0; i < entries.length; i++) {
-			String line = entries[i];
-			if(!"".equals(line)) { //$NON-NLS-1$
-				try {
-                    NotifyInfo info = new NotifyInfo(parent, line);
-                    infos.put(info.getName(), info);
-                } catch (CVSException e) {
-                    // We couldn't parse the notify info
-                    // Log it and ignore
-                    CVSProviderPlugin.log(e);
-                }			
-			}
-		}
-		
-		return (NotifyInfo[])infos.values().toArray(new NotifyInfo[infos.size()]);
-	}
-	
-	/**
-	 * Writes the CVS/Notify file to the specified folder using the data contained in the 
-	 * specified NotifyInfo instances. A CVS subdirectory must already exist (an exception 
-	 * is thrown if it doesn't).
-	 */
-	public static void writeAllNotifyInfo(IContainer parent, NotifyInfo[] infos) throws CVSException {
-		// get the CVS directory
-		IFolder cvsSubDir = getCVSSubdirectory(parent);
-		// write lines will throw an exception if the CVS directoru does not exist
-		
-		if (infos.length == 0) {
-			// if there are no notify entries, delete the notify file
-			try {
-				IFile notifyFile = cvsSubDir.getFile(NOTIFY);
-				if(notifyFile.exists()) {
-					notifyFile.delete(IResource.NONE, null);
-				}
-			} catch (CoreException e) {
-				throw CVSException.wrapException(e);
-			}
-		} else {
-			// format file contents
-			String[] entries = new String[infos.length];
-			for (int i = 0; i < infos.length; i++) {
-				NotifyInfo info = infos[i];
-				entries[i] = info.getNotifyLine();
-			}
-	
-			// write Notify entries
-			writeLines(cvsSubDir.getFile(NOTIFY), entries);
-		}
-	}
-
-	/**
-	 * Reads the CVS/Baserev file from the specified folder and returns
-	 * BaserevInfo instances for the data stored therein. If the folder does not
-	 * have a CVS subdirectory then <code>null</code> is returned.
-	 */
-	public static BaserevInfo[] readAllBaserevInfo(IContainer parent) throws CVSException {
-		IFolder cvsSubDir = getCVSSubdirectory(parent);
-        
-        if (!folderExists(cvsSubDir)){
-        	return null;
-        }
-        
-		// process Notify file contents
-		String[] entries = readLines(cvsSubDir.getFile(BASEREV));
-		if (entries == null) return null;
-		Map infos = new TreeMap();
-		for (int i = 0; i < entries.length; i++) {
-			String line = entries[i];
-			if(!"".equals(line)) { //$NON-NLS-1$
-				BaserevInfo info = new BaserevInfo(line);
-				infos.put(info.getName(), info);
-			}
-		}
-
-		return (BaserevInfo[])infos.values().toArray(new BaserevInfo[infos.size()]);
-	}
-
-	/**
-	 * Writes the CVS/Baserev file to the specified folder using the data
-	 * contained in the specified BaserevInfo instances. A CVS subdirectory must
-	 * already exist (an exception is thrown if it doesn't).
-	 */
-	public static void writeAllBaserevInfo(IContainer parent, BaserevInfo[] infos) throws CVSException {
-		// get the CVS directory
-		IFolder cvsSubDir = getCVSSubdirectory(parent);
-		// write lines will throw an exception if the CVS directory does not exist
-
-		// format file contents
-		String[] entries = new String[infos.length];
-		for (int i = 0; i < infos.length; i++) {
-			BaserevInfo info = infos[i];
-			entries[i] = info.getEntryLine();
-		}
-
-		// write Notify entries
-		writeLines(cvsSubDir.getFile(BASEREV), entries);
-	}
-				
-	/**
-	 * Returns the CVS subdirectory for this folder.
-	 */
-	private static IFolder getCVSSubdirectory(IContainer folder) {
-		return folder.getFolder(new Path(CVS_DIRNAME));
-	}
-	
-	/**
-	 * Creates and makes team-private and returns a CVS subdirectory in this folder.
-	 */
-	private static IFolder createCVSSubdirectory(IContainer folder) throws CVSException {
-		try {
-			final IFolder cvsSubDir = getCVSSubdirectory(folder);
-			if (! cvsSubDir.exists()) {
-				// important to have both the folder creation and setting of team-private in the
-				// same runnable so that the team-private flag is set before other delta listeners 
-				// sees the CVS folder creation.
-				ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-					public void run(IProgressMonitor monitor) throws CoreException {
-						// Re-check existence in case this method was called without a resource rule
-						if (! cvsSubDir.exists()) {
-							if (existsInFileSystem(cvsSubDir)) {
-								cvsSubDir.refreshLocal(IResource.DEPTH_INFINITE, null);
-								cvsSubDir.setTeamPrivateMember(true);
-							} else {
-								cvsSubDir.create(IResource.TEAM_PRIVATE, true /*make local*/, null);
-							}
-						} else {
-							if (!cvsSubDir.isTeamPrivateMember()) {
-								cvsSubDir.setTeamPrivateMember(true);
-							}
-						}
-					} 
-				}, folder, 0, null);
-			}
-			return cvsSubDir;
-		} catch (CoreException e) {
-			throw CVSException.wrapException(e);
-		}
-	}
-
-	protected static boolean existsInFileSystem(IFolder cvsSubDir) {
-		URI uri = cvsSubDir.getLocationURI();
-		if (uri != null) {
-			try {
-				IFileStore store = EFS.getStore(uri);
-				if (store != null) {
-					return store.fetchInfo().exists();
-				}
-			} catch (CoreException e) {
-				CVSProviderPlugin.log(e);
-			}
-		}
-		return false;
-	}
-
-	/*
-	 * Reads the first line of the specified file.
-	 * Returns null if the file does not exist, or the empty string if it is blank.
-	 */
-	private static String readFirstLine(IFile file) throws CVSException {
-		try {
-			InputStream in = getInputStream(file);
-			if (in != null) {
-				BufferedReader reader = new BufferedReader(new InputStreamReader(in), 512);
-				try {
-					String line = reader.readLine();
-					if (line == null) return ""; //$NON-NLS-1$
-					return line;
-				} finally {
-					reader.close();
-				}
-            }
-            return null;
-		} catch (IOException e) {
-			throw CVSException.wrapException(e);
-		} catch (CoreException e) {
-			// If the IFile doesn't exist or the underlying File doesn't exist,
-			// just return null to indicate the absence of the file
-			if (e.getStatus().getCode() == IResourceStatus.RESOURCE_NOT_FOUND
-					|| e.getStatus().getCode() == IResourceStatus.FAILED_READ_LOCAL)
-				return null;
-			throw CVSException.wrapException(e);
-		}
-	}
-
-	private static InputStream getInputStream(IFile file) throws CoreException, FileNotFoundException {
-		if (file.exists()) {
-		    return file.getContents(true);
-		}
-		
-		URI uri = file.getLocationURI();
-		if (uri != null) {
-			IFileStore store = EFS.getStore(uri);
-			if (store != null) {
-				return store.openInputStream(EFS.NONE, null);
-			}
-		}
-		
-	    File ioFile = file.getLocation().toFile();
-	    if (ioFile != null && ioFile.exists()) {
-	        return new FileInputStream(ioFile);
-	    }
-
-		return null;
-	}
-	
-	/*
-	 * Reads all lines of the specified file.
-	 * Returns null if the file does not exist.
-	 */
-	private static String[] readLines(IFile file) throws CVSException {
-		try {
-			InputStream in = getInputStream(file);
-			if (in != null) {
-				BufferedReader reader = new BufferedReader(new InputStreamReader(in), 512);
-				List fileContentStore = new ArrayList();
-				try {
-					String line;
-					while ((line = reader.readLine()) != null) {
-						fileContentStore.add(line);
-					}
-					return (String[]) fileContentStore.toArray(new String[fileContentStore.size()]);
-				} finally {
-					reader.close();
-				}
-			}
-			return null;
-		} catch (IOException e) {
-			throw CVSException.wrapException(e);
-		} catch (CoreException e) {
-			// If the IFile doesn't exist or the underlying File doesn't exist,
-			// just return null to indicate the absence of the file
-			if (e.getStatus().getCode() == IResourceStatus.RESOURCE_NOT_FOUND
-					|| e.getStatus().getCode() == IResourceStatus.FAILED_READ_LOCAL)
-				return null;
-			throw CVSException.wrapException(e);
-		}
-	}
-	
-	/*
-	 * Writes all lines to the specified file, using linefeed terminators for
-	 * compatibility with other CVS clients.
-	 */
-	private static void writeLines(final IFile file, final String[] contents) throws CVSException {
-		try {
-			// The creation of sync files has to be in a runnable in order for the resulting delta
-			// to include the MODSTAMP value. If not in a runnable then create/setContents
-			// will trigger a delta and the SyncFileWriter change listener won't know that the delta
-			// was a result of our own creation.
-			ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
-				public void run(IProgressMonitor monitor) throws CoreException {
-					try {
-						ByteArrayOutputStream os = new ByteArrayOutputStream();
-						writeLinesToStreamAndClose(os, contents);
-						if(!file.exists()) {
-							file.create(new ByteArrayInputStream(os.toByteArray()), IResource.FORCE /*don't keep history but do force*/, null);
-						} else {
-							file.setContents(new ByteArrayInputStream(os.toByteArray()), IResource.FORCE /*don't keep history but do force*/, null);
-						}			
-						file.setSessionProperty(MODSTAMP_KEY, new Long(file.getModificationStamp()));
-					} catch(CVSException e) {
-						throw new CoreException(e.getStatus());
-					}
-				}
-			}, ResourcesPlugin.getWorkspace().getRuleFactory().createRule(file), 0, null);
-		} catch (CoreException e) {
-			throw CVSException.wrapException(e);
-		}
-	}
-	
-	private static void writeLinesToStreamAndClose(OutputStream os, String[] contents) throws CVSException {
-		byte[] lineEnd = getLineDelimiter();
-		try {
-			try {
-				for (int i = 0; i < contents.length; i++) {
-					os.write(contents[i].getBytes());
-					os.write(lineEnd);
-				}
-			} finally {
-				os.close();
-			}
-		} catch (IOException e) {
-			throw CVSException.wrapException(e);
-		}
-	}
-	
-	/**
-	 * Method writeFileToBaseDirectory.
-	 * 
-	 * @param file
-	 * @param info
-	 */
-	public static void writeFileToBaseDirectory(IFile file, IProgressMonitor monitor) throws CVSException {
-		monitor = Policy.monitorFor(monitor);
-		monitor.beginTask(null, 100);
-		try {
-			IFolder baseFolder = getBaseDirectory(file);
-			if (!baseFolder.exists()) {
-				baseFolder.create(false /* force */, true /* local */, Policy.subMonitorFor(monitor, 10));
-			}
-			IFile target = baseFolder.getFile(new Path(null, file.getName()));
-			if (target.exists()) {
-				// XXX Should ensure that we haven't already copied it
-				// XXX write the revision to the CVS/Baserev file
-				setReadOnly(target, false);
-				target.delete(true, Policy.subMonitorFor(monitor, 10));
-			}
-			// Copy the file so the timestamp is maintained
-			file.copy(target.getFullPath(), true /* force */, Policy.subMonitorFor(monitor, 80));
-		} catch (CoreException e) {
-			throw CVSException.wrapException(e);
-		} finally {
-			monitor.done();
-		}
-	}
-	/**
-	 * Method restoreFileFromBaseDirectory.
-	 * @param file
-	 * @param info
-	 * @param monitor
-	 */
-	public static void restoreFileFromBaseDirectory(IFile file, IProgressMonitor monitor) throws CVSException {
-		monitor = Policy.monitorFor(monitor);
-		monitor.beginTask(null, 100);
-		try {
-			IFolder baseFolder = getBaseDirectory(file);
-			IFile source = baseFolder.getFile(new Path(null, file.getName()));
-			if (!source.exists()) {
-				IStatus status = new CVSStatus(IStatus.ERROR, CVSStatus.ERROR, NLS.bind(CVSMessages.SyncFileWriter_baseNotAvailable, new String[] { file.getFullPath().toString() }), file);
-				throw new CVSException(status); 
-			}
-			if (file.exists()) {
-				file.delete(false /* force */, true /* keep history */, Policy.subMonitorFor(monitor, 10));
-			}
-			// Make the source writtable to avoid problems on some file systems (bug 109308)
-			setReadOnly(source, false);
-			// Copy the file so the timestamp is maintained
-			source.move(file.getFullPath(), false /* force */, true /* keep history */,Policy.subMonitorFor(monitor, 100));
-		} catch (CoreException e) {
-			throw CVSException.wrapException(e);
-		} finally {
-			monitor.done();
-		}
-	}
-
-	private static void setReadOnly(IFile source, boolean readOnly) {
-		ResourceAttributes attrs = source.getResourceAttributes();
-		if (attrs != null && attrs.isReadOnly() != readOnly) {
-			attrs.setReadOnly(readOnly);
-			try {
-		        source.setResourceAttributes(attrs);
-		    } catch (CoreException e) {
-		    	// Just log the failure since the move may succeed anyway
-		        CVSProviderPlugin.log(e);
-		    }
-		}
-	}
-	
-	/**
-	 * Method deleteFileFromBaseDirectory.
-	 * @param file
-	 * @param monitor
-	 */
-	public static void deleteFileFromBaseDirectory(IFile file, IProgressMonitor monitor) throws CVSException {
-		monitor = Policy.monitorFor(monitor);
-		monitor.beginTask(null, 100);
-		try {
-			IFolder baseFolder = getBaseDirectory(file);
-			IFile source = baseFolder.getFile(new Path(null, file.getName()));
-			if (source.exists()) {
-				setReadOnly(source, false);
-				source.delete(false, false, Policy.subMonitorFor(monitor, 100));
-			}
-		} catch (CoreException e) {
-			throw CVSException.wrapException(e);
-		} finally {
-			monitor.done();
-		}
-	}
-
-	private static IFolder getBaseDirectory(IFile file) {
-		IContainer cvsFolder = getCVSSubdirectory(file.getParent());
-		IFolder baseFolder = cvsFolder.getFolder(new Path(BASE_DIRNAME));
-		return baseFolder;
-	}
-	
-	/**
-	 * Return a handle to the CVS/Template file for the given folder
-	 * @param folder
-	 * @return IFile
-	 * @throws CVSException
-	 */
-	public static IFile getTemplateFile(IContainer folder) throws CVSException {
-		IFolder cvsFolder = createCVSSubdirectory(folder);
-		return cvsFolder.getFile("Template"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Method isEdited.
-	 * @param resource
-	 * @return boolean
-	 */
-	public static boolean isEdited(IFile file) {
-		IFolder baseFolder = getBaseDirectory(file);
-		IFile baseFile = baseFolder.getFile(file.getName());
-		return baseFile.exists();
-	}
-	
-	private static byte[] getLineDelimiter() {
-		if (CVSProviderPlugin.getPlugin().isUsePlatformLineend()) {
-			String property = System.getProperty("line.separator"); //$NON-NLS-1$
-			if (property != null) return property.getBytes();
-		}
-		return new byte[] { 0x0A }; 
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/Util.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/Util.java
deleted file mode 100644
index 910ff3b..0000000
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/util/Util.java
+++ /dev/null
@@ -1,532 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.core.util;
-
-
-import java.io.IOException;
-import java.io.InterruptedIOException;
-import java.net.Socket;
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Session;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-
-/**
- * Unsorted static helper-methods 
- */
-public class Util {
-	
-	/**
-	 * Return the last segment of the given path
-	 * @param path
-	 * @return String
-	 */
-	public static String getLastSegment(String path) {
-		int index = path.lastIndexOf(Session.SERVER_SEPARATOR);
-		if (index == -1) {
-			return path;
-		}
-		if (index == path.length() - 1) {
-			return getLastSegment(path.substring(0, index));
-		}
-		return path.substring(index + 1);
-		
-	}
-	
-	/**
-	 * Return the the given path with the last segment removed
-	 * @param path
-	 * @return String
-	 */
-	public static String removeLastSegment(String path) {
-		int index = path.lastIndexOf(Session.SERVER_SEPARATOR);
-		if (index == -1)
-			return ""; //$NON-NLS-1$
-		else
-			return path.substring(0, index);
-
-	}
-	/**
-	 * Return the path without a trailing /
-	 * @param path
-	 * @return String
-	 */
-	public static String asPath(String path) {
-		if (path.endsWith(Session.SERVER_SEPARATOR)) {
-			return path.substring(0, path.length() - Session.SERVER_SEPARATOR.length());
-		}
-		return path;
-	}
-	/*
-	 * *
-	 * Get the extention of the path of resource
-	 * relative to the path of root
-	 * 
-	 * @throws CVSException if root is not a root-folder of resource
-	 */
-	public static String getRelativePath(String rootName, String resourceName) 
-		throws CVSException {
-
-		if (!resourceName.startsWith(rootName) || rootName.length() > resourceName.length()) {
-			throw new CVSException(CVSMessages.Util_Internal_error__resource_does_not_start_with_root_3); 
-		}
-		
-		// Otherwise we would get an ArrayOutOfBoundException
-		// in case of two equal Resources
-		if (rootName.length() == resourceName.length()) {
-			return ""; //$NON-NLS-1$
-		}
-		
-		// Remove leading slash if there is one
-		String result = resourceName.substring(rootName.length());
-		if (result.startsWith("/")) { //$NON-NLS-1$
-			result = result.substring(1);
-		}
-		return result;
-	}
-	
-	/**
-	 * Append the prefix and suffix to form a valid CVS path.
-	 */
-	public static String appendPath(String prefix, String suffix) {
-		if (prefix.length() == 0 || prefix.equals(Session.CURRENT_LOCAL_FOLDER)) {
-			return suffix;
-		} else if (prefix.endsWith(Session.SERVER_SEPARATOR)) {
-			if (suffix.startsWith(Session.SERVER_SEPARATOR))
-				return prefix + suffix.substring(1);
-			else
-				return prefix + suffix;
-		} else if (suffix.startsWith(Session.SERVER_SEPARATOR))
-			return prefix + suffix;
-		else
-			return prefix + Session.SERVER_SEPARATOR + suffix;
-	}
-
-	public static void logError(String message, Throwable throwable) {
-		CVSProviderPlugin.log(IStatus.ERROR, message, throwable);
-	}
-
-	/**
-	 * If the number of segments in the relative path of <code>resource</code> to <code>root</code> is 
-	 * greater than <code>split</code> then the returned path is truncated to <code>split</code> number
-	 * of segments and '...' is shown as the first segment of the path.
-	 */
-	public static String toTruncatedPath(ICVSResource resource, ICVSFolder root, int split) {
-		try {
-			String stringPath = resource.getRelativePath(root);
-			if (stringPath.equals(Session.CURRENT_LOCAL_FOLDER)) {
-				return resource.getName();
-			}
-			String truncatedPath = toTruncatedPath(stringPath, split);
-			return truncatedPath;
-		} catch(CVSException e) {
-			return resource.getName();
-		}
-	}
-
-	public static String toTruncatedPath(String stringPath, int split) {
-		// Search backwards until split separators are found
-		int count = 0;
-		int index = stringPath.length();
-		while (count++ < split && index != -1) {
-			index = stringPath.lastIndexOf(Session.SERVER_SEPARATOR, index - 1);
-		}
-		if (index == -1) {
-			return stringPath;
-		} else {
-			return NLS.bind(CVSMessages.Util_truncatedPath, new String[] { stringPath.substring(index) }); 
-		}
-	}
-	
-	/**
-	 * Helper method that will time out when making a socket connection.
-	 * This is required because there is no way to provide a timeout value
-	 * when creating a socket and in some instances, they don't seem to
-	 * timeout at all.
-	 */
-	public static Socket createSocket(final String host, final int port, IProgressMonitor monitor) throws UnknownHostException, IOException {
-		int timeout = CVSProviderPlugin.getPlugin().getTimeout();
-		if (timeout == 0) timeout = CVSProviderPlugin.DEFAULT_TIMEOUT;
-		ResponsiveSocketFactory factory = new ResponsiveSocketFactory(monitor, timeout);
-		return factory.createSocket(host, port);
-	}
-	
-	/**
-	 * Helper method that will time out when running an external command.
-	 * This is required because there is no way to provide a timeout value
-	 * when executing an external command and in some instances, they don't seem to
-	 * timeout at all.
-	 */
-	public static Process createProcess(final String[] command, IProgressMonitor monitor) throws IOException {
-		
-		// Start a thread to execute the command and get a handle to the process
-		final Process[] process = new Process[] { null };
-		final Exception[] exception = new Exception[] {null };
-		final Thread thread = new Thread(new Runnable() {
-			public void run() {
-				try {
-					Process newProcess = Runtime.getRuntime().exec(command);
-					synchronized (process) {
-						if (Thread.interrupted()) {
-							// we we're either cancelled or timed out so just destroy the process
-							newProcess.destroy();
-						} else {
-							process[0] = newProcess;
-						}
-					}
-				} catch (IOException e) {
-					exception[0] = e;
-				}
-			}
-		});
-		thread.start();
-		
-		// Wait the appropriate number of seconds
-		int timeout = CVSProviderPlugin.getPlugin().getTimeout();
-		if (timeout == 0) timeout = CVSProviderPlugin.DEFAULT_TIMEOUT;
-		for (int i = 0; i < timeout; i++) {
-			try {
-				// wait for the thread to complete or 1 second, which ever comes first
-				thread.join(1000);
-			} catch (InterruptedException e) {
-				// I think this means the thread was interupted but not necessarily timed out
-				// so we don't need to do anything
-			}
-			synchronized (process) {
-				// if the user cancelled, clean up before preempting the operation
-				if (monitor.isCanceled()) {
-					if (thread.isAlive()) {
-						thread.interrupt();
-					}
-					if (process[0] != null) {
-						process[0].destroy();
-					}
-					// this method will throw the proper exception
-					Policy.checkCanceled(monitor);
-				}
-			}
-		}
-		// If the thread is still running (i.e. we timed out) signal that it is too late
-		synchronized (process) {
-			if (thread.isAlive()) {
-				thread.interrupt();
-			}
-		}
-		if (exception[0] != null) {
-			throw (IOException)exception[0];
-		}
-		if (process[0] == null) {
-			throw new InterruptedIOException(NLS.bind(CVSMessages.Util_processTimeout, new String[] { command[0] })); 
-		}
-		return process[0];
-	}
-	
-	public static String[] parseIntoSubstrings(String string, String delimiter) {
-		List result = new ArrayList();
-		int start = 0;
-		int index = string.indexOf(delimiter);
-		String next;
-		while (index != -1) {
-			next = string.substring(start, index);
-			result.add(next);
-			start = index + 1;
-			index = string.indexOf(delimiter, start);
-		}
-		if (start >= string.length()) {
-			next = "";//$NON-NLS-1$
-		} else {
-			next = string.substring(start);
-		}
-		result.add(next);
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-	
-	/**
-	 * Return the substring at the given index (starting at 0) where each
-	 * element is delimited by the provided delimiter.
-	 * 
-	 * @param bytes
-	 * @param delimiter
-	 * @param index
-	 * @param includeRest
-	 * @return String
-	 */
-	public static String getSubstring(byte[] bytes, byte delimiter, int index, boolean includeRest) {
-		byte[] bytesForSlot = getBytesForSlot(bytes, delimiter, index, includeRest);
-		if (bytesForSlot == null) {
-			return null;
-		}
-		return new String(bytesForSlot);
-	}
-	
-	/**
-	 * Return the offset the the Nth delimeter from the given start index.
-	 * @param bytes
-	 * @param delimiter
-	 * @param start
-	 * @param n
-	 * @return int
-	 */
-	public static int getOffsetOfDelimeter(byte[] bytes, byte delimiter, int start, int n) {
-		int count = 0;
-		for (int i = start; i < bytes.length; i++) {
-			if (bytes[i] == delimiter) count++;
-			if (count == n) return i;
-		}
-		// the Nth delimeter was not found
-		return -1;
-	}
-	
-	/**
-	 * Method getBytesForSlot.
-	 * @param syncBytes
-	 * @param SEPARATOR_BYTE
-	 * @param i
-	 * @param b
-	 * @return byte[]
-	 */
-	public static byte[] getBytesForSlot(byte[] bytes, byte delimiter, int index, boolean includeRest) {
-		// Find the starting index
-		int start;
-		if (index == 0) {
-			// make start -1 so that end determination will start at offset 0.
-			start = -1;
-		} else {
-			start = getOffsetOfDelimeter(bytes, delimiter, 0, index);
-			if (start == -1) return null;
-		}
-		// Find the ending index
-		int end = getOffsetOfDelimeter(bytes, delimiter, start + 1, 1);
-		// Calculate the length
-		int length;
-		if (end == -1 || includeRest) {
-			length = bytes.length - start - 1;
-		} else {
-			length = end - start - 1;
-		}
-		byte[] result = new byte[length];
-		System.arraycopy(bytes, start + 1, result, 0, length);
-		return result;
-	}
-	
-	/**
-	 * Method equals.
-	 * @param syncBytes
-	 * @param oldBytes
-	 * @return boolean
-	 */
-	public static boolean equals(byte[] syncBytes, byte[] oldBytes) {
-		if (syncBytes == null || oldBytes == null) return syncBytes == oldBytes;
-		if (syncBytes.length != oldBytes.length) return false;
-		for (int i = 0; i < oldBytes.length; i++) {
-			if (oldBytes[i] != syncBytes[i]) return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * Workaround a CVS bug where a CVS Folder with no immediately contained files has an incorrect
-	 * Tag type stored in the TAG file.  In this case, the tag type is always BRANCH (Tv1)
-	 * 
-	 * The fix is for folders with no files, use the tag type for the containing project.  Since projects almost
-	 * always have files the TAG file is usually correct.
-	 * 
-	 * For the case where the folder tag name does not match the project tag name we can not do much so we just
-	 * return the folder tag which will currently always be a branch.
-	 * 
-	 * @param resource The IResource being tested.  Can not be null.
-	 * @param tag The CVSTag as reported by CVS for the IResource.  May be null.
-	 * @return CVSTag The corrected tag for the resource.  May be null.
-	 */
-	
-	public static CVSTag getAccurateFolderTag(IResource resource, CVSTag tag) {
-
-		// Determine if the folder contains files as immediate children.
-		if (resource.getType() != IResource.FOLDER) {
-			return tag;
-		}
-
-		IResource[] members = null;
-		try {
-			members = ((IFolder) resource).members();
-		} catch (CoreException e1) {
-			return tag;
-		}
-		
-		for (int i = 0; i < members.length; i++) {
-			if (members[i].getType() == IResource.FILE) {
-				return tag;
-			}
-		}
-	
-		// Folder contains no files so this may not really be a branch.
-		// Make the type the same as the project tag type if both are the same tag name.
-		IProject project = resource.getProject();
-		if (project == null) {
-			return tag;
-		}
-		
-		ICVSFolder projectFolder = CVSWorkspaceRoot.getCVSFolderFor(project);
-		FolderSyncInfo projectSyncInfo;
-		try {
-			projectSyncInfo = projectFolder.getFolderSyncInfo();
-		} catch (CVSException e) {
-			return tag;
-		}
-		
-		if (projectSyncInfo == null) {
-			return tag;
-		}
-		
-		CVSTag projectTag = projectSyncInfo.getTag();
-								
-		if (projectTag != null && projectTag.getName().equals(tag.getName())) {
-			return projectTag;
-		} else {
-			return tag;
-		}
-	}	
-	
-	/**
-	 * Workaround for CVS "bug" where CVS ENTRIES file does not contain correct
-	 * Branch vs. Version info.  Entries files always record a Tv1 so all entries would
-	 * appear as branches.
-	 * 	
-	 * By comparing the revision number to the tag name
-	 * you can determine if the tag is a branch or version.
-	 * 
-	 * @param cvsResource the resource to test.  Must nut be null.
-	 * @return the correct cVSTag.  May be null.
-	 */
-	
-	public static CVSTag getAccurateFileTag(ICVSResource cvsResource) throws CVSException {
-
-		CVSTag tag = null;
-		ResourceSyncInfo info = cvsResource.getSyncInfo();
-		if(info != null) {
-			tag = info.getTag();
-		}
-
-		FolderSyncInfo parentInfo = cvsResource.getParent().getFolderSyncInfo();
-		CVSTag parentTag = null;
-		if(parentInfo != null) {
-			parentTag = parentInfo.getTag();
-		}
-
-		if(tag != null) {
-			if(tag.getName().equals(info.getRevision())) {
-				tag = new CVSTag(tag.getName(), CVSTag.VERSION);
-			} else if(parentTag != null){
-				tag = new CVSTag(tag.getName(), parentTag.getType());
-			}
-		}
-		
-		return tag;						
-	}
-
-	/**
-	 * Return the fullest path that we can obtain for the given resource
-	 * @param resource
-	 * @return
-	 */
-	public static String getFullestPath(ICVSResource resource) {
-		IResource local = resource.getIResource();
-		if (local != null) {
-			return local.getFullPath().toString();
-		}
-		try {
-			String remotePath = resource.getRepositoryRelativePath();
-			if (remotePath != null) {
-				return remotePath;
-			}
-		} catch (CVSException e) {
-			// Ignore and try the next method;
-		}
-		return resource.getName();
-	}
-	
-	public static String getVariablePattern(String pattern, String variableName) {
-		return "(" + variableName + ":" + pattern + ":" + variableName + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	}
-
-	/**
-	 * @param localRevision
-	 * @return
-	 */
-	public static int[] convertToDigits(String localRevision) {
-		try {
-			String digitStrings[] = localRevision.split("\\."); //$NON-NLS-1$
-			int[] digits = new int[digitStrings.length];
-			for (int i = 0; i < digitStrings.length; i++) {
-				String digitString = digitStrings[i];
-				digits[i] = Integer.parseInt(digitString);
-			}
-			return digits;
-		} catch (NumberFormatException e) {
-			CVSProviderPlugin.log(CVSException.wrapException(e));
-			return new int[0];
-		}
-	}
-
-	public static String toTruncatedPath(ICVSStorage file, ICVSFolder localRoot, int i) {
-		if (file instanceof ICVSResource) {
-			return toTruncatedPath((ICVSResource)file, localRoot, i);
-		}
-		return file.getName();
-	}
-	
-	/**
-	 * If the status/log returns that the file is in the Attic, then remove the
-	 * Attic segment. This is because files added to a branch that are not in
-	 * the main trunk (HEAD) are added to the Attic but cvs does magic on
-	 * update to put them in the correct location.
-	 * (e.g. /project/Attic/file.txt -> /project/file.txt)
-	 */ 
-	public static String removeAtticSegment(String path) {
-		int lastSeparator = path.lastIndexOf(Session.SERVER_SEPARATOR);
-		if (lastSeparator == -1) return path;
-		int secondLastSeparator = path.lastIndexOf(Session.SERVER_SEPARATOR, lastSeparator - 1);
-		if (secondLastSeparator == -1) return path;
-		String secondLastSegment = path.substring(secondLastSeparator + 1, lastSeparator);
-		if (secondLastSegment.equals("Attic")) { //$NON-NLS-1$
-			return path.substring(0, secondLastSeparator) + path.substring(lastSeparator);
-		}
-		return path;
-	}
-	
-	/**
-	 * Flatten the text in the multiline comment
-	 */
-	public static String flattenText(String string) {
-		StringBuffer buffer = new StringBuffer(string.length() + 20);
-		boolean skipAdjacentLineSeparator = true;
-		for (int i = 0; i < string.length(); i++) {
-			char c = string.charAt(i);
-			if (c == '\r' || c == '\n') {
-				if (!skipAdjacentLineSeparator)
-					buffer.append(Session.SERVER_SEPARATOR); 
-				skipAdjacentLineSeparator = true;
-			} else {
-				buffer.append(c);
-				skipAdjacentLineSeparator = false;
-			}
-		}
-		return buffer.toString();
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/.classpath b/bundles/org.eclipse.team.cvs.ssh/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.team.cvs.ssh/.cvsignore b/bundles/org.eclipse.team.cvs.ssh/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.ssh/.options b/bundles/org.eclipse.team.cvs.ssh/.options
deleted file mode 100644
index 126e6d9..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/.options
+++ /dev/null
@@ -1,7 +0,0 @@
-# Debugging options for the org.eclipse.team.cvs.core plugin.
-
-# Turn on debugging for the plugin.
-org.eclipse.team.cvs.ssh/debug=false
-
-# Shows ssh protocol messages
-org.eclipse.team.cvs.ssh/ssh_protocol=false
\ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.ssh/.project b/bundles/org.eclipse.team.cvs.ssh/.project
deleted file mode 100644
index ee32c8e..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.team.cvs.ssh</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 0003ce7..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,62 +0,0 @@
-#Wed Mar 15 16:55:04 EST 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index a173ae6..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Wed Mar 15 16:55:04 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
diff --git a/bundles/org.eclipse.team.cvs.ssh/META-INF/MANIFEST.MF b/bundles/org.eclipse.team.cvs.ssh/META-INF/MANIFEST.MF
deleted file mode 100644
index 0415b1a..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.team.cvs.ssh
-Bundle-Version: 3.2.100.qualifier
-Bundle-Activator: org.eclipse.team.internal.ccvs.ssh.SSHPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.team.internal.ccvs.ssh;x-friends:="org.eclipse.team.cvs.ssh2"
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.1.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.team.cvs.core;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.team.core;bundle-version="[3.2.0,4.0.0)"
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/bundles/org.eclipse.team.cvs.ssh/about.html b/bundles/org.eclipse.team.cvs.ssh/about.html
deleted file mode 100644
index 32d78aa..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/about.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>October 30, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-<h3>Third Party Content</h3>
-
-<p>The Content includes items that have been sourced from third parties as set out below. If you 
-did not receive this Content directly from the Eclipse Foundation, the following is provided 
-for informational purposes only, and you should look to the Redistributor&rsquo;s license for 
-terms and conditions of use.</p>
-
-<h4>The Java (TM) Ssh Applet</h4>
-<p>The following classes:</p>
-
-<ul>
-    <li>Cipher</li>
-    <li>Client</li>
-    <li>ClientPacket</li>
-    <li>KnownHosts</li>
-    <li>Misc</li>
-    <li>Packet</li>
-    <li>Policy</li>
-    <li>ServerPacket</li>
-    <li>SSHMethod</li>
-    <li>SSHPlugin</li>
-    <li>SSHServerConnection</li>
-</ul>
-
-<p>and the following files:</p>
-
-<ul>
-    <li>messages.properties</li>
-</ul>
-
-<p>are located in the package org.eclipse.team.internal.ccvs.ssh in the plug-in JAR and are based on &quot;The Java SSh Applet&quot; developed by Cedric Gourio.  The Java Ssh Applet includes the following copyright notice which must be included in any redistribution:</p>
-
-<blockquote>
-    Copyright (c) 1998 Cedric Gourio<br>
-    (<a href="http://www.math.ucdavis.edu/~bill/java/ssh/">http://www.math.ucdavis.edu/~bill/java/ssh/</a>)<br>
-    (<a href="mailto:javassh@france-mail.com">javassh@france-mail.com</a>)
-
-	<p>This program is FREE FOR COMMERCIAL AND NON-COMMERCIAL USE.<br>
-	You can freely modify the code.</p>
-
-	<p>You should however include this copyright notice in any redistribution<br> 
-	and please keep in touch with the author for any feedback.</p>
-</blockquote>
-
-<h4>The Blowfish Encryption Algorithm</h4>
-<p>The following classes in the package org.eclipse.team.internal.ccvs.ssh in the plug-in JAR are based on an algorithm developed by Bruce Schneier.
-The algorithm was originally published in a paper that is located at <a href="http://www.counterpane.com/bfsverlag.html">http://www.counterpane.com/bfsverlag.html</a>.
-Your use of the Blowfish Encryption Algorithm in both source and binary code form contained in the plug-in is not subject to any
-additional terms and conditions:</p>
-
-<ul>
-    <li>Blowfish</li>
-</ul>
-
-<h3>Cryptography</h3>
-
-<h4>Export Control</h4>
-<p>The plug-in contains encryption software.  The country in which you are currently may have restrictions on the import, possession,
-and use, and/or re-export to another country, of encryption software.  BEFORE using any encryption software, please check the country's
-laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this
-is permitted.</p>
-
-<h4>Encryption Items</h4>
-
-<p>Details of the encryption software in this plug-in are provided to assist in obtaining relevant export control classification and approval.
-Cryptography in this plug-in has been deemed eligible by the U.S. Government Department of Commerce for export under License Exception Technology Software Unrestricted (TSU) for both object code and source code.</p>
-
-<p>The plug-in contains an implementation of the Secure Shell (SSH) protocol that encrypts the network traffic (program code files
-in file versioning systems) between a Concurrent Versions System (CVS) server and a CVS client.  Data is encrypted using the Blowfish algorithm
-which is a 64-bit symmetric cipher that uses a key varying in length from 32 bits to 448 bits.  The RSA PKCS #1 v1.5 key exchange algorithm is
-used to authenticate and exchange keys with a minimum modulus size of 96 bits and a maximum modulus size theoretically unlimited since the
-implementation uses the java.math.BigInteger class which has a maximum positive integer range limited only by the available memory in the computer.
-In practice, the key length is defined by the CVS server with which communication is initiated.</p>
-
-<p>The following Java classes contain encryption items (the plug-in may contain both binary and source code):</p>
-
-<ul>
-	<li>org.eclipse.team.internal.ccvs.ssh.Blowfish</li>
-	<li>org.eclipse.team.internal.ccvs.ssh.Cipher</li>
-	<li>org.eclipse.team.internal.ccvs.ssh.Client</li>
-	<li>org.eclipse.team.internal.ccvs.ssh.ClientPacket</li>
-	<li>org.eclipse.team.internal.ccvs.ssh.Misc</li>
-</ul>		
-
-<small>Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.</small>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.ssh/build.properties b/bundles/org.eclipse.team.cvs.ssh/build.properties
deleted file mode 100644
index 6f55f18..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# Eclipse build contribution
-source..=src/
-src.includes=about.html
-bin.includes = about.html,\
-               plugin.properties,\
-               .,\
-               .options,\
-               META-INF/
diff --git a/bundles/org.eclipse.team.cvs.ssh/plugin.properties b/bundles/org.eclipse.team.cvs.ssh/plugin.properties
deleted file mode 100644
index 0fe9f3b..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-providerName=Eclipse.org
-pluginName=CVS SSH Core
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Blowfish.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Blowfish.java
deleted file mode 100644
index e85f305..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Blowfish.java
+++ /dev/null
@@ -1,1220 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-public class Blowfish extends Cipher {
-	private int[] P = new int[18];
-	private int[][] S = new int[4][256];
-
-	private int lastEncipherXL = 0;
-	private int lastEncipherXR = 0;
-	private int lastDecipherXL = 0;
-	private int lastDecipherXR = 0;
-
-	private final static int[] INIT_DATA =
-		{
-			0x243f6a88,
-			0x85a308d3,
-			0x13198a2e,
-			0x03707344,
-			0xa4093822,
-			0x299f31d0,
-			0x082efa98,
-			0xec4e6c89,
-			0x452821e6,
-			0x38d01377,
-			0xbe5466cf,
-			0x34e90c6c,
-			0xc0ac29b7,
-			0xc97c50dd,
-			0x3f84d5b5,
-			0xb5470917,
-			0x9216d5d9,
-			0x8979fb1b,
-			0xd1310ba6,
-			0x98dfb5ac,
-			0x2ffd72db,
-			0xd01adfb7,
-			0xb8e1afed,
-			0x6a267e96,
-			0xba7c9045,
-			0xf12c7f99,
-			0x24a19947,
-			0xb3916cf7,
-			0x0801f2e2,
-			0x858efc16,
-			0x636920d8,
-			0x71574e69,
-			0xa458fea3,
-			0xf4933d7e,
-			0x0d95748f,
-			0x728eb658,
-			0x718bcd58,
-			0x82154aee,
-			0x7b54a41d,
-			0xc25a59b5,
-			0x9c30d539,
-			0x2af26013,
-			0xc5d1b023,
-			0x286085f0,
-			0xca417918,
-			0xb8db38ef,
-			0x8e79dcb0,
-			0x603a180e,
-			0x6c9e0e8b,
-			0xb01e8a3e,
-			0xd71577c1,
-			0xbd314b27,
-			0x78af2fda,
-			0x55605c60,
-			0xe65525f3,
-			0xaa55ab94,
-			0x57489862,
-			0x63e81440,
-			0x55ca396a,
-			0x2aab10b6,
-			0xb4cc5c34,
-			0x1141e8ce,
-			0xa15486af,
-			0x7c72e993,
-			0xb3ee1411,
-			0x636fbc2a,
-			0x2ba9c55d,
-			0x741831f6,
-			0xce5c3e16,
-			0x9b87931e,
-			0xafd6ba33,
-			0x6c24cf5c,
-			0x7a325381,
-			0x28958677,
-			0x3b8f4898,
-			0x6b4bb9af,
-			0xc4bfe81b,
-			0x66282193,
-			0x61d809cc,
-			0xfb21a991,
-			0x487cac60,
-			0x5dec8032,
-			0xef845d5d,
-			0xe98575b1,
-			0xdc262302,
-			0xeb651b88,
-			0x23893e81,
-			0xd396acc5,
-			0x0f6d6ff3,
-			0x83f44239,
-			0x2e0b4482,
-			0xa4842004,
-			0x69c8f04a,
-			0x9e1f9b5e,
-			0x21c66842,
-			0xf6e96c9a,
-			0x670c9c61,
-			0xabd388f0,
-			0x6a51a0d2,
-			0xd8542f68,
-			0x960fa728,
-			0xab5133a3,
-			0x6eef0b6c,
-			0x137a3be4,
-			0xba3bf050,
-			0x7efb2a98,
-			0xa1f1651d,
-			0x39af0176,
-			0x66ca593e,
-			0x82430e88,
-			0x8cee8619,
-			0x456f9fb4,
-			0x7d84a5c3,
-			0x3b8b5ebe,
-			0xe06f75d8,
-			0x85c12073,
-			0x401a449f,
-			0x56c16aa6,
-			0x4ed3aa62,
-			0x363f7706,
-			0x1bfedf72,
-			0x429b023d,
-			0x37d0d724,
-			0xd00a1248,
-			0xdb0fead3,
-			0x49f1c09b,
-			0x075372c9,
-			0x80991b7b,
-			0x25d479d8,
-			0xf6e8def7,
-			0xe3fe501a,
-			0xb6794c3b,
-			0x976ce0bd,
-			0x04c006ba,
-			0xc1a94fb6,
-			0x409f60c4,
-			0x5e5c9ec2,
-			0x196a2463,
-			0x68fb6faf,
-			0x3e6c53b5,
-			0x1339b2eb,
-			0x3b52ec6f,
-			0x6dfc511f,
-			0x9b30952c,
-			0xcc814544,
-			0xaf5ebd09,
-			0xbee3d004,
-			0xde334afd,
-			0x660f2807,
-			0x192e4bb3,
-			0xc0cba857,
-			0x45c8740f,
-			0xd20b5f39,
-			0xb9d3fbdb,
-			0x5579c0bd,
-			0x1a60320a,
-			0xd6a100c6,
-			0x402c7279,
-			0x679f25fe,
-			0xfb1fa3cc,
-			0x8ea5e9f8,
-			0xdb3222f8,
-			0x3c7516df,
-			0xfd616b15,
-			0x2f501ec8,
-			0xad0552ab,
-			0x323db5fa,
-			0xfd238760,
-			0x53317b48,
-			0x3e00df82,
-			0x9e5c57bb,
-			0xca6f8ca0,
-			0x1a87562e,
-			0xdf1769db,
-			0xd542a8f6,
-			0x287effc3,
-			0xac6732c6,
-			0x8c4f5573,
-			0x695b27b0,
-			0xbbca58c8,
-			0xe1ffa35d,
-			0xb8f011a0,
-			0x10fa3d98,
-			0xfd2183b8,
-			0x4afcb56c,
-			0x2dd1d35b,
-			0x9a53e479,
-			0xb6f84565,
-			0xd28e49bc,
-			0x4bfb9790,
-			0xe1ddf2da,
-			0xa4cb7e33,
-			0x62fb1341,
-			0xcee4c6e8,
-			0xef20cada,
-			0x36774c01,
-			0xd07e9efe,
-			0x2bf11fb4,
-			0x95dbda4d,
-			0xae909198,
-			0xeaad8e71,
-			0x6b93d5a0,
-			0xd08ed1d0,
-			0xafc725e0,
-			0x8e3c5b2f,
-			0x8e7594b7,
-			0x8ff6e2fb,
-			0xf2122b64,
-			0x8888b812,
-			0x900df01c,
-			0x4fad5ea0,
-			0x688fc31c,
-			0xd1cff191,
-			0xb3a8c1ad,
-			0x2f2f2218,
-			0xbe0e1777,
-			0xea752dfe,
-			0x8b021fa1,
-			0xe5a0cc0f,
-			0xb56f74e8,
-			0x18acf3d6,
-			0xce89e299,
-			0xb4a84fe0,
-			0xfd13e0b7,
-			0x7cc43b81,
-			0xd2ada8d9,
-			0x165fa266,
-			0x80957705,
-			0x93cc7314,
-			0x211a1477,
-			0xe6ad2065,
-			0x77b5fa86,
-			0xc75442f5,
-			0xfb9d35cf,
-			0xebcdaf0c,
-			0x7b3e89a0,
-			0xd6411bd3,
-			0xae1e7e49,
-			0x00250e2d,
-			0x2071b35e,
-			0x226800bb,
-			0x57b8e0af,
-			0x2464369b,
-			0xf009b91e,
-			0x5563911d,
-			0x59dfa6aa,
-			0x78c14389,
-			0xd95a537f,
-			0x207d5ba2,
-			0x02e5b9c5,
-			0x83260376,
-			0x6295cfa9,
-			0x11c81968,
-			0x4e734a41,
-			0xb3472dca,
-			0x7b14a94a,
-			0x1b510052,
-			0x9a532915,
-			0xd60f573f,
-			0xbc9bc6e4,
-			0x2b60a476,
-			0x81e67400,
-			0x08ba6fb5,
-			0x571be91f,
-			0xf296ec6b,
-			0x2a0dd915,
-			0xb6636521,
-			0xe7b9f9b6,
-			0xff34052e,
-			0xc5855664,
-			0x53b02d5d,
-			0xa99f8fa1,
-			0x08ba4799,
-			0x6e85076a,
-			0x4b7a70e9,
-			0xb5b32944,
-			0xdb75092e,
-			0xc4192623,
-			0xad6ea6b0,
-			0x49a7df7d,
-			0x9cee60b8,
-			0x8fedb266,
-			0xecaa8c71,
-			0x699a17ff,
-			0x5664526c,
-			0xc2b19ee1,
-			0x193602a5,
-			0x75094c29,
-			0xa0591340,
-			0xe4183a3e,
-			0x3f54989a,
-			0x5b429d65,
-			0x6b8fe4d6,
-			0x99f73fd6,
-			0xa1d29c07,
-			0xefe830f5,
-			0x4d2d38e6,
-			0xf0255dc1,
-			0x4cdd2086,
-			0x8470eb26,
-			0x6382e9c6,
-			0x021ecc5e,
-			0x09686b3f,
-			0x3ebaefc9,
-			0x3c971814,
-			0x6b6a70a1,
-			0x687f3584,
-			0x52a0e286,
-			0xb79c5305,
-			0xaa500737,
-			0x3e07841c,
-			0x7fdeae5c,
-			0x8e7d44ec,
-			0x5716f2b8,
-			0xb03ada37,
-			0xf0500c0d,
-			0xf01c1f04,
-			0x0200b3ff,
-			0xae0cf51a,
-			0x3cb574b2,
-			0x25837a58,
-			0xdc0921bd,
-			0xd19113f9,
-			0x7ca92ff6,
-			0x94324773,
-			0x22f54701,
-			0x3ae5e581,
-			0x37c2dadc,
-			0xc8b57634,
-			0x9af3dda7,
-			0xa9446146,
-			0x0fd0030e,
-			0xecc8c73e,
-			0xa4751e41,
-			0xe238cd99,
-			0x3bea0e2f,
-			0x3280bba1,
-			0x183eb331,
-			0x4e548b38,
-			0x4f6db908,
-			0x6f420d03,
-			0xf60a04bf,
-			0x2cb81290,
-			0x24977c79,
-			0x5679b072,
-			0xbcaf89af,
-			0xde9a771f,
-			0xd9930810,
-			0xb38bae12,
-			0xdccf3f2e,
-			0x5512721f,
-			0x2e6b7124,
-			0x501adde6,
-			0x9f84cd87,
-			0x7a584718,
-			0x7408da17,
-			0xbc9f9abc,
-			0xe94b7d8c,
-			0xec7aec3a,
-			0xdb851dfa,
-			0x63094366,
-			0xc464c3d2,
-			0xef1c1847,
-			0x3215d908,
-			0xdd433b37,
-			0x24c2ba16,
-			0x12a14d43,
-			0x2a65c451,
-			0x50940002,
-			0x133ae4dd,
-			0x71dff89e,
-			0x10314e55,
-			0x81ac77d6,
-			0x5f11199b,
-			0x043556f1,
-			0xd7a3c76b,
-			0x3c11183b,
-			0x5924a509,
-			0xf28fe6ed,
-			0x97f1fbfa,
-			0x9ebabf2c,
-			0x1e153c6e,
-			0x86e34570,
-			0xeae96fb1,
-			0x860e5e0a,
-			0x5a3e2ab3,
-			0x771fe71c,
-			0x4e3d06fa,
-			0x2965dcb9,
-			0x99e71d0f,
-			0x803e89d6,
-			0x5266c825,
-			0x2e4cc978,
-			0x9c10b36a,
-			0xc6150eba,
-			0x94e2ea78,
-			0xa5fc3c53,
-			0x1e0a2df4,
-			0xf2f74ea7,
-			0x361d2b3d,
-			0x1939260f,
-			0x19c27960,
-			0x5223a708,
-			0xf71312b6,
-			0xebadfe6e,
-			0xeac31f66,
-			0xe3bc4595,
-			0xa67bc883,
-			0xb17f37d1,
-			0x018cff28,
-			0xc332ddef,
-			0xbe6c5aa5,
-			0x65582185,
-			0x68ab9802,
-			0xeecea50f,
-			0xdb2f953b,
-			0x2aef7dad,
-			0x5b6e2f84,
-			0x1521b628,
-			0x29076170,
-			0xecdd4775,
-			0x619f1510,
-			0x13cca830,
-			0xeb61bd96,
-			0x0334fe1e,
-			0xaa0363cf,
-			0xb5735c90,
-			0x4c70a239,
-			0xd59e9e0b,
-			0xcbaade14,
-			0xeecc86bc,
-			0x60622ca7,
-			0x9cab5cab,
-			0xb2f3846e,
-			0x648b1eaf,
-			0x19bdf0ca,
-			0xa02369b9,
-			0x655abb50,
-			0x40685a32,
-			0x3c2ab4b3,
-			0x319ee9d5,
-			0xc021b8f7,
-			0x9b540b19,
-			0x875fa099,
-			0x95f7997e,
-			0x623d7da8,
-			0xf837889a,
-			0x97e32d77,
-			0x11ed935f,
-			0x16681281,
-			0x0e358829,
-			0xc7e61fd6,
-			0x96dedfa1,
-			0x7858ba99,
-			0x57f584a5,
-			0x1b227263,
-			0x9b83c3ff,
-			0x1ac24696,
-			0xcdb30aeb,
-			0x532e3054,
-			0x8fd948e4,
-			0x6dbc3128,
-			0x58ebf2ef,
-			0x34c6ffea,
-			0xfe28ed61,
-			0xee7c3c73,
-			0x5d4a14d9,
-			0xe864b7e3,
-			0x42105d14,
-			0x203e13e0,
-			0x45eee2b6,
-			0xa3aaabea,
-			0xdb6c4f15,
-			0xfacb4fd0,
-			0xc742f442,
-			0xef6abbb5,
-			0x654f3b1d,
-			0x41cd2105,
-			0xd81e799e,
-			0x86854dc7,
-			0xe44b476a,
-			0x3d816250,
-			0xcf62a1f2,
-			0x5b8d2646,
-			0xfc8883a0,
-			0xc1c7b6a3,
-			0x7f1524c3,
-			0x69cb7492,
-			0x47848a0b,
-			0x5692b285,
-			0x095bbf00,
-			0xad19489d,
-			0x1462b174,
-			0x23820e00,
-			0x58428d2a,
-			0x0c55f5ea,
-			0x1dadf43e,
-			0x233f7061,
-			0x3372f092,
-			0x8d937e41,
-			0xd65fecf1,
-			0x6c223bdb,
-			0x7cde3759,
-			0xcbee7460,
-			0x4085f2a7,
-			0xce77326e,
-			0xa6078084,
-			0x19f8509e,
-			0xe8efd855,
-			0x61d99735,
-			0xa969a7aa,
-			0xc50c06c2,
-			0x5a04abfc,
-			0x800bcadc,
-			0x9e447a2e,
-			0xc3453484,
-			0xfdd56705,
-			0x0e1e9ec9,
-			0xdb73dbd3,
-			0x105588cd,
-			0x675fda79,
-			0xe3674340,
-			0xc5c43465,
-			0x713e38d8,
-			0x3d28f89e,
-			0xf16dff20,
-			0x153e21e7,
-			0x8fb03d4a,
-			0xe6e39f2b,
-			0xdb83adf7,
-			0xe93d5a68,
-			0x948140f7,
-			0xf64c261c,
-			0x94692934,
-			0x411520f7,
-			0x7602d4f7,
-			0xbcf46b2e,
-			0xd4a20068,
-			0xd4082471,
-			0x3320f46a,
-			0x43b7d4b7,
-			0x500061af,
-			0x1e39f62e,
-			0x97244546,
-			0x14214f74,
-			0xbf8b8840,
-			0x4d95fc1d,
-			0x96b591af,
-			0x70f4ddd3,
-			0x66a02f45,
-			0xbfbc09ec,
-			0x03bd9785,
-			0x7fac6dd0,
-			0x31cb8504,
-			0x96eb27b3,
-			0x55fd3941,
-			0xda2547e6,
-			0xabca0a9a,
-			0x28507825,
-			0x530429f4,
-			0x0a2c86da,
-			0xe9b66dfb,
-			0x68dc1462,
-			0xd7486900,
-			0x680ec0a4,
-			0x27a18dee,
-			0x4f3ffea2,
-			0xe887ad8c,
-			0xb58ce006,
-			0x7af4d6b6,
-			0xaace1e7c,
-			0xd3375fec,
-			0xce78a399,
-			0x406b2a42,
-			0x20fe9e35,
-			0xd9f385b9,
-			0xee39d7ab,
-			0x3b124e8b,
-			0x1dc9faf7,
-			0x4b6d1856,
-			0x26a36631,
-			0xeae397b2,
-			0x3a6efa74,
-			0xdd5b4332,
-			0x6841e7f7,
-			0xca7820fb,
-			0xfb0af54e,
-			0xd8feb397,
-			0x454056ac,
-			0xba489527,
-			0x55533a3a,
-			0x20838d87,
-			0xfe6ba9b7,
-			0xd096954b,
-			0x55a867bc,
-			0xa1159a58,
-			0xcca92963,
-			0x99e1db33,
-			0xa62a4a56,
-			0x3f3125f9,
-			0x5ef47e1c,
-			0x9029317c,
-			0xfdf8e802,
-			0x04272f70,
-			0x80bb155c,
-			0x05282ce3,
-			0x95c11548,
-			0xe4c66d22,
-			0x48c1133f,
-			0xc70f86dc,
-			0x07f9c9ee,
-			0x41041f0f,
-			0x404779a4,
-			0x5d886e17,
-			0x325f51eb,
-			0xd59bc0d1,
-			0xf2bcc18f,
-			0x41113564,
-			0x257b7834,
-			0x602a9c60,
-			0xdff8e8a3,
-			0x1f636c1b,
-			0x0e12b4c2,
-			0x02e1329e,
-			0xaf664fd1,
-			0xcad18115,
-			0x6b2395e0,
-			0x333e92e1,
-			0x3b240b62,
-			0xeebeb922,
-			0x85b2a20e,
-			0xe6ba0d99,
-			0xde720c8c,
-			0x2da2f728,
-			0xd0127845,
-			0x95b794fd,
-			0x647d0862,
-			0xe7ccf5f0,
-			0x5449a36f,
-			0x877d48fa,
-			0xc39dfd27,
-			0xf33e8d1e,
-			0x0a476341,
-			0x992eff74,
-			0x3a6f6eab,
-			0xf4f8fd37,
-			0xa812dc60,
-			0xa1ebddf8,
-			0x991be14c,
-			0xdb6e6b0d,
-			0xc67b5510,
-			0x6d672c37,
-			0x2765d43b,
-			0xdcd0e804,
-			0xf1290dc7,
-			0xcc00ffa3,
-			0xb5390f92,
-			0x690fed0b,
-			0x667b9ffb,
-			0xcedb7d9c,
-			0xa091cf0b,
-			0xd9155ea3,
-			0xbb132f88,
-			0x515bad24,
-			0x7b9479bf,
-			0x763bd6eb,
-			0x37392eb3,
-			0xcc115979,
-			0x8026e297,
-			0xf42e312d,
-			0x6842ada7,
-			0xc66a2b3b,
-			0x12754ccc,
-			0x782ef11c,
-			0x6a124237,
-			0xb79251e7,
-			0x06a1bbe6,
-			0x4bfb6350,
-			0x1a6b1018,
-			0x11caedfa,
-			0x3d25bdd8,
-			0xe2e1c3c9,
-			0x44421659,
-			0x0a121386,
-			0xd90cec6e,
-			0xd5abea2a,
-			0x64af674e,
-			0xda86a85f,
-			0xbebfe988,
-			0x64e4c3fe,
-			0x9dbc8057,
-			0xf0f7c086,
-			0x60787bf8,
-			0x6003604d,
-			0xd1fd8346,
-			0xf6381fb0,
-			0x7745ae04,
-			0xd736fccc,
-			0x83426b33,
-			0xf01eab71,
-			0xb0804187,
-			0x3c005e5f,
-			0x77a057be,
-			0xbde8ae24,
-			0x55464299,
-			0xbf582e61,
-			0x4e58f48f,
-			0xf2ddfda2,
-			0xf474ef38,
-			0x8789bdc2,
-			0x5366f9c3,
-			0xc8b38e74,
-			0xb475f255,
-			0x46fcd9b9,
-			0x7aeb2661,
-			0x8b1ddf84,
-			0x846a0e79,
-			0x915f95e2,
-			0x466e598e,
-			0x20b45770,
-			0x8cd55591,
-			0xc902de4c,
-			0xb90bace1,
-			0xbb8205d0,
-			0x11a86248,
-			0x7574a99e,
-			0xb77f19b6,
-			0xe0a9dc09,
-			0x662d09a1,
-			0xc4324633,
-			0xe85a1f02,
-			0x09f0be8c,
-			0x4a99a025,
-			0x1d6efe10,
-			0x1ab93d1d,
-			0x0ba5a4df,
-			0xa186f20f,
-			0x2868f169,
-			0xdcb7da83,
-			0x573906fe,
-			0xa1e2ce9b,
-			0x4fcd7f52,
-			0x50115e01,
-			0xa70683fa,
-			0xa002b5c4,
-			0x0de6d027,
-			0x9af88c27,
-			0x773f8641,
-			0xc3604c06,
-			0x61a806b5,
-			0xf0177a28,
-			0xc0f586e0,
-			0x006058aa,
-			0x30dc7d62,
-			0x11e69ed7,
-			0x2338ea63,
-			0x53c2dd94,
-			0xc2c21634,
-			0xbbcbee56,
-			0x90bcb6de,
-			0xebfc7da1,
-			0xce591d76,
-			0x6f05e409,
-			0x4b7c0188,
-			0x39720a3d,
-			0x7c927c24,
-			0x86e3725f,
-			0x724d9db9,
-			0x1ac15bb4,
-			0xd39eb8fc,
-			0xed545578,
-			0x08fca5b5,
-			0xd83d7cd3,
-			0x4dad0fc4,
-			0x1e50ef5e,
-			0xb161e6f8,
-			0xa28514d9,
-			0x6c51133c,
-			0x6fd5c7e7,
-			0x56e14ec4,
-			0x362abfce,
-			0xddc6c837,
-			0xd79a3234,
-			0x92638212,
-			0x670efa8e,
-			0x406000e0,
-			0x3a39ce37,
-			0xd3faf5cf,
-			0xabc27737,
-			0x5ac52d1b,
-			0x5cb0679e,
-			0x4fa33742,
-			0xd3822740,
-			0x99bc9bbe,
-			0xd5118e9d,
-			0xbf0f7315,
-			0xd62d1c7e,
-			0xc700c47b,
-			0xb78c1b6b,
-			0x21a19045,
-			0xb26eb1be,
-			0x6a366eb4,
-			0x5748ab2f,
-			0xbc946e79,
-			0xc6a376d2,
-			0x6549c2c8,
-			0x530ff8ee,
-			0x468dde7d,
-			0xd5730a1d,
-			0x4cd04dc6,
-			0x2939bbdb,
-			0xa9ba4650,
-			0xac9526e8,
-			0xbe5ee304,
-			0xa1fad5f0,
-			0x6a2d519a,
-			0x63ef8ce2,
-			0x9a86ee22,
-			0xc089c2b8,
-			0x43242ef6,
-			0xa51e03aa,
-			0x9cf2d0a4,
-			0x83c061ba,
-			0x9be96a4d,
-			0x8fe51550,
-			0xba645bd6,
-			0x2826a2f9,
-			0xa73a3ae1,
-			0x4ba99586,
-			0xef5562e9,
-			0xc72fefd3,
-			0xf752f7da,
-			0x3f046f69,
-			0x77fa0a59,
-			0x80e4a915,
-			0x87b08601,
-			0x9b09e6ad,
-			0x3b3ee593,
-			0xe990fd5a,
-			0x9e34d797,
-			0x2cf0b7d9,
-			0x022b8b51,
-			0x96d5ac3a,
-			0x017da67d,
-			0xd1cf3ed6,
-			0x7c7d2d28,
-			0x1f9f25cf,
-			0xadf2b89b,
-			0x5ad6b472,
-			0x5a88f54c,
-			0xe029ac71,
-			0xe019a5e6,
-			0x47b0acfd,
-			0xed93fa9b,
-			0xe8d3c48d,
-			0x283b57cc,
-			0xf8d56629,
-			0x79132e28,
-			0x785f0191,
-			0xed756055,
-			0xf7960e44,
-			0xe3d35e8c,
-			0x15056dd4,
-			0x88f46dba,
-			0x03a16125,
-			0x0564f0bd,
-			0xc3eb9e15,
-			0x3c9057a2,
-			0x97271aec,
-			0xa93a072a,
-			0x1b3f6d9b,
-			0x1e6321f5,
-			0xf59c66fb,
-			0x26dcf319,
-			0x7533d928,
-			0xb155fdf5,
-			0x03563482,
-			0x8aba3cbb,
-			0x28517711,
-			0xc20ad9f8,
-			0xabcc5167,
-			0xccad925f,
-			0x4de81751,
-			0x3830dc8e,
-			0x379d5862,
-			0x9320f991,
-			0xea7a90c2,
-			0xfb3e7bce,
-			0x5121ce64,
-			0x774fbe32,
-			0xa8b6e37e,
-			0xc3293d46,
-			0x48de5369,
-			0x6413e680,
-			0xa2ae0810,
-			0xdd6db224,
-			0x69852dfd,
-			0x09072166,
-			0xb39a460a,
-			0x6445c0dd,
-			0x586cdecf,
-			0x1c20c8ae,
-			0x5bbef7dd,
-			0x1b588d40,
-			0xccd2017f,
-			0x6bb4e3bb,
-			0xdda26a7e,
-			0x3a59ff45,
-			0x3e350a44,
-			0xbcb4cdd5,
-			0x72eacea8,
-			0xfa6484bb,
-			0x8d6612ae,
-			0xbf3c6f47,
-			0xd29be463,
-			0x542f5d9e,
-			0xaec2771b,
-			0xf64e6370,
-			0x740e0d8d,
-			0xe75b1357,
-			0xf8721671,
-			0xaf537d5d,
-			0x4040cb08,
-			0x4eb4e2cc,
-			0x34d2466a,
-			0x0115af84,
-			0xe1b00428,
-			0x95983a1d,
-			0x06b89fb4,
-			0xce6ea048,
-			0x6f3f3b82,
-			0x3520ab82,
-			0x011a1d4b,
-			0x277227f8,
-			0x611560b1,
-			0xe7933fdc,
-			0xbb3a792b,
-			0x344525bd,
-			0xa08839e1,
-			0x51ce794b,
-			0x2f32c9b7,
-			0xa01fbac9,
-			0xe01cc87e,
-			0xbcc7d1f6,
-			0xcf0111c3,
-			0xa1e8aac7,
-			0x1a908749,
-			0xd44fbd9a,
-			0xd0dadecb,
-			0xd50ada38,
-			0x0339c32a,
-			0xc6913667,
-			0x8df9317c,
-			0xe0b12b4f,
-			0xf79e59b7,
-			0x43f5bb3a,
-			0xf2d519ff,
-			0x27d9459c,
-			0xbf97222c,
-			0x15e6fc2a,
-			0x0f91fc71,
-			0x9b941525,
-			0xfae59361,
-			0xceb69ceb,
-			0xc2a86459,
-			0x12baa8d1,
-			0xb6c1075e,
-			0xe3056a0c,
-			0x10d25065,
-			0xcb03a442,
-			0xe0ec6e0e,
-			0x1698db3b,
-			0x4c98a0be,
-			0x3278e964,
-			0x9f1f9532,
-			0xe0d392df,
-			0xd3a0342b,
-			0x8971f21e,
-			0x1b0a7441,
-			0x4ba3348c,
-			0xc5be7120,
-			0xc37632d8,
-			0xdf359f8d,
-			0x9b992f2e,
-			0xe60b6f47,
-			0x0fe3f11d,
-			0xe54cda54,
-			0x1edad891,
-			0xce6279cf,
-			0xcd3e7e6f,
-			0x1618b166,
-			0xfd2c1d05,
-			0x848fd2c5,
-			0xf6fb2299,
-			0xf523f357,
-			0xa6327623,
-			0x93a83531,
-			0x56cccd02,
-			0xacf08162,
-			0x5a75ebb5,
-			0x6e163697,
-			0x88d273cc,
-			0xde966292,
-			0x81b949d0,
-			0x4c50901b,
-			0x71c65614,
-			0xe6c6c7bd,
-			0x327a140a,
-			0x45e1d006,
-			0xc3f27b9a,
-			0xc9aa53fd,
-			0x62a80f00,
-			0xbb25bfe2,
-			0x35bdd2f6,
-			0x71126905,
-			0xb2040222,
-			0xb6cbcf7c,
-			0xcd769c2b,
-			0x53113ec0,
-			0x1640e3d3,
-			0x38abbd60,
-			0x2547adf0,
-			0xba38209c,
-			0xf746ce76,
-			0x77afa1c5,
-			0x20756060,
-			0x85cbfe4e,
-			0x8ae88dd8,
-			0x7aaaf9b0,
-			0x4cf9aa7e,
-			0x1948c25c,
-			0x02fb8a8c,
-			0x01c36ae4,
-			0xd6ebe1f9,
-			0x90d4f869,
-			0xa65cdea0,
-			0x3f09252d,
-			0xc208e69f,
-			0xb74e6132,
-			0xce77e25b,
-			0x578fdfe3,
-			0x3ac372e6 };
-public void decipher(byte[] src, int srcOff, byte[] dst, int dstOff, int len) {
-	int xL = lastDecipherXL;
-	int xR = lastDecipherXR;
-
-	int dataXL;
-	int dataXR;
-
-	int[] xLxR = new int[2];
-
-	for (int i = 0; i < len; i = i + 8) {
-		dataXL = (src[srcOff + i] & 0xff) | ((src[srcOff + i + 1] & 0xff) << 8) | ((src[srcOff + i + 2] & 0xff) << 16) | ((src[srcOff + i + 3] & 0xff) << 24);
-		dataXR = (src[srcOff + i + 4] & 0xff) | ((src[srcOff + i + 5] & 0xff) << 8) | ((src[srcOff + i + 6] & 0xff) << 16) | ((src[srcOff + i + 7] & 0xff) << 24);
-
-		decipher(dataXL, dataXR, xLxR);
-
-		xL ^= xLxR[0];
-		xR ^= xLxR[1];
-
-		dst[dstOff + i] = (byte) (xL & 0xff);
-		dst[dstOff + i + 1] = (byte) ((xL >> 8) & 0xff);
-		dst[dstOff + i + 2] = (byte) ((xL >> 16) & 0xff);
-		dst[dstOff + i + 3] = (byte) ((xL >> 24) & 0xff);
-		dst[dstOff + i + 4] = (byte) (xR & 0xff);
-		dst[dstOff + i + 5] = (byte) ((xR >> 8) & 0xff);
-		dst[dstOff + i + 6] = (byte) ((xR >> 16) & 0xff);
-		dst[dstOff + i + 7] = (byte) ((xR >> 24) & 0xff);
-
-		xL = dataXL;
-		xR = dataXR;
-	}
-
-	lastDecipherXL = xL;
-	lastDecipherXR = xR;
-}
-private void decipher(int xL, int xR, int[] xLxR) {
-	xL ^= P[17];
-	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[16];
-	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[15];
-	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[14];
-	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[13];
-	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[12];
-	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[11];
-	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[10];
-	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[9];
-	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[8];
-	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[7];
-	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[6];
-	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[5];
-	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[4];
-	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[3];
-	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[2];
-	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[1];
-	xR ^= P[0];
-
-	xLxR[0] = xR;
-	xLxR[1] = xL;
-}
-public void encipher(byte[] src, int srcOff, byte[] dst, int dstOff, int len) {
-	int xL = lastEncipherXL;
-	int xR = lastEncipherXR;
-
-	int[] xLxR = new int[2];
-
-	for (int i = 0; i < len; i = i + 8) {
-		xL ^= (src[srcOff + i] & 0xff) | ((src[srcOff + i + 1] & 0xff) << 8) | ((src[srcOff + i + 2] & 0xff) << 16) | ((src[srcOff + i + 3] & 0xff) << 24);
-		xR ^= (src[srcOff + i + 4] & 0xff) | ((src[srcOff + i + 5] & 0xff) << 8) | ((src[srcOff + i + 6] & 0xff) << 16) | ((src[srcOff + i + 7] & 0xff) << 24);
-
-		encipher(xL, xR, xLxR);
-
-		xL = xLxR[0];
-		xR = xLxR[1];
-
-		dst[dstOff + i] = (byte) (xL & 0xff);
-		dst[dstOff + i + 1] = (byte) ((xL >> 8) & 0xff);
-		dst[dstOff + i + 2] = (byte) ((xL >> 16) & 0xff);
-		dst[dstOff + i + 3] = (byte) ((xL >> 24) & 0xff);
-		dst[dstOff + i + 4] = (byte) (xR & 0xff);
-		dst[dstOff + i + 5] = (byte) ((xR >> 8) & 0xff);
-		dst[dstOff + i + 6] = (byte) ((xR >> 16) & 0xff);
-		dst[dstOff + i + 7] = (byte) ((xR >> 24) & 0xff);
-	}
-
-	lastEncipherXL = xL;
-	lastEncipherXR = xR;
-}
-private void encipher(int xL, int xR, int[] xLxR) {
-	xL ^= P[0];
-	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[1];
-	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[2];
-	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[3];
-	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[4];
-	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[5];
-	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[6];
-	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[7];
-	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[8];
-	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[9];
-	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[10];
-	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[11];
-	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[12];
-	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[13];
-	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[14];
-	xR ^= (((S[0][(xL >> 24) & 0xff] + S[1][(xL >> 16) & 0xff]) ^ (S[2][(xL >> 8) & 0xff])) + (S[3][xL & 0xff])) ^ P[15];
-	xL ^= (((S[0][(xR >> 24) & 0xff] + S[1][(xR >> 16) & 0xff]) ^ (S[2][(xR >> 8) & 0xff])) + (S[3][xR & 0xff])) ^ P[16];
-	xR ^= P[17];
-
-	xLxR[0] = xR;
-	xLxR[1] = xL;
-}
-public void setKey(byte key[]) {
-	int data = 0;
-	int offset = 0;
-
-	for (int i = 0; i < P.length; ++i) {
-		P[i] = INIT_DATA[offset++];
-	}
-
-	for (int i = 0; i < S.length; ++i) {
-		for (int j = 0; j < S[i].length; ++j) {
-			S[i][j] = INIT_DATA[offset++];
-		}
-	}
-
-	offset = 0;
-	for (int i = 0; i < P.length; ++i) {
-		data = 0;
-		for (int k = 0; k < 4; ++k) {
-			data = (data << 8) | (key[offset++] & 0xff);
-			if (offset >= key.length) {
-				offset = 0;
-			}
-		}
-		P[i] = P[i] ^ data;
-	}
-
-	int[] lr = new int[] { 0, 0 };
-	for (int i = 0; i < P.length; i += 2) {
-		encipher(lr[0], lr[1], lr);
-		P[i] = lr[0];
-		P[i + 1] = lr[1];
-	}
-
-	for (int i = 0; i < S.length; ++i) {
-		for (int j = 0; j < S[i].length; j += 2) {
-			encipher(lr[0], lr[1], lr);
-			S[i][j] = lr[0];
-			S[i][j + 1] = lr[1];
-		}
-	}
-
-	lastEncipherXL = 0;
-	lastEncipherXR = 0;
-	lastDecipherXL = 0;
-	lastDecipherXR = 0;
-}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/CVSSSHMessages.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/CVSSSHMessages.java
deleted file mode 100644
index 43b6f35..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/CVSSSHMessages.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-import org.eclipse.osgi.util.NLS;
-
-public class CVSSSHMessages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.team.internal.ccvs.ssh.messages";//$NON-NLS-1$
-
-	public static String closed;
-	public static String stream;
-
-	public static String Client_packetType;
-	public static String Client_notConnected;
-	public static String Client_cipher;
-	public static String Client_socketClosed;
-	public static String Client_authenticationFailed;
-	public static String Client_socket;
-	public static String Client_disconnectDescription;
-	public static String Client_noDisconnectDescription;
-	public static String Client_sshProtocolVersion;
-	public static String Client_hostIdChanged;
-	public static String Client_addedHostKey;
-
-	public static String ServerPacket_crc;
-
-	public static String SSHServerConnection_authenticating;
-
-	public static String Misc_missingMD5;
-
-	public static String KnownHosts_8;
-	public static String KnownHosts_9;
-	public static String KnownHosts_10;
-
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, CVSSSHMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Cipher.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Cipher.java
deleted file mode 100644
index bc58de1..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Cipher.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-public abstract class Cipher {
-public abstract void decipher(byte[] src, int srcPos, byte[] dst, int dstPos, int len);
-public abstract void encipher(byte[] src, int srcPos, byte[] dst, int dstPos, int len);
-public static Cipher getInstance(String algorithm) {
-	try {
-		Class c = Class.forName("org.eclipse.team.internal.ccvs.ssh." + algorithm); //$NON-NLS-1$
-		return (Cipher) c.newInstance();
-	} catch (Exception e) {
-		return null;
-	}
-}
-public abstract void setKey(byte[] key);
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Client.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Client.java
deleted file mode 100644
index a46ff34..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Client.java
+++ /dev/null
@@ -1,708 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-/**
- * An SSH 1.5 client..
- */
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InterruptedIOException;
-import java.io.OutputStream;
-import java.math.BigInteger;
-import java.net.Socket;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.connection.CVSAuthenticationException;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-import org.eclipse.team.internal.core.streams.PollingInputStream;
-import org.eclipse.team.internal.core.streams.PollingOutputStream;
-import org.eclipse.team.internal.core.streams.TimeoutOutputStream;
-
-public class Client {
-	// client identification string
-	private static final String clientId = "SSH-1.5-Java 1.2.2\n"; //$NON-NLS-1$
-
-	// server identification string
-	private static String serverId = null;
-
-	// maximum outgoing packet size
-	private static final int MAX_CLIENT_PACKET_SIZE = 1024;
-
-	// packet types
-	private static final int SSH_MSG_DISCONNECT = 1;
-	private static final int SSH_SMSG_PUBLIC_KEY = 2;
-	private static final int SSH_CMSG_SESSION_KEY = 3;
-	private static final int SSH_CMSG_USER = 4;
-	private static final int SSH_CMSG_AUTH_PASSWORD = 9;
-	private static final int SSH_CMSG_REQUEST_PTY = 10;
-	private static final int SSH_CMSG_EXEC_SHELL = 12;
-	private static final int SSH_CMSG_EXEC_CMD = 13;
-	private static final int SSH_SMSG_SUCCESS = 14;
-	private static final int SSH_SMSG_FAILURE = 15;
-	private static final int SSH_CMSG_STDIN_DATA = 16;
-	private static final int SSH_SMSG_STDOUT_DATA = 17;
-	private static final int SSH_SMSG_STDERR_DATA = 18;
-	private static final int SSH_SMSG_EXITSTATUS = 20;
-	private static final int SSH_CMSG_EXIT_CONFIRMATION = 33;
-	private static final int SSH_MSG_DEBUG = 36;
-
-	// cipher names
-	private static String[] cipherNames = { "None", "IDEA", "DES", "3DES", "TSS", "RC4", "Blowfish" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$
-
-	// cipher types
-	private static int SSH_CIPHER_BLOWFISH = 6;
-
-	// preferred cipher types
-	private int[] preferredCipherTypes = { SSH_CIPHER_BLOWFISH };
-
-	private String host;
-	private int port;
-	private String username;
-	private String password;
-	private String command;
-
-	private Socket socket;
-	/* package */ InputStream socketIn;
-	private PollingOutputStream socketOut;
-	private InputStream is;
-	private OutputStream os;
-	private boolean connected = false;
-	private int timeout = -1;
-
-	private Cipher cipher = null;
-
-	class StandardInputStream extends InputStream {
-		private ServerPacket packet = null;
-		private InputStream buffer = null;
-		private boolean atEnd = false;
-		private boolean closed = false;
-
-		public int available() throws IOException {
-			if (closed) {
-				throw new IOException(CVSSSHMessages.closed); 
-			}
-
-			int available = buffer == null ? 0 : buffer.available();
-
-			if (available == 0 && socketIn.available() > 0) {
-				fill();
-				if (atEnd) {
-					return 0;
-				}
-				available = buffer.available();
-			}
-
-			return available;
-		}
-
-		public void close() throws IOException {
-			if (!closed) {
-				closed = true;
-				if (packet != null) {
-					packet.close(false);
-					buffer = null;
-					packet = null;
-				}
-			}
-		}
-
-		public int read() throws IOException {
-			if (closed) {
-				throw new IOException(CVSSSHMessages.closed);
-			}
-
-			if (atEnd) {
-				return -1;
-			}
-
-			if (buffer == null || buffer.available() == 0) {
-				fill();
-				if (atEnd) {
-					return -1;
-				}
-			}
-
-			return buffer.read();
-		}
-
-		public int read(byte b[], int off, int len) throws IOException {
-			if (closed) {
-				throw new IOException(CVSSSHMessages.closed);
-			}
-
-			if (atEnd) {
-				return -1;
-			}
-
-			if (buffer == null || buffer.available() == 0) {
-				fill();
-				if (atEnd) {
-					return -1;
-				}
-			}
-
-			return buffer.read(b, off, len);
-		}
-
-		private void fill() throws IOException {
-			if (buffer != null) {
-				buffer.close();
-			}
-
-			packet = skip_SSH_MSG_DEBUG();
-			int packetType = packet.getType();
-
-			switch (packetType) {
-				case SSH_SMSG_STDOUT_DATA :
-				case SSH_SMSG_STDERR_DATA :
-				case SSH_MSG_DEBUG :
-					buffer = packet.getInputStream();
-					Misc.readInt(buffer);
-					break;
-				case SSH_SMSG_EXITSTATUS :
-					buffer = null;
-					atEnd = true;
-					InputStream pis = packet.getInputStream();
-					Misc.readInt(pis);
-					pis.close();
-					send(SSH_CMSG_EXIT_CONFIRMATION, null);
-					break;
-				case SSH_MSG_DISCONNECT :
-					buffer = null;
-					atEnd = true;
-					handleDisconnect(packet.getInputStream());
-					break;
-				default :
-					throw new IOException(NLS.bind(CVSSSHMessages.Client_packetType, (new Object[] {new Integer(packetType)})));
-			}
-		}
-		
-		private void handleDisconnect(InputStream in) throws IOException {
-			String description = null;
-			try {
-				description = Misc.readString(in);
-			} catch (IOException e) {
-			} finally {
-				in.close();
-			}
-			
-			// Log the description provided by the server
-			if (description == null) {
-				description = CVSSSHMessages.Client_noDisconnectDescription; 
-			}
-			
-			// Throw an IOException with the proper text
-			throw new IOException(NLS.bind(CVSSSHMessages.Client_disconnectDescription, (new Object[] {description})));
-		}
-	}
-
-	class StandardOutputStream extends OutputStream {
-		private int MAX_BUFFER_SIZE = MAX_CLIENT_PACKET_SIZE;
-		private byte[] buffer = new byte[MAX_BUFFER_SIZE];
-		private int bufpos = 0;
-		private boolean closed = false;
-
-		public void close() throws IOException {
-			if (!closed) {
-				try {
-					flush();
-				} finally {
-					closed = true;
-				}
-			}
-		}
-
-		public void flush() throws IOException {
-			if (closed) {
-				throw new IOException(CVSSSHMessages.closed);
-			}
-
-			if (bufpos > 0) {
-				send(SSH_CMSG_STDIN_DATA, buffer, 0, bufpos);
-				bufpos = 0;
-			}
-		}
-
-		public void write(int b) throws IOException {
-			if (closed) {
-				throw new IOException(CVSSSHMessages.closed);
-			}
-
-			buffer[bufpos++] = (byte) b;
-
-			if (bufpos == MAX_BUFFER_SIZE) {
-				flush();
-			}
-		}
-
-		public void write(byte b[], int off, int len) throws IOException {
-			if (closed) {
-				throw new IOException(CVSSSHMessages.closed); 
-			}
-
-			int bytesWritten = 0;
-			int totalBytesWritten = 0;
-
-			if (bufpos > 0) {
-				bytesWritten = Math.min(MAX_BUFFER_SIZE - bufpos, len);
-				System.arraycopy(b, off, buffer, bufpos, bytesWritten);
-				bufpos += bytesWritten;
-				totalBytesWritten += bytesWritten;
-
-				if (bufpos == MAX_BUFFER_SIZE) {
-					flush();
-				}
-			}
-
-			while (len - totalBytesWritten >= MAX_BUFFER_SIZE) {
-				send(SSH_CMSG_STDIN_DATA, b, off + totalBytesWritten, MAX_BUFFER_SIZE);
-				totalBytesWritten += MAX_BUFFER_SIZE;
-			}
-
-			if (totalBytesWritten < len) {
-				bytesWritten = len - totalBytesWritten;
-				System.arraycopy(b, off + totalBytesWritten, buffer, 0, bytesWritten);
-				bufpos += bytesWritten;
-			}
-		}
-	}
-public Client(String host, int port, String username, String password) {
-	this.host = host;
-	this.port = port;
-	this.username = username;
-	this.password = password;
-}
-public Client(String host, int port, String username, String password, String command) {
-	this(host, port, username, password);
-	this.command = command;
-}
-public Client(String host, int port, String username, String password, String command, int timeout) {
-	this(host, port, username, password, command);
-	this.timeout = timeout;
-}
-/**
- * Close all streams and sockets.
- */
-private void cleanup() throws IOException {
-	try {
-		if (is != null)
-			is.close();
-	} finally {
-		try {
-			if (os != null)
-				os.close();
-		} finally {
-			try {
-				if (socketIn != null)
-					socketIn.close();
-			} finally {
-				try {
-					if (socketOut != null)
-						socketOut.close();
-				} finally {
-					try {
-						if (socket != null)
-							socket.close();
-					} finally {
-						socket = null;
-					}
-				}
-			}
-		}
-	}
-}
-/**
- * Connect to the remote server. If an exception is thrown, the caller
- * can asssume that all streams and sockets are closed.
- */
-public void connect(IProgressMonitor monitor) throws IOException, CVSAuthenticationException {
-	// If we're already connected, just ignore the invokation
-	if (connected || monitor.isCanceled())
-		return;
-		
-	// Otherwise, set up the connection
-	try {
-		PollingInputStream pollingInputStream = null;
-		// Create the socket (the socket should always be null here)
-		if (socket == null) {
-			try {
-				socket = Util.createSocket(host, port, monitor);
-				// Bug 36351: disable buffering and send bytes immediately
-				socket.setTcpNoDelay(true);
-			} catch (InterruptedIOException e) {
-				// If we get this exception, chances are the host is not responding
-				throw new InterruptedIOException(NLS.bind(CVSSSHMessages.Client_socket, (new Object[] {host})));
-
-			}
-			if (timeout >= 0) {
-				socket.setSoTimeout(1000);
-			}
-			pollingInputStream = new PollingInputStream(socket.getInputStream(),
-				timeout > 0 ? timeout : 1, monitor);
-			socketIn = new BufferedInputStream(pollingInputStream);
-			
-			socketOut = new PollingOutputStream(new TimeoutOutputStream(
-				socket.getOutputStream(), 8192 /*bufferSize*/, 1000 /*writeTimeout*/, 1000 /*closeTimeout*/),
-				timeout > 0 ? timeout : 1, monitor);
-		}
-
-		// read the ssh server id. The socket creation may of failed if the
-		// server cannot accept our connection request. We don't expect the
-		// socket to be closed at this point.
-		// Don't allow cancellation during the initial handshake and login since this
-		// can potentially cause the SSH server to think that it is being hacked and
-		// disable the account.		
-		socketOut.setIsCancellable(false /* don't allow cancellation */);
-		pollingInputStream.setIsCancellable(false);
-		StringBuffer buf = new StringBuffer();
-		int c;
-		while ((c = socketIn.read()) != '\n') {
-			if (c == -1)
-				throw new IOException(CVSSSHMessages.Client_socketClosed);
-			buf.append((char) c);
-		}
-		serverId = buf.toString();
-		
-		if (Policy.DEBUG_SSH_PROTOCOL) {
-			System.out.println("SSH > server ID: " + serverId); //$NON-NLS-1$
-			System.out.println("SSH > client ID: " + clientId); //$NON-NLS-1$
-		}
-		
-		if (!serverId.startsWith("SSH-1.")) { //$NON-NLS-1$
-			String sshVersion = (serverId.startsWith("SSH-")? serverId:""); //$NON-NLS-1$ //$NON-NLS-2$
-			throw new IOException(NLS.bind(CVSSSHMessages.Client_sshProtocolVersion, new String[] { sshVersion }));
-		} 
-		
-		// send our id.
-		socketOut.write(clientId.getBytes());
-		socketOut.flush();
-
-		login();
-
-		socketOut.setIsCancellable(true /* allow cancellation */);
-		pollingInputStream.setIsCancellable(true);
-		
-		// start a shell and enter interactive session or start by
-		// executing the given command.
-		if( command == null ) {
-			startShell();
-		} else {
-			executeCommand();
-		}
-
-		is = new StandardInputStream();
-		os = new StandardOutputStream();
-		connected = true;
-	// If an exception occurs while connected, make sure we disconnect before passing the exception on
-	} finally {
-		if (! connected) cleanup();
-	}
-}
-/**
- * Terminate the connection to the server.
- */
-public void disconnect() throws IOException {
-	if (Policy.DEBUG_SSH_PROTOCOL) {
-		System.out.println("Disconnecting."); //$NON-NLS-1$
-	}	
-	if (connected) {
-		connected = false;
-		try {
-			send(SSH_MSG_DISCONNECT, null);
-		} finally {
-			cleanup();
-		}
-	}
-}
-public InputStream getInputStream() throws IOException {
-	if (!connected) {
-		throw new IOException(CVSSSHMessages.Client_notConnected);
-	}
-
-	return is;
-}
-public OutputStream getOutputStream() throws IOException {
-	if (!connected) {
-		throw new IOException(CVSSSHMessages.Client_notConnected);
-	}
-
-	return os;
-}
-
-private void startShell() throws IOException {
-	ServerPacket packet = null;
-	int packetType;
-
-	send_SSH_CMSG_REQUEST_PTY();
-
-	try {
-		packet = skip_SSH_MSG_DEBUG();
-		packetType = packet.getType();
-
-		if (packetType != SSH_SMSG_SUCCESS) {
-			throw new IOException(NLS.bind(CVSSSHMessages.Client_packetType, (new Object[] {new Integer(packetType)})));
-		}
-	} finally {
-		if (packet != null) {
-			packet.close(true /*perform crc check*/);
-		}
-	}
-
-	send(SSH_CMSG_EXEC_SHELL, null);
-}
-
-private void executeCommand() throws IOException {	
-	send(SSH_CMSG_EXEC_CMD, command);
-}
-
-private void login() throws IOException, CVSAuthenticationException {
-	ServerPacket packet = null;
-	int packetType;
-
-	try {
-		packet = skip_SSH_MSG_DEBUG();
-		packetType = packet.getType();
-
-		if (packetType != SSH_SMSG_PUBLIC_KEY) {
-			throw new IOException(NLS.bind(CVSSSHMessages.Client_packetType, (new Object[] {new Integer(packetType)})));
-		}
-
-		receive_SSH_SMSG_PUBLIC_KEY(packet);
-	} finally {
-		if (packet != null) {
-			packet.close(true);
-		}
-	}
-
-	try {
-		packet = skip_SSH_MSG_DEBUG();
-		packetType = packet.getType();
-
-		if (packetType != SSH_SMSG_SUCCESS) {
-			throw new IOException(NLS.bind(CVSSSHMessages.Client_packetType, (new Object[] {new Integer(packetType)})));
-		}
-	} finally {
-		if (packet != null) {
-			packet.close(true);
-		}
-	}
-
-	send(SSH_CMSG_USER, username);
-
-	try {
-		packet = skip_SSH_MSG_DEBUG();
-		packetType = packet.getType();
-
-		if (packetType != SSH_SMSG_FAILURE) {
-			throw new IOException(NLS.bind(CVSSSHMessages.Client_packetType, (new Object[] {new Integer(packetType)})));
-		}
-	} finally {
-		if (packet != null) {
-			packet.close(true);
-		}
-	}
-
-	send(SSH_CMSG_AUTH_PASSWORD, password);
-
-	try {
-		packet = skip_SSH_MSG_DEBUG();
-		packetType = packet.getType();
-
-		if (packetType == SSH_SMSG_FAILURE) {
-			throw new CVSAuthenticationException(CVSSSHMessages.Client_authenticationFailed, CVSAuthenticationException.RETRY);
-		}
-
-		if (packetType != SSH_SMSG_SUCCESS) {
-			throw new IOException(NLS.bind(CVSSSHMessages.Client_packetType, (new Object[] {new Integer(packetType)})));
-		}
-	} finally {
-		if (packet != null) {
-			packet.close(true);
-		}
-	}
-}
-private void receive_SSH_SMSG_PUBLIC_KEY(ServerPacket packet) throws IOException, CVSAuthenticationException {
-	InputStream pis = packet.getInputStream();
-
-	byte[] anti_spoofing_cookie = new byte[8];
-	Misc.readFully(pis, anti_spoofing_cookie);
-
-	byte[] server_key_bits = new byte[4];
-	Misc.readFully(pis, server_key_bits);
-
-	byte[] server_key_public_exponent = Misc.readMpInt(pis);
-	byte[] server_key_public_modulus = Misc.readMpInt(pis);
-
-	byte[] host_key_bits = new byte[4];
-	Misc.readFully(pis, host_key_bits);
-
-	byte[] host_key_public_exponent = Misc.readMpInt(pis);
-	byte[] host_key_public_modulus = Misc.readMpInt(pis);
-
-	byte[] protocol_flags = new byte[4];
-	Misc.readFully(pis, protocol_flags);
-
-	byte[] supported_ciphers_mask = new byte[4];
-	Misc.readFully(pis, supported_ciphers_mask);
-
-	byte[] supported_authentications_mask = new byte[4];
-	Misc.readFully(pis, supported_authentications_mask);
-
-	pis.close();
-
-	send_SSH_CMSG_SESSION_KEY(anti_spoofing_cookie, host_key_bits, server_key_public_modulus, host_key_public_modulus, supported_ciphers_mask, server_key_public_exponent, host_key_public_exponent);
-}
-void send(int packetType, String s) throws IOException {
-	byte[] data = s == null ? new byte[0] : s.getBytes("UTF-8"); //$NON-NLS-1$
-	send(packetType, data, 0, data.length);
-}
-void send(int packetType, byte[] data, int off, int len) throws IOException {
-	data = data == null ? null : Misc.lengthEncode(data, off, len);
-	ClientPacket packet = new ClientPacket(packetType, data, cipher);
-	socketOut.write(packet.getBytes());
-	socketOut.flush();
-}
-private void send_SSH_CMSG_REQUEST_PTY() throws IOException {
-	byte packet_type = SSH_CMSG_REQUEST_PTY;
-
-	byte[] termType = Misc.lengthEncode("dumb".getBytes(), 0, 4);//$NON-NLS-1$
-	byte[] row = {0, 0, 0, 0};
-	byte[] col = {0, 0, 0, 0};
-	byte[] XPixels = {0, 0, 0, 0};
-	byte[] YPixels = {0, 0, 0, 0};
-	byte[] terminalModes = {0};
-
-	byte[] data = new byte[termType.length + row.length + col.length + XPixels.length + YPixels.length + terminalModes.length];
-
-	int offset = 0;
-	System.arraycopy(termType, 0, data, offset, termType.length);
-
-	offset += termType.length;
-	System.arraycopy(row, 0, data, offset, row.length);
-
-	offset += row.length;
-	System.arraycopy(col, 0, data, offset, col.length);
-
-	offset += col.length;
-	System.arraycopy(XPixels, 0, data, offset, XPixels.length);
-
-	offset += XPixels.length;
-	System.arraycopy(YPixels, 0, data, offset, YPixels.length);
-
-	offset += YPixels.length;
-	System.arraycopy(terminalModes, 0, data, offset, terminalModes.length);
-
-	ClientPacket packet = new ClientPacket(packet_type, data, cipher);
-	socketOut.write(packet.getBytes());
-	socketOut.flush();
-}
-private void send_SSH_CMSG_SESSION_KEY(byte[] anti_spoofing_cookie, byte[] host_key_bits, byte[] server_key_public_modulus, byte[] host_key_public_modulus, byte[] supported_ciphers_mask, byte[] server_key_public_exponent, byte[] host_key_public_exponent) throws IOException, CVSAuthenticationException {
-	byte packet_type = SSH_CMSG_SESSION_KEY;
-
-	// session_id
-	byte[] session_id = new byte[host_key_public_modulus.length + server_key_public_modulus.length + anti_spoofing_cookie.length];
-
-	int offset = 0;
-	System.arraycopy(host_key_public_modulus, 0, session_id, offset, host_key_public_modulus.length);
-
-	offset += host_key_public_modulus.length;
-	System.arraycopy(server_key_public_modulus, 0, session_id, offset, server_key_public_modulus.length);
-
-	offset += server_key_public_modulus.length;
-	System.arraycopy(anti_spoofing_cookie, 0, session_id, offset, anti_spoofing_cookie.length);
-
-	session_id = Misc.md5(session_id);
-
-	// cipher_type
-	byte cipher_type = 0;
-	boolean foundSupportedCipher = false;
-
-	for (int i = 0; i < preferredCipherTypes.length && !foundSupportedCipher; ++i) {
-		cipher_type = (byte) preferredCipherTypes[i];
-		foundSupportedCipher = (supported_ciphers_mask[3] & (byte) (1 << cipher_type)) != 0;
-	}
-
-	if (!foundSupportedCipher) {
-		throw new IOException(CVSSSHMessages.Client_cipher);
-	}
-
-	// session_key
-	byte[] session_key = new byte[32];
-	byte[] session_key_xored = new byte[32];
-	byte[] session_key_encrypted = null;
-
-	Misc.random(session_key, 0, session_key.length, true);
-	System.arraycopy(session_key, 0, session_key_xored, 0, session_key.length);
-	Misc.xor(session_key_xored, 0, session_id, 0, session_key_xored, 0, session_id.length);
-
-	BigInteger host_e = new BigInteger(1, host_key_public_exponent);
-	BigInteger host_n = new BigInteger(1, host_key_public_modulus);
-	if (!new KnownHosts().verifyKey(host, host_key_bits, host_e, host_n)) {
-		throw new CVSAuthenticationException(CVSSSHMessages.Client_hostIdChanged, CVSAuthenticationException.NO_RETRY); 
-	};
-	byte[] result;
-	if (new BigInteger(1,server_key_public_modulus).compareTo(host_n) == -1) {
-		result = Misc.encryptRSAPkcs1(session_key_xored, server_key_public_exponent, server_key_public_modulus);
-		result = Misc.encryptRSAPkcs1(result, host_key_public_exponent, host_key_public_modulus);
-	} else {
-		result = Misc.encryptRSAPkcs1(session_key_xored, host_key_public_exponent, host_key_public_modulus);
-		result = Misc.encryptRSAPkcs1(result, server_key_public_exponent, server_key_public_modulus);	 
-	}
-
-	session_key_encrypted = new byte[result.length + 2];
-	session_key_encrypted[1] = (byte) ((8 * result.length) & 0xff);
-	session_key_encrypted[0] = (byte) (((8 * result.length) >> 8) & 0xff);
-
-	for (int i = 0; i < result.length; i++) {
-		session_key_encrypted[i + 2] = result[i];
-	}
-
-	// protocol_flags
-	byte[] protocol_flags = {0, 0, 0, 0};
-
-	// data
-	byte[] data = new byte[1 + anti_spoofing_cookie.length + session_key_encrypted.length + protocol_flags.length];
-
-	offset = 0;
-	data[offset++] = cipher_type;
-
-	System.arraycopy(anti_spoofing_cookie, 0, data, offset, anti_spoofing_cookie.length);
-
-	offset += anti_spoofing_cookie.length;
-	System.arraycopy(session_key_encrypted, 0, data, offset, session_key_encrypted.length);
-
-	offset += session_key_encrypted.length;
-	System.arraycopy(protocol_flags, 0, data, offset, protocol_flags.length);
-
-	// cipher
-	cipher = Cipher.getInstance(cipherNames[cipher_type]);
-	cipher.setKey(session_key);
-
-	// packet
-	ClientPacket packet = new ClientPacket(packet_type, data, null);
-	socketOut.write(packet.getBytes());
-	socketOut.flush();
-}
-
-ServerPacket skip_SSH_MSG_DEBUG() throws IOException {
-	ServerPacket packet = new ServerPacket(socketIn, cipher);
-	while (packet.getType() == SSH_MSG_DEBUG) {
-		packet.close(true);
-		packet = new ServerPacket(socketIn, cipher);
-	}
-	
-	return packet;
-}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/ClientPacket.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/ClientPacket.java
deleted file mode 100644
index cbeb7fe..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/ClientPacket.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-class ClientPacket extends Packet {
-	byte[] packet;
-public ClientPacket(int type, byte[] data, Cipher cipher) {
-	packetLength = data == null ? 5 : data.length + 5;
-	paddingLength = 8 - (packetLength % 8);
-	packetType = type;
-	packet = new byte[4 + paddingLength + packetLength];
-
-	int packetOff = 0;
-	Misc.writeInt(packetLength, packet, packetOff);
-	packetOff += 4;
-
-	if (cipher == null) {
-		for (int i = 0; i < paddingLength; i++) {
-			packet[packetOff++] = 0;
-		}
-	} else {
-		Misc.random(packet, packetOff, paddingLength, false);
-		packetOff += paddingLength;
-	}
-
-	packet[packetOff++] = (byte) packetType;
-
-	if (data != null) {
-		for (int i = 0; i < data.length; ++i) {
-			packet[packetOff++] = data[i];
-		}
-	}
-
-	long crc = Misc.crc32(packet, 4, packet.length - 8, 0);
-	Misc.writeInt((int) crc, packet, packetOff);
-	packetOff += 4;
-
-	if (cipher != null) {
-		cipher.encipher(packet, 4, packet, 4, packet.length - 4);
-	}
-}
-public byte[] getBytes() {
-	return packet;
-}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/KnownHosts.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/KnownHosts.java
deleted file mode 100644
index 3219d06..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/KnownHosts.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.math.BigInteger;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * I represent a database of known hosts usually placed in ~/.ssh/known_hosts
- * on Unix/Linux systems.
- * Currently, only RSA keys are supported, as these are the only keys we
- * have to deal with during SSH1 key exchange.
- */
-public class KnownHosts {
-
-	private String filename;
-	
-	public KnownHosts() {
-		this.filename = KnownHosts.defaultFilename();
-	}
-	
-	static String defaultFilename() {
-		if (!Platform.getOS().equals(Platform.OS_LINUX)) return internalFilename();
-		String HOME = System.getProperty("user.home"); //$NON-NLS-1$
-		if (HOME==null) return internalFilename();
-		return HOME+"/.ssh/known_hosts"; //$NON-NLS-1$
-	}
-
-	private static String internalFilename() {
-		return SSHPlugin.getPlugin().getStateLocation().append("known_hosts").toOSString(); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Verify if the public key for the specified host is known.
-	 * If the public key matches, return true.
-	 * If the key does not match, return false.
-	 * If the key is not listed in <code>known_hosts</code>, or
-	 * <code>known_hosts</code> does not exist, assume we are connecting
-	 * to the authentic server, add the key, and return true.
-	 * @param e key exponent
-	 * @param n key modulus
-	 * @return boolean whether the key is correct
-	 */
-	public boolean verifyKey(String hostname, byte[] host_key_bits, BigInteger e, BigInteger n) {
-		FileReader f;
-		BigInteger nbits = new BigInteger(1, host_key_bits);
-		try {
-			f= new FileReader(filename);
-		} catch (FileNotFoundException ex) {
-			createHostFile();
-			addHost(hostname, nbits, e, n);
-			return true;
-		}
-		BufferedReader r = new BufferedReader(f);
-		try {
-			String line;
-			while ((line = r.readLine()) != null) {
-				if (line.trim().length()==0) continue;
-				if (line.startsWith("#")) continue; //$NON-NLS-1$
-				String[] tokens=subStrings(line);
-				if (tokens.length==4 && Character.isDigit(tokens[1].charAt(0)) && tokens[0].equalsIgnoreCase(hostname)) {
-					if (nbits.equals(new BigInteger(tokens[1])) && e.equals(new BigInteger(tokens[2])) && n.equals(new BigInteger(tokens[3]))) {
-						f.close();
-						return true;
-					} else {
-						f.close();
-						return false;
-					}
-				}
-			}
-			f.close();
-			addHost(hostname, nbits, e, n);
-			return true;
-		} catch (IOException ex) {
-			SSHPlugin.log(IStatus.ERROR, CVSSSHMessages.KnownHosts_8, ex); 
-			return false;
-		}
-	}
-	
-	/*
-	 * Append the host key information to known_hosts.
-	 * Always assume the file exists.
-	 */
-	void addHost(String hostname, BigInteger key_bits, BigInteger e, BigInteger n) {
-		try {
-			FileWriter w = new FileWriter(defaultFilename(), true);
-			w.write(Character.LINE_SEPARATOR);
-			w.write(hostname + " " + key_bits.toString(10) + " " + e.toString(10) + " " + n.toString(10)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			w.close();
-			String message = NLS.bind(CVSSSHMessages.Client_addedHostKey, (new String[] {hostname, defaultFilename()})); 
-			SSHPlugin.log(IStatus.INFO, message, null);
-		} catch (IOException ex) {
-			SSHPlugin.log(IStatus.ERROR, CVSSSHMessages.KnownHosts_9, ex); 
-		}
-	}
-	
-	/*
-	 * Create the known_hosts file in the default location.
-	 * Fail if the file can not be created (issue a warning in the log).
-	 */
-	void createHostFile() {
-		try {
-			File file = new File(defaultFilename());
-			// Ensure the parent directory exists
-			File parentDir = file.getParentFile();
-			parentDir.mkdirs();
-			// Create the file
-			file.createNewFile();
-		} catch (IOException ee) {
-			SSHPlugin.log(IStatus.ERROR, CVSSSHMessages.KnownHosts_10, ee); 
-		}
-
-	}
-	private static String[] subStrings(String s) {
-		Vector v = subStringsVector(s);
-		String[] substrings = new String[v.size()];
-		v.copyInto(substrings);
-		return substrings;
-	}
-	private static Vector subStringsVector(String s) {
-		Vector v = new Vector();
-		s = s.trim();
-		if (s.length()==0) return v;
-		int first1 = s.indexOf(' ');
-		int first2 = s.indexOf('\t');
-		int first;
-		if ((first1==-1)&&(first2==-1)) first=-1;
-		else if ((first1!=-1)&&(first2!=-1)) first = Math.min(first1, first2);
-		else if (first1!=-1) first=first1; else first=first2;
-		if (first==-1) {
-			v.add(s);
-			return v;
-		}
-		v.add(s.substring(0,first));
-		v.addAll(subStringsVector(s.substring(first+1)));
-		return v;
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Misc.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Misc.java
deleted file mode 100644
index 2341e3c..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Misc.java
+++ /dev/null
@@ -1,473 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigInteger;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.security.SecureRandom;
-
-import org.eclipse.osgi.util.NLS;
-
-class Misc {
-	private static MessageDigest md5 = null;
-	private static SecureRandom random = null;
-	private static long crc32_tab[] = {
-		0x00000000L,
-		0x77073096L,
-		0xee0e612cL,
-		0x990951baL,
-		0x076dc419L,
-		0x706af48fL,
-		0xe963a535L,
-		0x9e6495a3L,
-		0x0edb8832L,
-		0x79dcb8a4L,
-		0xe0d5e91eL,
-		0x97d2d988L,
-		0x09b64c2bL,
-		0x7eb17cbdL,
-		0xe7b82d07L,
-		0x90bf1d91L,
-		0x1db71064L,
-		0x6ab020f2L,
-		0xf3b97148L,
-		0x84be41deL,
-		0x1adad47dL,
-		0x6ddde4ebL,
-		0xf4d4b551L,
-		0x83d385c7L,
-		0x136c9856L,
-		0x646ba8c0L,
-		0xfd62f97aL,
-		0x8a65c9ecL,
-		0x14015c4fL,
-		0x63066cd9L,
-		0xfa0f3d63L,
-		0x8d080df5L,
-		0x3b6e20c8L,
-		0x4c69105eL,
-		0xd56041e4L,
-		0xa2677172L,
-		0x3c03e4d1L,
-		0x4b04d447L,
-		0xd20d85fdL,
-		0xa50ab56bL,
-		0x35b5a8faL,
-		0x42b2986cL,
-		0xdbbbc9d6L,
-		0xacbcf940L,
-		0x32d86ce3L,
-		0x45df5c75L,
-		0xdcd60dcfL,
-		0xabd13d59L,
-		0x26d930acL,
-		0x51de003aL,
-		0xc8d75180L,
-		0xbfd06116L,
-		0x21b4f4b5L,
-		0x56b3c423L,
-		0xcfba9599L,
-		0xb8bda50fL,
-		0x2802b89eL,
-		0x5f058808L,
-		0xc60cd9b2L,
-		0xb10be924L,
-		0x2f6f7c87L,
-		0x58684c11L,
-		0xc1611dabL,
-		0xb6662d3dL,
-		0x76dc4190L,
-		0x01db7106L,
-		0x98d220bcL,
-		0xefd5102aL,
-		0x71b18589L,
-		0x06b6b51fL,
-		0x9fbfe4a5L,
-		0xe8b8d433L,
-		0x7807c9a2L,
-		0x0f00f934L,
-		0x9609a88eL,
-		0xe10e9818L,
-		0x7f6a0dbbL,
-		0x086d3d2dL,
-		0x91646c97L,
-		0xe6635c01L,
-		0x6b6b51f4L,
-		0x1c6c6162L,
-		0x856530d8L,
-		0xf262004eL,
-		0x6c0695edL,
-		0x1b01a57bL,
-		0x8208f4c1L,
-		0xf50fc457L,
-		0x65b0d9c6L,
-		0x12b7e950L,
-		0x8bbeb8eaL,
-		0xfcb9887cL,
-		0x62dd1ddfL,
-		0x15da2d49L,
-		0x8cd37cf3L,
-		0xfbd44c65L,
-		0x4db26158L,
-		0x3ab551ceL,
-		0xa3bc0074L,
-		0xd4bb30e2L,
-		0x4adfa541L,
-		0x3dd895d7L,
-		0xa4d1c46dL,
-		0xd3d6f4fbL,
-		0x4369e96aL,
-		0x346ed9fcL,
-		0xad678846L,
-		0xda60b8d0L,
-		0x44042d73L,
-		0x33031de5L,
-		0xaa0a4c5fL,
-		0xdd0d7cc9L,
-		0x5005713cL,
-		0x270241aaL,
-		0xbe0b1010L,
-		0xc90c2086L,
-		0x5768b525L,
-		0x206f85b3L,
-		0xb966d409L,
-		0xce61e49fL,
-		0x5edef90eL,
-		0x29d9c998L,
-		0xb0d09822L,
-		0xc7d7a8b4L,
-		0x59b33d17L,
-		0x2eb40d81L,
-		0xb7bd5c3bL,
-		0xc0ba6cadL,
-		0xedb88320L,
-		0x9abfb3b6L,
-		0x03b6e20cL,
-		0x74b1d29aL,
-		0xead54739L,
-		0x9dd277afL,
-		0x04db2615L,
-		0x73dc1683L,
-		0xe3630b12L,
-		0x94643b84L,
-		0x0d6d6a3eL,
-		0x7a6a5aa8L,
-		0xe40ecf0bL,
-		0x9309ff9dL,
-		0x0a00ae27L,
-		0x7d079eb1L,
-		0xf00f9344L,
-		0x8708a3d2L,
-		0x1e01f268L,
-		0x6906c2feL,
-		0xf762575dL,
-		0x806567cbL,
-		0x196c3671L,
-		0x6e6b06e7L,
-		0xfed41b76L,
-		0x89d32be0L,
-		0x10da7a5aL,
-		0x67dd4accL,
-		0xf9b9df6fL,
-		0x8ebeeff9L,
-		0x17b7be43L,
-		0x60b08ed5L,
-		0xd6d6a3e8L,
-		0xa1d1937eL,
-		0x38d8c2c4L,
-		0x4fdff252L,
-		0xd1bb67f1L,
-		0xa6bc5767L,
-		0x3fb506ddL,
-		0x48b2364bL,
-		0xd80d2bdaL,
-		0xaf0a1b4cL,
-		0x36034af6L,
-		0x41047a60L,
-		0xdf60efc3L,
-		0xa867df55L,
-		0x316e8eefL,
-		0x4669be79L,
-		0xcb61b38cL,
-		0xbc66831aL,
-		0x256fd2a0L,
-		0x5268e236L,
-		0xcc0c7795L,
-		0xbb0b4703L,
-		0x220216b9L,
-		0x5505262fL,
-		0xc5ba3bbeL,
-		0xb2bd0b28L,
-		0x2bb45a92L,
-		0x5cb36a04L,
-		0xc2d7ffa7L,
-		0xb5d0cf31L,
-		0x2cd99e8bL,
-		0x5bdeae1dL,
-		0x9b64c2b0L,
-		0xec63f226L,
-		0x756aa39cL,
-		0x026d930aL,
-		0x9c0906a9L,
-		0xeb0e363fL,
-		0x72076785L,
-		0x05005713L,
-		0x95bf4a82L,
-		0xe2b87a14L,
-		0x7bb12baeL,
-		0x0cb61b38L,
-		0x92d28e9bL,
-		0xe5d5be0dL,
-		0x7cdcefb7L,
-		0x0bdbdf21L,
-		0x86d3d2d4L,
-		0xf1d4e242L,
-		0x68ddb3f8L,
-		0x1fda836eL,
-		0x81be16cdL,
-		0xf6b9265bL,
-		0x6fb077e1L,
-		0x18b74777L,
-		0x88085ae6L,
-		0xff0f6a70L,
-		0x66063bcaL,
-		0x11010b5cL,
-		0x8f659effL,
-		0xf862ae69L,
-		0x616bffd3L,
-		0x166ccf45L,
-		0xa00ae278L,
-		0xd70dd2eeL,
-		0x4e048354L,
-		0x3903b3c2L,
-		0xa7672661L,
-		0xd06016f7L,
-		0x4969474dL,
-		0x3e6e77dbL,
-		0xaed16a4aL,
-		0xd9d65adcL,
-		0x40df0b66L,
-		0x37d83bf0L,
-		0xa9bcae53L,
-		0xdebb9ec5L,
-		0x47b2cf7fL,
-		0x30b5ffe9L,
-		0xbdbdf21cL,
-		0xcabac28aL,
-		0x53b39330L,
-		0x24b4a3a6L,
-		0xbad03605L,
-		0xcdd70693L,
-		0x54de5729L,
-		0x23d967bfL,
-		0xb3667a2eL,
-		0xc4614ab8L,
-		0x5d681b02L,
-		0x2a6f2b94L,
-		0xb40bbe37L,
-		0xc30c8ea1L,
-		0x5a05df1bL,
-		0x2d02ef8dL
-	};
-static public long crc32(byte[] b, int off, int len) {
-	return crc32(b, off, len, 0);
-}
-/**
- * Compute the crc	Cyclic Redundancy Check, with the polynomial 0xedb88320,
- * The polynomial is X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0
- *  We take it "backwards" and put the highest-order term in the lowest-order bit. 
- * The X^32 term is "implied"; the LSB is the X^31 term, etc.  
- * The X^0 term (usually shown as "+1") results in the MSB being 1.
- * so the poly is 0x04c11db7 (used for Ethernet)
- * The buf will be the Padding, Packet type, and Data fields. 
- * The crc is computed before any encryption.
- * R =X^n * M rem P		M message		P polynomial crc	R : crc calculated.
- * T(x) = x^n * M(x)  +  R(x)	property: T rem P = 0
- */
-static public long crc32(byte[] b, int off, int len, long crc32val) {
-	for (int i = 0; i < len; i++) {
-		crc32val = crc32_tab[(int) ((crc32val ^ b[off + i]) & 0xff)] ^ (crc32val >> 8);
-	}
-
-	return crc32val;
-}
-static public byte[] lengthEncode(byte[] b, int off, int len) {
-	byte[] result = new byte[len + 4];
-	writeInt(len, result, 0);
-	System.arraycopy(b, off, result, 4, len);
-	return result;
-}
-static public byte[] readMpInt(InputStream is) throws IOException {
-	int a = is.read();
-	int b = is.read();
-
-	if(a == -1 || b == -1){
-		throw new IOException(CVSSSHMessages.stream);
-	}
-
-	int bits = ((a & 0xFF) << 8) + (b & 0xFF);
-	int bytes = (bits + 7) / 8;
-
-	byte[] result = new byte[bytes];
-
-	readFully(is, result);
-
-	return result;
-}
-public static byte[] md5(byte[] b) throws IOException {
-	if (md5 == null) {
-		try {
-			md5 = MessageDigest.getInstance("MD5");//$NON-NLS-1$
-		} catch (NoSuchAlgorithmException e) {
-			throw new IOException(NLS.bind(CVSSSHMessages.Misc_missingMD5, new String[] { e.getMessage() })); 
-		}
-	}
-
-	return md5.digest(b);
-}
-public static byte[] md5(String s) throws IOException {
-	return md5(s.getBytes());
-}
-public static void readFully(InputStream is, byte[] b) throws IOException {
-	readFully(is, b, 0, b.length);
-}
-public static void readFully(InputStream is, byte[] b, int off, int len) throws IOException {
-	int bytesRead = 0;
-	int totalBytesRead = 0;
-
-	while (totalBytesRead < len) {
-		bytesRead = is.read(b, totalBytesRead + off, len - totalBytesRead);
-
-		if (bytesRead == -1) {
-			throw new IOException(CVSSSHMessages.stream);
-		}
-
-		totalBytesRead += bytesRead;
-	}
-}
-public static int readInt(byte[] arr, int off) {
-	int a = arr[off] & 0xff;
-	int b = arr[off + 1] & 0xff;
-	int c = arr[off + 2] & 0xff;
-	int d = arr[off + 3] & 0xff;
-
-	return (a << 24) + (b << 16) + (c << 8) + d;
-}
-public static int readInt(InputStream is) throws IOException {
-	int a = is.read();
-	int b = is.read();
-	int c = is.read();
-	int d = is.read();
-
-	if (a == -1 || b == -1 || c == -1 || d == -1) {
-		throw new IOException(CVSSSHMessages.stream);
-	}
-
-	return (a << 24) + (b << 16) + (c << 8) + d;
-}
-public static String readString(InputStream is) throws IOException {
-	int size = Misc.readInt(is);
-	byte[] buffer = new byte[size];
-	for (int i = 0; i < buffer.length; i++) {
-		int next = is.read();
-		if (next == -1) {
-			throw new IOException(CVSSSHMessages.stream); 
-		} else {
-			buffer[i] = (byte)next;
-		}
-	}
-	return new String(buffer);
-}
-public static void skipFully(InputStream is, long n) throws IOException {
-	while (n != 0) {
-		int b = is.read();
-
-		if (b == -1) {
-			if (n > 0) {
-				throw new IOException(CVSSSHMessages.stream);
-			}
-
-			return;
-		}
-
-		--n;
-	}
-}
-public static void writeInt(int i, byte[] b, int off) {
-	b[off] = (byte) ((i >> 24) & 0xff);
-	b[off + 1] = (byte) ((i >> 16) & 0xff);
-	b[off + 2] = (byte) ((i >> 8) & 0xff);
-	b[off + 3] = (byte) (i & 0xff);
-}
-static public void xor(byte[] src_a, int off_a, byte[] src_b, int off_b, byte[] dst, int dst_off, int len) {
-	for(int i = 0; i < len; ++i){
-		dst[i + dst_off] = (byte) (src_a[i + off_a] ^ src_b[i + off_b]);
-	}
-}
-static public void random(byte[] b, int off, int len, boolean allowZeroBytes) {
-	if (random == null) {
-		try {
-			random = SecureRandom.getInstance("SHA1PRNG");//$NON-NLS-1$
-		} catch (NoSuchAlgorithmException e) {
-			// If SHA1PRNG is not available, just use the default
-			random = new SecureRandom();
-		}
-	}
-
-	for(int i = off; i < off + len; ++i){
-		do {
-			b[i] = (byte) random.nextInt();
-		} while(!allowZeroBytes && b[i] == 0);
-	}
-}
-static public byte[] encryptRSAPkcs1(byte[] data, byte[] public_key_exponent, byte[] public_key_modulus) {
-	byte[] block;
-
-	int offset = 0;
-	block = new byte[public_key_modulus.length];
-	block[offset++] = 0;
-	block[offset++] = 2;
-
-	Misc.random(block, offset, block.length - data.length - 3, false);
-	offset += block.length - data.length - 3;
-
-	block[offset++] = 0;
-
-	for (int i = 0; i < data.length; i++){
-		block[offset++] = data[i];
-	}
-
-	BigInteger m, e, message;
-	byte[] messageByte;
-
-	m = new BigInteger(1, public_key_modulus);
-	e = new BigInteger(1, public_key_exponent);
-	message = new BigInteger(1, block);
-	message = message.modPow(e, m);
-
-	byte[] messageByteTemp = message.toByteArray();
-	messageByte = new byte[public_key_modulus.length];
-
-	int tempOffset = 0;
-	while (messageByteTemp[tempOffset] == 0){
-		tempOffset++;
-	}
-
-	for (int i = messageByte.length - messageByteTemp.length + tempOffset; i < messageByte.length; i++){
-		messageByte[i] = messageByteTemp[tempOffset++];
-	}
-
-	return messageByte;
-}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Packet.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Packet.java
deleted file mode 100644
index 94d4726..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Packet.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-class Packet {
-	protected int packetLength;
-	protected int paddingLength;
-	protected int packetType;
-public int getType() {
-	return packetType;
-}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Policy.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Policy.java
deleted file mode 100644
index 9e8ce0a..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/Policy.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-
-
-import org.eclipse.core.runtime.Platform;
-
-public class Policy {
-	//debug constants
-	public static boolean DEBUG_SSH_PROTOCOL = false;
-
-	static {
-		//init debug options
-		if (SSHPlugin.getPlugin().isDebugging()) {
-			DEBUG_SSH_PROTOCOL = "true".equalsIgnoreCase(Platform.getDebugOption(SSHPlugin.ID + "/ssh_protocol"));//$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHMethod.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHMethod.java
deleted file mode 100644
index 6af5f92..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHMethod.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.IConnectionMethod;
-import org.eclipse.team.internal.ccvs.core.IServerConnection;
-
-public class SSHMethod implements IConnectionMethod {
-	/**
-	 * @see IConnectionMethod#getName
-	 */
-	public String getName() {
-		return "extssh";//$NON-NLS-1$
-	}
-	
-	/**
-	 * @see IConnectionMethod#createConnection
-	 */
-	public IServerConnection createConnection(ICVSRepositoryLocation repositoryRoot, String password) {
-		return new SSHServerConnection(repositoryRoot, password);
-	}
-
-	public void disconnect(ICVSRepositoryLocation location) {
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHPlugin.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHPlugin.java
deleted file mode 100644
index 1240c48..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHPlugin.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-public class SSHPlugin extends Plugin {
-	
-	public static String ID = "org.eclipse.team.cvs.ssh"; //$NON-NLS-1$
-
-	private static SSHPlugin instance;
-	
-	/**
-	 * Log the given exception along with the provided message and severity indicator
-	 */
-	public static void log(int severity, String message, Throwable e) {
-		getPlugin().getLog().log(new Status(severity, ID, 0, message, e));
-	}
-	
-	/**
-	 * Constructor for SSHPlugin
-	 */
-	public SSHPlugin() {
-		super();	
-		instance = this;
-	}
-	
-	/**
-	 * Method getPlugin.
-	 */
-	public static SSHPlugin getPlugin() {
-		return instance;
-	}
-
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHServerConnection.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHServerConnection.java
deleted file mode 100644
index 4ea043f..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/SSHServerConnection.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.IServerConnection;
-import org.eclipse.team.internal.ccvs.core.connection.CVSAuthenticationException;
-
-public class SSHServerConnection implements IServerConnection {
-	
-	// command to start remote cvs in server mode
-	private static final String INVOKE_SVR_CMD = "cvs server"; //$NON-NLS-1$
-	
-	private static final int DEFAULT_PORT = 22;
-	
-	// cvs format for the repository (e.g. :extssh:user@host:/home/cvs/repo)
-	private ICVSRepositoryLocation location;
-	
-	// password for user specified in repository location string
-	private String password;
-	
-	// incoming from remote host
-	InputStream inputStream;
-	
-	// outgoing to remote host
-	OutputStream outputStream;
-	
-	// ssh client 
-	Client client;
-
-	public SSHServerConnection(ICVSRepositoryLocation location, String password) {
-		if (password == null) {
-			password = ""; //$NON-NLS-1$
-		}
-		this.location = location;
-		this.password = password;
-	}
-
-	public void close() throws IOException {
-		client.disconnect();
-	}
-	/**
-	 * Returns the <code>InputStream</code> used to read data from the
-	 * server.
-	 */
-	public InputStream getInputStream() {
-		return inputStream;
-	}
-	/**
-	 * Returns the <code>OutputStream</code> used to send data to the
-	 * server.
-	 */
-	public OutputStream getOutputStream() {
-		return outputStream;
-	}
-
-	/**
-	 * Opens the connection and invokes cvs in server mode.
-	 *
-	 * @see Connection.open()
-	 */
-	public void open(IProgressMonitor monitor) throws IOException, CVSAuthenticationException {
-		monitor.subTask(CVSSSHMessages.SSHServerConnection_authenticating); 
-		monitor.worked(1);
-		String hostname = location.getHost();
-		String username = location.getUsername();
-		int port = location.getPort();
-		if (port == ICVSRepositoryLocation.USE_DEFAULT_PORT)
-			port = DEFAULT_PORT;
-		// create the connection using host, username, and password
-		client = new Client(hostname, port, username, password, INVOKE_SVR_CMD, location.getTimeout());	
-		client.connect(monitor);
-		inputStream = client.getInputStream();
-		outputStream = client.getOutputStream();
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/ServerPacket.java b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/ServerPacket.java
deleted file mode 100644
index d20f827..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/ServerPacket.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh;
-
-import java.io.FilterInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-class ServerPacket extends Packet {
-	private PacketInputStream pis = null;
-
-	private static class PacketInputStream extends FilterInputStream {
-		private static int MAX_BUFFER_SIZE = 1024;
-
-		private byte[] buffer = new byte[MAX_BUFFER_SIZE];
-		private int bufpos = 0;
-		private int buflen = 0;
-		private int bufrem = 0;
-
-		private long remaining = 0;
-		private Cipher cipher = null;
-
-		private long crc = 0;
-		private boolean closed = false;
-
-		public PacketInputStream(InputStream in, long length, Cipher cipher) {
-			super(in);
-
-			this.remaining = length;
-			this.cipher = cipher;
-		}
-
-		public int available() throws IOException {
-			if (closed) {
-				throw new IOException(CVSSSHMessages.closed);
-			}
-
-			return (int) Math.min(remaining - 4, Integer.MAX_VALUE);
-		}
-
-		public void close() throws IOException {
-			close(true);
-		}
-		
-		public void close(boolean doCrcCheck) throws IOException {
-			if (!closed) {
-				try {					
-					long toRead = doCrcCheck ? remaining - 4 : remaining;			
-					
-					try {
-						Misc.skipFully(this, toRead);
-					} catch(IOException e) {
-						// we tried our best, keep going
-					}
-					
-					if(doCrcCheck) {
-						if ((int) crc != Misc.readInt(buffer, bufpos)) {
-							throw new IOException(CVSSSHMessages.ServerPacket_crc);
-						}
-					}
-				} finally {
-					closed = true;
-				}
-			}
-		}
-		
-		private void fill() throws IOException {
-			if (bufrem > 0) {
-				System.arraycopy(buffer, bufpos, buffer, 0, bufrem);
-			}
-
-			int totalBytesRead = bufrem;
-			int read = 0;
-			int toRead = (int)Math.min(remaining - totalBytesRead, MAX_BUFFER_SIZE - totalBytesRead);
-
-			while (toRead > 0) {
-				read = in.read(buffer, totalBytesRead, toRead);
-
-				if (read == -1) {
-					throw new IOException(CVSSSHMessages.stream);
-				}
-
-				totalBytesRead += read;
-				toRead -= read;
-			}
-
-			bufpos = 0;
-			
-			buflen = (totalBytesRead / 8) * 8;
-			bufrem = totalBytesRead - buflen;
-
-			if (cipher != null) {
-				cipher.decipher(buffer, 0, buffer, 0, buflen);
-			}
-			
-			crc = Misc.crc32(buffer, 0, buflen == remaining ? buflen - 4 : buflen, crc);
-		}
-
-		public int read() throws IOException {
-			if (closed) {
-				throw new IOException(CVSSSHMessages.closed);
-			}
-
-			if (remaining - 4 == 0) {
-				return -1;
-			}
-
-			if (bufpos == buflen) {
-				fill();
-			}
-
-			int b = buffer[bufpos] & 0xff;
-
-			++bufpos;
-			--remaining;
-
-			return b;
-		}
-
-		public int read(byte b[], int off, int len) throws IOException {
-			if (closed) {
-				throw new IOException(CVSSSHMessages.closed);
-			}
-
-			if (remaining - 4 == 0) {
-				return -1;
-			}
-
-			if (bufpos == buflen) {
-				fill();
-			}
-
-			len = Math.min(len, (buflen == remaining + bufpos ? buflen - 4 : buflen) - bufpos);
-
-			System.arraycopy(buffer, bufpos, b, off, len);
-
-			bufpos += len;
-			remaining -= len;
-
-			return len;
-		}
-	}
-public ServerPacket(InputStream is, Cipher cipher) throws java.io.IOException {
-	packetLength = Misc.readInt(is);
-	paddingLength = 8 - (packetLength % 8);
-	pis = new PacketInputStream(is, packetLength + paddingLength, cipher);
-	Misc.skipFully(pis, paddingLength);
-	packetType = (byte) pis.read();
-}
-public void close(boolean doCrcCheck) throws IOException {
-	pis.close(doCrcCheck);
-}
-public InputStream getInputStream() {
-	return pis;
-}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/messages.properties b/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/messages.properties
deleted file mode 100644
index ea34f12..0000000
--- a/bundles/org.eclipse.team.cvs.ssh/src/org/eclipse/team/internal/ccvs/ssh/messages.properties
+++ /dev/null
@@ -1,38 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-# String resources for vcm.core.cvs.ssh
-###########################
-
-closed=Closed
-stream=Unexpected end of stream
-
-Client_packetType=unexpected packet type: {0}
-Client_notConnected=Not connected
-Client_cipher=Supported cipher not found
-Client_socketClosed=Connection closed by server
-Client_authenticationFailed=Invalid username, password, host or repository
-Client_socket=Cannot connect to host: {0}
-Client_disconnectDescription=SSH server disconnected: {0}
-Client_noDisconnectDescription=No reason could be obtained.
-Client_sshProtocolVersion=Unsupported SSH protocol version: {0}
-Client_hostIdChanged=The server host key does not match the key previously stored.  Either the host key has changed or there is a man-in-the-middle attack. Contact the server administrator
-Client_addedHostKey=Host key for {0} was not found in the list of known hosts stored in {1}. The key is being automatically added to the known_hosts file for you. This key, which is like a personal signature, is used by Eclipse to guarantee that the host it is communicating with is the correct one. If the Eclipse client detects a change in this key you will be notified.
-
-ServerPacket_crc=crc error
-
-SSHServerConnection_authenticating=Authenticating over extssh
-
-Misc_missingMD5=The MD5 encryption algorithm is required but not available: {0}
-
-KnownHosts_8=Error reading host key file
-KnownHosts_9=Error writing host key file
-KnownHosts_10=Error creating host key file
diff --git a/bundles/org.eclipse.team.cvs.ssh2/.classpath b/bundles/org.eclipse.team.cvs.ssh2/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.team.cvs.ssh2/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.team.cvs.ssh2/.cvsignore b/bundles/org.eclipse.team.cvs.ssh2/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.team.cvs.ssh2/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.team.cvs.ssh2/.project b/bundles/org.eclipse.team.cvs.ssh2/.project
deleted file mode 100644
index e42f4a5..0000000
--- a/bundles/org.eclipse.team.cvs.ssh2/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.team.cvs.ssh2</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.team.cvs.ssh2/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.team.cvs.ssh2/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ee17cff..0000000
--- a/bundles/org.eclipse.team.cvs.ssh2/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,65 +0,0 @@
-#Thu Jun 29 09:05:00 EDT 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX
diff --git a/bundles/org.eclipse.team.cvs.ssh2/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.team.cvs.ssh2/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 58b5f78..0000000
--- a/bundles/org.eclipse.team.cvs.ssh2/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Wed Mar 15 21:15:42 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
diff --git a/bundles/org.eclipse.team.cvs.ssh2/META-INF/MANIFEST.MF b/bundles/org.eclipse.team.cvs.ssh2/META-INF/MANIFEST.MF
deleted file mode 100644
index 04d3c28..0000000
--- a/bundles/org.eclipse.team.cvs.ssh2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.team.cvs.ssh2; singleton:=true
-Bundle-Version: 3.2.200.qualifier
-Bundle-Activator: org.eclipse.team.internal.ccvs.ssh2.CVSSSH2Plugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.team.internal.ccvs.ssh2;x-internal:=true
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.team.cvs.core;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.team.core;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.team.cvs.ssh;bundle-version="[3.2.0,4.0.0)",
- com.jcraft.jsch;bundle-version="[0.1.27,2.0.0)",
- org.eclipse.jsch.core;bundle-version="[1.1.0,2.0.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
diff --git a/bundles/org.eclipse.team.cvs.ssh2/about.html b/bundles/org.eclipse.team.cvs.ssh2/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.team.cvs.ssh2/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.ssh2/build.properties b/bundles/org.eclipse.team.cvs.ssh2/build.properties
deleted file mode 100644
index 821e083..0000000
--- a/bundles/org.eclipse.team.cvs.ssh2/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# Eclipse build contribution
-bin.includes = about.html,\
-               plugin.xml,\
-               plugin.properties,\
-               .,\
-               META-INF/
-src.includes = about.html
-source.. = src/
diff --git a/bundles/org.eclipse.team.cvs.ssh2/plugin.properties b/bundles/org.eclipse.team.cvs.ssh2/plugin.properties
deleted file mode 100644
index fdf3516..0000000
--- a/bundles/org.eclipse.team.cvs.ssh2/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     #	  Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
-#     IBM Corporation - implementation
-###############################################################################
-providerName=Eclipse.org
-pluginName=CVS SSH2
-ssh2PreferencePage.name=SSH2 Connection Method
diff --git a/bundles/org.eclipse.team.cvs.ssh2/plugin.xml b/bundles/org.eclipse.team.cvs.ssh2/plugin.xml
deleted file mode 100644
index f3651f2..0000000
--- a/bundles/org.eclipse.team.cvs.ssh2/plugin.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<!-- =================================================================================== -->
-<!-- SSH2 Plug-in Manifest 					                                             -->
-<!-- =================================================================================== -->
-<plugin>
-
-<!-- =================================================================================== -->
-<!-- Runtime Libraries                                                                   -->
-<!-- =================================================================================== -->
-
-<!-- =================================================================================== -->
-<!-- Prerequisite Plug-ins                                                               -->
-<!-- =================================================================================== -->
-
-<!-- =================================================================================== -->
-<!-- Extension Point: CVS connection method                                              -->
-<!-- =================================================================================== -->
-<extension id="ssh2" point="org.eclipse.team.cvs.core.connectionmethods">
-	<adapter>
-		<run class="org.eclipse.team.internal.ccvs.ssh2.CVSSSH2Method">
-			<parameter name="trace" value="false"/>
-		</run>
-	</adapter>
-</extension>
-
-<extension id="pserverssh2" point="org.eclipse.team.cvs.core.connectionmethods">
-	<adapter>
-		<run class="org.eclipse.team.internal.ccvs.ssh2.PServerSSH2Method">
-			<parameter name="trace" value="false"/>
-		</run>
-	</adapter>
-</extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/CVSSSH2Messages.java b/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/CVSSSH2Messages.java
deleted file mode 100644
index dabdf21..0000000
--- a/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/CVSSSH2Messages.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.team.internal.ccvs.ssh2;
-
-import org.eclipse.osgi.util.NLS;
-
-public class CVSSSH2Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.team.internal.ccvs.ssh2.messages";//$NON-NLS-1$
-	
-	public static String JSchSession_3;
-
-	public static String JSchSession_4;
-
-	public static String JSchSession_5;
-	public static String CVSSSH2ServerConnection_open;
-	public static String CVSSSH2PreferencePage_18;
-	public static String CVSSSH2PreferencePage_19;
-	public static String CVSSSH2PreferencePage_20;
-	public static String CVSSSH2PreferencePage_21;
-	public static String CVSSSH2PreferencePage_23;
-	public static String CVSSSH2PreferencePage_24;
-	public static String CVSSSH2PreferencePage_25;
-	public static String CVSSSH2PreferencePage_26;
-	public static String CVSSSH2PreferencePage_27;
-	public static String CVSSSH2PreferencePage_30;
-	public static String CVSSSH2PreferencePage_31;
-	public static String CVSSSH2PreferencePage_32;
-	public static String CVSSSH2PreferencePage_33;
-	public static String CVSSSH2PreferencePage_34;
-	public static String CVSSSH2PreferencePage_35;
-	public static String CVSSSH2PreferencePage_36;
-	public static String CVSSSH2PreferencePage_39;
-	public static String CVSSSH2PreferencePage_41;
-	public static String CVSSSH2PreferencePage_42;
-	public static String CVSSSH2PreferencePage_43;
-	public static String CVSSSH2PreferencePage_44;
-	public static String CVSSSH2PreferencePage_45;
-	public static String CVSSSH2PreferencePage_47;
-	public static String CVSSSH2PreferencePage_48;
-	public static String CVSSSH2PreferencePage_49;
-	public static String CVSSSH2PreferencePage_50;
-	public static String CVSSSH2PreferencePage_53;
-	public static String CVSSSH2PreferencePage_55;
-	public static String CVSSSH2PreferencePage_57;
-	public static String CVSSSH2PreferencePage_59;
-	public static String CVSSSH2PreferencePage_99;
-	public static String CVSSSH2PreferencePage_100;
-	public static String CVSSSH2PreferencePage_104;
-	public static String CVSSSH2PreferencePage_105;
-	public static String CVSSSH2PreferencePage_106;
-	public static String CVSSSH2PreferencePage_107;
-	public static String CVSSSH2PreferencePage_108;
-	public static String CVSSSH2PreferencePage_109;
-	public static String CVSSSH2PreferencePage_110;
-	public static String CVSSSH2PreferencePage_111;
-	public static String CVSSSH2ServerConnection_3;
-	public static String CVSSSH2ServerConnection_0;
-	public static String CVSSSH2ServerConnection_1;
-	public static String CVSSSH2PreferencePage_information;
-	public static String CVSSSH2PreferencePage_error;
-	public static String CVSSSH2PreferencePage_confirmation;
-	public static String CVSSSH2PreferencePage_question;
-	public static String CVSSSH2PreferencePage_125;
-	public static String CVSSSH2PreferencePage_126;
-	public static String CVSSSH2PreferencePage_127;
-	public static String CVSSSH2PreferencePage_128;
-	public static String CVSSSH2PreferencePage_129;
-	public static String CVSSSH2PreferencePage_130;
-	public static String CVSSSH2PreferencePage_131;
-	public static String CVSSSH2PreferencePage_132;
-	public static String CVSSSH2PreferencePage_133;
-	public static String CVSSSH2PreferencePage_134;
-	public static String CVSSSH2PreferencePage_135;
-	public static String CVSSSH2PreferencePage_136;
-	public static String CVSSSH2PreferencePage_138;
-	public static String CVSSSH2PreferencePage_139;
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, CVSSSH2Messages.class);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/CVSSSH2Method.java b/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/CVSSSH2Method.java
deleted file mode 100644
index 15e1670..0000000
--- a/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/CVSSSH2Method.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - removed preference for enabling SSH2
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh2;
-
-import org.eclipse.team.internal.ccvs.core.*;
-
-/**
- * SSH2 will hijack the 'extssh' method and use the SSH2 protocol instead
- * of SSH1. If the server doesn't support SSH2, the server connection method
- * will try connecting with SSH1.
- * 
- * @since 3.0
- */
-public class CVSSSH2Method implements IConnectionMethod {
-	
-	public String getName() {
-		return "extssh"; //$NON-NLS-1$
-	}
-	
-	public IServerConnection createConnection(ICVSRepositoryLocation root, String password) {
-		return new CVSSSH2ServerConnection(root, password);
-	}
-	
-	public void disconnect(ICVSRepositoryLocation location) {
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/CVSSSH2Plugin.java b/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/CVSSSH2Plugin.java
deleted file mode 100644
index 9e803e1..0000000
--- a/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/CVSSSH2Plugin.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh2;
-
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.jsch.core.IJSchService;
-import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class CVSSSH2Plugin extends Plugin {
-
-	public static String ID = "org.eclipse.team.cvs.ssh2"; //$NON-NLS-1$
-	private static CVSSSH2Plugin plugin;
-
-	private ServiceTracker tracker;
-	
-	public CVSSSH2Plugin() {
-		super();
-		plugin = this;
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		try {
-			JSchSession.shutdown();
-			tracker.close();
-		} finally {
-			super.stop(context);
-		}
-	}
-
-	public static CVSSSH2Plugin getDefault() {
-		return plugin;
-	}
-	
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	    tracker = new ServiceTracker(getBundle().getBundleContext(), IJSchService.class.getName(), null);
-	    tracker.open();
-	}
-	
-    public IJSchService getJSchService() {
-        return (IJSchService)tracker.getService();
-    }
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/CVSSSH2ServerConnection.java b/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/CVSSSH2ServerConnection.java
deleted file mode 100644
index 1da2324..0000000
--- a/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/CVSSSH2ServerConnection.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh2;
-import java.io.*;
-import java.net.NoRouteToHostException;
-import java.net.UnknownHostException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.IServerConnection;
-import org.eclipse.team.internal.ccvs.core.connection.CVSAuthenticationException;
-import org.eclipse.team.internal.ccvs.ssh.SSHServerConnection;
-import org.eclipse.team.internal.core.streams.*;
-
-import com.jcraft.jsch.*;
-
-/**
- * SSH2 connection method. Has the property of defaulting to SSH1 if the server
- * doesn't support SSH2. 
- */
-public class CVSSSH2ServerConnection implements IServerConnection {
-	private final class SSH2IOException extends IOException {
-        private static final long serialVersionUID = 1L;
-
-        private final JSchException e;
-
-        SSH2IOException(String s, JSchException e) {
-            super(s);
-            this.e = e;
-        }
-
-        public Throwable getCause() {
-            return e;
-        }
-    }
-    private static final String COMMAND = "cvs server"; //$NON-NLS-1$
-	private ICVSRepositoryLocation location;
-	private String password;
-	private InputStream inputStream;
-	private OutputStream outputStream;
-	private JSchSession session;
-	private Channel channel;
-	private IServerConnection ssh1;
-	
-	protected CVSSSH2ServerConnection(ICVSRepositoryLocation location, String password) {
-		this.location = location;
-		this.password = password;
-	}
-	public void close() throws IOException {
-		if (ssh1 != null) {
-			ssh1.close();
-			ssh1 = null;
-			return;
-		}
-		try {
-			if (inputStream != null) {
-				try {
-					inputStream.close();
-				} catch (IOException e) {
-					// Ignore I/O Exception on close
-				}
-			}
-		} finally {
-			try {
-				if (outputStream != null) {
-					try {
-						outputStream.close();
-					} catch (IOException e) {
-						// Ignore I/O Exception on close
-					}
-				}
-			} finally {
-				if (channel != null)
-					channel.disconnect();
-			}
-		} 
-	}
-	public InputStream getInputStream() {
-		if (ssh1 != null) {
-			return ssh1.getInputStream();
-		}
-		return inputStream;
-	}
-	public OutputStream getOutputStream() {
-		if (ssh1 != null) {
-			return ssh1.getOutputStream();
-		}
-		return outputStream;
-	}
-	public void open(IProgressMonitor monitor) throws IOException, CVSAuthenticationException {
-		if (ssh1 != null) {
-			ssh1.open(monitor);
-			return;
-		}
-		monitor.subTask(NLS.bind(CVSSSH2Messages.CVSSSH2ServerConnection_open, new String[] { location.getHost() })); 
-		monitor.worked(1);
-		internalOpen(monitor);
-	}
-	/**
-	 * @param monitor
-	 * @throws IOException
-	 * @throws CVSAuthenticationException
-	 */
-	private void internalOpen(IProgressMonitor monitor) throws IOException, CVSAuthenticationException {
-		try {
-			OutputStream channel_out = null;
-			InputStream channel_in = null;
-            boolean firstTime = true;
-            boolean tryAgain = false;
-			while (firstTime || tryAgain) {
-                tryAgain = false; // reset the try again flag
-				session = JSchSession.getSession(location, location.getUsername(), password, location.getHost(), location.getPort(), monitor);
-				channel = session.getSession().openChannel("exec"); //$NON-NLS-1$
-				((ChannelExec) channel).setCommand(COMMAND);
-				channel_out = channel.getOutputStream();
-				channel_in = channel.getInputStream();
-				try {
-					channel.connect();
-				} catch (JSchException ee) {
-                    // This strange logic is here due to how the JSch client shares sessions.
-                    // It is possible that we have obtained a session that thinks it is connected
-                    // but is not. Channel connection only works if the session is connected so the
-                    // above channel connect may fail because the session is down. For this reason,
-                    // we want to retry if the connection fails.
-                    try {
-                        if (firstTime && (isSessionDownError(ee) || isChannelNotOpenError(ee))) {
-                            tryAgain = true;
-                        }
-                        if (!tryAgain) {
-                            throw ee;
-                        }
-                    } finally {
-                        // Always dispose of the current session when a failure occurs so we can start from scratch
-                        session.dispose();
-                    }
-				}
-                firstTime = false; // the first time is done
-			}
-			int timeout = location.getTimeout();
-			inputStream = new PollingInputStream(new TimeoutInputStream(new FilterInputStream(channel_in) {
-						public void close() {
-							// Don't close the underlying stream as it belongs to the session
-						}
-					},
-					8192 /*bufferSize*/, 1000 /*readTimeout*/, -1 /*closeTimeout*/, true /* growWhenFull */), timeout > 0 ? timeout : 1, monitor);
-			outputStream = new PollingOutputStream(new TimeoutOutputStream(new FilterOutputStream(channel_out) {
-						public void close() {
-							// Don't close the underlying stream as it belongs to the session
-						}
-					},
-					8192 /*buffersize*/, 1000 /*writeTimeout*/, 1000 /*closeTimeout*/), timeout > 0 ? timeout : 1, monitor);
-		} catch (final JSchException e) {
-			if (isSSH2Unsupported(e)) {
-                ssh1 = new SSHServerConnection(location, password);
-                if (ssh1 == null) {
-                    throw new SSH2IOException(e.toString(), e);
-                }
-                ssh1.open(monitor);
-            } else {
-			    String message = e.getMessage();
-			    if (JSchSession.isAuthenticationFailure(e)) {
-                    // Do not retry as the Jsh library has it's own retry logic
-                    throw new CVSAuthenticationException(CVSSSH2Messages.CVSSSH2ServerConnection_0, CVSAuthenticationException.NO_RETRY,location, e); 
-			    } else if (message.startsWith("Session.connect: ")) { //$NON-NLS-1$
-			        // Jsh has messages formatted like "Session.connect: java.net.NoRouteToHostException: ..."
-			        // Strip of the exception and try to convert it to a more meaningfull string
-			        int start = message.indexOf(": ") + 1; //$NON-NLS-1$
-			        if (start != -1) {
-				        int end = message.indexOf(": ", start); //$NON-NLS-1$
-				        if (end != -1) {
-				            String exception = message.substring(start, end).trim();
-				            if (exception.indexOf("NoRouteToHostException") != -1) { //$NON-NLS-1$
-				                message = NLS.bind(CVSSSH2Messages.CVSSSH2ServerConnection_1, new String[] { location.getHost() }); 
-				                throw new NoRouteToHostException(message);
-				            } else if (exception.indexOf("java.net.UnknownHostException") != -1) { //$NON-NLS-1$
-				                throw new UnknownHostException(location.getHost());
-				            } else {
-				                message = message.substring(end + 1).trim();
-				            }
-				        }
-			        }
-			    }
- 				throw new SSH2IOException(message, e);
-			}
-		}
-	}
-    
-    private boolean isChannelNotOpenError(JSchException ee) {
-        return ee.getMessage().indexOf("channel is not opened") != -1; //$NON-NLS-1$
-    }
-    private boolean isSessionDownError(JSchException ee) {
-        return ee.getMessage().equals("session is down"); //$NON-NLS-1$
-    }
-    private boolean isSSH2Unsupported(JSchException e) {
-        return e.toString().indexOf("invalid server's version string") != -1; //$NON-NLS-1$
-    }
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/JSchSession.java b/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/JSchSession.java
deleted file mode 100644
index d6f490f..0000000
--- a/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/JSchSession.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh2;
-
-import java.util.Enumeration;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.jsch.core.IJSchService;
-import org.eclipse.jsch.core.IJSchLocation;
-import org.eclipse.jsch.core.IPasswordStore;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.internal.ccvs.core.*;
-
-import com.jcraft.jsch.*;
-
-class JSchSession {
-	private static final int SSH_DEFAULT_PORT = 22;
-	private static java.util.Hashtable pool = new java.util.Hashtable();
-	
-    private final Session session;
-    private final ICVSRepositoryLocation location;
-
-    protected static int getCVSTimeoutInMillis() {
-        //return CVSProviderPlugin.getPlugin().getTimeout() * 1000;
-    	// TODO Hard-code the timeout for now since JSch doesn't respect CVS timeout
-    	// See bug 92887
-    	return 60000;
-    }
-
-    public static boolean isAuthenticationFailure(JSchException ee) {
-        return ee.getMessage().equals("Auth fail"); //$NON-NLS-1$
-    }
-    
-    static JSchSession getSession(final ICVSRepositoryLocation location, String username, String password, String hostname, int port, IProgressMonitor monitor) throws JSchException {
-    	int actualPort = port;
-        if (actualPort == ICVSRepositoryLocation.USE_DEFAULT_PORT)
-        	actualPort = getPort(location);
-		
-		String key = getPoolKey(username, hostname, actualPort);
-
-		try {
-			JSchSession jschSession = (JSchSession) pool.get(key);
-			if (jschSession != null && !jschSession.getSession().isConnected()) {
-				pool.remove(key);
-                jschSession = null;
-			}
-
-			if (jschSession == null) {
-                IJSchService service = getJSchService();
-                IJSchLocation jlocation=service.getLocation(username, hostname, actualPort);
-
-                // As for the connection method "pserverssh2", 
-                // there is not a place to save the given password for ssh2.
-                if (!location.getMethod().getName().equals("pserverssh2")) { //$NON-NLS-1$
-                    IPasswordStore pstore = new IPasswordStore() {
-                        public void clear(IJSchLocation l) {
-                            location.flushUserInfo();
-                        }
-                        public boolean isCached(IJSchLocation l) {
-                            return location.getUserInfoCached();
-                        }
-                        public void update(IJSchLocation l) {
-                            location.setPassword(l.getPassword());
-                            location.setAllowCaching(true);
-                        }
-                    };
-                    jlocation.setPasswordStore(pstore);
-                }
-                jlocation.setComment(NLS.bind(CVSSSH2Messages.JSchSession_3, new String[] {location.toString()}));
-                
-                Session session = null;
-                try {
-                    session = createSession(service, jlocation, password, monitor);
-                } catch (JSchException e) {
-                	throw e;
-                }
-                if (session == null)
-                	throw new JSchException(CVSSSH2Messages.JSchSession_4);
-                JSchSession schSession = new JSchSession(session, location);
-                pool.put(key, schSession);
-                return schSession;
-			}
-            return jschSession;
-		} catch (JSchException e) {
-			pool.remove(key);
-			if(e.toString().indexOf("Auth cancel")!=-1){  //$NON-NLS-1$
-				throw new OperationCanceledException();
-			}
-			throw e;
-		}
-	}
-
-    private static Session createSession(IJSchService service, IJSchLocation location, String password, IProgressMonitor monitor) throws JSchException {
-        Session session = service.createSession(location, null);
-        session.setTimeout(getCVSTimeoutInMillis());
-        if (password != null)
-			session.setPassword(password);
-        service.connect(session, getCVSTimeoutInMillis(), monitor);
-        return session;
-    }
-
-    private static IJSchService getJSchService(){
-        return CVSSSH2Plugin.getDefault().getJSchService();
-    }
-
-    private static String getPoolKey(String username, String hostname, int port) {
-        return username + "@" + hostname + ":" + port; //$NON-NLS-1$ //$NON-NLS-2$
-    }
-
-    private static String getPoolKey(ICVSRepositoryLocation location){
-        return location.getUsername() + "@" + location.getHost() + ":" + getPort(location); //$NON-NLS-1$ //$NON-NLS-2$
-    }
-
-	private static int getPort(ICVSRepositoryLocation location) {
-        int port = location.getPort();
-        if (port == ICVSRepositoryLocation.USE_DEFAULT_PORT)
-            port = SSH_DEFAULT_PORT;
-        return port;
-    }
-
-	static void shutdown() {
-		if (getJSch() != null && pool.size() > 0) {
-			for (Enumeration e = pool.elements(); e.hasMoreElements();) {
-				JSchSession session = (JSchSession) (e.nextElement());
-				try {
-					session.getSession().disconnect();
-				} catch (Exception ee) {
-					// Ignore
-				}
-			}
-			pool.clear();
-		}
-	}
-
-	static JSch getJSch() {
-		return getJSchService().getJSch();
-	}
-  
-    private JSchSession(Session session, ICVSRepositoryLocation location) {
-        this.session = session;
-        this.location = location;
-    }
-
-    public Session getSession() {
-        return session;
-    }
-
-    public void dispose() {
-        if (session.isConnected()) {
-            session.disconnect();
-        }
-        pool.remove(getPoolKey(location));
-    }
-
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/PServerSSH2Method.java b/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/PServerSSH2Method.java
deleted file mode 100644
index c4d6775..0000000
--- a/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/PServerSSH2Method.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh2;
-
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.IConnectionMethod;
-import org.eclipse.team.internal.ccvs.core.IServerConnection;
-
-public class PServerSSH2Method implements IConnectionMethod {
-	public String getName() {
-		return "pserverssh2"; //$NON-NLS-1$
-	}
-	public IServerConnection createConnection(ICVSRepositoryLocation root, String password) {
-		return new PServerSSH2ServerConnection(root, password);
-	}
-	public void disconnect(ICVSRepositoryLocation location) {
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/PServerSSH2ServerConnection.java b/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/PServerSSH2ServerConnection.java
deleted file mode 100644
index 027021e..0000000
--- a/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/PServerSSH2ServerConnection.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation.
- *     IBM Corporation - ongoing maintenance
- *******************************************************************************/
-package org.eclipse.team.internal.ccvs.ssh2;
-
-import java.io.*;
-import java.util.Properties;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.connection.CVSAuthenticationException;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-
-import com.jcraft.jsch.*;
-
-public class PServerSSH2ServerConnection implements IServerConnection {
-
-	private ICVSRepositoryLocation location;
-	private String password;
-	private Session session;
-	private static int localport = 2403;
-	private IServerConnection psc = null;
-
-	protected PServerSSH2ServerConnection(ICVSRepositoryLocation location, String password) {
-		this.location = location;
-		this.password = password;
-	}
-
-	public void close() throws IOException {
-		psc.close();
-	}
-
-	public InputStream getInputStream() {
-		return psc.getInputStream();
-	}
-	public OutputStream getOutputStream() {
-		return psc.getOutputStream();
-	}
-
-	public void open(IProgressMonitor monitor) throws IOException, CVSAuthenticationException {
-		monitor.subTask("PServerSSH2ServerConnection.open"); //$NON-NLS-1$
-		monitor.worked(1);
-		String cvs_root = location.getRootDirectory();
-		int cvs_port = location.getPort();
-		if (cvs_port == 0)
-			cvs_port = 2401;
-		String cvs_host = location.getHost();
-		String ssh_host = cvs_host;
-		String ssh_user = location.getUsername();
-
-		String host = cvs_host;
-		if (host.indexOf('@') != -1) {
-			cvs_host = host.substring(host.lastIndexOf('@') + 1);
-			host = host.substring(0, host.lastIndexOf('@'));
-			if (host.indexOf('@') != -1) {
-				ssh_host = host.substring(host.lastIndexOf('@') + 1);
-				if (ssh_host.length() == 0)
-					ssh_host = cvs_host;
-				ssh_user = host.substring(0, host.lastIndexOf('@'));
-			} else {
-				ssh_host = host;
-			}
-		}
-
-		int ssh_port = 0;
-		if (ssh_host.indexOf('#') != -1) {
-			try {
-				ssh_port = Integer.parseInt(ssh_host.substring(ssh_host.lastIndexOf('#') + 1));
-				ssh_host = ssh_host.substring(0, ssh_host.lastIndexOf('#'));
-			} catch (Exception e) {
-				// Ignore
-			}
-		}
-
-		int lport = cvs_port;
-		String rhost = (cvs_host.equals(ssh_host) ? "localhost" : cvs_host); //$NON-NLS-1$
-		int rport = cvs_port;
-
-		// ssh -L lport:rhost:rport ssh_user@ssh_host
-		int retry = 1;
-		while (true) {
-			try {
-				session = JSchSession.getSession(location, ssh_user, null, ssh_host, ssh_port, monitor).getSession();
-				String[] list = session.getPortForwardingL();
-				String name = ":" + rhost + ":" + rport; //$NON-NLS-1$ //$NON-NLS-2$
-				boolean done = false;
-				for (int i = 0; i < list.length; i++) {
-					if (list[i].endsWith(name)) {
-						try {
-							String foo = list[i].substring(0, list[i].indexOf(':'));
-							lport = Integer.parseInt(foo);
-						} catch (Exception ee) {
-							// Ignore
-						}
-						done = true;
-						break;
-					}
-				}
-				if (!done) {
-					lport = localport++;
-					session.setPortForwardingL(lport, rhost, rport);
-				}
-			} catch (JSchException ee) {
-				  retry--;
-				  if(retry<0){
-				    throw new CVSAuthenticationException(CVSSSH2Messages.CVSSSH2ServerConnection_3, CVSAuthenticationException.NO_RETRY, location); 
-				  }
-				  if(session != null && session.isConnected()){
-				    session.disconnect();
-				  }
-				  continue;
-			}
-			break;
-		}
-		// password for location will be over-written in JSchSession ;-<
-		((CVSRepositoryLocation)location).setPassword(password);
-		
-		// CVSROOT=":pserver:localhost:"+lport+""cvs_root
-		try {
-			// If user does not give a password, it must be null.
-			String _password = ""; //$NON-NLS-1$
-			if (password != null)
-				_password = password;
-			Properties prop = new Properties();
-			prop.put("connection", "pserver"); //$NON-NLS-1$ //$NON-NLS-2$
-			prop.put("user", location.getUsername()); //$NON-NLS-1$
-			prop.put("password", _password); //$NON-NLS-1$
-			prop.put("host", "localhost"); //$NON-NLS-1$ //$NON-NLS-2$
-			prop.put("port", Integer.toString(lport)); //$NON-NLS-1$
-			prop.put("root", cvs_root); //$NON-NLS-1$
-
-			CVSRepositoryLocation cvsrl = CVSRepositoryLocation.fromProperties(prop);
-
-			IConnectionMethod method = cvsrl.getMethod();
-			psc = method.createConnection(cvsrl, _password);
-		} catch (Exception e) {
-			throw new CVSAuthenticationException(e.toString(), CVSAuthenticationException.NO_RETRY, location);
-		}
-		psc.open(monitor);
-	}
-}
diff --git a/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/messages.properties b/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/messages.properties
deleted file mode 100644
index db9d775..0000000
--- a/bundles/org.eclipse.team.cvs.ssh2/src/org/eclipse/team/internal/ccvs/ssh2/messages.properties
+++ /dev/null
@@ -1,75 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-JSchSession_4=The JSch service is not available
-JSchSession_5=SSH2 Message
-JSchSession_3=CVS Repository: {0}
-CVSSSH2ServerConnection_open=Connecting via SSH to {0}...
-CVSSSH2PreferencePage_18=Configuration options for SSH2:
-CVSSSH2PreferencePage_19=&General
-CVSSSH2PreferencePage_20=&Proxy
-CVSSSH2PreferencePage_21=&Key Management
-CVSSSH2PreferencePage_23=SSH2 &home:
-CVSSSH2PreferencePage_24=&Browse...
-CVSSSH2PreferencePage_25=P&rivate keys:
-CVSSSH2PreferencePage_26=Add Pr&ivate Key...
-CVSSSH2PreferencePage_27=SSH Home:
-CVSSSH2PreferencePage_30=&Enable proxy connection
-CVSSSH2PreferencePage_31=Proxy &type:
-CVSSSH2PreferencePage_32=Proxy host add&ress:
-CVSSSH2PreferencePage_33=Proxy host p&ort:
-CVSSSH2PreferencePage_34=E&nable proxy authentication
-CVSSSH2PreferencePage_35=Proxy &user name:
-CVSSSH2PreferencePage_36=Proxy pa&ssword:
-CVSSSH2PreferencePage_39=&You can paste this public key into the remote authorized_keys file:
-CVSSSH2PreferencePage_41=&Fingerprint:
-CVSSSH2PreferencePage_42=&Comment:
-CVSSSH2PreferencePage_43=Passp&hrase:
-CVSSSH2PreferencePage_44=C&onfirm passphrase:
-CVSSSH2PreferencePage_45=&Save Private Key...
-CVSSSH2PreferencePage_47=The key was not generated.
-CVSSSH2PreferencePage_48=The passphrases entered do not match.
-CVSSSH2PreferencePage_49=Are you sure you want to save this private key without passphrase protection?
-CVSSSH2PreferencePage_50={0} does not exist.\nAre you sure you want to create it?
-CVSSSH2PreferencePage_53={0} has already existed.\nAre you sure you want to over write it?
-CVSSSH2PreferencePage_55=Successfully saved.
-CVSSSH2PreferencePage_57=Private key:
-CVSSSH2PreferencePage_59=Public key:
-CVSSSH2PreferencePage_99={0} does not exist.\nAre you sure you want to create it?
-CVSSSH2PreferencePage_100=Failed to create
-CVSSSH2PreferencePage_104=Proxy host port must be a number between 0 and 65535.
-CVSSSH2PreferencePage_105=E&xport Via SFTP...
-CVSSSH2PreferencePage_106=Export SSH Key to Remote Server Via SFTP
-CVSSSH2PreferencePage_107=Specify a target site (in user@host[:port] format) where your public key should be installed.\nYour key will be stored in user@host[:port]:~/.ssh/authorized_keys
-CVSSSH2PreferencePage_108={0} is not valid site.
-CVSSSH2PreferencePage_109=Your public key has been successfully installed to {0}
-CVSSSH2PreferencePage_110=Remote sshd is not from OpenSSH.
-CVSSSH2PreferencePage_111=Failed to export ssh key to remote server.
-CVSSSH2ServerConnection_3=session is down
-CVSSSH2ServerConnection_0=An undetermined authentication failure has occurred
-CVSSSH2ServerConnection_1=No route to host {0} could be found
-CVSSSH2PreferencePage_information=Information
-CVSSSH2PreferencePage_error=Error
-CVSSSH2PreferencePage_confirmation=Confirmation
-CVSSSH2PreferencePage_question=Question
-CVSSSH2PreferencePage_125=Target site:
-CVSSSH2PreferencePage_126=Enter passphrase for {0}
-CVSSSH2PreferencePage_127=Passphrase:
-CVSSSH2PreferencePage_128=&Load Existing Key...
-CVSSSH2PreferencePage_129=failed to decrypt {0}
-CVSSSH2PreferencePage_130=failed to load given file.
-CVSSSH2PreferencePage_131=G&enerate DSA Key...
-CVSSSH2PreferencePage_132=Ge&nerate RSA Key...
-CVSSSH2PreferencePage_133=Kno&wn Hosts
-CVSSSH2PreferencePage_134=Hostname
-CVSSSH2PreferencePage_135=Type
-CVSSSH2PreferencePage_136=Fingerprint
-CVSSSH2PreferencePage_138=&Remove
-CVSSSH2PreferencePage_139=Keys of known hosts:
diff --git a/bundles/org.eclipse.ui.net/.classpath b/bundles/org.eclipse.ui.net/.classpath
deleted file mode 100644
index ce73933..0000000
--- a/bundles/org.eclipse.ui.net/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.ui.net/.cvsignore b/bundles/org.eclipse.ui.net/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/bundles/org.eclipse.ui.net/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/bundles/org.eclipse.ui.net/.project b/bundles/org.eclipse.ui.net/.project
deleted file mode 100644
index d2fef4c..0000000
--- a/bundles/org.eclipse.ui.net/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ui.net</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.ui.net/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.ui.net/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index a10563e..0000000
--- a/bundles/org.eclipse.ui.net/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,73 +0,0 @@
-#Mon Feb 19 11:07:17 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=error
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.nullReference=error
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=error
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,XXX
diff --git a/bundles/org.eclipse.ui.net/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.net/META-INF/MANIFEST.MF
deleted file mode 100644
index f61dbbc..0000000
--- a/bundles/org.eclipse.ui.net/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %PLUGIN_NAME
-Bundle-SymbolicName: org.eclipse.ui.net; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.ui.internal.net.Activator
-Bundle-Vendor: %PLUGIN_PROVIDER
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.core.net;bundle-version="[1.0.0,2.0.0)"
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.4,
- CDC-1.0/Foundation-1.0,
- J2SE-1.3
-Export-Package: org.eclipse.ui.internal.net;x-internal:=true,
- org.eclipse.ui.internal.net.auth;x-internal:=true
diff --git a/bundles/org.eclipse.ui.net/about.html b/bundles/org.eclipse.ui.net/about.html
deleted file mode 100644
index 4602330..0000000
--- a/bundles/org.eclipse.ui.net/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.ui.net/build.properties b/bundles/org.eclipse.ui.net/build.properties
deleted file mode 100644
index 003a1dd..0000000
--- a/bundles/org.eclipse.ui.net/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.properties,\
-               plugin.xml,\
-               about.html
-src.includes = about.html
diff --git a/bundles/org.eclipse.ui.net/plugin.properties b/bundles/org.eclipse.ui.net/plugin.properties
deleted file mode 100644
index 4cfa8da..0000000
--- a/bundles/org.eclipse.ui.net/plugin.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-# yyyymmdd bug      Email and other contact information
-# -------- -------- -----------------------------------------------------------
-# 20070201   154100 pmoogk@ca.ibm.com - Peter Moogk, Port internet code from WTP to Eclipse base.
-###############################################################################
-
-#
-# Messages in plugin.xml.
-#
-PLUGIN_NAME=Internet Connection Management UI
-PLUGIN_PROVIDER=Eclipse.org
-PLUGIN_INTERNET_PREFERENCE_TITLE=Network Connections
-PreferenceKeywords.PROXY=proxy,http,https,socks,ssl,network
diff --git a/bundles/org.eclipse.ui.net/plugin.xml b/bundles/org.eclipse.ui.net/plugin.xml
deleted file mode 100644
index 8b14eee..0000000
--- a/bundles/org.eclipse.ui.net/plugin.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin>
-
-   <extension
-   		point="org.eclipse.ui.keywords">
-    <keyword
-            label="%PreferenceKeywords.PROXY"
-            id="org.eclipse.ui.net.proxy"/>
-   </extension>   
-   
-  <extension point="org.eclipse.ui.preferencePages">
-    <page
-      id = "org.eclipse.ui.net.NetPreferences"
-      class = "org.eclipse.ui.internal.net.ProxyPreferencePage"
-      category = "org.eclipse.ui.preferencePages.Workbench"
-      name = "%PLUGIN_INTERNET_PREFERENCE_TITLE">
-      <keywordReference id="org.eclipse.ui.net.proxy"/>
-    </page>
-  </extension>
-  <extension
-        point="org.eclipse.core.net.authenticator">
-     <authenticator
-           class="org.eclipse.ui.internal.net.auth.NetAuthenticator">
-     </authenticator>
-  </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/Activator.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/Activator.java
deleted file mode 100644
index a1e4d29..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/Activator.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * yyyymmdd bug      Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20070201   154100 pmoogk@ca.ibm.com - Peter Moogk, Port internet code from WTP to Eclipse base.
- *******************************************************************************/
-package org.eclipse.ui.internal.net;
-
-import org.eclipse.core.net.proxy.IProxyService;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.ui.net"; //$NON-NLS-1$
-
-	// The shared instance
-	private static Activator plugin;
-
-	private ServiceTracker tracker;
-
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-		plugin = this;
-	}
-
-	/**
-	 * Returns the shared instance
-	 * 
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Return the {@link IProxyService} or <code>null</code> if the service is
-	 * not available.
-	 * 
-	 * @return the {@link IProxyService} or <code>null</code>
-	 */
-	public IProxyService getProxyService() {
-		return (IProxyService) tracker.getService();
-	}
-
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		tracker = new ServiceTracker(getBundle().getBundleContext(),
-				IProxyService.class.getName(), null);
-		tracker.open();
-	}
-
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-		tracker.close();
-	}
-}
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NetUIMessages.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NetUIMessages.java
deleted file mode 100644
index df9ec6c..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NetUIMessages.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * yyyymmdd bug      Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20070201   154100 pmoogk@ca.ibm.com - Peter Moogk, Port internet code from WTP to Eclipse base.
- *******************************************************************************/
-package org.eclipse.ui.internal.net;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class NetUIMessages extends NLS {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ui.internal.net.messages";//$NON-NLS-1$
-
-	private NetUIMessages() {
-		// Do not instantiate
-	}
-
-	public static String BUTTON_PREFERENCE_ADD;
-
-	public static String BUTTON_PREFERENCE_EDIT;
-
-	public static String BUTTON_PREFERENCE_REMOVE;
-
-	public static String NonProxyHostsComposite_0;
-
-	public static String ProxyPreferencePage_0;
-
-	public static String ProxyPreferencePage_1;
-
-	public static String ProxyPreferencePage_2;
-
-	public static String ProxyPreferencePage_22;
-
-	public static String ProxyPreferencePage_23;
-
-	public static String ProxyPreferencePage_24;
-
-	public static String ProxyPreferencePage_25;
-
-	public static String ProxyPreferencePage_26;
-
-	public static String ProxyPreferencePage_27;
-
-	public static String ProxyPreferencePage_3;
-
-	public static String ProxyPreferencePage_37;
-
-	public static String ProxyPreferencePage_38;
-
-	public static String ProxyPreferencePage_39;
-
-	public static String ProxyPreferencePage_4;
-
-	public static String ProxyPreferencePage_40;
-
-	public static String ProxyPreferencePage_41;
-
-	public static String ProxyPreferencePage_42;
-
-	public static String ProxyPreferencePage_43;
-
-	public static String ProxyPreferencePage_5;
-
-	public static String ProxyPreferencePage_6;
-
-	public static String ProxyPreferencePage_7;
-
-	public static String ProxyPreferencePage_8;
-
-	public static String ProxyPreferencePage_9;
-	
-	public static String ProxyPreferencePage_44;
-	
-	public static String ProxyPreferencePage_45;
-
-	public static String TITLE_PREFERENCE_HOSTS_DIALOG;
-
-	public static String LABEL_PREFERENCE_HOSTS_DIALOG;
-
-	public static String UserValidationDialog_0;
-
-	public static String UserValidationDialog_1;
-
-	public static String UserValidationDialog_2;
-
-	public static String UserValidationDialog_3;
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, NetUIMessages.class);
-	}
-}
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsComposite.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsComposite.java
deleted file mode 100644
index d310add..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsComposite.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * yyyymmdd bug      Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20060217   127138 pmoogk@ca.ibm.com - Peter Moogk
- * 20070201   154100 pmoogk@ca.ibm.com - Peter Moogk, Port internet code from WTP to Eclipse base.
- *******************************************************************************/
-
-package org.eclipse.ui.internal.net;
-
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.TreeSet;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.fieldassist.ControlDecoration;
-import org.eclipse.jface.fieldassist.FieldDecorationRegistry;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This class is the Composite that consists of the controls for
- * "http.nonProxyHosts" and is used by InternetPreferencesPage.
- */
-public class NonProxyHostsComposite extends Composite {
-	private Table table_;
-	TableViewer tableViewer_;
-	private TreeSet tableValues_;
-	private Button add_;
-	private Button edit_;
-	private Button remove_;
-
-	public NonProxyHostsComposite(Composite parent, int style) {
-		super(parent, style);
-		createWidgets();
-	}
-
-	protected void createWidgets() {
-		GridLayout layout = new GridLayout();
-		layout.horizontalSpacing = 6;
-		layout.verticalSpacing = 6;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 2;
-		setLayout(layout);
-
-		table_ = new Table(this, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL
-				| SWT.MULTI | SWT.FULL_SELECTION);
-		GridData data = new GridData(GridData.FILL_BOTH
-				| GridData.VERTICAL_ALIGN_FILL);
-
-		table_.setLayoutData(data);
-		table_.setHeaderVisible(false);
-		table_.setLinesVisible(true);
-
-		TableLayout tableLayout = new TableLayout();
-
-		new TableColumn(table_, SWT.NONE);
-		ColumnWeightData colData = new ColumnWeightData(100, 60, false);
-		tableLayout.addColumnData(colData);
-
-		table_.setLayout(tableLayout);
-
-		tableViewer_ = new TableViewer(table_);
-		tableViewer_.setContentProvider(new NonProxyHostsContentProvider());
-		tableViewer_.setLabelProvider(new NonProxyHostsLabelProvider());
-
-		tableViewer_
-				.addSelectionChangedListener(new ISelectionChangedListener() {
-					public void selectionChanged(SelectionChangedEvent event) {
-						enableButtons();
-					}
-				});
-
-		tableViewer_.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				editSelection();
-			}
-		});
-
-		Composite buttonComp = new Composite(this, SWT.NONE);
-		layout = new GridLayout();
-		layout.horizontalSpacing = 0;
-		layout.verticalSpacing = 8;
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.numColumns = 1;
-		buttonComp.setLayout(layout);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_END
-				| GridData.VERTICAL_ALIGN_FILL);
-		buttonComp.setLayoutData(data);
-
-		add_ = createButton(buttonComp, NetUIMessages.BUTTON_PREFERENCE_ADD);
-
-		add_.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				addHost();
-			}
-		});
-
-		edit_ = createButton(buttonComp, NetUIMessages.BUTTON_PREFERENCE_EDIT);
-
-		edit_.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				editSelection();
-			}
-		});
-		edit_.setEnabled(false);
-
-		remove_ = createButton(buttonComp,
-				NetUIMessages.BUTTON_PREFERENCE_REMOVE);
-
-		remove_.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				removeFromList((IStructuredSelection) tableViewer_
-						.getSelection());
-				tableViewer_.refresh();
-			}
-		});
-		remove_.setEnabled(false);
-	}
-
-	private Button createButton(Composite comp, String label) {
-		Button button = new Button(comp, SWT.PUSH);
-		button.setText(label);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL
-				| GridData.VERTICAL_ALIGN_BEGINNING);
-		button.setLayoutData(data);
-		return button;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.widgets.Control#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enabled) {
-		super.setEnabled(enabled);
-		table_.setEnabled(enabled);
-		enableButtons();
-	}
-
-	public void setList(String[] hosts) {
-		tableValues_ = new TreeSet(Arrays.asList(hosts));
-
-		tableViewer_.setInput(tableValues_);
-		tableViewer_.refresh();
-	}
-
-	public String[] getList() {
-		return (String[]) tableValues_.toArray(new String[0]);
-	}
-
-	String getStringList(Iterator iterator) {
-		StringBuffer buffer = new StringBuffer();
-
-		if (iterator.hasNext()) {
-			buffer.append((String) iterator.next());
-		}
-
-		while (iterator.hasNext()) {
-			buffer.append(',');
-			buffer.append((String) iterator.next());
-		}
-
-		return buffer.toString();
-	}
-
-	void removeFromList(IStructuredSelection selection) {
-		tableValues_.removeAll(selection.toList());
-	}
-
-	void updateList(String value) {
-		// Split the string with a delimiter of either a vertical bar, a space,
-		// or a comma.
-		String[] hosts = value.split("\\|| |,"); //$NON-NLS-1$
-
-		tableValues_.addAll(Arrays.asList(hosts));
-		tableValues_.remove(""); //$NON-NLS-1$
-		tableViewer_.refresh();
-	}
-
-	void enableButtons() {
-		boolean enabled = getEnabled();
-
-		if (enabled) {
-			boolean itemsSelected = !tableViewer_.getSelection().isEmpty();
-
-			add_.setEnabled(true);
-			edit_.setEnabled(itemsSelected);
-			remove_.setEnabled(itemsSelected);
-		} else {
-			add_.setEnabled(false);
-			edit_.setEnabled(false);
-			remove_.setEnabled(false);
-		}
-	}
-
-	void editSelection() {
-		IStructuredSelection selection = (IStructuredSelection) tableViewer_.getSelection();
-		String selectedHosts = getStringList(selection.iterator());
-		String value = promptForHost(selectedHosts);
-		if (value != null) {
-			removeFromList(selection);
-			updateList(value);
-		}
-	}
-
-	void addHost() {
-		String value = promptForHost(null);
-		if (value != null) {
-			updateList(value);
-		}
-	}
-	
-	private String promptForHost(String selectedHosts) {
-		InputDialog dialog = new InputDialog(getShell(),
-				NetUIMessages.TITLE_PREFERENCE_HOSTS_DIALOG,
-				NetUIMessages.LABEL_PREFERENCE_HOSTS_DIALOG, selectedHosts,
-				null) {
-			private ControlDecoration decorator;
-			protected Control createDialogArea(Composite parent) {
-				Control createDialogArea = super.createDialogArea(parent);
-				decorator = new ControlDecoration(getText(), SWT.TOP | SWT.LEFT);
-				decorator.setDescriptionText(NetUIMessages.NonProxyHostsComposite_0);
-				decorator.setImage(FieldDecorationRegistry.getDefault().getFieldDecoration(
-				FieldDecorationRegistry.DEC_INFORMATION).getImage());
-				return createDialogArea;
-			}
-			public boolean close() {
-				decorator.dispose();
-				return super.close();
-			}
-		};
-		int result = dialog.open();
-		String value;
-		if (result != Window.CANCEL) {
-			value = dialog.getValue();
-		} else {
-			value = null;
-		}
-		return value;
-	}
-}
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsContentProvider.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsContentProvider.java
deleted file mode 100644
index c0167b1..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsContentProvider.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * yyyymmdd bug      Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20070201   154100 pmoogk@ca.ibm.com - Peter Moogk, Port internet code from WTP to Eclipse base.
- *******************************************************************************/
-
-package org.eclipse.ui.internal.net;
-
-import java.util.Collection;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Monitor content provider.
- */
-public class NonProxyHostsContentProvider implements IStructuredContentProvider 
-{
-	/**
-	 * MonitorContentProvider constructor comment.
-	 */
-	public NonProxyHostsContentProvider() 
-	{
-		super();
-	}
-
-	/*
-	 * Disposes of this content provider.  
-	 */
-	public void dispose() 
-	{
-		// do nothing
-	}
-
-	/*
-	 * Returns the elements to display in the viewer 
-	 * when its input is set to the given element. 
-	 */
-	public Object[] getElements(Object inputElement) 
-	{
-		Collection coll = (Collection)inputElement;
-    
-		return coll.toArray( new String[0] );
-	}
-
-	/*
-	 * Notifies this content provider that the given viewer's input
-	 * has been switched to a different element.
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) 
-	{
-		// do nothing
-	}
-}
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsLabelProvider.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsLabelProvider.java
deleted file mode 100644
index 8aeeae2..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/NonProxyHostsLabelProvider.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * yyyymmdd bug      Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20070201   154100 pmoogk@ca.ibm.com - Peter Moogk, Port internet code from WTP to Eclipse base.
- *******************************************************************************/
-
-package org.eclipse.ui.internal.net;
-
-import org.eclipse.jface.viewers.ILabelProviderListener;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-
-/**
- * Monitor table label provider.
- */
-public class NonProxyHostsLabelProvider implements ITableLabelProvider 
-{
-	/**
-	 * MonitorTableLabelProvider constructor comment.
-	 */
-	public NonProxyHostsLabelProvider() 
-	{
-		super();
-	}
-
-	/**
-	 * Adds a listener to this label provider. 
-	 * Has no effect if an identical listener is already registered.
-	 * <p>
-	 * Label provider listeners are informed about state changes 
-	 * that affect the rendering of the viewer that uses this label provider.
-	 * </p>
-	 *
-	 * @param listener a label provider listener
-	 */
-	public void addListener(ILabelProviderListener listener) 
-	{
-		// do nothing
-	}
-
-	/**
-	 * Disposes of this label provider.  When a label provider is
-	 * attached to a viewer, the viewer will automatically call
-	 * this method when the viewer is being closed.  When label providers
-	 * are used outside of the context of a viewer, it is the client's
-	 * responsibility to ensure that this method is called when the
-	 * provider is no longer needed.
-	 */
-	public void dispose() 
-	{
-		// do nothing
-	}
-
-	/**
-	 * Returns the label image for the given column of the given element.
-	 *
-	 * @param element the object representing the entire row, or 
-	 *    <code>null</code> indicating that no input object is set
-	 *    in the viewer
-	 * @param columnIndex the zero-based index of the column in which
-	 *   the label appears
-	 */
-	public Image getColumnImage(Object element, int columnIndex) 
-	{
-		return null;
-	}
-
-	/**
-	 * Returns the label text for the given column of the given element.
-	 *
-	 * @param element the object representing the entire row, or
-	 *   <code>null</code> indicating that no input object is set
-	 *   in the viewer
-	 * @param columnIndex the zero-based index of the column in which the label appears
-	 */
-	public String getColumnText(Object element, int columnIndex) 
-	{
-		return (String)element;
-	}
-	
-	/**
-	 * Returns whether the label would be affected 
-	 * by a change to the given property of the given element.
-	 * This can be used to optimize a non-structural viewer update.
-	 * If the property mentioned in the update does not affect the label,
-	 * then the viewer need not update the label.
-	 *
-	 * @param element the element
-	 * @param property the property
-	 * @return <code>true</code> if the label would be affected,
-	 *    and <code>false</code> if it would be unaffected
-	 */
-	public boolean isLabelProperty(Object element, String property) 
-	{
-		return false;
-	}
-
-	/**
-	 * Removes a listener to this label provider.
-	 * Has no affect if an identical listener is not registered.
-	 *
-	 * @param listener a label provider listener
-	 */
-	public void removeListener(ILabelProviderListener listener) 
-	{
-		// do nothing
-	}
-}
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/ProxyPreferencePage.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/ProxyPreferencePage.java
deleted file mode 100644
index e7fade1..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/ProxyPreferencePage.java
+++ /dev/null
@@ -1,662 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * yyyymmdd bug      Email and other contact information
- * -------- -------- -----------------------------------------------------------
- * 20070123   154100 eu@md.pp.ru - Eugene Kuleshov, Initial UI coding
- * 20070201   154100 pmoogk@ca.ibm.com - Peter Moogk, Port internet code from WTP to Eclipse base.
- * 20070219   174674 pmoogk@ca.ibm.com - Peter Moogk
- * 20070402   180622 brockj@tpg.com.au - Brock Janiczak, Inconsistent enablement states in network preference page
- * 20070416   177897 ymnk@jcraft.com - Atsuhiko Yamanaka, Improve UI of Proxy Preferences Page
- * 20070801   197977 holger.oehm@sap.com - Holger Oehm, [Proxy] non-proxy hosts not correctly updated
- *******************************************************************************/
-package org.eclipse.ui.internal.net;
-
-import org.eclipse.core.net.proxy.IProxyData;
-import org.eclipse.core.net.proxy.IProxyService;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-
-public class ProxyPreferencePage extends PreferencePage implements
-		IWorkbenchPreferencePage {
-
-	private static final String PROXY_PREFERENCE_PAGE_CONTEXT_ID 
-		= "org.eclipse.ui.net.proxy_preference_page_context"; //$NON-NLS-1$
-	
-	Entry[] entryList;
-	Button directConnectionToButton;
-	Button manualProxyConfigurationButton;
-	Button useSameProxyButton;
-	private Label nonHostLabel;
-	private NonProxyHostsComposite nonHostComposite;
-	Button enableProxyAuth;
-	private Label useridLabel;
-	private Label passwordLabel;
-	Text userid;
-	Text password;
-	private IProxyService proxyService;
-	Button systemProxyConfigurationButton;
-
-	public ProxyPreferencePage() {
-		super(NetUIMessages.ProxyPreferencePage_2);
-		setPreferenceStore(Activator.getDefault().getPreferenceStore());
-	}
-
-	public void init(IWorkbench workbench) {
-		// Nothing to do
-	}
-
-	protected Control createContents(Composite parent) {
-
-		proxyService = Activator.getDefault().getProxyService();
-		if (proxyService == null) {
-			Label l = new Label(parent, SWT.NONE);
-			l.setText(NetUIMessages.ProxyPreferencePage_40);
-			return l;
-		}
-
-		IProxyData[] proxyData = proxyService.getProxyData();
-		entryList = new Entry[proxyData.length];
-		for (int i = 0; i < proxyData.length; i++) {
-			IProxyData pd = proxyData[i];
-			entryList[i] = new Entry(pd);
-		}
-
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginRight = 5;
-		layout.marginTop = 5;
-		layout.marginWidth = 0;
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		composite.setLayoutData(data);
-
-		systemProxyConfigurationButton = new Button(composite, SWT.RADIO);
-		systemProxyConfigurationButton.setLayoutData(new GridData());
-		systemProxyConfigurationButton.setText(NetUIMessages.ProxyPreferencePage_44);
-		systemProxyConfigurationButton
-				.setToolTipText(NetUIMessages.ProxyPreferencePage_45);
-		systemProxyConfigurationButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (systemProxyConfigurationButton.getSelection())
-				enableControls(false);
-			}
-		});
-
-		directConnectionToButton = new Button(composite, SWT.RADIO);
-		directConnectionToButton.setLayoutData(new GridData());
-		directConnectionToButton.setText(NetUIMessages.ProxyPreferencePage_3);
-		directConnectionToButton
-				.setToolTipText(NetUIMessages.ProxyPreferencePage_1);
-		directConnectionToButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (directConnectionToButton.getSelection())
-					enableControls(false);
-			}
-		});
-
-		manualProxyConfigurationButton = new Button(composite, SWT.RADIO);
-		manualProxyConfigurationButton
-				.setText(NetUIMessages.ProxyPreferencePage_4);
-		manualProxyConfigurationButton
-				.setToolTipText(NetUIMessages.ProxyPreferencePage_0);
-		manualProxyConfigurationButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (manualProxyConfigurationButton.getSelection())
-					enableControls(true);
-			}
-		});
-
-		final Composite manualProxyConfigurationComposite = new Composite(
-				composite, SWT.NONE);
-		final GridLayout gridLayout = new GridLayout();
-		gridLayout.marginWidth = 0;
-		gridLayout.marginHeight = 0;
-		gridLayout.numColumns = 4;
-		manualProxyConfigurationComposite.setLayout(gridLayout);
-		final GridData gridData_2 = new GridData(GridData.FILL_BOTH);
-		gridData_2.horizontalIndent = 17;
-		manualProxyConfigurationComposite.setLayoutData(gridData_2);
-
-		entryList[0].addProtocolEntry(manualProxyConfigurationComposite);
-
-		new Label(manualProxyConfigurationComposite, SWT.NONE);
-		useSameProxyButton = new Button(manualProxyConfigurationComposite,
-				SWT.CHECK);
-		useSameProxyButton.setText(NetUIMessages.ProxyPreferencePage_5);
-		GridData gridData = new GridData();
-		gridData.horizontalSpan = 3;
-		useSameProxyButton.setLayoutData(gridData);
-		useSameProxyButton.setToolTipText(NetUIMessages.ProxyPreferencePage_23);
-		useSameProxyButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				toggleUseSameProtocol();
-			}
-		});
-
-		for (int index = 1; index < entryList.length; index++) {
-			entryList[index]
-					.addProtocolEntry(manualProxyConfigurationComposite);
-		}
-
-		Label separator = new Label(manualProxyConfigurationComposite,
-				SWT.HORIZONTAL | SWT.SEPARATOR);
-		separator.setLayoutData(newGridData(4, 5, true, false));
-		nonHostLabel = new Label(manualProxyConfigurationComposite, SWT.NONE);
-		nonHostLabel.setText(NetUIMessages.ProxyPreferencePage_6);
-		nonHostLabel.setToolTipText(NetUIMessages.ProxyPreferencePage_24);
-		nonHostLabel.setLayoutData(newGridData(4, 5, true, false));
-		nonHostComposite = new NonProxyHostsComposite(
-				manualProxyConfigurationComposite, SWT.NONE);
-		nonHostComposite.setLayoutData(newGridData(4, -1, true, true));
-
-		Label separator2 = new Label(manualProxyConfigurationComposite,
-				SWT.HORIZONTAL | SWT.SEPARATOR);
-		separator2.setLayoutData(newGridData(4, 5, true, false));
-		enableProxyAuth = new Button(manualProxyConfigurationComposite,
-				SWT.CHECK);
-		enableProxyAuth.setText(NetUIMessages.ProxyPreferencePage_7);
-		enableProxyAuth.setLayoutData(newGridData(4, 5, true, false));
-		enableProxyAuth.setToolTipText(NetUIMessages.ProxyPreferencePage_25);
-		enableProxyAuth.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				enableUseridPassword(enableProxyAuth.getSelection());
-			}
-		});
-
-		final Composite userIdPassword = new Composite(
-				manualProxyConfigurationComposite, SWT.NONE);
-		GridLayout layout2 = new GridLayout(2, false);
-		layout2.marginWidth = 0;
-		layout2.marginHeight = 0;
-		userIdPassword.setLayoutData(newGridData(4, -1, true, false));
-		userIdPassword.setLayout(layout2);
-
-		useridLabel = new Label(userIdPassword, SWT.NONE);
-		useridLabel.setText(NetUIMessages.ProxyPreferencePage_8);
-		userid = new Text(userIdPassword, SWT.BORDER);
-		passwordLabel = new Label(userIdPassword, SWT.NONE);
-		passwordLabel.setText(NetUIMessages.ProxyPreferencePage_9);
-		password = new Text(userIdPassword, SWT.BORDER);
-
-		userid.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		userid.setToolTipText(NetUIMessages.ProxyPreferencePage_26);
-		password.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		password.setToolTipText(NetUIMessages.ProxyPreferencePage_27);
-		password.setEchoChar('*');
-
-		ModifyListener modifyListener = new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				if (useSameProxyButton.getSelection()) {
-					for (int index = 1; index < entryList.length; index++) {
-						entryList[index].copyValuesFrom(entryList[0]);
-					}
-				}
-			}
-		};
-
-		entryList[0].hostname.addModifyListener(modifyListener);
-		entryList[0].port.addModifyListener(modifyListener);
-
-		initializeValues(proxyService.isProxiesEnabled() , proxyService.isSystemProxiesEnabled());
-		applyDialogFont(composite);
-		
-		// F1
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(
-				getControl(), PROXY_PREFERENCE_PAGE_CONTEXT_ID);
-
-		return composite;
-	}
-
-	protected void performApply() {
-		if (proxyService == null)
-			return;
-		boolean manualProxiesEnabled = manualProxyConfigurationButton.getSelection();
-		boolean systemProxiesEnabled = systemProxyConfigurationButton.getSelection();
-
-		// Save the contents of the text fields to the proxy data.
-		IProxyData[] proxyData = new IProxyData[entryList.length];
-		for (int index = 0; index < entryList.length; index++) {
-			entryList[index].applyValues();
-			proxyData[index] = entryList[index].getProxy();
-		}
-
-		proxyService.setProxiesEnabled(manualProxiesEnabled || systemProxiesEnabled);
-		
-		if (manualProxiesEnabled) {
-			try {
-				proxyService.setNonProxiedHosts(
-						nonHostComposite.getList());
-				proxyService.setProxyData(proxyData);
-			} catch (CoreException e) {
-				ErrorDialog.openError(getShell(), null, null, e.getStatus());
-			}
-		}
-		
-		proxyService.setSystemProxiesEnabled(systemProxiesEnabled);
-
-		Activator.getDefault().savePluginPreferences();
-	}
-
-	protected void performDefaults() {
-		directConnectionToButton.setSelection(true);
-		systemProxyConfigurationButton.setSelection(false);
-		manualProxyConfigurationButton.setSelection(false);
-		useSameProxyButton.setSelection(false);
-		enableProxyAuth.setSelection(false);
-
-		for (int index = 0; index < entryList.length; index++) {
-			entryList[index].reset();
-		}
-
-		nonHostComposite.setList(new String[] { "localhost", "127.0.0.1" }); //$NON-NLS-1$ //$NON-NLS-2$
-		userid.setText(""); //$NON-NLS-1$
-		password.setText(""); //$NON-NLS-1$
-		enableControls(false);
-	}
-
-	public boolean performOk() {
-		performApply();
-		return super.performOk();
-	}
-
-	/**
-	 * This method is run once when when this preference page is displayed. It
-	 * will restore the state of this page using previously saved preferences.
-	 * 
-	 * @param proxiesEnabled indicates if manual proxies are enabled or not.
-	 */
-	private void initializeValues(boolean proxiesEnabled, boolean systemProxiesEnabled) {
-		directConnectionToButton.setSelection(!proxiesEnabled);
-		manualProxyConfigurationButton.setSelection(proxiesEnabled && !systemProxiesEnabled);
-		systemProxyConfigurationButton.setSelection(proxiesEnabled && systemProxiesEnabled);
-		
-
-		String[] nonHostLists = null;
-		if (proxyService != null)
-			nonHostLists = proxyService.getNonProxiedHosts();
-		this.nonHostComposite.setList(nonHostLists == null ? new String[] {
-				"localhost", "127.0.0.1" } : nonHostLists); //$NON-NLS-1$ //$NON-NLS-2$
-		if (proxiesEnabled && !systemProxiesEnabled) {
-			this.useSameProxyButton.setSelection(false);
-			this.enableProxyAuth.setSelection(false);
-			this.userid.setText(""); //$NON-NLS-1$
-			this.password.setText(""); //$NON-NLS-1$
-		} else {
-			// use the first entry which does need authentication
-			IProxyData data = null;
-			for (int i = 0; i < entryList.length; i++) {
-				IProxyData idata = entryList[i].getProxy();
-				if (idata.isRequiresAuthentication()) {
-					data = idata;
-					break;
-				}
-			}
-			if (data == null) {
-				// no entry needs authentication, just pick the first.
-				data = entryList[0].getProxy();
-			}
-			this.enableProxyAuth.setSelection(data.isRequiresAuthentication());
-			this.userid.setText(data.getUserId() == null ? "" : data //$NON-NLS-1$
-					.getUserId());
-			this.password.setText(data.getPassword() == null ? "" : data //$NON-NLS-1$
-					.getPassword());
-
-		}
-		boolean useSameProtocol = true;
-		for (int i = 1; i < entryList.length; i++) {
-			Entry entry = entryList[i];
-			if (!entry.isUseSameProtocol(entryList[0])) {
-				useSameProtocol = false;
-				break;
-			}
-		}
-		this.useSameProxyButton.setSelection(useSameProtocol);
-		for (int index = 1; index < entryList.length; index++) {
-			Entry entry = entryList[index];
-			entry.loadPreviousValues();
-			entry.updateEnablement(proxiesEnabled && !systemProxiesEnabled, useSameProtocol);
-		}
-
-		enableControls(proxiesEnabled && !systemProxiesEnabled);
-	}
-
-	void enableControls(boolean enabled) {
-		for (int index = 0; index < entryList.length; index++) {
-			entryList[index].updateEnablement(enabled, useSameProxyButton.getSelection());
-		}
-
-		useSameProxyButton.setEnabled(enabled);
-		nonHostLabel.setEnabled(enabled);
-		nonHostComposite.setEnabled(enabled);
-		enableProxyAuth.setEnabled(enabled);
-
-		enableUseridPassword(enableProxyAuth.getSelection() && enabled);
-	}
-
-	void enableUseridPassword(boolean enabled) {
-		useridLabel.setEnabled(enabled);
-		userid.setEnabled(enabled);
-		passwordLabel.setEnabled(enabled);
-		password.setEnabled(enabled);
-	}
-
-	protected void toggleUseSameProtocol() {
-		boolean useSameProtocol = useSameProxyButton.getSelection();
-		for (int index = 1; index < entryList.length; index++) {
-			entryList[index].setUseSameProtocol(useSameProtocol, entryList[0]);
-		}
-	}
-	
-	public void updateErrorMessage() {
-		for (int index = 0; index < entryList.length; index++) {
-			String message = entryList[index].getErrorMessage();
-			if (message != null) {
-				setErrorMessage(message);
-				return;
-			}
-		}
-		setErrorMessage(null);
-	}
-
-	private GridData newGridData(int span, int verticalIndent,
-			boolean horizontal, boolean vertical) {
-		int style = 0;
-
-		style |= horizontal ? GridData.FILL_HORIZONTAL : 0;
-		style |= vertical ? GridData.FILL_VERTICAL : 0;
-
-		GridData gridData = new GridData(style);
-
-		if (span != -1) {
-			gridData.horizontalSpan = span;
-		}
-
-		if (verticalIndent != -1) {
-			gridData.verticalIndent = verticalIndent;
-		}
-
-		return gridData;
-	}
-
-	private class Entry {
-		Label nameLabel;
-		Text hostname;
-		Label portLabel;
-		Text port;
-		String prevHostname;
-		int prevPort;
-		private final IProxyData proxyData;
-		private String errorMessage;
-
-		public Entry(IProxyData proxyData) {
-			this.proxyData = proxyData;
-		}
-
-		public void updateEnablement(boolean proxiesEnabled, boolean useSameProtocol) {
-			if (isHttpProxy()) {
-				setEnabled(proxiesEnabled);
-			} else {
-				if (proxiesEnabled) {
-					setUseSameProtocol(useSameProtocol);
-				} else {
-					setEnabled(false);
-				}
-			}
-			updateMessage();
-		}
-
-		public void setUseSameProtocol(boolean useSameProtocol, Entry httpEntry) {
-			setUseSameProtocol(useSameProtocol);
-			if (isSocksProxy() || isHttpProxy())
-				return;
-			if (useSameProtocol) {
-				recordPreviousValues();
-				copyValuesFrom(entryList[0]);
-			} else {
-				restorePreviousValues();
-			}
-		}
-		
-		public void setUseSameProtocol(boolean useSameProtocol) {
-			if (isSocksProxy()) {
-				setEnabled(true);
-			} else {
-				setEnabled(!useSameProtocol);
-			}
-		}
-
-		public void loadPreviousValues() {
-			IProxyData proxy = getProxy();
-			prevHostname = proxy.getHost();
-			prevPort = proxy.getPort();
-		}
-		
-		public void restorePreviousValues() {
-			hostname.setText(prevHostname);
-			port.setText(prevPort == -1 ? "" : String //$NON-NLS-1$
-					.valueOf(prevPort));
-		}
-
-		public void recordPreviousValues() {
-			prevHostname = hostname.getText();
-			try {
-				prevPort = Integer.parseInt(port.getText());
-			} catch (NumberFormatException e) {
-				prevPort = -1;
-			}
-		}
-
-		/**
-		 * The user has chosen to use the same entry for all protocols
-		 * @param entry the entry (the http entry to be exact)
-		 */
-		public void copyValuesFrom(Entry entry) {
-			// For SOCKS, don't use the general entry
-			if (!isSocksProxy()){
-	            hostname.setText( entry.hostname.getText() );
-	            port.setText( entry.port.getText() );
-			}
-		}
-		
-		public boolean isUseSameProtocol(Entry entry) {
-			// Always answer true for the SOCKS proxy since we never disable
-			if (isSocksProxy())
-				return true;
-			return (hostsEqual(proxyData.getHost(), entry.getProxy().getHost()) 
-					&& portsEqual(proxyData.getPort(), entry.getProxy().getPort()));
-		}
-
-		private boolean portsEqual(int port1, int port2) {
-			return port1 == port2;
-		}
-
-		private boolean hostsEqual(String host1, String host2) {
-			if (host1 == host2)
-				// If there are no hosts, don't enable the use same hosts button
-				return false;
-			if (host1 == null || host2 == null)
-				return false;
-			return host1.equals(host2);
-		}
-		
-		boolean isSocksProxy() {
-			return getProxy().getType().equals(IProxyData.SOCKS_PROXY_TYPE);
-		}
-		
-		boolean isHttpProxy() {
-			return getProxy().getType().equals(IProxyData.HTTP_PROXY_TYPE);
-		}
-		
-		boolean isHttpsProxy() {
-			return getProxy().getType().equals(IProxyData.HTTPS_PROXY_TYPE);
-		}
-
-		public IProxyData getProxy() {
-			return proxyData;
-		}
-
-		public boolean updateMessage() {
-			if (hostname.isEnabled()) {
-				if (isSocksProxy() || isHttpProxy()|| !useSameProxyButton.getSelection()) {
-					String hostString = hostname.getText();
-					if (hostString.startsWith(" ") || hostString.endsWith(" ")) { //$NON-NLS-1$ //$NON-NLS-2$
-						setErrorMessage(NetUIMessages.ProxyPreferencePage_41);
-						return false;
-					}
-					String portString = port.getText();
-					if (portString.length() > 0) {
-						try {
-							int port = Integer.valueOf(portString).intValue();
-							if (port < 0) {
-								setErrorMessage(NetUIMessages.ProxyPreferencePage_42);
-								return false;
-							}
-						} catch (NumberFormatException e) {
-							setErrorMessage(NetUIMessages.ProxyPreferencePage_43);
-							return false;
-						}
-					}
-				}
-			}
-			setErrorMessage(null);
-			return true;
-		}
-		
-		private void setErrorMessage(String message) {
-			errorMessage = message;
-			updateErrorMessage();
-		}
-		
-		public void applyValues() {
-			IProxyData proxy = getProxy();
-			boolean enableAuth = enableProxyAuth.getSelection();
-
-			String hostString;
-			String portString;
-			if (useSameProxyButton.getSelection() && !isSocksProxy()) {
-				hostString = entryList[0].hostname.getText();
-				portString = entryList[0].port.getText();
-			} else {
-				hostString = hostname.getText();
-				portString = port.getText();
-			}
-			
-			proxy.setHost(hostString);
-			try {
-				int port = Integer.valueOf(portString).intValue();
-				proxy.setPort(port);
-			} catch (NumberFormatException e) {
-				proxy.setPort(-1);
-			}
-			proxy.setUserid(enableAuth ? userid.getText() : null);
-			proxy.setPassword(enableAuth ? password.getText() : null);
-		}
-		
-		public void addProtocolEntry(Composite parent) {
-			GridData gridData;
-			IProxyData proxy = getProxy();
-
-			nameLabel = new Label(parent, SWT.NONE);
-			nameLabel.setText(getLabel(proxy));
-
-			hostname = new Text(parent, SWT.BORDER);
-			gridData = new GridData(GridData.FILL_HORIZONTAL);
-			gridData.widthHint = 120;
-			hostname.setLayoutData(gridData);
-			hostname.setText(getHostName(proxy));
-			hostname.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					Entry.this.updateMessage();
-				}
-			});
-
-			portLabel = new Label(parent, SWT.NONE);
-			portLabel.setText(NetUIMessages.ProxyPreferencePage_22);
-
-			port = new Text(parent, SWT.BORDER);
-			gridData = new GridData();
-			gridData.widthHint = 50;
-			port.setLayoutData(gridData);
-			port.setText(getPortString(proxy));
-			port.addModifyListener(new ModifyListener() {
-				public void modifyText(ModifyEvent e) {
-					Entry.this.updateMessage();
-				}
-			});
-		}
-
-		private String getLabel(IProxyData data) {
-			if (data.getType().equals(IProxyData.HTTP_PROXY_TYPE)) {
-				return NetUIMessages.ProxyPreferencePage_37;
-			}
-			if (data.getType().equals(IProxyData.HTTPS_PROXY_TYPE)) {
-				return NetUIMessages.ProxyPreferencePage_38;
-			}
-			if (data.getType().equals(IProxyData.SOCKS_PROXY_TYPE)) {
-				return NetUIMessages.ProxyPreferencePage_39;
-			}
-			return ""; //$NON-NLS-1$
-		}
-		
-		private String getPortString(IProxyData proxy) {
-			int portInt = proxy.getPort();
-			String portString;
-			if (portInt == -1) {
-				portString = ""; //$NON-NLS-1$
-			} else {
-				portString = String.valueOf(portInt);
-			}
-			return portString;
-		}
-
-		private String getHostName(IProxyData proxy) {
-			String hostnameString = proxy.getHost();
-			if (hostnameString == null) {
-				hostnameString = ""; //$NON-NLS-1$
-			}
-			return hostnameString;
-		}
-		
-		public void reset() {
-			hostname.setText(""); //$NON-NLS-1$
-			port.setText(""); //$NON-NLS-1$
-			prevHostname = ""; //$NON-NLS-1$
-			prevPort = -1;
-		}
-		
-		private void setEnabled(boolean enabled) {
-			hostname.setEnabled(enabled);
-			nameLabel.setEnabled(enabled);
-			portLabel.setEnabled(enabled);
-			port.setEnabled(enabled);
-		}
-
-		public String getErrorMessage() {
-			return errorMessage;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/Authentication.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/Authentication.java
deleted file mode 100644
index c7d8a0b..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/Authentication.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.net.auth;
-
-/**
- * Keeps user and password strings.
- */
-public class Authentication {
-	protected String user;
-	protected String password;
-	public Authentication(String user, String password){
-		this.user = user;
-		this.password = password;
-	}
-
-	/**
-	 * @return Returns the password.
-	 */
-	public String getPassword() {
-		return password;
-	}
-	/**
-	 * @return Returns the user.
-	 */
-	public String getUser() {
-		return user;
-	}
-}
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/NetAuthenticator.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/NetAuthenticator.java
deleted file mode 100644
index 4f5dade..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/NetAuthenticator.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.net.auth;
-
-import java.net.*;
-
-public class NetAuthenticator extends Authenticator {
-	
-	/*
-	 * @see Authenticator#getPasswordAuthentication()
-	 */
-	protected PasswordAuthentication getPasswordAuthentication() {
-		// String protocol = getRequestingProtocol();
-		InetAddress address = getRequestingSite(); // can be null;
-		// int port = getRequestingPort();
-		String prompt = getRequestingPrompt(); // realm or message, not documented that can be null
-		// String scheme = getRequestingScheme(); // not documented that can be null
-
-		 // get the host name from the address since #getRequestingHost
-		 // is not available in the foundation 1.0 class libraries
-		String hostString = null;
-		if (address != null) {
-			hostString = address.getHostName();
-		}
-		if (hostString == null) {
-			hostString = ""; //$NON-NLS-1$
-		}
-		String promptString = prompt;
-		if (prompt == null) {
-			promptString = ""; //$NON-NLS-1$
-		}
-
-		Authentication auth = UserValidationDialog.getAuthentication(
-				hostString, promptString);
-		if (auth != null)
-			return new PasswordAuthentication(auth.getUser(), auth
-					.getPassword().toCharArray());
-		else
-			return null;
-	}
-}
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/UserValidationDialog.java b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/UserValidationDialog.java
deleted file mode 100644
index 05a967b..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/auth/UserValidationDialog.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.net.auth;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.net.NetUIMessages;
-
-/**
- * User authentication dialog
- */
-public class UserValidationDialog extends Dialog {
-	protected Text usernameField;
-	protected Text passwordField;
-
-	protected String host;
-	protected String message;
-	protected Authentication userAuthentication = null;
-	/**
-	 * Gets user and password from a user. May be called from any thread
-	 * @param host the host name
-	 * @param message the message to be displayed when prompting
-	 * 
-	 * @return UserAuthentication that contains the userid and the password or
-	 *         <code>null</code> if the dialog has been cancelled
-	 */
-	public static Authentication getAuthentication(final String host,
-			final String message) {
-		class UIOperation implements Runnable {
-			public Authentication authentication;
-			public void run() {
-				authentication = UserValidationDialog.askForAuthentication(
-						host, message);
-			}
-		}
-
-		UIOperation uio = new UIOperation();
-		if (Display.getCurrent() != null) {
-			uio.run();
-		} else {
-			Display.getDefault().syncExec(uio);
-		}
-		return uio.authentication;
-	}
-	/**
-	 * Gets user and password from a user Must be called from UI thread
-	 * 
-	 * @return UserAuthentication that contains the userid and the password or
-	 *         <code>null</code> if the dialog has been cancelled
-	 */
-	protected static Authentication askForAuthentication(String host,
-			String message) {
-		UserValidationDialog ui = new UserValidationDialog(null, host, message); 
-		ui.open();
-		return ui.getAuthentication();
-	}
-	/**
-	 * Creates a new UserValidationDialog.
-	 * 
-	 * @param parentShell
-	 *            parent Shell or null
-	 */
-	protected UserValidationDialog(Shell parentShell, String host,
-			String message) {
-		super(parentShell);
-		this.host = host;
-		this.message = message;
-		setBlockOnOpen(true);
-	}
-	/**
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(NetUIMessages.UserValidationDialog_0); 
-	}
-	/**
-	 */
-	public void create() {
-		super.create();
-		//give focus to username field
-		usernameField.selectAll();
-		usernameField.setFocus();
-	}
-	/**
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite main = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		main.setLayout(layout);
-		main.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Label label = new Label(main, SWT.WRAP);
-		String text = NLS.bind(NetUIMessages.UserValidationDialog_1, host); 
-		text += "\n\n" + message; //$NON-NLS-1$ 
-		label.setText(text);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 3;
-		label.setLayoutData(data);
-
-		createUsernameFields(main);
-		createPasswordFields(main);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(main,
-				"org.eclipse.update.ui.UserValidationDialog"); //$NON-NLS-1$
-		return main;
-	}
-	/**
-	 * Creates the three widgets that represent the user name entry area.
-	 */
-	protected void createPasswordFields(Composite parent) {
-		new Label(parent, SWT.NONE).setText(NetUIMessages.UserValidationDialog_2); 
-
-		passwordField = new Text(parent, SWT.BORDER | SWT.PASSWORD);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-		passwordField.setLayoutData(data);
-
-		new Label(parent, SWT.NONE); //spacer
-	}
-	/**
-	 * Creates the three widgets that represent the user name entry area.
-	 */
-	protected void createUsernameFields(Composite parent) {
-		new Label(parent, SWT.NONE).setText(NetUIMessages.UserValidationDialog_3); 
-
-		usernameField = new Text(parent, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-		usernameField.setLayoutData(data);
-
-		new Label(parent, SWT.NONE); //spacer
-	}
-	/**
-	 * Returns the UserAuthentication entered by the user, or null if the user
-	 * canceled.
-	 * @return the authentication information
-	 */
-	public Authentication getAuthentication() {
-		return userAuthentication;
-	}
-	/**
-	 * Notifies that the ok button of this dialog has been pressed.
-	 */
-	protected void okPressed() {
-		userAuthentication = new Authentication(usernameField.getText(),
-				passwordField.getText());
-		super.okPressed();
-	}
-
-}
diff --git a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/messages.properties b/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/messages.properties
deleted file mode 100644
index 562c809..0000000
--- a/bundles/org.eclipse.ui.net/src/org/eclipse/ui/internal/net/messages.properties
+++ /dev/null
@@ -1,53 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-# yyyymmdd bug      Email and other contact information
-# -------- -------- -----------------------------------------------------------
-# 20070201   154100 pmoogk@ca.ibm.com - Peter Moogk, Port internet code from WTP to Eclipse base.
-###############################################################################
-
-#
-# Messages in InternetPreferencePage
-#
-BUTTON_PREFERENCE_ADD=Add &Host...
-BUTTON_PREFERENCE_EDIT=Ed&it...
-BUTTON_PREFERENCE_REMOVE=&Remove
-TITLE_PREFERENCE_HOSTS_DIALOG=Non Proxy host names
-LABEL_PREFERENCE_HOSTS_DIALOG=Enter host names separated by a vertical bar, space, or comma.
-
-ProxyPreferencePage_2=Proxy Preferences
-ProxyPreferencePage_3=Direct &connection to the Internet
-ProxyPreferencePage_4=&Manual proxy configuration:
-ProxyPreferencePage_5=&Use this proxy server for SSL
-ProxyPreferencePage_6=&No Proxy for:
-ProxyPreferencePage_7=&Enable proxy authentication:
-ProxyPreferencePage_8=Us&er Name:
-ProxyPreferencePage_9=&Password:
-ProxyPreferencePage_1=Specifies that no configuration is needed to access the Internet.
-ProxyPreferencePage_0=Specifies that a proxy server is required to access the Internet.
-ProxyPreferencePage_22=Port:
-ProxyPreferencePage_23=Specifies that the HTTP protocol settings should be used for the protocols below.
-ProxyPreferencePage_24=Specifies which hosts should not be routed via a proxy server.
-ProxyPreferencePage_25=Specifies that basic authentication is required.
-ProxyPreferencePage_26=Specifies the basic authentication user name.
-ProxyPreferencePage_27=Specifies the basic authentication password
-ProxyPreferencePage_37=&HTTP proxy:
-ProxyPreferencePage_38=&SSL proxy:
-ProxyPreferencePage_39=S&OCKS proxy:
-ProxyPreferencePage_40=The proxy service is not available
-ProxyPreferencePage_41=The host name cannot begin or end with a space character
-ProxyPreferencePage_42=Invalid port
-ProxyPreferencePage_43=The port must be an integer
-ProxyPreferencePage_44=System proxy configuration (if available)
-ProxyPreferencePage_45=Specifies that system proxy settings are used to access the Internet. If such settings can't be retrieved, no proxy should be used.
-UserValidationDialog_0=Password Required
-UserValidationDialog_1=Connect to: {0}
-UserValidationDialog_2=&Password:
-UserValidationDialog_3=&User name:
-NonProxyHostsComposite_0=You can use the wildcard character * to specify a host name pattern and | to combine multiple patterns
diff --git a/examples/org.eclipse.compare.examples.xml/.classpath b/examples/org.eclipse.compare.examples.xml/.classpath
deleted file mode 100644
index ef70f95..0000000
--- a/examples/org.eclipse.compare.examples.xml/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="tests"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.compare.examples.xml/.cvsignore b/examples/org.eclipse.compare.examples.xml/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.compare.examples.xml/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.compare.examples.xml/.project b/examples/org.eclipse.compare.examples.xml/.project
deleted file mode 100644
index 3df3ab3..0000000
--- a/examples/org.eclipse.compare.examples.xml/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.compare.examples.xml</name>
-	<comment></comment>
-	<projects></projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.compare.examples.xml/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.compare.examples.xml/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 6eb6ae3..0000000
--- a/examples/org.eclipse.compare.examples.xml/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Tue Nov 30 15:50:49 CET 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/examples/org.eclipse.compare.examples.xml/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.compare.examples.xml/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 85347de..0000000
--- a/examples/org.eclipse.compare.examples.xml/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Wed Jun 01 18:31:47 CEST 2005
-compilers.p.deprecated=0
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.compare.examples.xml/IdMaps/ant_test.xml b/examples/org.eclipse.compare.examples.xml/IdMaps/ant_test.xml
deleted file mode 100644
index 5587170..0000000
--- a/examples/org.eclipse.compare.examples.xml/IdMaps/ant_test.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE idmap SYSTEM "idmap.dtd">
-
-<idmap name="ANT">
-	<element signature="root.project." id="name"/>
-	<element signature="root.project.target." id="name"/>
-</idmap>
diff --git a/examples/org.eclipse.compare.examples.xml/IdMaps/idmap.dtd b/examples/org.eclipse.compare.examples.xml/IdMaps/idmap.dtd
deleted file mode 100644
index b60a2fa..0000000
--- a/examples/org.eclipse.compare.examples.xml/IdMaps/idmap.dtd
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!ELEMENT idmap (element)*>

-<!ATTLIST idmat

-          name      CDATA #REQUIRED>

-<!ELEMENT element EMPTY>

-<!ATTLIST element

-          signature ID #REQUIRED

-          id_attr   CDATA #REQUIRED>

diff --git a/examples/org.eclipse.compare.examples.xml/about.html b/examples/org.eclipse.compare.examples.xml/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.compare.examples.xml/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.compare.examples.xml/build.properties b/examples/org.eclipse.compare.examples.xml/build.properties
deleted file mode 100644
index 678cea0..0000000
--- a/examples/org.eclipse.compare.examples.xml/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.xmlcompareexamples.jar = src/
-
-bin.includes = doc-html/,\
-				about.html,\
-				plugin.properties,\
-				plugin.xml,\
-				icons/,\
-				xmlcompareexamples.jar
-
-src.includes = about.html
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/CreateNewIDMapButton.gif b/examples/org.eclipse.compare.examples.xml/doc-html/CreateNewIDMapButton.gif
deleted file mode 100644
index 907a80b..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/CreateNewIDMapButton.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/EditCopy.gif b/examples/org.eclipse.compare.examples.xml/doc-html/EditCopy.gif
deleted file mode 100644
index 6e7eb1d..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/EditCopy.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/IDMapContextMenu.gif b/examples/org.eclipse.compare.examples.xml/doc-html/IDMapContextMenu.gif
deleted file mode 100644
index e7f2052..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/IDMapContextMenu.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_GeneralMatching.gif b/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_GeneralMatching.gif
deleted file mode 100644
index 9ff7062..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_GeneralMatching.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_MyPlugin.gif b/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_MyPlugin.gif
deleted file mode 100644
index 1ddf171..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_MyPlugin.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewIDMapScheme.gif b/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewIDMapScheme.gif
deleted file mode 100644
index 7c1d274..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewIDMapScheme.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewMapping_ContextMenu.gif b/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewMapping_ContextMenu.gif
deleted file mode 100644
index 93d1dc8..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewMapping_ContextMenu.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewMapping_PreferencePage.gif b/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewMapping_PreferencePage.gif
deleted file mode 100644
index 6d6e02b..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_NewMapping_PreferencePage.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_SelectMyPlugin.gif b/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_SelectMyPlugin.gif
deleted file mode 100644
index 3b16c75..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/IDMap_SelectMyPlugin.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_MyANT.gif b/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_MyANT.gif
deleted file mode 100644
index d4278fe..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_MyANT.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewIDMapScheme.gif b/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewIDMapScheme.gif
deleted file mode 100644
index b9ac0da..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewIDMapScheme.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewOrderedEntry_ContextMenu.gif b/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewOrderedEntry_ContextMenu.gif
deleted file mode 100644
index 8c88298..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewOrderedEntry_ContextMenu.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewOrderedEntry_PreferencePage.gif b/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewOrderedEntry_PreferencePage.gif
deleted file mode 100644
index 0485d3c..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_NewOrderedEntry_PreferencePage.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_UnorderedScheme.gif b/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_UnorderedScheme.gif
deleted file mode 100644
index c58e567..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/Ordered_UnorderedScheme.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/PreferencePage.gif b/examples/org.eclipse.compare.examples.xml/doc-html/PreferencePage.gif
deleted file mode 100644
index ba7912b..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/PreferencePage.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/addidmap.gif b/examples/org.eclipse.compare.examples.xml/doc-html/addidmap.gif
deleted file mode 100644
index 62dad8b..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/addidmap.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/idMapping.html b/examples/org.eclipse.compare.examples.xml/doc-html/idMapping.html
deleted file mode 100644
index bab1295..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/idMapping.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>XML Compare Extension Points: idMapping</title>
-</head>
-<body link="#0000FF" vlink="#800080">
-
-<center>
-<h1>
-idMapping</h1></center>
-<b><i>Identifier: </i></b>org.eclipse.compare.examples.xml.idMapping
-<p><b><i>Description: </i></b>This extension point allows to define internal XML ID Mapping
-schemes using the <i>mapping</i> element. These schemes can then be used when performing an XML compare to uniquely identify XML elements by the value of an
-attribute or the text in a child element.
-<br>Additionally, <i>ordered</i> elements can be used to specify that the direct children of an element should be compared in ordered fashion instead of the
-default unordered way.
-<p><b><i>Configuration Markup:</i></b>
-<p><tt>&nbsp;&nbsp; &lt;!ELEMENT idmap (mapping*)></tt>
-<br><tt>&nbsp;&nbsp; &lt;!ATTLIST idmap</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; extension&nbsp;
-CDATA</tt>
-<br><tt>&nbsp;&nbsp; ></tt>
-<ul>
-<li>
-<b>name</b> - the name of the ID Mapping scheme. Should be unique.</li>
-<li>
-<b>extension</b> - (optional) a file extension associated with this ID Mapping Scheme.
-When comparing files with this extension, the current ID Mapping Scheme will automatically be used.
-<br>If an extension is specified, then the extension should also be added in the plugin.xml file of the XML Compare Plugin.
-For example, if we create an ID Mapping Scheme with extension cd, the plugin.xml of the XML Compare Plugin is updated as follows
-(update shown in bold):
-<tt>
-<p>&lt;extension
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;point="org.eclipse.compare.structureMergeViewers">
-<br>&nbsp;&nbsp;&nbsp;&lt;structureMergeViewer
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extensions="xml,classpath,<b>cd</b>"
-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class="org.eclipse.compare.xml.XMLStructureViewerCreator">
-<br>&nbsp;&nbsp;&nbsp;&lt;/structureMergeViewer>
-</tt>
-<p><b>Warning: </b>If an extension is associated more than once, only the first association will be considered.
-Also, internal ID Mapping schemes have priority over user ID Mapping schemes when duplicate extensions are defined.
-<p><b>Warning: </b>When an internal ID Mapping scheme with extension association is removed (from a <tt>plugin.xml</tt>), the XML Compare plugin has to be reloaded to disassociate itself from the extension.
-If not, on the first compare of files with this extension, the XML Compare plugin will be used with the default <em>Unordered</em> algorithm.
-(However, at this point the extension will have been disassociated from the XML Plugin, as the plugin has been loaded.)
-</ul>
-<br>
-<p><tt>&nbsp;&nbsp; &lt;!ELEMENT mapping EMPTY></tt>
-<br><tt>&nbsp;&nbsp; &lt;!ATTLIST mapping</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; signature&nbsp;
-CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id-source &nbsp;CDATA</tt>
-<br><tt>&nbsp;&nbsp; ></tt>
-<ul>
-<li>
-<b>signature</b> - the XML path from the root to the current element (see examples below).</li>
-
-<li>
-<b>id</b> - the attribute that identifies this element or the name of the child element
-whose text identifies this element.</li>
-
-<li>
-<b>id-source</b> - (optional) if <em>id</em> is the name of a child element, then this attribute must have
-the value <em>body</em>. If <em>id-source</em> is left out, it is assumed that <em>id</em> is an attribute.</li>
-</ul>
-<br>
-<p><tt>&nbsp;&nbsp; &lt;!ELEMENT ordered EMPTY></tt>
-<br><tt>&nbsp;&nbsp; &lt;!ATTLIST ordered</tt>
-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; signature&nbsp;
-CDATA #REQUIRED</tt>
-<br><tt>&nbsp;&nbsp; ></tt>
-<ul>
-<li>
-<b>signature</b> - the XML path from the root to the element whose direct children will be compared in ordered fashion instead of the default unordered way.</li>
-</li>
-</ul>
-<b><i>Examples:</i></b>
-<br>The following is an example ID Mappings Scheme for ANT files.
-<br><i>project</i> elements are identified by an attribute <i>name</i>. <i>target</i> elements (which are children of <i>project</i>) are also identified by an attribute <i>name</i>.
-Also, the children of <i>target</i> will be compared in the order in which they appear in the document.
-<tt>
-<p>&lt;idmap name="ANT">
-<br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;mapping signature="project" id="name"/>
-<br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;mapping signature="project>target" id="name"/>
-<br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;ordered signature="project>target"/>
-<br>&lt;idmap>
-</tt>
-<p>The following example illustrates a case where the text of a child element is used as id:
-<tt>
-<p>&lt;idmap name="Book Catalog" extension="book">
-<br>&nbsp;&nbsp;&nbsp;&nbsp; &lt;mapping signature="catalog>book" id="isbn" id-source="body"/>
-<br>&lt;idmap>
-</tt>
-<p><b><i>Supplied Implementation:</i></b>
-<br>The XML Compare plugin defines an ID Mapping scheme for Eclipse <tt>plugin.xml</tt> files, one for <tt>.classpath</tt> files and one for ANT files.
-</body>
-</html>
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/smartmode_co.gif b/examples/org.eclipse.compare.examples.xml/doc-html/smartmode_co.gif
deleted file mode 100644
index 542dddc..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/smartmode_co.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/tutorial_and_examples.html b/examples/org.eclipse.compare.examples.xml/doc-html/tutorial_and_examples.html
deleted file mode 100644
index 1ec2421..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/tutorial_and_examples.html
+++ /dev/null
@@ -1,242 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Tutorial and Examples</title>
-</head>
-
-<h1>Tutorial and Examples</h1>
-<h2><a id="id_mapping" name="id_mapping">
-General Matching vs. ID Mapping Schemes:<br>How to create an ID Mapping Scheme to improve compare results
-</a></h2>
-Consider an example XML file in two slightly different versions, left and right. Assume that the element <tt>extension-point</tt> is uniquely identified by the attribute <tt>id</tt>.
-The textual differences are shown in bold.
-<table>
-<tr>
-<td><tt>
-<br>
-<p>&lt;?xml version="1.0" encoding="UTF-8"?>
-<p>&lt;plugin
-<br>
-&nbsp;&nbsp;&nbsp;name="%Plugin.name"
-<br>
-&nbsp;&nbsp;&nbsp;id="org.eclipse.ui"
-<br>
-&nbsp;&nbsp;&nbsp;version="1.0"
-<br>
-&nbsp;&nbsp;&nbsp;provider-name="Object Technology International, Inc."
-<br>
-&nbsp;&nbsp;&nbsp;class="org.eclipse.ui.internal.WorkbenchPlugin">
-<br>
-<br>&lt;extension-point name="%ExtPoint.editorMenus " id="editorActions"/>
-<br>&lt;extension-point name="%ExtPoint.popupMenus " id="popupMenus"/>
-<br>&lt;extension-point name="%ExtPoint.<b>importWizards</b>" id="<b>importWizards</b>"/>
-<br>
-<p>&lt;/plugin>
-</tt>
-</td>
-<td>
-&nbsp;&nbsp;
-</td>
-<td><tt>
-<p>&lt;?xml version="1.0" encoding="UTF-8"?>
-<p>&lt;plugin
-<br>
-&nbsp;&nbsp;&nbsp;name="%Plugin.name"
-<br>
-&nbsp;&nbsp;&nbsp;id="org.eclipse.ui"
-<br>
-&nbsp;&nbsp;&nbsp;version="1.0"
-<br>
-&nbsp;&nbsp;&nbsp;provider-name="Object Technology International, Inc."
-<br>
-&nbsp;&nbsp;&nbsp;class="org.eclipse.ui.internal.WorkbenchPlugin">
-<br>
-<br>&lt;extension-point name="%ExtPoint.editorMenus " id="editorActions"/>
-<br>&lt;extension-point name="%ExtPoint.popupMenus " id="popupMenus"/>
-<br>&lt;extension-point name="%ExtPoint.<b>exportWizards</b>" id="<b>exportWizards</b>"/>
-<br>
-<p>&lt;/plugin>
-</tt>
-</td>
-</tr>
-</table>
-<br>
-Assume that the order of the elements should be ignored. The structural difference between the two documents consists in the <tt>extension-point</tt> element on the left with <tt>id="importWizards"</tt> being replaced on the right with a new <tt>extension-point</tt> with <tt>id="exportWizards"</tt>.
-Using the general matching algorithm called <em>Unordered</em>, because it ignores the order in which the XML elements appear in the document, we obtain the following tree of differences.
-<br>
-<br>
-<img src="IDMap_GeneralMatching.gif" alt="Difference Tree using General Matching Algorithm">
-<br>
-<br>
-The first two <tt>extension-point</tt> elements are identical and are therefore matched and are not shown in the difference tree. There remains the third <tt>extension-point</tt> element on both sides which, having the same element name, are also matched.
-The difference tree then shows the differences between the third <tt>extension-point</tt> element left and the third <tt>extension-point</tt> element right.
-These differences consist in the values of the attributes <tt>id</tt> and <tt>name</tt>.
-<br>
-However, this is not what we would like to see. We would like the difference tree to show us that an <tt>extension-point</tt> element was removed from the left side and a new <tt>extension-point</tt> element was added on the right side.
-<br>
-To achieve this, we create a new ID Mapping Scheme. We can do this by using the appropriate button on toolbar.
-<br><br>
-<img src="IDMap_NewIDMapScheme.gif" alt="Creating a new ID Mapping Scheme">
-<br><br>
-Assume we call the ID Mapping Scheme <em>MyPlugin</em>. We now select the ID Mapping Scheme MyPlugin from the drop-down list in the Toolbar
-<br><br>
-<img src="IDMap_SelectMyPlugin.gif" alt="Select MyPlugin ID Map Scheme">
-<br><br>
-and add to it the following Mapping:
-<br><br>
-<table>
-<tr>
-<td>
-<img src="IDMap_NewMapping_PreferencePage.gif" alt="Creating a new mapping from the preference page">
-</td>
-<td>
-&nbsp;&nbsp;&nbsp;
-</td>
-<td>
-<img src="IDMap_NewMapping_ContextMenu.gif" alt="Creating a new mapping using the context menu">
-</td>
-</tr>
-</table>
-<br>
-This can be done from the preference page (left) or from the context menu in the structure view (right).
-<br>
-The difference tree now becomes:
-<br>
-(To refresh the structure view, click on the <img src="smartmode_co.gif" alt="Button for updating view"> button of the drop-down list in the toolbar.)
-<br><br>
-<img src="IDMap_MyPlugin.gif" alt="Difference Tree using MyPlugin ID Mapping Scheme">
-<br><br>
-This is the compare result that we wanted and that we achieved by created an ID Mapping Scheme.
-<br>
-<br>
-The XML Compare Plugin already comes with a ID Mapping Scheme for Plugin files, which can be customized for particular Plugin files.
-<br><br>
-<b>Warning:</b>
-<br>
-If an ID Mapping is created, it is assumed that the id is unique, i.e. there are no two XML elements with the same name and path that have the same id.
-Should this not be the case, the ID Mapping Scheme may not deliver a sensible difference tree.
-<br>
-When an id can appear more than once, one should rely on the general algorithm.
-<br>
-<br>
-Also, when an ID Mapping Scheme is used and there are elements with no id mapping specified, the <em>Unordered</em> compare method will be used, i.e. elements are matched by their similarity and not by the order in which they appear in the document.
-To specify that the children of an element should be compared in order of appearance. See the next section on Ordered entries.
-
-<h2>Adding Ordered entries</h2>
-Ordered entries are used to specify that the direct children (excluding attributes) of an xml element - identified by its path - should be compared in ordered way instead of the default unordered method.
-<br> As an example consider the following ANT file in two slightly different versions:
-<table>
-<tr>
-<td>
-<tt>
-<p>&lt;?xml version="1.0" encoding="UTF-8"?>
-<p>&lt;project name="org.junit.wizards" default="export" basedir="..">
-<br>
-&nbsp;&nbsp;&nbsp;&lt;target name="export" depends="build">
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;mkdir dir="${destdir}" />
-<br>
-<b>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;delete dir="${dest}" />
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;mkdir dir="${dest}" />
-<br>
-</b>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;jar
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jarfile="${dest}/JUnitWizard.jar"
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;basedir="bin"
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/>
-<br>&lt;/project>
-</tt>
-</td>
-<td>
-&nbsp;&nbsp;
-</td>
-<td>
-<tt>
-<p>&lt;?xml version="1.0" encoding="UTF-8"?>
-<p>&lt;project name="org.junit.wizards" default="export" basedir="..">
-<br>
-&nbsp;&nbsp;&nbsp;&lt;target name="export" depends="build">
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;mkdir dir="${destdir}"/>
-<br>
-<b>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;mkdir dir="${dest}"/>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;delete dir="${dest}"/>
-<br>
-</b>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;jar
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jarfile="${dest}/JUnitWizard.jar"
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;basedir="bin"
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/>
-<br>
-<b>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;copy file="plugin.xml" todir="${dest}"/>
-</b>
-<br>&lt;/project>
-</tt>
-</td>
-</tr>
-</table>
-<br>
-The differences between the two documents are shown in bold. Two elements have been swapped (<tt>&lt;mkdir dir="${dest}"/></tt> and <tt>&lt;delete dir="${dest}"/></tt>) and a new element (<tt>&lt;copy .../></tt>) has been appended to the target element.
-<br>
-Performing an unordered compare will result in the following tree of differences:
-<br>
-<br>
-<img src="Ordered_UnorderedScheme.gif" alt="Difference Tree using Unordered Matching">
-<br>
-<br>
-The fact that two elements have been swapped is not shown since the order of elements is ignored.
-<br>
-However, from an ANT point of view, the two documents cause very different behaviour, because the order of the elements inside a <tt>target</tt> is important.
-We therefore want to create an <i>ordered entry</i> for target to instruct the compare engine to compare the direct children of target in ordered fashion.
-<br>
-We do so by first creating a new ID Mapping Scheme. This can be done using the appropriate button in the toolbar.
-<br><br>
-<img src="Ordered_NewIDMapScheme.gif" alt="Creating a new ID Mapping Scheme">
-<br><br>
-Assume we call the ID Mapping Scheme <em>MyANT</em>.
-<br>We now select the ID Mapping Scheme MyANT from the drop-down list in the Toolbar and add to it the following Ordered Entry:
-<br><br>
-<table>
-<tr>
-<td>
-<img src="Ordered_NewOrderedEntry_PreferencePage.gif" alt="Creating a new orderered entry from the preference page">
-</td>
-<td>
-&nbsp;&nbsp;&nbsp;
-</td>
-<td>
-<img src="Ordered_NewOrderedEntry_ContextMenu.gif" alt="Creating a new ordered entry using the context menu">
-</td>
-</tr>
-</table>
-<br>
-This can be done from the preference page (left) or from the context menu in the structure view (right).
-<br>
-The difference tree now becomes:
-<br>
-(To refresh the structure view, click on the <img src="smartmode_co.gif" alt="Button for updating view"> button of the drop-down list in the toolbar.)
-<br><br>
-<img src="Ordered_MyANT.gif" alt="Difference Tree using MyANT ID Mapping Scheme">
-<br><br>
-This is the compare result that we wanted and that we achieved by creating an Ordered Entry.
-<br>
-<br>
-Additionally, Id Mappings (see <a href="#id_mapping">previous section</a>) can be used to uniquely identify ordered children. Especially when there are many changes, this will improve compare results.
-<br>
-<br>
-The XML Compare Plugin already comes with a ID Mapping Scheme for ANT files, which can be customized for particular ANT files.
-</body>
-</html>
diff --git a/examples/org.eclipse.compare.examples.xml/doc-html/ui_xmlcompare_ex.html b/examples/org.eclipse.compare.examples.xml/doc-html/ui_xmlcompare_ex.html
deleted file mode 100644
index e2de251..0000000
--- a/examples/org.eclipse.compare.examples.xml/doc-html/ui_xmlcompare_ex.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>XML Compare Plugin</title>
-</head>
-
-<center><h1>Eclipse Platform XML Compare</h1></center>
-The XML Compare plugin allows you to perform a structural compare of two XML documents. It returns
-a difference tree which indicates which XML elements have been added or removed and - for modified XML elements -
-what differences there are with respect to attributes or body text.
-<h2>Installing the plugin</h2>
-<ul>
-<li>Copy the folder <tt>org.eclipse.compare.examples.xml</tt> to the <tt>plugins</tt> subfolder of Eclipse.
-</ul>
-<h2>Using the plugin</h2>
-The plugin is automatically used when comparing files with the extension .xml.
-<br>
-By default, the XML compare uses the <em>Unordered</em> compare method, which ignores the order in which the XML elements appear in the document and matches them so that elements which are most similar are matched.
-There is also an <em>Ordered</em> compare method, which simply compares the XML elements exactly in the order in which they appear in the document. In most cases, this compare method will not be of much use.
-<br>
-The compare method can be changed from a drop-down list in the toolbar of the structure view.
-<br>
-<br>
-When an XML document
-contains elements that can uniquely be identified by an attribute or the text of a child element,
-it is recommended that an ID Mapping Scheme be created for this type of XML document.
-<br>
-<br>
-See <a href="tutorial_and_examples.html">Tutorial and Examples</a> for more information on using the plugin.
-<br>
-<h3>ID Mapping Schemes</h3>
-An ID Mapping Scheme specifies for XML elements an attribute or the text of a child element that
-uniquely identifies this element. This assures that - in the compare process - the right elements will be 
-matched and therefore compared with each other. If for an XML element no ID Mapping is specified, a general matching algorithm
-is be used. However, this general matching algorithm does not always return the desired result.
-The reason for this is that the general matching algorithm looks for a matching of the nodes of the two parsed trees
-to compare that minimizes the differences. The effect is that often two XML elements are matched with are
-structurally similar but represent two completely different entities of information.
-<br>
-<h3>Ordered entries</h3>
-When using the default Unordered compare (with or without id mappings) it is sometimes desired to specify that the children of certain elements be compared in ordered fashion intead of the usual unordered method.
-For example, when comparing ANT files the order of appearance of the children of <tt>target</tt> elements is important.
-<br>In such cases one can create an <i>Ordered entry</i>. An Ordered entry specifies that the direct children of an xml element, identified by its path, will be compared in ordered fashion (attributes however are still compared in unordered way).
-The children of these children will continue to be compared in unordered way, unless otherwise specified.
-<h3>Defining ID Mapping Schemes and Ordered entries</h3>
-ID Mapping Schemes can be created in three different ways:
-<ol>
-<li>By extending the extension point <a href="idMapping.html"><em>idMapping</em></a></li>
-<li>Using the <a href="PreferencePage.gif">XML Compare Preference page</a>.</li>
-<li>Using the <a href="CreateNewIDMapButton.gif">Create new Id Map Scheme button</a> in the toolbar and the <a href="IDMapContextMenu.gif">context menu</a>
-</ol>
-Method 1 creates a so-called <em>internal</em> mapping scheme. An internal ID Mapping Scheme
-cannot be edited at runtime. However, using the <a href="EditCopy.gif"><em>Edit Copy</em></a> button in the Preference Page, an editable copy of the
-internal ID Mapping Scheme can be created.
-<br>
-Methods 2 and 3 create so-called <em>user</em> mapping schemes. These are created by the user at runtime and
-can be modified anytime in the Preference Page.
-<p>Internal and user mapping schemes can be associated with a file extension. As a result, when comparing two XML files with this file extension, the particular ID Mapping scheme with this extension
-is automatically used.
-<br>
-<br>
-When creating or editing the ID mapping for a particular XML element, four items must be specified (see <a href="IDMap_NewMapping_PreferencePage.gif">example</a>):
-<ol>
-<li>The element name.</li>
-<li>The element path. This is the path of the element from the root of the XML document to the element's parent.</li>
-<li>The name of the id which will identify the element</li>
-<li>Whether the id name in point 3 is the name of an attribute of the element or the name of one of its children (in which case the text of this child element
-will be used as id).</li>
-</ol>
-<br>
-<hr WIDTH="100%">
-<h1>
-Extension Points</h1>
-Only one extension point is available in the XML Compare plugin. It is used to create
-internal ID Mapping Schemes:
-<ul>
-<li>
-<a href="idMapping.html">org.eclipse.compare.examples.xml.idMapping</a></li>
-</ul>
-</body>
-</html>
diff --git a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/addidmap.gif b/examples/org.eclipse.compare.examples.xml/icons/full/obj16/addidmap.gif
deleted file mode 100644
index 62dad8b..0000000
--- a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/addidmap.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/attribute_obj.gif b/examples/org.eclipse.compare.examples.xml/icons/full/obj16/attribute_obj.gif
deleted file mode 100644
index 00bb7b4..0000000
--- a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/attribute_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/element_obj.gif b/examples/org.eclipse.compare.examples.xml/icons/full/obj16/element_obj.gif
deleted file mode 100644
index 01f4889..0000000
--- a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/element_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/element_ordered_obj.gif b/examples/org.eclipse.compare.examples.xml/icons/full/obj16/element_ordered_obj.gif
deleted file mode 100644
index e9adf7d..0000000
--- a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/element_ordered_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/smartmode_co.gif b/examples/org.eclipse.compare.examples.xml/icons/full/obj16/smartmode_co.gif
deleted file mode 100644
index 542dddc..0000000
--- a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/smartmode_co.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/text_obj.gif b/examples/org.eclipse.compare.examples.xml/icons/full/obj16/text_obj.gif
deleted file mode 100644
index 2a2b4b6..0000000
--- a/examples/org.eclipse.compare.examples.xml/icons/full/obj16/text_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.compare.examples.xml/plugin.properties b/examples/org.eclipse.compare.examples.xml/plugin.properties
deleted file mode 100644
index 99b8b3a..0000000
--- a/examples/org.eclipse.compare.examples.xml/plugin.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-#
-# Resource strings for XML Compare Examples plugin.xml file
-#
-pluginName= XML Compare Support
-providerName= Eclipse.org
-pluginNamePreferencePage= XML Compare
-idMapping= ID Mapping
-
-antMap=ANT
-eclipsePluginMap=Eclipse Plugin
-classpathMap=Eclipse ClassPath
diff --git a/examples/org.eclipse.compare.examples.xml/plugin.xml b/examples/org.eclipse.compare.examples.xml/plugin.xml
deleted file mode 100644
index 61908d5..0000000
--- a/examples/org.eclipse.compare.examples.xml/plugin.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.compare.examples.xml"
-   name="%pluginName"
-   version="3.3.0.qualifier"
-   provider-name="%providerName"
-   class="org.eclipse.compare.examples.xml.XMLPlugin">
-
-   <runtime>
-      <library name="xmlcompareexamples.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.compare"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.junit"/>
-   </requires>
-
-
-   <extension-point id="idMapping" name="%idMapping" schema="schema/idMapping.exsd"/>
-
-   <extension
-         point="org.eclipse.compare.examples.xml.idMapping">
-      <idmap
-            name="%antMap"
-            id="antMap">
-         <mapping
-               signature="project"
-               id="name">
-         </mapping>
-         <mapping
-               signature="project&gt;target"
-               id="name">
-         </mapping>
-         <ordered
-               signature="project&gt;target">
-         </ordered>
-      </idmap>
-      <idmap
-            name="%eclipsePluginMap"
-            id="eclipsePluginMap">
-         <mapping
-               signature="plugin"
-               id="id">
-         </mapping>
-         <mapping
-               signature="plugin&gt;requires&gt;import"
-               id="plugin">
-         </mapping>
-         <mapping
-               signature="plugin&gt;runtime&gt;library"
-               id="name">
-         </mapping>
-         <mapping
-               signature="plugin&gt;runtime&gt;library&gt;export"
-               id="name">
-         </mapping>
-         <mapping
-               signature="plugin&gt;extension-point"
-               id="id">
-         </mapping>
-         <mapping
-               signature="plugin&gt;extension"
-               id="point">
-         </mapping>
-      </idmap>
-      <idmap
-            name="%classpathMap"
-            extension="CLASSPATH"
-            id="classpathMap">
-         <mapping
-               signature="classpath&gt;classpathentry"
-               id="path">
-         </mapping>
-      </idmap>
-   </extension>
-   
-   <extension
-         point="org.eclipse.compare.structureMergeViewers">
-      <viewer
-            extensions="xml,classpath"
-            class="org.eclipse.compare.examples.xml.XMLStructureViewerCreator"
-            id="org.eclipse.compare.examples.xml.XMLStructureViewerCreator">
-      </viewer>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%pluginNamePreferencePage"
-            category="org.eclipse.ui.preferencePages.Workbench"
-            class="org.eclipse.compare.examples.xml.XMLComparePreferencePage"
-            id="org.eclipse.compare.examples.xml.XMLComparePreferencePage">
-      </page>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.compare.examples.xml/schema/idMapping.exsd b/examples/org.eclipse.compare.examples.xml/schema/idMapping.exsd
deleted file mode 100644
index 39152b4..0000000
--- a/examples/org.eclipse.compare.examples.xml/schema/idMapping.exsd
+++ /dev/null
@@ -1,207 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.compare.examples.xml">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.compare.examples.xml" id="idMapping" name="XML Id Mapping"/>
-      </appInfo>
-      <documentation>
-         This extension point allows to define internal XML ID Mapping schemes using the &lt;i&gt;mapping&lt;/i&gt; element.
-These schemes can then be used when performing an XML compare to uniquely identify XML elements by the
-value of an attribute or the text in a child element.
-Additionally, &lt;i&gt;ordered&lt;/i&gt; elements can be used to specify that the direct children of an element
-should be compared in an ordered fashion instead of the default unordered way.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="idMap" minOccurs="0" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a fully qualified identifier of the target extension point
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  an optional identifier of the extension instance
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  an optional name of the extension instance.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="idMap">
-      <complexType>
-         <sequence>
-            <element ref="mapping"/>
-            <element ref="ordered"/>
-         </sequence>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the name of the ID Mapping scheme. Should be unique.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="extension" type="string">
-            <annotation>
-               <documentation>
-                  a file extension associated with this ID Mapping Scheme.
-When comparing files with this extension, the current ID Mapping
-Scheme will automatically be used. 
-If an extension is specified, then the extension should also be added
-in the plugin.xml file of the XML Compare Plugin. For example, if we
-create an ID Mapping Scheme with extension cd, the plugin.xml of the
-XML Compare Plugin is updated as follows (update shown in bold): 
-&lt;p&gt;
-&lt;pre&gt;
-&lt;extension 
-    point=&quot;org.eclipse.compare.structureMergeViewers&quot;&gt; 
- &lt;structureMergeViewer 
-    extensions=&quot;xml,classpath,cd&quot;
-    class=&quot;org.eclipse.compare.xml.XMLStructureViewerCreator&quot;
- /&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-&lt;p&gt;
-Warning: If an extension is associated more than once, only the first
-association will be considered. Also, internal ID Mapping schemes have
-priority over user ID Mapping schemes when duplicate extensions are defined. 
-&lt;/p&gt;
-&lt;p&gt;
-Warning: When an internal ID Mapping scheme with extension association is
-removed (from a plugin.xml ), the XML Compare plugin has to be reloaded
-to disassociate itself from the extension. If not, on the first compare
-of files with this extension, the XML Compare plugin will be used with
-the default Unordered algorithm. (However, at this point the extension
-will have been disassociated from the XML Plugin, as the plugin has been loaded.)
-&lt;/p&gt;
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="mapping">
-      <complexType>
-         <attribute name="signature" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the XML path from the root to the current element (see examples below).
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the attribute that identifies this element or the name of the child element whose text identifies this element.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id-source" type="string">
-            <annotation>
-               <documentation>
-                  if id is the name of a child element, then this attribute must have the value body.
-If id-source is left out, it is assumed that id is an attribute.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="ordered">
-      <complexType>
-         <attribute name="signature" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the XML path from the root to the element whose direct children will be
-compared in ordered fashion instead of the default unordered way.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         3.0.0
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example ID Mappings Scheme for ANT files. 
-&lt;i&gt;project&lt;/i&gt; elements are identified by an &lt;i&gt;attribute name&lt;/i&gt;. &lt;i&gt;target&lt;/i&gt; elements (which are children of &lt;i&gt;project&lt;/i&gt;) are also identified by an attribute &lt;i&gt;name&lt;/i&gt;. Also, the children of &lt;i&gt;target&lt;/i&gt; will be compared in the order in which they appear in the document.
-&lt;p&gt;
-&lt;pre&gt;
-&lt;extension point = &quot;org.eclipse.compare.examples.xml.idMapping&quot;&gt; 
- &lt;idmap name=&quot;ANT&quot;&gt;
-  &lt;mapping signature=&quot;project&quot; id=&quot;name&quot;/&gt;
-  &lt;mapping signature=&quot;project&gt;target&quot; id=&quot;name&quot;/&gt;
-  &lt;ordered signature=&quot;project&gt;target&quot;/&gt;
- &lt;idmap&gt;
-&lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-The following example illustrates a case where the text of a child element is used as the id:
-&lt;p&gt;
-&lt;pre&gt;
-&lt;extension point = &quot;org.eclipse.compare.examples.xml.idMapping&quot;&gt; 
- &lt;idmap name=&quot;Book Catalog&quot; extension=&quot;book&quot;&gt;
-  &lt;mapping signature=&quot;catalog&gt;book&quot; id=&quot;isbn&quot; id-source=&quot;body&quot;/&gt;
- &lt;idmap&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The XML Compare plugin defines an ID Mapping scheme for Eclipse &lt;samp&gt;plugin.xml&lt;/samp&gt; files, one for &lt;samp&gt;.classpath&lt;/samp&gt; files and one for Ant files.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2003 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at &lt;a href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AbstractMatching.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AbstractMatching.java
deleted file mode 100644
index 158b624..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AbstractMatching.java
+++ /dev/null
@@ -1,314 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.ArrayList;
-import java.util.Vector;
-
-import org.eclipse.compare.rangedifferencer.IRangeComparator;
-import org.eclipse.compare.rangedifferencer.RangeDifference;
-import org.eclipse.compare.rangedifferencer.RangeDifferencer;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * @version 	1.0
- * @author
- */
-public abstract class AbstractMatching {
-
-	protected static final int NO_ENTRY = -1;//value with which fDT elements are initialized
-	protected static final String SIGN_ELEMENT= XMLStructureCreator.SIGN_ELEMENT;
-	int[][] fDT;//Distance Table; 1st index from fNLeft, 2nd index from fNRight
-	ArrayList[][] fDT_Matchings;//Mathing entries of children for a match. 1st index from fNLeft, 2nd index from fNRight
-	Vector fNLeft;
-	Vector fNRight;
-	Vector fMatches;
-	
-	/* methods used for match */
-
-	/* finds all the leaves of a tree and puts them in a vector */
-	protected void findLeaves(XMLNode root, ArrayList leaves) {
-		if (isLeaf(root)) {
-			leaves.add(root);			
-		} else {
-			Object[] children = root.getChildren();
-			for (int i=0; i<children.length; i++)
-				findLeaves((XMLNode) children[i], leaves);
-		}
-	}
-
-	/* true if x is a leaf */
-	protected boolean isLeaf(XMLNode x) {
-		if (x == null) return true;
-		return x.getChildren() == null || x.getChildren().length <= 0;
-	}
-
-	/* Numbers all nodes of tree. The number of x is its index in the vector numbering */
-	protected void numberNodes(XMLNode root, Vector numbering) {
-		if (root != null) {
-			numbering.add(root);
-			Object[] children = root.getChildren();
-			if (children != null) {
-				for (int i=0; i<children.length; i++)
-					numberNodes((XMLNode) children[i], numbering);
-			}
-		}
-	}
-	
-	/* counts # of nodes in tree including root */
-	protected int countNodes(XMLNode root) {
-		if (root == null) return 0;
-		int count = 1;
-		if (isLeaf(root)) return count;
-		Object[] children = root.getChildren();
-		for (int i=0; i<children.length; i++)
-			count+=countNodes((XMLNode) children[i]);
-		return count;
-	}
-
-	/* returns index of node x in fNLeft */
-	protected int indexOfLN (XMLNode x) {
-		int i= 0;
-		while ((i<fNLeft.size()) && (fNLeft.elementAt(i) != x))
-			i++;
-		return i;
-	}
-	
-	/* returns index of node y in fNRight */
-	protected int indexOfRN (XMLNode y) {
-		int j= 0;
-		while ((j<fNRight.size()) && (fNRight.elementAt(j) != y))
-			j++;
-		return j;
-	}
-
-/* for testing */
- 	public Vector getMatches() {
-  		return fMatches;
-   	}
-
-	protected class XMLComparator implements IRangeComparator {
-	
-		private Object[] fXML_elements;
-	
-		public XMLComparator(Object[] xml_elements) {
-			fXML_elements= xml_elements;
-		}
-	
-		/*
-		 * @see IRangeComparator#getRangeCount()
-		 */
-		public int getRangeCount() {
-			return fXML_elements.length;
-		}
-	
-		/*
-		 * @see IRangeComparator#rangesEqual(int, IRangeComparator, int)
-		 */
-		public boolean rangesEqual(
-			int thisIndex,
-			IRangeComparator other_irc,
-			int otherIndex) {
-			
-			if (other_irc instanceof XMLComparator) {
-				XMLComparator other= (XMLComparator) other_irc;
-				//return ((XMLNode)fXML_elements[thisIndex]).subtreeEquals(other.getXML_elements()[otherIndex]);
-				
-				//ordered compare of subtrees
-				//boolean result= ((XMLNode)fXML_elements[thisIndex]).subtreeEquals(other.getXML_elements()[otherIndex]);
-				
-				//taking ids into account
-				boolean sameId= false;
-				XMLNode thisNode= (XMLNode)fXML_elements[thisIndex];
-				XMLNode otherNode= (XMLNode)other.getXML_elements()[otherIndex]; 
-				if ( thisNode.usesIDMAP() && otherNode.usesIDMAP() ) {
-					if ( otherNode.getOrigId().equals(thisNode.getOrigId()) ) {
-						sameId= true;
-					}
-				}
-				
-				//unordered compare of subtrees
-				// TODO The dist method is order dependent but should not be
-				int distance= dist(thisNode, otherNode);
-				return sameId || distance == 0;
-			}
-			return false;
-		}
-	
-		/*
-		 * @see IRangeComparator#skipRangeComparison(int, int, IRangeComparator)
-		 */
-		public boolean skipRangeComparison(
-			int length,
-			int maxLength,
-			IRangeComparator other) {
-			return false;
-		}
-	
-		public Object[] getXML_elements() {
-			return fXML_elements;
-		}
-	
-	}
-
-	/* represents a matching between a node in the Left tree and a node in the Right tree */
-	class Match {
-		public XMLNode fx;
-		public XMLNode fy;
-		
-		Match(XMLNode x, XMLNode y) {
-			fx = x;
-			fy = y;	
-		}
-		
-		public boolean equals(Object obj) {
-			if (obj instanceof Match) {
-				Match m = (Match) obj;
-				if (m != null)
-					return fx == m.fx && fy == m.fy;
-			}
-			return false;
-		}
-	}
-	
-	protected int handleRangeDifferencer(Object[] xc_elements, Object[] yc_elements, ArrayList DTMatching, int distance) {
-		RangeDifference[] differences= RangeDifferencer.findDifferences(new XMLComparator(xc_elements), new XMLComparator(yc_elements));
-		
-		int cur_pos_left= 0;
-		int cur_pos_right= 0;
-		for (int i= 0; i < differences.length; i++) {
-			RangeDifference rd= differences[i];
-			int equal_length= rd.leftStart();
-			//handle elements before current range which are unchanged
-			while (cur_pos_left < equal_length) {
-				//assuming XMLComparator has already filled fDT and fDT_Matchings for subtrees
-				//rooted at xc_elements[cur_pos_left] and yc_elements[cur_pos_right]
-//				if ( fDT[indexOfLN( (XMLNode)xc_elements[cur_pos_left])][indexOfRN( (XMLNode)yc_elements[cur_pos_right])] != 0)
-//					System.out.println("distance not 0");
-//				distance += fDT[indexOfLN( (XMLNode)xc_elements[cur_pos_left])][indexOfRN( (XMLNode)yc_elements[cur_pos_right])];
-				//DTMatching.addAll(fDT_Matchings[index_left][index_right]);
-				DTMatching.add(new Match( (XMLNode)xc_elements[cur_pos_left], (XMLNode)yc_elements[cur_pos_right]));
-				cur_pos_left++;
-				cur_pos_right++;
-			}
-			//now handle RangeDifference rd[i]
-			int smaller_length, greater_length;
-			boolean leftGreater= rd.leftLength() > rd.rightLength();
-			if (leftGreater) {
-				smaller_length= rd.rightLength();
-				greater_length= rd.leftLength();
-			} else {
-				smaller_length= rd.leftLength();
-				greater_length= rd.rightLength();
-			}
-			
-			//handle elements elements in range
-			for (int j=0; j < smaller_length; j++) {
-				distance += dist((XMLNode) xc_elements[cur_pos_left], (XMLNode) yc_elements[cur_pos_right]);
-				DTMatching.add(new Match( (XMLNode)xc_elements[cur_pos_left], (XMLNode)yc_elements[cur_pos_right]));
-				cur_pos_left++;
-				cur_pos_right++;
-			}
-			//int cur_pos_greater= (leftGreater)?cur_pos_left:cur_pos_right;
-			if (leftGreater) {
-				for (int j=smaller_length; j < greater_length; j++) {
-					distance += countNodes((XMLNode) xc_elements[cur_pos_left]);
-					DTMatching.add(new Match( (XMLNode)xc_elements[cur_pos_left], null));
-					cur_pos_left++;
-				}
-			} else {
-				for (int j=smaller_length; j < greater_length; j++) {
-					distance += countNodes((XMLNode) yc_elements[cur_pos_right]);
-				DTMatching.add(new Match( null, (XMLNode)yc_elements[cur_pos_right]));
-					cur_pos_right++;
-				}
-			}
-//			for (int j=smaller_length; j < greater_length; j++) {
-//				distance += countNodes((XMLNode) xc_elements[cur_pos_greater]);
-//				cur_pos_greater++;
-//			}
-//			if (leftGreater)
-//				cur_pos_left= cur_pos_greater;
-//			else
-//				cur_pos_right= cur_pos_greater;
-		}
-		
-		for (int i= cur_pos_left; i < xc_elements.length; i++) {
-			//distance += fDT[indexOfLN( (XMLNode)xc_elements[cur_pos_left])][indexOfRN( (XMLNode)yc_elements[cur_pos_right])];
-			//DTMatching.addAll(fDT_Matchings[index_left][index_right]);
-			DTMatching.add(new Match( (XMLNode)xc_elements[cur_pos_left], (XMLNode)yc_elements[cur_pos_right]));
-			cur_pos_left++;
-			cur_pos_right++;
-		}
-		
-		return distance;
-	}
-
-	abstract public void match(XMLNode LeftTree, XMLNode RightTree, boolean rightTreeIsAncestor, IProgressMonitor monitor);
-
-	protected int dist(XMLNode x, XMLNode y) {
-		//System.out.println("dist( "+x.getSignature()+" , "+y.getSignature()+")");
-		int ret= NO_ENTRY;
-
-		int index_x= indexOfLN(x);
-		int index_y= indexOfRN(y);
-		if (fDT[index_x][index_y] != NO_ENTRY) return fDT[index_x][index_y];
-		
-		if (isLeaf(x) && isLeaf(y)) {
-			if (x.getXMLType() == XMLStructureCreator.TYPE_ELEMENT) {
-				if ( x.getSignature().equals(y.getSignature()) ) {
-					ret= 0;
-					fDT[index_x][index_y] = ret;
-				} else {
-					ret= 2;
-					fDT[index_x][index_y] = ret;
-				}
-				return ret;
-			} else if (x.getXMLType() == XMLStructureCreator.TYPE_ATTRIBUTE || x.getXMLType() == XMLStructureCreator.TYPE_TEXT) {
-				if ( x.getSignature().equals(y.getSignature()) ) {
-					if (x.getValue().equals(y.getValue())) {
-						ret= 0;
-						fDT[index_x][index_y] = ret;
-					} else {
-						ret= 1;
-						fDT[index_x][index_y] = ret;
-					}
-				} else {
-					ret= 2;
-					fDT[index_x][index_y] = ret;
-				}
-				return ret;
-			}
-		} else {//x or y are not leaves
-			if ( !x.getSignature().equals(y.getSignature()) ) {
-				ret= countNodes(x) + countNodes(y);
-				fDT[index_x][index_y] = ret;
-				return ret;
-			}
-			//x.getSignature().equals(y.getSignature())
-			if (isLeaf(x)) {
-				ret= countNodes(y)-1;
-				fDT[index_x][index_y] = ret;
-				return ret;
-			}
-			if (isLeaf(y)) {
-				ret= countNodes(x)-1;
-				fDT[index_x][index_y] = ret;
-				return ret;
-			}
-			//both x and y have children
-			return handleXandYnotLeaves(x,y);
-		}
-		return ret;
-	}
-	
-	abstract int handleXandYnotLeaves(XMLNode x, XMLNode y);
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AttributesImpl.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AttributesImpl.java
deleted file mode 100644
index 0e4b257..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/AttributesImpl.java
+++ /dev/null
@@ -1,331 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import org.xml.sax.Attributes;
-
-/**
- * An Attributes implementation that can perform more operations
- * than the attribute list helper supplied with the standard SAX2
- * distribution.
- */
-public class AttributesImpl implements Attributes {
-
-	/** Head node. */
-	private ListNode fHead;
-
-	/** Tail node. */
-	private ListNode fTail;
-
-	/** Length. */
-	private int fLength;
-
-
-	/* Returns the number of attributes. */
-	public int getLength() {
-		return fLength;
-	}
-
-	/* Returns the index of the specified attribute. */
-	public int getIndex(String raw) {
-		ListNode place= fHead;
-		int index= 0;
-		while (place != null) {
-			if (place.raw.equals(raw)) {
-				return index;
-			}
-			index++;
-			place= place.next;
-		}
-		return -1;
-	}
-
-	/* Returns the index of the specified attribute. */
-	public int getIndex(String uri, String local) {
-		ListNode place= fHead;
-		int index= 0;
-		while (place != null) {
-			if (place.uri.equals(uri) && place.local.equals(local)) {
-				return index;
-			}
-			index++;
-			place= place.next;
-		}
-		return -1;
-	}
-
-	/* Returns the attribute URI by index. */
-	public String getURI(int index) {
-
-		ListNode node= getListNodeAt(index);
-		return node != null ? node.uri : null;
-	}
-
-	/* Returns the attribute local name by index. */
-	public String getLocalName(int index) {
-
-		ListNode node= getListNodeAt(index);
-		return node != null ? node.local : null;
-	}
-
-	/* Returns the attribute raw name by index. */
-	public String getQName(int index) {
-
-		ListNode node= getListNodeAt(index);
-		return node != null ? node.raw : null;
-
-	}
-
-	/* Returns the attribute type by index. */
-	public String getType(int index) {
-
-		ListNode node= getListNodeAt(index);
-		return (node != null) ? node.type : null;
-	}
-
-	/* Returns the attribute type by uri and local. */
-	public String getType(String uri, String local) {
-
-		ListNode node= getListNode(uri, local);
-		return (node != null) ? node.type : null;
-
-	}
-
-	/* Returns the attribute type by raw name. */
-	public String getType(String raw) {
-
-		ListNode node= getListNode(raw);
-		return (node != null) ? node.type : null;
-	}
-
-	/* Returns the attribute value by index. */
-	public String getValue(int index) {
-
-		ListNode node= getListNodeAt(index);
-		return (node != null) ? node.value : null;
-	}
-
-	/* Returns the attribute value by uri and local. */
-	public String getValue(String uri, String local) {
-
-		ListNode node= getListNode(uri, local);
-		return (node != null) ? node.value : null;
-	}
-
-	/* Returns the attribute value by raw name. */
-	public String getValue(String raw) {
-
-		ListNode node= getListNode(raw);
-		return (node != null) ? node.value : null;
-	}
-
-	/* Adds an attribute. */
-	public void addAttribute(String raw, String type, String value) {
-		addAttribute(null, null, raw, type, value);
-	}
-
-	/* Adds an attribute. */
-	public void addAttribute(
-		String uri,
-		String local,
-		String raw,
-		String type,
-		String value) {
-
-		ListNode node= new ListNode(uri, local, raw, type, value);
-		if (fLength == 0) {
-			fHead= node;
-		} else {
-			fTail.next= node;
-		}
-		fTail= node;
-		fLength++;
-	}
-
-	/* Inserts an attribute. */
-	public void insertAttributeAt(
-		int index,
-		String raw,
-		String type,
-		String value) {
-		insertAttributeAt(index, null, null, raw, type, value);
-	}
-
-	/* Inserts an attribute. */
-	public void insertAttributeAt(
-		int index,
-		String uri,
-		String local,
-		String raw,
-		String type,
-		String value) {
-
-		// if list is empty, add attribute
-		if (fLength == 0 || index >= fLength) {
-			addAttribute(uri, local, raw, type, value);
-			return;
-		}
-
-		// insert at beginning of list
-		ListNode node= new ListNode(uri, local, raw, type, value);
-		if (index < 1) {
-			node.next= fHead;
-			fHead= node;
-		} else {
-			ListNode prev= getListNodeAt(index - 1);
-			node.next= prev.next;
-			prev.next= node;
-		}
-		fLength++;
-	}
-
-	/* Removes an attribute. */
-	public void removeAttributeAt(int index) {
-
-		if (fLength == 0)
-			return;
-
-		if (index == 0) {
-			fHead= fHead.next;
-			if (fHead == null) {
-				fTail= null;
-			}
-			fLength--;
-		} else {
-			ListNode prev= getListNodeAt(index - 1);
-			ListNode node= getListNodeAt(index);
-			if (node != null) {
-				prev.next= node.next;
-				if (node == fTail) {
-					fTail= prev;
-				}
-				fLength--;
-			}
-		}
-	}
-
-	/* Removes the specified attribute. */
-	public void removeAttribute(String raw) {
-		removeAttributeAt(getIndex(raw));
-	}
-
-	/* Removes the specified attribute. */
-	public void removeAttribute(String uri, String local) {
-		removeAttributeAt(getIndex(uri, local));
-	}
-
-	/* Returns the node at the specified index. */
-	private ListNode getListNodeAt(int i) {
-
-		for (ListNode place= fHead; place != null; place= place.next) {
-			if (--i == -1) {
-				return place;
-			}
-		}
-		return null;
-	}
-
-	/* Returns the first node with the specified uri and local. */
-	public ListNode getListNode(String uri, String local) {
-
-		if (uri != null && local != null) {
-			ListNode place= fHead;
-			while (place != null) {
-				if (place.uri != null
-					&& place.local != null
-					&& place.uri.equals(uri)
-					&& place.local.equals(local)) {
-					return place;
-				}
-				place= place.next;
-			}
-		}
-		return null;
-	}
-
-	/* Returns the first node with the specified raw name. */
-	private ListNode getListNode(String raw) {
-
-		if (raw != null) {
-			for (ListNode place= fHead; place != null; place= place.next) {
-				if (place.raw != null && place.raw.equals(raw)) {
-					return place;
-				}
-			}
-		}
-
-		return null;
-	}
-
-	/* Returns a string representation of this object. */
-	public String toString() {
-		StringBuffer str= new StringBuffer();
-
-		str.append('[');
-		str.append("len="); //$NON-NLS-1$
-		str.append(fLength);
-		str.append(", {"); //$NON-NLS-1$
-		for (ListNode place= fHead; place != null; place= place.next) {
-			str.append(place.toString());
-			if (place.next != null) {
-				str.append(", "); //$NON-NLS-1$
-			}
-		}
-		str.append("}]"); //$NON-NLS-1$
-
-		return str.toString();
-	}
-
-	/*
-	 * An attribute node.
-	 */
-	static class ListNode {
-
-		/** Attribute uri. */
-		public String uri;
-
-		/** Attribute local. */
-		public String local;
-
-		/** Attribute raw. */
-		public String raw;
-
-		/** Attribute type. */
-		public String type;
-
-		/** Attribute value. */
-		public String value;
-
-		/** Next node. */
-		public ListNode next;
-
-		/* Constructs a list node. */
-		public ListNode(
-			String uri0,
-			String local0,
-			String raw0,
-			String type0,
-			String value0) {
-
-			this.uri= uri0;
-			this.local= local0;
-			this.raw= raw0;
-			this.type= type0;
-			this.value= value0;
-
-		}
-
-		/* Returns string representation of this object. */
-		public String toString() {
-			return raw != null ? raw : local;
-		}
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ChooseMatcherDropDownAction.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ChooseMatcherDropDownAction.java
deleted file mode 100644
index cd2f2d6..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ChooseMatcherDropDownAction.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.*;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.jface.action.*;
-
-
-/**
- * Drop down menu to select a particular id mapping scheme
- */
-class ChooseMatcherDropDownAction extends Action implements IMenuCreator {
-
-	private XMLStructureViewer fViewer;
-
-	public ChooseMatcherDropDownAction(XMLStructureViewer viewer) {
-		fViewer = viewer;
-		setText(XMLCompareMessages.ChooseMatcherDropDownAction_text); 
-		setImageDescriptor(XMLPlugin.getDefault().getImageDescriptor("obj16/smartmode_co.gif")); //$NON-NLS-1$
-		setToolTipText(XMLCompareMessages.ChooseMatcherDropDownAction_tooltip); 
-		setMenuCreator(this);
-	}
-
-	public void dispose() {
-		// nothing to do
-	}
-
-	public Menu getMenu(Menu parent) {
-		return null;
-	}
-
-	public Menu getMenu(Control parent) {
-		XMLPlugin plugin= XMLPlugin.getDefault();
-		Menu menu= new Menu(parent);
-		addActionToMenu(menu, new SelectMatcherAction(XMLStructureCreator.USE_UNORDERED, fViewer));
-		addActionToMenu(menu, new SelectMatcherAction(XMLStructureCreator.USE_ORDERED, fViewer));
-		new MenuItem(menu, SWT.SEPARATOR);
-		HashMap IdMaps = plugin.getIdMaps();
-		HashMap IdMapsInternal = plugin.getIdMapsInternal();
-
-		Set keySetIdMaps = IdMaps.keySet();
-		Set keySetIdMapsInternal = IdMapsInternal.keySet();
-		ArrayList internalIdMapsAL= new ArrayList();
-		for (Iterator iter_internal = keySetIdMapsInternal.iterator(); iter_internal.hasNext(); ) {
-			String idmap_name = (String)iter_internal.next();
-			internalIdMapsAL.add(idmap_name);
-		}
-		Object[] internalIdMapsA= internalIdMapsAL.toArray();
-		Arrays.sort(internalIdMapsA);
-		for (int i= 0; i < internalIdMapsA.length; i++) {
-			addActionToMenu(menu, new SelectMatcherAction((String)internalIdMapsA[i], fViewer));
-		}
-		new MenuItem(menu, SWT.SEPARATOR);
-
-		ArrayList userIdMapsAL= new ArrayList();
-		for (Iterator iter_idmaps = keySetIdMaps.iterator(); iter_idmaps.hasNext(); ) {
-			String idmap_name = (String)iter_idmaps.next();
-			userIdMapsAL.add(idmap_name);
-		}
-		
-		HashMap OrderedElements= plugin.getOrderedElements();
-		Set keySetOrdered= OrderedElements.keySet();
-		for (Iterator iter_orderedElements= keySetOrdered.iterator(); iter_orderedElements.hasNext();) {
-			String idmap_name= (String) iter_orderedElements.next();
-			if (!keySetIdMaps.contains(idmap_name)) {
-				userIdMapsAL.add(idmap_name);
-			}
-		}
-
-		Object[] userIdMapsA= userIdMapsAL.toArray();
-		Arrays.sort(userIdMapsA);
-		for (int i= 0; i < userIdMapsA.length; i++) {
-			addActionToMenu(menu, new SelectMatcherAction((String)userIdMapsA[i], fViewer));
-		}
-		
-		return menu;
-	}
-
-	protected void addActionToMenu(Menu parent, Action action) {
-		ActionContributionItem item= new ActionContributionItem(action);
-		item.fill(parent, -1);
-	}
-
-	public void run() {
-		fViewer.contentChanged();
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/CreateNewIdMapAction.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/CreateNewIdMapAction.java
deleted file mode 100644
index f7741b1..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/CreateNewIdMapAction.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.*;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.window.Window;
-
-/**
- * Button to create a new id mapping scheme
- */
-public class CreateNewIdMapAction extends Action {
-
-	private HashMap fIdMaps;// HashMap ( idname -> HashMap (signature -> id) )
-	private HashMap fIdMapsInternal;
-	private HashMap fIdExtensionToName;
-	
-	public CreateNewIdMapAction(XMLStructureViewer viewer) {		
-		setImageDescriptor(XMLPlugin.getDefault().getImageDescriptor("obj16/addidmap.gif")); //$NON-NLS-1$
-		setToolTipText(XMLCompareMessages.XMLStructureViewer_newtask); 
-	}
-	
-	public void run() {
-		XMLPlugin plugin= XMLPlugin.getDefault();
-		fIdMapsInternal= plugin.getIdMapsInternal();//fIdMapsInternal is only read, not modified
-		
-		fIdMaps = new HashMap();
-		HashMap PluginIdMaps = plugin.getIdMaps();
-		Set keySet = PluginIdMaps.keySet();
-		for (Iterator iter = keySet.iterator(); iter.hasNext(); ) {
-			String key = (String) iter.next();
-			fIdMaps.put(key, ((HashMap)PluginIdMaps.get(key)).clone());
-		}
-		
-		fIdExtensionToName= new HashMap();
-		HashMap PluginIdExtensionToName= plugin.getIdExtensionToName();
-		keySet= PluginIdExtensionToName.keySet();
-		for (Iterator iter= keySet.iterator(); iter.hasNext(); ) {
-			String key= (String) iter.next();
-			fIdExtensionToName.put(key, PluginIdExtensionToName.get(key));
-		}
-		
-		IdMap idmap = new IdMap(false);
-		XMLCompareAddIdMapDialog dialog= new XMLCompareAddIdMapDialog(XMLPlugin.getActiveWorkbenchShell(),idmap,fIdMaps,fIdMapsInternal,fIdExtensionToName,false);
-		if (dialog.open() == Window.OK) {
-			if (!fIdMaps.containsKey(idmap.getName())) {
-				fIdMaps.put(idmap.getName(),new HashMap());
-				if (!idmap.getExtension().equals("")) //$NON-NLS-1$
-					fIdExtensionToName.put(idmap.getExtension(),idmap.getName());
-				XMLPlugin.getDefault().setIdMaps(fIdMaps,fIdExtensionToName,null,false);
-			}
-		}
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/IdMap.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/IdMap.java
deleted file mode 100644
index 96c4f72..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/IdMap.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.ArrayList;
-import java.util.Vector;
-
-/** This class is used to represent a id mapping scheme in the XML Compare preference page
- */
-public class IdMap {
-
-	private String fName;
-	private boolean fInternal;
-	private Vector fMappings;
-	private String fExtension;
-	private ArrayList fOrdered;//contains Mapping elements for list of ordered entries (the children of these elements will be compared in ordered fashion)
-
-	/**
-	 * Creates an IdMap which represents an Id Mapping Scheme
-	 * @param internal true if the IdMap is internal
-	 */
-	public IdMap(boolean internal) {
-		this("", internal); //$NON-NLS-1$
-	}
-
-	/**
-	 * Creates an IdMap which represents an Id Mapping Scheme
-	 * @param name The name of the mapping, as in fIdMaps/fIdMapsInternal HashMaps and fOrderedElements/fOrderedElementsInternal HashMaps
-	 * @param internal true if the IdMap is internal
-	 */
-	public IdMap(String name, boolean internal) {
-		this(name, internal, new Vector());
-	}
-
-	/**
-	 * Creates an IdMap which represents an Id Mapping Scheme
-	 * @param name The name of the mapping, as in fIdMaps/fIdMapsInternal HashMaps and fOrderedElements/fOrderedElementsInternal HashMaps
-	 * @param internal true if the IdMap is internal
-	 * @param mappings Vector of Mapping elements which represent the id mappings of this id mapping scheme
-	 */
-	public IdMap(String name, boolean internal, Vector mappings) {
-		this(name, internal, mappings, ""); //$NON-NLS-1$
-	}
-
-	/**
-	 * Creates an IdMap which represents an Id Mapping Scheme.
-	 * @param name The name of the mapping, as in fIdMaps/fIdMapsInternal HashMaps and fOrderedElements/fOrderedElementsInternal HashMaps.
-	 * @param internal true if the IdMap is internal.
-	 * @param mappings Vector of Mapping elements which represent the id mappings of this id mapping scheme.
-	 * @param extension Optional extension to be associated with this id mapping scheme.
-	 */
-	public IdMap(String name, boolean internal, Vector mappings, String extension) {
-		this(name, internal, mappings, extension, null);
-	}
-
-	/**
-	 * Creates an IdMap which represents an Id Mapping Scheme.
-	 * @param name The name of the mapping, as in fIdMaps/fIdMapsInternal HashMaps and fOrderedElements/fOrderedElementsInternal HashMaps.
-	 * @param internal true if the IdMap is internal.
-	 * @param mappings Vector of Mapping elements which represent the id mappings of this id mapping scheme.
-	 * @param extension Optional extension to be associated with this id mapping scheme.
-	 * @param ordered Optional ArrayList of Mapping elements representing ordered entries.
-	 */
-	public IdMap(String name, boolean internal, Vector mappings, String extension, ArrayList ordered) {
-		fName = name;
-		fInternal = internal;
-		fMappings = mappings;
-		fExtension= extension.toLowerCase();
-		fOrdered= ordered;
-	}
-	
-	/*
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object object) {
-		if (!(object instanceof IdMap))
-			return false;
-			
-		IdMap idmap= (IdMap) object;
-
-		if (idmap == this)
-			return true;		
-
-		return
-			idmap.getName().equals(fName) &&
-			idmap.getMappings().equals(fMappings);
-	}
-	
-	/*
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return fName.hashCode() ^ fMappings.hashCode();
-	}
-
-	public void setName(String name) {
-		fName = name;
-	}
-	
-	public String getName() {
-		return fName;
-	}
-
-	public void setMappings(Vector mappings) {
-		fMappings = mappings;
-	}
-	
-	public Vector getMappings() {
-		return fMappings;
-	}
-
-	public void setInternal(boolean bool) {
-		fInternal = bool;
-	}
-	
-	public boolean isInternal() {
-		return fInternal;
-	}
-	
-	public void setExtension(String extension) {
-		fExtension= extension;
-	}
-	
-	public String getExtension() {
-		return fExtension;
-	}
-	public void setOrdered(ArrayList ordered) {
-		fOrdered= ordered;
-	}
-	public ArrayList getOrdered() {
-		return fOrdered;
-	}
-
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/Mapping.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/Mapping.java
deleted file mode 100644
index 4bf6f5b..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/Mapping.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-/**
- * This class is used to represent a particular id mapping or ordered entry in the XML Compare preference page
- */
-public class Mapping {
-
-	private String fElement;
-	private String fSignature;
-	private String fIdAttribute;
-
-	public Mapping() {
-		this("", "", ""); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-	}
-
-	public Mapping(String element, String signature) {
-		this(element, signature, ""); //$NON-NLS-1$
-	}
-
-	public Mapping(String element, String signature, String idattribute) {
-		fElement = element;
-		fSignature = signature;
-		fIdAttribute = idattribute;
-	}
-	
-	/*
-	 * @see Object#equals(Object)
-	 */
-	public boolean equals(Object object) {
-		if (!(object instanceof Mapping))
-			return false;
-			
-		Mapping mapping= (Mapping) object;
-
-		if (mapping == this)
-			return true;		
-
-		return
-			mapping.fElement.equals(fElement) &&
-			mapping.fSignature.equals(fSignature) &&
-			mapping.fIdAttribute.equals(fIdAttribute);
-	}
-	
-	/*
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return fElement.hashCode() ^ fSignature.hashCode();
-	}
-
-	public void setElement(String element) {
-		fElement = element;
-	}
-	public String getElement() {
-		return fElement;
-	}	
-
-	public void setSignature(String signature) {
-		fSignature = signature;
-	}
-	public String getSignature() {
-		return fSignature;
-	}
-	
-	public void setIdAttribute(String idattribute) {
-		fIdAttribute = idattribute;
-	}
-	public String getIdAttribute() {
-		return fIdAttribute;
-	}
-	
-	public String getKey() {
-		return getKey(fSignature, fElement);
-	}
-	
-	public static String getKey(String signature, String element) {
-		if (signature == "") //$NON-NLS-1$
-			return XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + element + XMLStructureCreator.SIGN_SEPARATOR;
-		return XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + signature + XMLStructureCreator.SIGN_SEPARATOR + element + XMLStructureCreator.SIGN_SEPARATOR;
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/Messages.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/Messages.java
deleted file mode 100644
index 1a327aa..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/Messages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.text.MessageFormat;
-
-/**
- * Helper class to format message strings.
- * 
- * @since 3.1
- */
-public class Messages {
-
-	public static String format(String message, Object object) {
-		return MessageFormat.format(message, new Object[] { object});
-	}
-
-	public static String format(String message, Object[] objects) {
-		return MessageFormat.format(message, objects);
-	}
-
-	private Messages() {
-		// Not for instantiation
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/OrderedMatching.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/OrderedMatching.java
deleted file mode 100644
index 325a6ce..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/OrderedMatching.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.ListIterator;
-import java.util.Vector;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-public class OrderedMatching extends AbstractMatching {
-
-	public OrderedMatching() {
-		super();
-	}
-
-	protected int orderedMath(XMLNode x, XMLNode y) {
-		//assumes x and y have children
-		Object[] xc= x.getChildren();
-		Object[] yc= y.getChildren();
-
-		ArrayList xc_elementsAL= new ArrayList();
-		ArrayList xc_attrsAL= new ArrayList();
-
-		ArrayList yc_elementsAL= new ArrayList();
-		ArrayList yc_attrsAL= new ArrayList();
-
-		//find attributes and elements and put them in xc_elementsAL and xc_attrsAL, respectively
-		for (int i= 0; i < xc.length; i++) {
-			XMLNode x_i= (XMLNode) xc[i];
-			if (x_i.getXMLType().equals(XMLStructureCreator.TYPE_ELEMENT)) {
-				xc_elementsAL.add(x_i);
-			} else if (
-				x_i.getXMLType().equals(XMLStructureCreator.TYPE_ATTRIBUTE)) {
-				xc_attrsAL.add(x_i);
-			}
-		}
-
-		//do the same for yc				
-		for (int i= 0; i < yc.length; i++) {
-			XMLNode y_i= (XMLNode) yc[i];
-			if (y_i.getXMLType().equals(XMLStructureCreator.TYPE_ELEMENT)) {
-				yc_elementsAL.add(y_i);
-			} else if (
-				y_i.getXMLType().equals(XMLStructureCreator.TYPE_ATTRIBUTE)) {
-				yc_attrsAL.add(y_i);
-			}
-		}
-
-		Object[] xc_elements= xc_elementsAL.toArray();
-		Object[] yc_elements= yc_elementsAL.toArray();
-
-		ArrayList DTMatching= new ArrayList();
-		// Matching to be added to Entry in fDT_Matchings
-		int distance= 0; //distance to be added to entry in fDT
-
-		// perform unordered matching on attributes
-		// this updates fDT and fDT_Matchings
-		if (xc_attrsAL.size() > 0 || yc_attrsAL.size() > 0) {
-			if (xc_attrsAL.size() == 0)
-				distance += yc_attrsAL.size();
-			else if (yc_attrsAL.size() == 0)
-				distance += xc_attrsAL.size();
-			else {
-				//unorderedMatch(x, y, xc_attrs, yc_attrs);
-				//				distance += fDT[indexOfLN(x)][indexOfRN(y)];
-				//				DTMatching= fDT_Matchings[indexOfLN(x)][indexOfRN(y)];
-				distance= handleAttributes(xc_attrsAL, yc_attrsAL, DTMatching);
-			}
-		}
-
-		//perform ordered matching on element children, i.e. number them in order of appearance
-
-		/* start new */
-		distance=
-			handleRangeDifferencer(
-				xc_elements,
-				yc_elements,
-				DTMatching,
-				distance);
-		/* end new */
-
-		/* start: Naive ordered compare /*
-		//			int minlength= (xc_elements.length > yc_elements.length)?yc_elements.length:xc_elements.length;
-		//			for (int i= 0; i < minlength; i++) {
-		//				distance += dist((XMLNode) xc_elements[i], (XMLNode) yc_elements[i]);
-		//				DTMatching.add(new Match( (XMLNode)xc_elements[i], (XMLNode)yc_elements[i]));
-		//			}
-		//			if (xc_elements.length > yc_elements.length) {
-		//				for (int i= minlength; i < xc_elements.length; i++) {
-		//					distance += countNodes((XMLNode) xc_elements[i]);
-		//				}
-		//			} else if (xc_elements.length < yc_elements.length) {
-		//				for (int i= minlength; i < yc_elements.length; i++) {
-		//					distance += countNodes((XMLNode) yc_elements[i]);
-		//				}
-		//			}
-		/* end: Naive ordered compare */
-
-		fDT[indexOfLN(x)][indexOfRN(y)]= distance;
-		fDT_Matchings[indexOfLN(x)][indexOfRN(y)]= DTMatching;
-		return distance;
-
-	}
-
-	/* matches two trees according to paper "X-Diff", p. 16 */
-	public void match(
-		XMLNode LeftTree,
-		XMLNode RightTree,
-		boolean rightTreeIsAncestor,
-		IProgressMonitor monitor) {
-
-		fNLeft= new Vector();
-		//numbering LeftTree: Mapping nodes in LeftTree to numbers to be used as array indexes
-		fNRight= new Vector();
-		//numbering RightTree: Mapping nodes in RightTree to numbers to be used as array indexes
-		numberNodes(LeftTree, fNLeft);
-		numberNodes(RightTree, fNRight);
-		fDT= new int[fNLeft.size()][fNRight.size()];
-		fDT_Matchings= new ArrayList[fNLeft.size()][fNRight.size()];
-		for (int i= 0; i < fDT.length; i++) {
-			fDT[i]= new int[fNRight.size()];
-			for (int j= 0; j < fDT[0].length; j++) {
-				fDT[i][j]= NO_ENTRY;
-			}
-		}
-
-		dist(LeftTree, RightTree);
-		//		/* mark matchings on LeftTree and RightTree */
-		fMatches= new Vector();
-		if (!LeftTree.getSignature().equals(RightTree.getSignature())) {
-			//matching is empty	
-		} else {
-			fMatches.add(new Match(LeftTree, RightTree));
-			for (int i_M= 0; i_M < fMatches.size(); i_M++) {
-				Match m= (Match) fMatches.elementAt(i_M);
-				if (!isLeaf(m.fx) && !isLeaf(m.fy)) {
-					//					if (fDT_Matchings[ indexOfLN(m.fx) ][ indexOfRN(m.fy) ] == null)
-					//						System.out.println("Error: ID not unique for " + m.fx.getId());
-					//					else
-					//						fMatches.addAll(fDT_Matchings[ indexOfLN(m.fx) ][ indexOfRN(m.fy) ]);
-					if (fDT_Matchings[indexOfLN(m.fx)][indexOfRN(m.fy)]
-						!= null)
-						fMatches.addAll(
-							fDT_Matchings[indexOfLN(m.fx)][indexOfRN(m.fy)]);
-				}
-			}
-		}
-		//end of Step2
-		/* Renumber Id of Nodes to follow Matches. Or for ancestor, copy over Id to ancestor */
-		if (rightTreeIsAncestor) {
-			for (ListIterator it_M= fMatches.listIterator(); it_M.hasNext();) {
-				Match m= (Match) it_M.next();
-				if (m.fx != null && m.fy != null)
-					m.fy.setId(m.fx.getId());
-			}
-		} else {
-			int newId= 0;
-			for (ListIterator it_M= fMatches.listIterator();
-				it_M.hasNext();
-				newId++) {
-				Match m= (Match) it_M.next();
-				if (m.fx != null)
-					m.fx.setId(Integer.toString(newId));
-				if (m.fy != null)
-					m.fy.setId(Integer.toString(newId));
-				//				System.out.println("Matching: "+ ((m.fx != null)?m.fx.getOrigId():"null")+" -> "+((m.fx != null)?m.fx.getId():"null")+" , "+((m.fy != null)?m.fy.getOrigId():"null")+" -> "+((m.fy != null)?m.fy.getId():"null")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-			}
-		}
-		//if (monitor != null) monitor.done();
-	}
-
-	public int handleAttributes(
-		ArrayList xc_attrs,
-		ArrayList yc_attrs,
-		ArrayList DTMatching) {
-		int distance= 0;
-		x_for : for (
-			Iterator iter_xc= xc_attrs.iterator(); iter_xc.hasNext();) {
-			XMLNode x_attr= (XMLNode) iter_xc.next();
-			String x_attr_name= x_attr.getName();
-			for (Iterator iter_yc= yc_attrs.iterator(); iter_yc.hasNext();) {
-				XMLNode y_attr= (XMLNode) iter_yc.next();
-				if (y_attr.getName().equals(x_attr_name)) {
-					if (!y_attr.getValue().equals(x_attr.getValue()))
-						distance += 1;
-					DTMatching.add(new Match(x_attr, y_attr));
-					yc_attrs.remove(y_attr);
-					continue x_for;
-				}
-			}
-			DTMatching.add(new Match(x_attr, null));
-			distance += 1;
-		}
-
-		for (Iterator iter_yc= yc_attrs.iterator(); iter_yc.hasNext();) {
-			DTMatching.add(new Match(null, (XMLNode) iter_yc.next()));
-			distance += 1;
-		}
-
-		return distance;
-	}
-
-	protected int handleXandYnotLeaves(XMLNode x, XMLNode y) {
-		/* handle entries as ordered*/
-		return orderedMath(x, y);
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/SWTUtil.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/SWTUtil.java
deleted file mode 100644
index 5c2951e..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/SWTUtil.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DragSource;
-import org.eclipse.swt.dnd.DropTarget;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Caret;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.ScrollBar;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * Utility class to simplify access to some SWT resources. 
- */
-public class SWTUtil {
-	
-	/*
-	 * Returns the standard display to be used. The method first checks, if
-	 * the thread calling this method has an associated disaply. If so, this
-	 * display is returned. Otherwise the method returns the default display.
-	 */
-	public static Display getStandardDisplay() {
-		Display display;
-		display= Display.getCurrent();
-		if (display == null)
-			display= Display.getDefault();
-		return display;		
-	}
-	
-	/*
-	 * Returns the shell for the given widget. If the widget doesn't represent
-	 * a SWT object that manage a shell, <code>null</code> is returned.
-	 * 
-	 * @return the shell for the given widget
-	 */
-	public static Shell getShell(Widget widget) {
-		if (widget instanceof Control)
-			return ((Control)widget).getShell();
-		if (widget instanceof Caret)
-			return ((Caret)widget).getParent().getShell();
-		if (widget instanceof DragSource)
-			return ((DragSource)widget).getControl().getShell();
-		if (widget instanceof DropTarget)
-			return ((DropTarget)widget).getControl().getShell();
-		if (widget instanceof Menu)
-			return ((Menu)widget).getParent().getShell();
-		if (widget instanceof ScrollBar)
-			return ((ScrollBar)widget).getParent().getShell();			
-		return null;	
-	}
-	
-	private static double getVerticalDialogUnitSize(Control control) {
-		GC gc= new GC(control);
-		try {
-			int height = gc.getFontMetrics().getHeight();
-			return height * 0.125;
-		} finally {
-			gc.dispose();
-		}
-	}
-	
-	private static double getHorizontalDialogUnitSize(Control control) {
-		GC gc= new GC(control);
-		try {
-			int averageWidth= gc.getFontMetrics().getAverageCharWidth();
-			return averageWidth * 0.25;
-		} finally {
-			gc.dispose();
-		}
-	}	
-	
-	/*
-	 * @see DialogPage#convertHeightInCharsToPixels
-	 */
-	public static int convertHeightInCharsToPixels(int chars, Control control) {
-		return convertVerticalDLUsToPixels(chars * 8, control);
-	}
-
-	/*
-	 * @see DialogPage#convertHorizontalDLUsToPixels
-	 */
-	public static int convertHorizontalDLUsToPixels(int dlus, Control control) {
-		return (int)Math.round(dlus * getHorizontalDialogUnitSize(control));
-	}
-
-	/*
-	 * @see DialogPage#convertVerticalDLUsToPixels
-	 */
-	public static int convertVerticalDLUsToPixels(int dlus, Control control) {
-		return (int)Math.round(dlus * getVerticalDialogUnitSize(control));
-	}
-	
-	/*
-	 * @see DialogPage#convertWidthInCharsToPixels
-	 */
-	public static int convertWidthInCharsToPixels(int chars, Control control) {
-		return convertHorizontalDLUsToPixels(chars * 4, control);
-	}
-	
-	/*
-	 * Returns a width hint for a button control.
-	 */
-	public static int getButtonWidthHint(Button button) {
-		int widthHint= convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH, button);
-		return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	}
-
-	/*
-	 * Returns a height hint for a button control.
-	 */		
-//	public static int getButtonHeigthHint(Button button) {
-//		return convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT, button);
-//	}		
-
-	/*
-	 * Sets width and height hint for the button control.
-	 * <b>Note:</b> This is a NOP if the button's layout data is not
-	 * an instance of <code>GridData</code>.
-	 * 
-	 * @param	the button for which to set the dimension hint
-	 */		
-	public static void setButtonDimensionHint(Button button) {
-		Assert.isNotNull(button);
-		Object gd= button.getLayoutData();
-		if (gd instanceof GridData) {
-			//((GridData)gd).heightHint= getButtonHeigthHint(button);
-			((GridData)gd).widthHint= getButtonWidthHint(button);		 
-		}
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/SelectMatcherAction.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/SelectMatcherAction.java
deleted file mode 100644
index a586233..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/SelectMatcherAction.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import org.eclipse.jface.action.Action;
-
-class SelectMatcherAction extends Action {
-
-	private XMLStructureViewer fViewer;
-	private String fDesc;
-
-	public SelectMatcherAction(String desc, XMLStructureViewer viewer) {
-		fViewer= viewer;
-		fDesc= desc;
-		setText(fDesc);
-		setToolTipText(fDesc);
-	}
-
-	public void run() {
-		((XMLStructureCreator) fViewer.getStructureCreator()).setIdMap(fDesc);
-		fViewer.contentChanged();
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLChildren.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLChildren.java
deleted file mode 100644
index 300255b..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLChildren.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.HashMap;
-
-import org.eclipse.jface.text.IDocument;
-
-/** XMLNode that has children elements */
-public class XMLChildren extends XMLNode {
-	
-	public int children;	// counts the number of children
-	public HashMap childElements;	// maps the name of XML child elements to their # of occurence
-	
-	public XMLChildren(String XMLType, String id, String value, String signature, IDocument doc, int start, int length) {
-		super(XMLType, id, value, signature, doc, start, length);
-		children= 0;
-		childElements = new HashMap();
-	}
-}
-
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareAddIdMapDialog.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareAddIdMapDialog.java
deleted file mode 100644
index 7e0eb96..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareAddIdMapDialog.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.text.MessageFormat;
-import java.util.*;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.compare.examples.xml.ui.StatusDialog;
-import org.eclipse.compare.examples.xml.ui.StatusInfo;
-
-/**
- * This class is used to add or edit an ID Mapping Scheme
- */
-public class XMLCompareAddIdMapDialog extends StatusDialog {
-	
-	private IdMap fIdMap;
-	private HashMap fIdMaps;
-	private HashMap fIdMapsInternal;
-	private HashMap fIdExtensionToName;
-	private boolean fEdit;
-	
-	private Text fIdMapText;
-	private Text fIdMapExtText;
-
-	public XMLCompareAddIdMapDialog(Shell parent, IdMap idmap, HashMap idmaps, HashMap idmapsInternal, HashMap idextensiontoname, boolean edit) {
-		super(parent);
-	
-		fEdit= edit;
-		if (fEdit)
-			setTitle(XMLCompareMessages.XMLCompareAddIdMapDialog_editTitle); 
-		else
-			setTitle(XMLCompareMessages.XMLCompareAddIdMapDialog_newTitle); 
-
-		fIdMap= idmap;
-		fIdMaps= idmaps;
-		fIdMapsInternal= idmapsInternal;
-		fIdExtensionToName= idextensiontoname;
-	}
-	
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of the dialog (above the button bar).
-	 *
-	 * Subclasses should override.
-	 *
-	 * @param ancestor the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */		
-	protected Control createDialogArea(Composite ancestor) {
-		Composite composite= (Composite) super.createDialogArea(ancestor);
-		
-		Composite inner= new Composite(composite, SWT.NONE);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		inner.setLayout(layout);
-		inner.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		Label label= new Label(inner, SWT.NULL);
-		label.setText(XMLCompareMessages.XMLCompareAddIdMapDialog_label); 
-		label.setLayoutData(new GridData());
-
-		fIdMapText= new Text(inner, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = convertWidthInCharsToPixels(30);
-		fIdMapText.setLayoutData(data);
-		fIdMapText.setText(fIdMap.getName());
-		fIdMapText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e){
-				doValidation();
-			}
-		});
-	
-		label= new Label(inner, SWT.NULL);
-		label.setText(XMLCompareMessages.XMLCompareAddIdMapDialog_extlabel); 
-		label.setLayoutData(new GridData());
-
-		fIdMapExtText= new Text(inner, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = convertWidthInCharsToPixels(30);
-		fIdMapExtText.setLayoutData(data);
-		fIdMapExtText.setText(fIdMap.getExtension());
-		fIdMapExtText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e){
-				doValidation();
-			}
-		});
-
-		
-		fIdMapText.setFocus();
-
-		return composite;
-	}
-	
-	/**
-	 * Validate user input
-	 */		
-	private void doValidation() {
-		StatusInfo status= new StatusInfo();
-		String newText= fIdMapText.getText();
-		if (newText.length() == 0)
-			status.setError(XMLCompareMessages.XMLCompareAddIdMapDialog_error_noname); 
-		else if (XMLComparePreferencePage.containsInvalidCharacters(newText))
-			status.setError(XMLCompareMessages.XMLCompareAddIdMapDialog_error_invalidname); 
-		else if ( (!fEdit && (fIdMaps.containsKey(newText) || fIdMapsInternal.containsKey(newText)) )
-					|| (fEdit && !newText.equals(fIdMap.getName()) && (fIdMaps.containsKey(newText) || fIdMapsInternal.containsKey(newText)) )
-				 )
-			status.setError(XMLCompareMessages.XMLCompareAddIdMapDialog_error_idmapExists); 
-		newText= fIdMapExtText.getText().toLowerCase();
-		if (newText.length() > 0) {
-			if (newText.indexOf(".") > -1) //$NON-NLS-1$
-				status.setError(XMLCompareMessages.XMLCompareAddIdMapDialog_error_extfullstop); 
-			else if (fIdExtensionToName.containsKey(newText) && !fIdExtensionToName.get(newText).equals(fIdMap.getName()))
-				status.setError(MessageFormat.format("{0} {1}",new String[] {XMLCompareMessages.XMLCompareAddIdMapDialog_error_extExists,(String)fIdExtensionToName.get(newText)}));  //$NON-NLS-1$
-		}
-		updateStatus(status);
-	}
-	
-	/**
-	 * Notifies that the ok button of this dialog has been pressed.
-	 */	
-	protected void okPressed() {
-		fIdMap.setName(fIdMapText.getText());
-		fIdMap.setExtension(fIdMapExtText.getText().toLowerCase());
-		super.okPressed();
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditCopyIdMapDialog.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditCopyIdMapDialog.java
deleted file mode 100644
index cd0881b..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditCopyIdMapDialog.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.HashMap;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.compare.examples.xml.ui.StatusDialog;
-import org.eclipse.compare.examples.xml.ui.StatusInfo;
-
-/**
- * This class is used to create an editable ID Mapping Scheme from an internal ID Mappping Scheme
- */
-public class XMLCompareEditCopyIdMapDialog extends StatusDialog {
-	
-	private HashMap fIdMaps;
-	private HashMap fIdMapsInternal;
-	
-	private Text fIdMapText;
-	private String fResult;
-
-	/*
-	 * Constructs a new edit copy mapping dialog.
-	 */	
-	public XMLCompareEditCopyIdMapDialog(Shell parent, IdMap idmap, HashMap idmaps, HashMap idmapsInternal) {
-		super(parent);
-	
-		setTitle(XMLCompareMessages.XMLCompareEditCopyIdMapDialog_title); 
-
-		fIdMaps= idmaps;
-		fIdMapsInternal= idmapsInternal;
-	}
-	
-	public String getResult() {
-		return fResult;
-	}
-	
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of the dialog (above the button bar).
-	 *
-	 * Subclasses should override.
-	 *
-	 * @param ancestor the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */		
-	protected Control createDialogArea(Composite ancestor) {
-		Composite composite= (Composite) super.createDialogArea(ancestor);
-		
-		Label comment= new Label(composite, SWT.NONE);
-		comment.setText(XMLCompareMessages.XMLCompareEditCopyIdMapDialog_comment); 
-		GridData data= new GridData();
-		data.horizontalAlignment= GridData.FILL;
-		data.verticalAlignment= GridData.BEGINNING;
-		comment.setLayoutData(data);
-		
-		Composite inner= new Composite(composite, SWT.NONE);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		inner.setLayout(layout);
-		inner.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		Label label= new Label(inner, SWT.NULL);
-		label.setText(XMLCompareMessages.XMLCompareEditCopyIdMapDialog_label); 
-		label.setLayoutData(new GridData());
-
-		fIdMapText= new Text(inner, SWT.BORDER);
-		fIdMapText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fIdMapText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e){
-				doValidation();
-			}
-		});
-
-		fIdMapText.setFocus();
-		
-		return composite;
-	}
-	
-	/**
-	 * Validate user input
-	 */		
-	private void doValidation() {
-		StatusInfo status= new StatusInfo();
-		String newText= fIdMapText.getText();
-		if (newText.length() == 0)
-			status.setError(XMLCompareMessages.XMLCompareEditCopyIdMapDialog_error_noname); 
-		else if (XMLComparePreferencePage.containsInvalidCharacters(newText))
-			status.setError(XMLCompareMessages.XMLCompareEditCopyIdMapDialog_error_invalidname); 
-		else if (fIdMaps.containsKey(newText) || fIdMapsInternal.containsKey(newText))
-			status.setError(XMLCompareMessages.XMLCompareEditCopyIdMapDialog_error_nameExists); 
-		updateStatus(status);
-	}
-	
-	/**
-	 * Notifies that the ok button of this dialog has been pressed.
-	 */		
-	protected void okPressed() {
-		fResult= fIdMapText.getText();
-		super.okPressed();
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditMappingDialog.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditMappingDialog.java
deleted file mode 100644
index 7b3d24c..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditMappingDialog.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.HashMap;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.compare.examples.xml.ui.StatusDialog;
-import org.eclipse.compare.examples.xml.ui.StatusInfo;
-
-/**
- * This class is used to add or edit a particular ID Mapping
- */
-public class XMLCompareEditMappingDialog extends StatusDialog {
-	
-	private Mapping fMapping;
-	private HashMap fIdmapHM;
-	private boolean fEdit;
-	
-	private Text fElementText;
-	private Text fSignatureText;
-	private Text fIdAttributeText;
-
-	private Button fIdTypeAttributeButton;
-	private Button fIdTypeChildBodyButton;
-	
-	/*
-	 * Constructs a new edit mapping dialog.
-	 */		
-	public XMLCompareEditMappingDialog(Shell parent, Mapping mapping, HashMap idmapHM, boolean edit) {
-		super(parent);
-	
-		int shellStyle= getShellStyle();
-		setShellStyle(shellStyle | SWT.MAX | SWT.RESIZE);
-
-	
-		fEdit= edit;
-		if (fEdit)
-			setTitle(XMLCompareMessages.XMLCompareEditMappingDialog_editTitle); 
-		else
-			setTitle(XMLCompareMessages.XMLCompareEditMappingDialog_newTitle); 
-
-		fMapping= mapping;
-		fIdmapHM= idmapHM;
-	}
-	
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of the dialog (above the button bar).
-	 *
-	 * Subclasses should override.
-	 *
-	 * @param ancestor the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */	
-	protected Control createDialogArea(Composite ancestor) {
-		Composite composite= (Composite) super.createDialogArea(ancestor);
-		
-		Composite inner= new Composite(composite, SWT.NONE);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		inner.setLayout(layout);
-		inner.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		//Element
-		Label label= new Label(inner, SWT.NULL);
-		label.setText(XMLCompareMessages.XMLCompareEditMappingDialog_element); 
-		label.setLayoutData(new GridData());
-
-		fElementText= new Text(inner, SWT.BORDER);
-		fElementText.setText(fMapping.getElement());
-		fElementText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fElementText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e){
-				doValidation();
-			}
-		});
-
-		//Signature
-		label= new Label(inner, SWT.NULL);
-		label.setText(XMLCompareMessages.XMLCompareEditMappingDialog_signature); 
-		label.setLayoutData(new GridData());
-
-		fSignatureText= new Text(inner, SWT.BORDER);
-		fSignatureText.setText(fMapping.getSignature());
-		GridData data= new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint= convertWidthInCharsToPixels(50);
-		fSignatureText.setLayoutData(data);
-		fSignatureText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e){
-				doValidation();
-			}
-		});
-		
-		//Id Attribute
-		label= new Label(inner, SWT.NULL);
-		label.setText(XMLCompareMessages.XMLCompareEditMappingDialog_idattribute); 
-		label.setLayoutData(new GridData());
-
-		fIdAttributeText= new Text(inner, SWT.BORDER);
-
-		fIdAttributeText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fIdAttributeText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e){
-				doValidation();
-			}
-		});
-
-		//Id Source
-		createIdSourceGroup(inner);
-
-		fElementText.setFocus();
-
-		return composite;
-	}
-	
-	/**
-	 * Validate user input
-	 */	
-	private void doValidation() {
-		StatusInfo status= new StatusInfo();
-		String text= fElementText.getText();
-		String mappingKey= Mapping.getKey(fSignatureText.getText(), text);
-		String errormsg= ""; //$NON-NLS-1$
-		boolean isError= false;
-		if (text.length() == 0) {
-			errormsg= XMLCompareMessages.XMLCompareEditMappingDialog_error_noname; 
-			isError= true;
-		} else if (XMLComparePreferencePage.containsInvalidCharacters(text)) {
-			if (errormsg == "") errormsg= XMLCompareMessages.XMLCompareEditMappingDialog_error_invalidname;  //$NON-NLS-1$
-			isError= true;
-		} else if (!fEdit && fIdmapHM != null && fIdmapHM.containsKey(mappingKey)) {
-			if (errormsg == "") errormsg= XMLCompareMessages.XMLCompareEditMappingDialog_error_mappingExists;  //$NON-NLS-1$
-			isError= true;
-		}
-		text= fSignatureText.getText();
-		if (XMLComparePreferencePage.containsInvalidCharacters(text)) {
-			if (errormsg == "") errormsg= XMLCompareMessages.XMLCompareEditMappingDialog_error_invalidsignature;  //$NON-NLS-1$
-			isError= true;
-		}
-		text= fIdAttributeText.getText();
-		if (text.length() == 0)
-			isError= true;
-		else if (XMLComparePreferencePage.containsInvalidCharacters(text)) {
-			if (errormsg == "") errormsg= XMLCompareMessages.XMLCompareEditMappingDialog_error_invalididattribute;  //$NON-NLS-1$
-			isError= true;
-		}
-		if (isError) status.setError(errormsg);
-		updateStatus(status);
-	}
-	
-	/**
-	 * Notifies that the ok button of this dialog has been pressed.
-	 */	
-	protected void okPressed() {
-		fMapping.setElement(fElementText.getText());
-		fMapping.setSignature(fSignatureText.getText());
-		String idtext= fIdAttributeText.getText();
-		if (fIdTypeChildBodyButton.getSelection()) {
-			idtext= new Character(XMLStructureCreator.ID_TYPE_BODY) + idtext;
-		}
-		fMapping.setIdAttribute(idtext);
-		super.okPressed();
-	}
-	
-	private void createIdSourceGroup(Composite composite) {
-		Label titleLabel= new Label(composite, SWT.NONE);
-		titleLabel.setText(XMLCompareMessages.XMLCompareEditMappingDialog_idtype); 
-		titleLabel.setToolTipText(XMLCompareMessages.XMLCompareEditMappingDialog_idtype_tooltip); 
-	
-		Composite buttonComposite= new Composite(composite, SWT.LEFT);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		buttonComposite.setLayout(layout);
-		composite.setData(new GridData());
-	
-		//attribute button
-		fIdTypeAttributeButton= createRadioButton(buttonComposite, XMLCompareMessages.XMLComparePreference_idtype_attribute); 
-		fIdTypeAttributeButton.setToolTipText(XMLCompareMessages.XMLCompareEditMappingDialog_idtype_attribute_tooltip); 
-	
-		//child body button
-		fIdTypeChildBodyButton= createRadioButton(buttonComposite, XMLCompareMessages.XMLComparePreference_idtype_child_body); 
-		fIdTypeChildBodyButton.setToolTipText(XMLCompareMessages.XMLCompareEditMappingDialog_idtype_childbody_tooltip); 
-	
-		String idtext= fMapping.getIdAttribute();
-		if (fEdit && idtext.charAt(0) == XMLStructureCreator.ID_TYPE_BODY) {
-			idtext= idtext.substring(1,idtext.length());
-			fIdTypeChildBodyButton.setSelection(true);
-		} else
-			fIdTypeAttributeButton.setSelection(true);
-		fIdAttributeText.setText(idtext);
-	
-	}
-
-	private Button createRadioButton(Composite parent, String label) {
-		Button button= new Button(parent, SWT.RADIO | SWT.LEFT);
-		button.setText(label);
-		GridData data= new GridData();
-		button.setLayoutData(data);
-		return button;
-	}	
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditOrderedDialog.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditOrderedDialog.java
deleted file mode 100644
index c519224..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareEditOrderedDialog.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.ArrayList;
-
-import org.eclipse.compare.examples.xml.ui.StatusDialog;
-import org.eclipse.compare.examples.xml.ui.StatusInfo;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * This class is used to add or edit a particular ID Mapping
- */
-public class XMLCompareEditOrderedDialog extends StatusDialog {
-	
-	private Mapping fMapping;
-	private ArrayList fIdmapAL;
-	private boolean fEdit;
-	
-	private Text fElementText;
-	private Text fSignatureText;
-
-	/*
-	 * Constructs a new edit mapping dialog.
-	 */		
-	public XMLCompareEditOrderedDialog(Shell parent, Mapping mapping, ArrayList idmapAL, boolean edit) {
-		super(parent);
-	
-		int shellStyle= getShellStyle();
-		setShellStyle(shellStyle | SWT.MAX | SWT.RESIZE);
-
-	
-		fEdit= edit;
-		if (fEdit)
-			setTitle(XMLCompareMessages.XMLCompareEditOrderedDialog_editTitle); 
-		else
-			setTitle(XMLCompareMessages.XMLCompareEditOrderedDialog_newTitle); 
-
-		fMapping= mapping;
-		fIdmapAL= idmapAL;
-	}
-	
-	/**
-	 * Creates and returns the contents of the upper part 
-	 * of the dialog (above the button bar).
-	 *
-	 * Subclasses should override.
-	 *
-	 * @param ancestor the parent composite to contain the dialog area
-	 * @return the dialog area control
-	 */	
-	protected Control createDialogArea(Composite ancestor) {
-		Composite composite= (Composite) super.createDialogArea(ancestor);
-		
-		Composite inner= new Composite(composite, SWT.NONE);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		inner.setLayout(layout);
-		inner.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		//Element
-		Label label= new Label(inner, SWT.NULL);
-		label.setText(XMLCompareMessages.XMLCompareEditMappingDialog_element); 
-		label.setLayoutData(new GridData());
-
-		fElementText= new Text(inner, SWT.BORDER);
-		fElementText.setText(fMapping.getElement());
-		fElementText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fElementText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e){
-				doValidation();
-			}
-		});
-
-		//Signature
-		label= new Label(inner, SWT.NULL);
-		label.setText(XMLCompareMessages.XMLCompareEditMappingDialog_signature); 
-		label.setLayoutData(new GridData());
-
-		fSignatureText= new Text(inner, SWT.BORDER);
-		fSignatureText.setText(fMapping.getSignature());
-		GridData data= new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint= convertWidthInCharsToPixels(50);
-		fSignatureText.setLayoutData(data);
-		fSignatureText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e){
-				doValidation();
-			}
-		});
-		
-		fElementText.setFocus();
-
-		return composite;
-	}
-	
-	/**
-	 * Validate user input
-	 */	
-	private void doValidation() {
-		StatusInfo status= new StatusInfo();
-		String text= fElementText.getText();
-		String mappingKey= Mapping.getKey(fSignatureText.getText(), text);
-		String errormsg= ""; //$NON-NLS-1$
-		boolean isError= false;
-		if (text.length() == 0) {
-			errormsg= XMLCompareMessages.XMLCompareEditMappingDialog_error_noname; 
-			isError= true;
-		} else if (XMLComparePreferencePage.containsInvalidCharacters(text)) {
-			if (errormsg == "") errormsg= XMLCompareMessages.XMLCompareEditMappingDialog_error_invalidname;  //$NON-NLS-1$
-			isError= true;
-		} else if (!fEdit && fIdmapAL.contains(mappingKey)) {
-			if (errormsg == "") errormsg= XMLCompareMessages.XMLCompareEditOrderedDialog_error_orderedExists;  //$NON-NLS-1$
-			isError= true;
-		}
-		text= fSignatureText.getText();
-		if (XMLComparePreferencePage.containsInvalidCharacters(text)) {
-			if (errormsg == "") errormsg= XMLCompareMessages.XMLCompareEditMappingDialog_error_invalidsignature;  //$NON-NLS-1$
-			isError= true;
-		}
-		if (isError) status.setError(errormsg);
-		updateStatus(status);
-	}
-	
-	/**
-	 * Notifies that the ok button of this dialog has been pressed.
-	 */	
-	protected void okPressed() {
-		fMapping.setElement(fElementText.getText());
-		fMapping.setSignature(fSignatureText.getText());
-		super.okPressed();
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareMessages.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareMessages.java
deleted file mode 100644
index aefee54..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLCompareMessages.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class XMLCompareMessages extends NLS {
-
-	private static final String BUNDLE_NAME = "org.eclipse.compare.examples.xml.xmlcompare";//$NON-NLS-1$
-
-	private XMLCompareMessages() {
-		// Do not instantiate
-	}
-
-	public static String XMLStructureCreator_pluginname;
-	public static String XMLStructureCreator_unordered;
-	public static String XMLStructureCreator_ordered;
-	public static String XMLStructureCreator_idmap_unordered;
-	public static String XMLStructureCreator_id_map_scheme;
-	public static String XMLStructureCreator_body;
-	public static String ChooseMatcherDropDownAction_text;
-	public static String ChooseMatcherDropDownAction_tooltip;
-	public static String XMLComparePreference_idtype_attribute;
-	public static String XMLComparePreference_idtype_child_body;
-	public static String XMLComparePreference_topTableLabel;
-	public static String XMLComparePreference_topTableColumn1;
-	public static String XMLComparePreference_topTableColumn2;
-	public static String XMLComparePreference_topTableColumn2internal;
-	public static String XMLComparePreference_topTableColumn2user;
-	public static String XMLComparePreference_topTableColumn3;
-	public static String XMLComparePreference_topAdd;
-	public static String XMLComparePreference_topRename;
-	public static String XMLComparePreference_topRemove;
-	public static String XMLComparePreference_topEdit;
-	public static String XMLComparePreference_middleTableColumn1;
-	public static String XMLComparePreference_middleTableColumn2;
-	public static String XMLComparePreference_middleTableColumn3;
-	public static String XMLComparePreference_middleTableColumn4;
-	public static String XMLComparePreference_middleNew;
-	public static String XMLComparePreference_middleEdit;
-	public static String XMLComparePreference_middleRemove;
-	public static String XMLComparePreference_middleTableLabel;
-	public static String XMLComparePreference_bottomTableLabel;
-	public static String XMLComparePreference_bottomTableColumn1;
-	public static String XMLComparePreference_bottomTableColumn2;
-	public static String XMLComparePreference_bottomNew;
-	public static String XMLComparePreference_bottomEdit;
-	public static String XMLComparePreference_bottomRemove;
-	public static String XMLCompareAddIdMapDialog_editTitle;
-	public static String XMLCompareAddIdMapDialog_newTitle;
-	public static String XMLCompareAddIdMapDialog_label;
-	public static String XMLCompareAddIdMapDialog_extlabel;
-	public static String XMLCompareAddIdMapDialog_error_noname;
-	public static String XMLCompareAddIdMapDialog_error_invalidname;
-	public static String XMLCompareAddIdMapDialog_error_idmapExists;
-	public static String XMLCompareAddIdMapDialog_error_extfullstop;
-	public static String XMLCompareAddIdMapDialog_error_extExists;
-	public static String XMLCompareEditCopyIdMapDialog_title;
-	public static String XMLCompareEditCopyIdMapDialog_comment;
-	public static String XMLCompareEditCopyIdMapDialog_label;
-	public static String XMLCompareEditCopyIdMapDialog_error_noname;
-	public static String XMLCompareEditCopyIdMapDialog_error_invalidname;
-	public static String XMLCompareEditCopyIdMapDialog_error_nameExists;
-	public static String XMLCompareEditMappingDialog_editTitle;
-	public static String XMLCompareEditMappingDialog_newTitle;
-	public static String XMLCompareEditMappingDialog_element;
-	public static String XMLCompareEditMappingDialog_signature;
-	public static String XMLCompareEditMappingDialog_idattribute;
-	public static String XMLCompareEditMappingDialog_idtype;
-	public static String XMLCompareEditMappingDialog_idtype_tooltip;
-	public static String XMLCompareEditMappingDialog_idtype_attribute_tooltip;
-	public static String XMLCompareEditMappingDialog_idtype_childbody_tooltip;
-	public static String XMLCompareEditMappingDialog_error_noname;
-	public static String XMLCompareEditMappingDialog_error_invalidname;
-	public static String XMLCompareEditMappingDialog_error_mappingExists;
-	public static String XMLCompareEditMappingDialog_error_invalidsignature;
-	public static String XMLCompareEditMappingDialog_error_invalididattribute;
-	public static String XMLCompareEditOrderedDialog_newTitle;
-	public static String XMLCompareEditOrderedDialog_editTitle;
-	public static String XMLCompareEditOrderedDialog_error_orderedExists;
-	public static String XMLStructureViewer_newtask;
-	public static String XMLStructureViewer_action_notUserIdMap;
-	public static String XMLStructureViewer_action_setId_text1;
-	public static String XMLStructureViewer_action_setId_text2;
-	public static String XMLStructureViewer_action_setId_text3;
-	public static String XMLStructureViewer_action_setOrdered_exists;
-	public static String XMLStructureViewer_action_setOrdered;
-	public static String XMLStructureViewer_matching_beginTask;
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, XMLCompareMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLComparePreferencePage.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLComparePreferencePage.java
deleted file mode 100644
index 4319fa8..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLComparePreferencePage.java
+++ /dev/null
@@ -1,839 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.util.*;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-
-import org.eclipse.ui.*;
-
-/**
- * The XMLComparePreferencePage is the page used to set ID Mappings for XML Compare
- */
-public class XMLComparePreferencePage extends PreferencePage implements IWorkbenchPreferencePage, Listener {
-
-	private Table fIdMapsTable;
-	private Button fAddIdMapButton;
-	private Button fRenameIdMapButton;
-	private Button fRemoveIdMapButton;
-	private Button fEditIdMapButton;
-
-	private Table fMappingsTable;
-	private Button fNewMappingsButton;
-	private Button fEditMappingsButton;
-	private Button fRemoveMappingsButton;
-
-	private Table fOrderedTable;
-	private Button fNewOrderedButton;
-	private Button fEditOrderedButton;
-	private Button fRemoveOrderedButton;
-
-	private HashMap fIdMapsInternal;
-	private HashMap fIdMaps;// HashMap ( idname -> HashMap (signature -> id) )
-	private HashMap fIdExtensionToName;
-	
-	//fOrderedElements contains signature of xml element whose children must be compared in ordered fashion
-	private HashMap fOrderedElements;// HashMap ( idname -> ArrayList (signature) )
-	private HashMap fOrderedElementsInternal;
-	
-	protected static char[] invalidCharacters;
-	protected static final char SIGN_SEPARATOR = XMLStructureCreator.SIGN_SEPARATOR;
-
-	public static String IDTYPE_ATTRIBUTE= XMLCompareMessages.XMLComparePreference_idtype_attribute; 
-	public static String IDTYPE_CHILDBODY= XMLCompareMessages.XMLComparePreference_idtype_child_body; 
-
-	
-	static {
-		invalidCharacters = new char[] {XMLPlugin.IDMAP_SEPARATOR,XMLPlugin.IDMAP_FIELDS_SEPARATOR,XMLStructureCreator.SIGN_ENCLOSING};
-	}
-
-	
-	public XMLComparePreferencePage() {
-		super();
-		
-		fIdMaps = new HashMap();
-		XMLPlugin plugin= XMLPlugin.getDefault();
-		HashMap PluginIdMaps = plugin.getIdMaps();
-		Set keySet = PluginIdMaps.keySet();
-		for (Iterator iter = keySet.iterator(); iter.hasNext(); ) {
-			String key = (String) iter.next();
-			fIdMaps.put(key, ((HashMap)PluginIdMaps.get(key)).clone() );
-		}
-		fIdMapsInternal = plugin.getIdMapsInternal();
-		
-		fIdExtensionToName= new HashMap();
-		HashMap PluginIdExtensionToName= plugin.getIdExtensionToName();
-		keySet= PluginIdExtensionToName.keySet();
-		for (Iterator iter= keySet.iterator(); iter.hasNext(); ) {
-			String key= (String) iter.next();
-			fIdExtensionToName.put(key, PluginIdExtensionToName.get(key));
-		}
-		
-		fOrderedElements= new HashMap();
-		HashMap PluginOrderedElements= plugin.getOrderedElements();
-		keySet= PluginOrderedElements.keySet();
-		for (Iterator iter= keySet.iterator(); iter.hasNext();) {
-			String key= (String) iter.next();
-			fOrderedElements.put(key, ((ArrayList)PluginOrderedElements.get(key)).clone());
-		}
-		
-		fOrderedElementsInternal= plugin.getOrderedElementsInternal();
-	}
-
-	/**
-	 * @see PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite ancestor) {
-		Composite parent= new Composite(ancestor, SWT.NULL);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		parent.setLayout(layout);				
-		
-		//layout the top table & its buttons
-		Label label = new Label(parent, SWT.LEFT);
-		label.setText(XMLCompareMessages.XMLComparePreference_topTableLabel); 
-		GridData data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-	
-		fIdMapsTable = new Table(parent, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
-		fIdMapsTable.setHeaderVisible(true);	
-		data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = fIdMapsTable.getItemHeight()*4;
-		fIdMapsTable.setLayoutData(data);
-		fIdMapsTable.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectionChanged();
-			}
-		});
-
-		String column2Text= XMLCompareMessages.XMLComparePreference_topTableColumn2; 
-		String column3Text= XMLCompareMessages.XMLComparePreference_topTableColumn3; 
-		ColumnLayoutData columnLayouts[]= {
-			new ColumnWeightData(1),
-			new ColumnPixelData(convertWidthInCharsToPixels(column2Text.length()+2), true),
-			new ColumnPixelData(convertWidthInCharsToPixels(column3Text.length()+5), true)};
-		TableLayout tablelayout = new TableLayout();
-		fIdMapsTable.setLayout(tablelayout);
-		for (int i=0; i<3; i++)
-			tablelayout.addColumnData(columnLayouts[i]);
-		TableColumn column = new TableColumn(fIdMapsTable, SWT.NONE);
-		column.setText(XMLCompareMessages.XMLComparePreference_topTableColumn1); 
-		column = new TableColumn(fIdMapsTable, SWT.NONE);
-		column.setText(column2Text);
-		column = new TableColumn(fIdMapsTable, SWT.NONE);
-		column.setText(column3Text);
-		
-		fillIdMapsTable();
-
-		Composite buttons= new Composite(parent, SWT.NULL);
-		buttons.setLayout(new GridLayout());
-		data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		buttons.setLayoutData(data);
-
-		fAddIdMapButton = new Button(buttons, SWT.PUSH);
-		fAddIdMapButton.setText(XMLCompareMessages.XMLComparePreference_topAdd); 
-		fAddIdMapButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				addIdMap(fAddIdMapButton.getShell());
-			}
-		});
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		//data.heightHint = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-		int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		data.widthHint = Math.max(widthHint, fAddIdMapButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		fAddIdMapButton.setLayoutData(data);
-	
-		fRenameIdMapButton = new Button(buttons, SWT.PUSH);
-		fRenameIdMapButton.setText(XMLCompareMessages.XMLComparePreference_topRename); 
-		fRenameIdMapButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				renameIdMap(fRenameIdMapButton.getShell());
-			}
-		});
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		//data.heightHint = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-		widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		data.widthHint = Math.max(widthHint, fAddIdMapButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		fRenameIdMapButton.setLayoutData(data);
-
-		fRemoveIdMapButton = new Button(buttons, SWT.PUSH);
-		fRemoveIdMapButton.setText(XMLCompareMessages.XMLComparePreference_topRemove); 
-		fRemoveIdMapButton.addSelectionListener(new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-				removeIdMap(fRemoveIdMapButton.getShell());
-			}
-		});
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		//data.heightHint = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-			widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		data.widthHint = Math.max(widthHint, fRemoveIdMapButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		fRemoveIdMapButton.setLayoutData(data);
-
-		createSpacer(buttons);
-
-		fEditIdMapButton = new Button(buttons, SWT.PUSH);
-		fEditIdMapButton.setText(XMLCompareMessages.XMLComparePreference_topEdit); 
-		fEditIdMapButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				editIdMap(fEditIdMapButton.getShell());
-			}
-		});
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		//data.heightHint = convertVerticalDLUsToPixels(IDialogConstants.BUTTON_HEIGHT);
-		widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		data.widthHint = Math.max(widthHint, fEditIdMapButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		fEditIdMapButton.setLayoutData(data);
-	
-		//Spacer
-		label = new Label(parent, SWT.LEFT);
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-
-		//layout the middle table & its buttons
-		label = new Label(parent, SWT.LEFT);
-		label.setText(XMLCompareMessages.XMLComparePreference_middleTableLabel); 
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-
-		fMappingsTable = new Table(parent, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
-		fMappingsTable.setHeaderVisible(true);	
-		data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = fMappingsTable.getItemHeight()*4;
-		data.widthHint= convertWidthInCharsToPixels(70);
-		fMappingsTable.setLayoutData(data);
-		
-		column3Text= XMLCompareMessages.XMLComparePreference_middleTableColumn3; 
-		String column4Text= XMLCompareMessages.XMLComparePreference_middleTableColumn4; 
-		columnLayouts= new ColumnLayoutData[] {
-			new ColumnWeightData(10),
-			new ColumnWeightData(18),
-			new ColumnPixelData(convertWidthInCharsToPixels(column3Text.length()+1), true),
-			new ColumnPixelData(convertWidthInCharsToPixels(column4Text.length()+3), true)};
-		tablelayout = new TableLayout();
-		fMappingsTable.setLayout(tablelayout);
-		for (int i=0; i<4; i++)
-			tablelayout.addColumnData(columnLayouts[i]);
-		column = new TableColumn(fMappingsTable, SWT.NONE);
-		column.setText(XMLCompareMessages.XMLComparePreference_middleTableColumn1); 
-		column = new TableColumn(fMappingsTable, SWT.NONE);
-		column.setText(XMLCompareMessages.XMLComparePreference_middleTableColumn2); 
-		column = new TableColumn(fMappingsTable, SWT.NONE);
-		column.setText(column3Text);
-		column = new TableColumn(fMappingsTable, SWT.NONE);
-		column.setText(column4Text);
-	
-		buttons= new Composite(parent, SWT.NULL);
-		buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
-		layout= new GridLayout();
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		buttons.setLayout(layout);
-		
-		fNewMappingsButton= new Button(buttons, SWT.PUSH);
-		fNewMappingsButton.setLayoutData(getButtonGridData(fNewMappingsButton));
-		fNewMappingsButton.setText(XMLCompareMessages.XMLComparePreference_middleNew); 
-		fNewMappingsButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				addMapping(fAddIdMapButton.getShell());
-			}
-		});
-
-		fEditMappingsButton= new Button(buttons, SWT.PUSH);
-		fEditMappingsButton.setLayoutData(getButtonGridData(fEditMappingsButton));
-		fEditMappingsButton.setText(XMLCompareMessages.XMLComparePreference_middleEdit); 
-		fEditMappingsButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				editMapping(fEditMappingsButton.getShell());
-			}
-		});
-
-		fRemoveMappingsButton= new Button(buttons, SWT.PUSH);
-		fRemoveMappingsButton.setLayoutData(getButtonGridData(fRemoveMappingsButton));
-		fRemoveMappingsButton.setText(XMLCompareMessages.XMLComparePreference_middleRemove); 
-		fRemoveMappingsButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				removeMapping(fRemoveMappingsButton.getShell());
-			}
-		});
-
-		createSpacer(buttons);
-
-		//layout the botton table & its buttons
-		label = new Label(parent, SWT.LEFT);
-		label.setText(XMLCompareMessages.XMLComparePreference_bottomTableLabel); 
-		data = new GridData();
-		data.horizontalAlignment = GridData.FILL;
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
-
-		fOrderedTable = new Table(parent, SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
-		fOrderedTable.setHeaderVisible(true);	
-		data = new GridData(GridData.FILL_BOTH);
-		data.heightHint = fOrderedTable.getItemHeight()*2;
-		data.widthHint= convertWidthInCharsToPixels(70);
-		fOrderedTable.setLayoutData(data);
-		
-		columnLayouts= new ColumnLayoutData[] {
-			new ColumnWeightData(1),
-			new ColumnWeightData(1)};
-		tablelayout = new TableLayout();
-		fOrderedTable.setLayout(tablelayout);
-		for (int i=0; i<2; i++)
-			tablelayout.addColumnData(columnLayouts[i]);
-		column = new TableColumn(fOrderedTable, SWT.NONE);
-		column.setText(XMLCompareMessages.XMLComparePreference_bottomTableColumn1); 
-		column = new TableColumn(fOrderedTable, SWT.NONE);
-		column.setText(XMLCompareMessages.XMLComparePreference_bottomTableColumn2); 
-	
-		buttons= new Composite(parent, SWT.NULL);
-		buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
-		layout= new GridLayout();
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		buttons.setLayout(layout);
-		
-		fNewOrderedButton= new Button(buttons, SWT.PUSH);
-		fNewOrderedButton.setLayoutData(getButtonGridData(fNewOrderedButton));
-		fNewOrderedButton.setText(XMLCompareMessages.XMLComparePreference_bottomNew); 
-		fNewOrderedButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				addOrdered(fNewOrderedButton.getShell());
-			}
-		});
-
-		fEditOrderedButton= new Button(buttons, SWT.PUSH);
-		fEditOrderedButton.setLayoutData(getButtonGridData(fEditOrderedButton));
-		fEditOrderedButton.setText(XMLCompareMessages.XMLComparePreference_bottomEdit); 
-		fEditOrderedButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				editOrdered(fEditOrderedButton.getShell());
-			}
-		});
-
-		fRemoveOrderedButton= new Button(buttons, SWT.PUSH);
-		fRemoveOrderedButton.setLayoutData(getButtonGridData(fRemoveOrderedButton));
-		fRemoveOrderedButton.setText(XMLCompareMessages.XMLComparePreference_bottomRemove); 
-		fRemoveOrderedButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				removeOrdered(fRemoveOrderedButton.getShell());
-			}
-		});
-
-		createSpacer(buttons);
-
-
-
-		fIdMapsTable.setSelection(0);
-		fIdMapsTable.setFocus();
-		selectionChanged();
-		
-		return parent;
-	}
-	
-	protected void createSpacer(Composite parent) {
-		Label spacer= new Label(parent, SWT.NONE);
-		GridData data= new GridData();
-		data.horizontalAlignment= GridData.FILL;
-		data.verticalAlignment= GridData.BEGINNING;
-		data.heightHint= 4;		
-		spacer.setLayoutData(data);
-	}
-	
-	private static GridData getButtonGridData(Button button) {
-		GridData data= new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint= SWTUtil.getButtonWidthHint(button);
-		//data.heightHint= SWTUtil.getButtonHeigthHint(button);
-		return data;
-	}
-	
-	public void init(IWorkbench workbench) {
-		noDefaultAndApplyButton();
-	}
-
-	public void handleEvent(Event event) {
-		// empty implementation
-	}
-
-	private void addIdMap(Shell shell) {
-		IdMap idmap = new IdMap(false);
-		XMLCompareAddIdMapDialog dialog= new XMLCompareAddIdMapDialog(shell,idmap,fIdMaps,fIdMapsInternal,fIdExtensionToName,false);
-		if (dialog.open() == Window.OK) {
-			if (!fIdMaps.containsKey(idmap.getName())) {
-				fIdMaps.put(idmap.getName(),new HashMap());
-				if (!idmap.getExtension().equals("")) //$NON-NLS-1$
-					fIdExtensionToName.put(idmap.getExtension(),idmap.getName());
-				newIdMapsTableItem(idmap,true);
-			}
-		}
-	}
-
-	private void renameIdMap(Shell shell) {
-		TableItem[] itemsIdMaps = fIdMapsTable.getSelection();
-		if (itemsIdMaps.length > 0) {
-			IdMap idmap = (IdMap) itemsIdMaps[0].getData();
-			String old_name = idmap.getName();
-			String old_extension= idmap.getExtension();
-			HashMap idmapHS = (HashMap) fIdMaps.get(old_name);
-			XMLCompareAddIdMapDialog dialog= new XMLCompareAddIdMapDialog(shell,idmap,fIdMaps,fIdMapsInternal,fIdExtensionToName,true);
-			if (dialog.open() == Window.OK) {
-				fIdMaps.remove(old_name);
-				fIdExtensionToName.remove(old_extension);
-				fIdMaps.put(idmap.getName(),idmapHS);
-				if (!idmap.getExtension().equals("")) //$NON-NLS-1$
-					fIdExtensionToName.put(idmap.getExtension(),idmap.getName());
-				fIdMapsTable.remove(fIdMapsTable.indexOf(itemsIdMaps[0]));
-				newIdMapsTableItem(idmap,true);
-			}
-		}
-	}
-
-	private void removeIdMap(Shell shell) {
-		TableItem[] itemsIdMap = fIdMapsTable.getSelection();
-		if (itemsIdMap.length > 0) {
-//			fIdMaps.remove(itemsIdMap[0].getText());
-			String IdMapName= ((IdMap)itemsIdMap[0].getData()).getName();
-			fIdMaps.remove( IdMapName );
-			fOrderedElements.remove( IdMapName );
-			//All the corresponding ID Mappings must be removed as well
-			TableItem[] itemsMappings = fMappingsTable.getItems();
-			for (int i=0; i<itemsMappings.length; i++) {
-				itemsMappings[i].dispose();
-			}
-			//All the corresponding Ordered entries must be removed as well
-			TableItem[] itemsOrdered= fOrderedTable.getItems();
-			for (int i= 0; i < itemsOrdered.length; i++) {
-				itemsOrdered[i].dispose();
-			}
-			//Remove extension
-			if (!itemsIdMap[0].getText(2).equals("")) { //$NON-NLS-1$
-				fIdExtensionToName.remove(itemsIdMap[0].getText(2));
-			}
-			itemsIdMap[0].dispose();  //Table is single selection
-		}
-	}
-	
-	private void editIdMap(Shell shell) {
-		TableItem[] items = fIdMapsTable.getSelection();
-		if (items.length > 0) {
-			IdMap idmap = (IdMap) items[0].getData();
-			XMLCompareEditCopyIdMapDialog dialog= new XMLCompareEditCopyIdMapDialog(shell,idmap,fIdMaps,fIdMapsInternal);
-			if (dialog.open() == Window.OK) {
-				String new_idmapName = dialog.getResult();
-				if (!fIdMaps.containsKey(new_idmapName)) {
-					//copy over id mappings
-					Vector newMappings = new Vector();
-					IdMap newIdMap = new IdMap(new_idmapName, false, newMappings);
-					HashMap newIdmapHM = new HashMap();
-					fIdMaps.put(newIdMap.getName(),newIdmapHM);
-					Vector Mappings = idmap.getMappings();
-					for (Enumeration enumeration= Mappings.elements(); enumeration.hasMoreElements(); ) {
-						Mapping mapping = (Mapping) enumeration.nextElement();
-						Mapping newMapping = new Mapping(mapping.getElement(), mapping.getSignature(), mapping.getIdAttribute());
-						newMappings.add(newMapping);
-						newIdmapHM.put(newMapping.getKey(), newMapping.getIdAttribute());
-					}
-					//copy over ordered entries
-					ArrayList orderedAL= idmap.getOrdered();
-					if (orderedAL != null && orderedAL.size() > 0) {
-						ArrayList newOrderedAL= new ArrayList();
-						newIdMap.setOrdered(newOrderedAL);
-						ArrayList idmapOrdered= new ArrayList();
-						fOrderedElements.put(newIdMap.getName(),idmapOrdered);
-						for (Iterator iter= orderedAL.iterator(); iter.hasNext();) {
-							Mapping ordered= (Mapping) iter.next();
-							Mapping newOrdered= new Mapping(ordered.getElement(), ordered.getSignature());
-							newOrderedAL.add(newOrdered);
-							idmapOrdered.add(newOrdered.getKey());
-						}
-					}
-					
-					newIdMapsTableItem(newIdMap,true);
-					selectionChanged();
-				}
-			}
-		}
-	}
-
-	private void addMapping(Shell shell) {
-		TableItem[] items = fIdMapsTable.getSelection();
-		if (items.length > 0) {
-			IdMap idmap = (IdMap) items[0].getData();
-			Mapping mapping = new Mapping();
-			HashMap idmapHM = (HashMap) fIdMaps.get(idmap.getName());
-			XMLCompareEditMappingDialog dialog= new XMLCompareEditMappingDialog(shell,mapping,idmapHM,false);
-			if (dialog.open() == Window.OK) {
-				String idmapHMKey = mapping.getKey();
-				if (idmapHM == null)
-					idmapHM= new HashMap();
-				if (!idmapHM.containsKey(idmapHMKey)) {
-					idmapHM.put(idmapHMKey, mapping.getIdAttribute());
-					newMappingsTableItem(mapping, true);
-					Vector mappings = idmap.getMappings();
-					mappings.add(mapping);
-				}
-			}
-		}
-	}
-
-	private void editMapping(Shell shell) {
-		TableItem[] itemsIdMaps = fIdMapsTable.getSelection();		
-		TableItem[] itemsMappings = fMappingsTable.getSelection();
-		if (itemsMappings.length > 0) {
-			IdMap idmap = (IdMap) itemsIdMaps[0].getData();
-			HashMap idmapHM = (HashMap) fIdMaps.get(idmap.getName());
-			Mapping mapping = (Mapping)itemsMappings[0].getData();
-			String idmapHMKey = mapping.getKey();
-			idmapHM.remove(idmapHMKey);
-			XMLCompareEditMappingDialog dialog= new XMLCompareEditMappingDialog(shell,mapping,null,true);
-			if (dialog.open() == Window.OK) {
-				idmapHMKey = mapping.getKey();
-				idmapHM.put(idmapHMKey, mapping.getIdAttribute());
-				fMappingsTable.remove(fMappingsTable.indexOf(itemsMappings[0]));
-				newMappingsTableItem(mapping, true);
-			}
-		}
-	}
-
-	private void removeMapping(Shell shell) {
-		TableItem[] itemsIdMaps = fIdMapsTable.getSelection();
-		TableItem[] itemsMappings = fMappingsTable.getSelection();
-		
-		if (itemsMappings.length > 0 && itemsIdMaps.length > 0) {
-			Mapping mapping = (Mapping)itemsMappings[0].getData();
-			IdMap idmap = (IdMap) itemsIdMaps[0].getData();
-			HashMap idmapHS = (HashMap) fIdMaps.get( idmap.getName() );
-			idmapHS.remove(mapping.getKey());
-			Vector mappings= idmap.getMappings();
-			mappings.remove(mapping);
-			itemsMappings[0].dispose();  //Table is single selection
-		}
-	}
-
-	private void addOrdered(Shell shell) {
-		TableItem[] items = fIdMapsTable.getSelection();
-		if (items.length > 0) {
-//			Set orderedSet= fOrderedElements.keySet();
-//			for (Iterator iter= orderedSet.iterator(); iter.hasNext(); ) {
-//				String IdMapName= (String) iter.next();
-//				ArrayList ordered= (ArrayList) fOrderedElements.get(IdMapName);
-//				for (Iterator iter2= ordered.iterator(); iter2.hasNext(); ) {
-//					System.out.println(IdMapName + ": " + iter2.next()); //$NON-NLS-1$
-//				}
-//			}
-			IdMap idmap = (IdMap) items[0].getData();
-			Mapping mapping = new Mapping();
-			ArrayList idmapAL= (ArrayList) fOrderedElements.get(idmap.getName());
-			if (idmapAL == null)
-				idmapAL= new ArrayList();
-			XMLCompareEditOrderedDialog dialog= new XMLCompareEditOrderedDialog(shell,mapping,idmapAL,false);
-			if (dialog.open() == Window.OK) {
-				String idmapALKey = mapping.getKey();
-				if (!idmapAL.contains(idmapALKey)) {
-					idmapAL.add(idmapALKey);
-					newOrderedTableItem(mapping, true);
-					ArrayList ordered= idmap.getOrdered();
-					if (ordered == null) {
-						ordered= new ArrayList();
-						ordered.add(mapping);
-						idmap.setOrdered(ordered);
-					} else {
-						ordered.add(mapping);
-					}
-					if (!fOrderedElements.containsKey(idmap.getName()))
-						fOrderedElements.put(idmap.getName(), idmapAL);
-				}
-			}
-		}
-	}
-	
-	private void editOrdered(Shell shell) {
-		TableItem[] itemsIdMaps = fIdMapsTable.getSelection();		
-		TableItem[] itemsOrdered = fOrderedTable.getSelection();
-		if (itemsOrdered.length > 0) {
-			IdMap idmap = (IdMap) itemsIdMaps[0].getData();
-			ArrayList idmapAL = (ArrayList) fOrderedElements.get(idmap.getName());
-			Mapping mapping = (Mapping)itemsOrdered[0].getData();
-			String idmapALKey = mapping.getKey();
-			idmapAL.remove(idmapALKey);
-			XMLCompareEditOrderedDialog dialog= new XMLCompareEditOrderedDialog(shell,mapping,null,true);
-			if (dialog.open() == Window.OK) {
-				idmapALKey = mapping.getKey();
-				idmapAL.add(idmapALKey);
-				fOrderedTable.remove(fOrderedTable.indexOf(itemsOrdered[0]));
-				newOrderedTableItem(mapping, true);
-			}
-		}
-		
-	}
-	
-	private void removeOrdered(Shell shell) {
-		TableItem[] itemsIdMaps = fIdMapsTable.getSelection();
-		TableItem[] itemsOrdered = fOrderedTable.getSelection();
-		if (itemsOrdered.length > 0 && itemsIdMaps.length > 0) {
-			Mapping mapping = (Mapping)itemsOrdered[0].getData();
-			IdMap idmap = (IdMap) itemsIdMaps[0].getData();
-			ArrayList idmapAL = (ArrayList) fOrderedElements.get( idmap.getName() );
-			idmapAL.remove(mapping.getKey());
-			if (idmapAL.size() <= 0)
-				fOrderedElements.remove(idmap.getName());
-			ArrayList ordered= idmap.getOrdered();
-			ordered.remove(mapping);
-			if (ordered.size() <= 0)
-				idmap.setOrdered(null);
-			itemsOrdered[0].dispose();  //Table is single selection
-		}		
-	}
-
-	protected TableItem newIdMapsTableItem(IdMap idmap, boolean selected) {
-		//find index where to insert table entry
-		TableItem[] items = fIdMapsTable.getItems();
-		int i= 0;
-		while (i<items.length && idmap.getName().compareToIgnoreCase(items[i].getText(0)) > 0)
-			i++;
-		TableItem item = new TableItem(fIdMapsTable, SWT.NULL, i);
-		String[] values = new String[] {idmap.getName(), (idmap.isInternal())?XMLCompareMessages.XMLComparePreference_topTableColumn2internal:XMLCompareMessages.XMLComparePreference_topTableColumn2user,idmap.getExtension()}; 
-		item.setText(values);
-		item.setData(idmap);
-		if (selected) {
-			fIdMapsTable.setSelection(i);
-			fIdMapsTable.setFocus();
-			selectionChanged();
-		}
-		return item;
-	}
-	
-	protected TableItem newMappingsTableItem(Mapping mapping, boolean selected) {
-		TableItem[] items = fMappingsTable.getItems();
-		int i= 0;
-		while (i<items.length && mapping.getElement().compareToIgnoreCase(items[i].getText(0)) > 0)
-			i++;
-		TableItem item = new TableItem(fMappingsTable, SWT.NULL, i);
-		String idtext = mapping.getIdAttribute();
-		String idtype;
-		if (idtext.charAt(0)==XMLStructureCreator.ID_TYPE_BODY) {
-			idtext = idtext.substring(1,idtext.length());
-			idtype = IDTYPE_CHILDBODY;
-		} else
-			idtype = IDTYPE_ATTRIBUTE;
-		
-		String[] values = new String[] {mapping.getElement(), mapping.getSignature(), idtext, idtype};
-		item.setText(values);
-		item.setData(mapping);
-		if (selected)
-			fMappingsTable.setSelection(i);
-	
-		return item;
-	}
-
-	protected TableItem newOrderedTableItem(Mapping mapping, boolean selected) {
-		TableItem[] items = fOrderedTable.getItems();
-		int i= 0;
-		while (i<items.length && mapping.getElement().compareToIgnoreCase(items[i].getText(0)) > 0)
-			i++;
-
-		TableItem item = new TableItem(fOrderedTable, SWT.NULL, i);
-		
-		String[] values = new String[] {mapping.getElement(), mapping.getSignature()};
-		item.setText(values);
-		item.setData(mapping);
-		if (selected)
-			fOrderedTable.setSelection(i);
-	
-		return item;
-	}
-
-	
-	protected void fillIdMapsTable() {
-		//fill user idmaps from plugin.xml
-		fillIdMaps(true);
-		
-		//fill user idmaps from Preference Store
-		fillIdMaps(false);
-				
-		//add user idmaps that have ordered entries but no id mappings
-		//they do not appear in the preference store with name IDMAP_PREFERENCE_NAME
-		Set OrderedKeys= fOrderedElements.keySet();
-		Set IdMapKeys= fIdMaps.keySet();
-		for (Iterator iter_orderedElements= OrderedKeys.iterator(); iter_orderedElements.hasNext();) {
-			String IdMapName= (String) iter_orderedElements.next();
-			if (!IdMapKeys.contains(IdMapName)) {
-				IdMap idmap= new IdMap(IdMapName, false);
-				ArrayList idmapOrdered= (ArrayList) fOrderedElements.get(IdMapName);
-				setOrdered(idmap, idmapOrdered);
-				newIdMapsTableItem(idmap, false);
-			}
-		}
-	}
-
-	private void fillIdMaps(boolean internal) {
-		HashMap IdMaps= (internal)?fIdMapsInternal:fIdMaps;
-		HashMap OrderedElements= (internal)?fOrderedElementsInternal:fOrderedElements;
-		Set IdMapKeys = IdMaps.keySet();
-		for (Iterator iter_internal = IdMapKeys.iterator(); iter_internal.hasNext(); ) {
-			String IdMapName = (String) iter_internal.next();
-			Vector Mappings = new Vector();
-			IdMap idmap = new IdMap(IdMapName, internal, Mappings);
-			//create mappings of internal idmaps
-			HashMap idmapHM = (HashMap) IdMaps.get(IdMapName);
-			Set idmapKeys = idmapHM.keySet();
-			for (Iterator iter_idmap = idmapKeys.iterator(); iter_idmap.hasNext(); ) {
-				Mapping mapping = new Mapping();
-				String signature = (String) iter_idmap.next();
-				int end_of_signature = signature.lastIndexOf(SIGN_SEPARATOR,signature.length()-2);
-				if (end_of_signature < XMLStructureCreator.ROOT_ID.length() + 1)
-					mapping.setSignature(""); //$NON-NLS-1$
-				else
-					mapping.setSignature(signature.substring(XMLStructureCreator.ROOT_ID.length() + 1,end_of_signature));
-				mapping.setElement(signature.substring(end_of_signature+1,signature.length()-1));
-				mapping.setIdAttribute((String)idmapHM.get(signature));
-				Mappings.add(mapping);
-			}
-			//create ordered mappings
-			ArrayList idmapOrdered= (ArrayList) OrderedElements.get(IdMapName);
-			if (idmapOrdered != null) {
-				setOrdered(idmap, idmapOrdered);
-			}
-			//set extension
-			if (fIdExtensionToName.containsValue(IdMapName)) {
-				Set keySet= fIdExtensionToName.keySet();
-				String extension= new String();
-				for (Iterator iter= keySet.iterator(); iter.hasNext(); ) {
-					extension= (String)iter.next();
-					if ( ((String)fIdExtensionToName.get(extension)).equals(IdMapName) )
-						break;
-				}
-				idmap.setExtension(extension);
-			}
-			newIdMapsTableItem(idmap, false);
-		}
-	}
-
-	protected static void setOrdered(IdMap idmap, ArrayList idmapOrdered) {
-		ArrayList Ordered= new ArrayList();
-		for (Iterator iter_ordered= idmapOrdered.iterator(); iter_ordered.hasNext();) {
-			Mapping mapping= new Mapping();
-			String signature= (String) iter_ordered.next();
-			int end_of_signature = signature.lastIndexOf(SIGN_SEPARATOR,signature.length()-2);
-			if (end_of_signature < XMLStructureCreator.ROOT_ID.length() + 1)
-				mapping.setSignature(""); //$NON-NLS-1$
-			else
-				mapping.setSignature(signature.substring(XMLStructureCreator.ROOT_ID.length() + 1,end_of_signature));
-			mapping.setElement(signature.substring(end_of_signature+1,signature.length()-1));
-			Ordered.add(mapping);
-		}				
-		idmap.setOrdered(Ordered);
-	}
-
-	/*
-	 * @see IWorkbenchPreferencePage#performDefaults
-	 */	
-	public boolean performOk() {
-		XMLPlugin plugin= XMLPlugin.getDefault();
-		if (!plugin.getIdMaps().equals(fIdMaps)
-			|| !plugin.getIdExtensionToName().equals(fIdExtensionToName)
-			|| !plugin.getOrderedElements().equals(fOrderedElements) )
-			plugin.setIdMaps(fIdMaps,fIdExtensionToName,fOrderedElements,true);
-			//XMLPlugin.getDefault().setIdMaps(fIdMaps,fIdExtensionToName,null);
-		return super.performOk();
-	}	
-	
-	public boolean performCancel() {
-		fIdMaps = (HashMap) XMLPlugin.getDefault().getIdMaps().clone();
-		return super.performCancel();
-	}
-	
-	protected void selectionChanged() {
-		TableItem[] items = fIdMapsTable.getSelection();
-		if (items.length > 0) {
-			//Refresh Mappings Table
-			fMappingsTable.removeAll();
-			Vector Mappings = ((IdMap)items[0].getData()).getMappings();
-			for (Enumeration enumeration = Mappings.elements(); enumeration.hasMoreElements(); ) {
-				newMappingsTableItem((Mapping)enumeration.nextElement(), false);
-			}
-			//Refresh Ordered Table
-			fOrderedTable.removeAll();
-			ArrayList Ordered= ((IdMap)items[0].getData()).getOrdered();
-			if (Ordered != null) {
-				for (Iterator iter_ordered= Ordered.iterator(); iter_ordered.hasNext();) {
-					newOrderedTableItem((Mapping)iter_ordered.next(), false);
-				}
-			}
-		}
-		updateEnabledState();
-	}
-
-	/**
-	 * Updates the state (enabled, not enabled) of the buttons
-	 */
-	private void updateEnabledState() {
-		TableItem[] itemsIdMaps = fIdMapsTable.getSelection();
-		if (itemsIdMaps.length > 0) {
-			IdMap idmap = (IdMap) itemsIdMaps[0].getData();
-			if (idmap.isInternal()) {
-				fRenameIdMapButton.setEnabled(false);
-				fRemoveIdMapButton.setEnabled(false);
-				fEditIdMapButton.setEnabled(true);
-				
-				fNewMappingsButton.setEnabled(false);
-				fEditMappingsButton.setEnabled(false);
-				fRemoveMappingsButton.setEnabled(false);
-				
-				fNewOrderedButton.setEnabled(false);
-				fEditOrderedButton.setEnabled(false);
-				fRemoveOrderedButton.setEnabled(false);
-			} else {
-				fRenameIdMapButton.setEnabled(true);
-				fRemoveIdMapButton.setEnabled(true);
-				fEditIdMapButton.setEnabled(false);
-				
-				fNewMappingsButton.setEnabled(true);
-				fEditMappingsButton.setEnabled(true);
-				fRemoveMappingsButton.setEnabled(true);
-				
-				fNewOrderedButton.setEnabled(true);
-				fEditOrderedButton.setEnabled(true);
-				fRemoveOrderedButton.setEnabled(true);
-			}
-		}
-	}
-
-	static protected boolean containsInvalidCharacters(String text) {
-		for (int i=0; i<invalidCharacters.length; i++) {
-			if (text.indexOf(invalidCharacters[i]) > -1)
-				return true;
-		}
-		return false;
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLNode.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLNode.java
deleted file mode 100644
index 8adba4b..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLNode.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import org.eclipse.compare.CompareUI;
-import org.eclipse.compare.ITypedElement;
-import org.eclipse.compare.structuremergeviewer.DocumentRangeNode;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Objects that make up the parse tree.
- */
-public class XMLNode extends DocumentRangeNode implements ITypedElement {
-
-	private String fValue;
-	private String fName;
-	private String fSignature;
-	private String fOrigId;
-	private XMLNode parent;
-	private String fXMLType;
-	private boolean fUsesIDMAP;
-	private boolean fOrderedChild;
-
-	public int bodies; // counts the number of bodies
-
-	public XMLNode(String XMLType, String id, String value, String signature, IDocument doc, int start, int length) {
-		super(0, id, doc, start, length);
-		fXMLType= XMLType;
-		fValue= value;
-		fSignature= signature;
-		fOrigId= id;
-		if (XMLStructureCreator.DEBUG_MODE)
-			System.out.println("Created XMLNode with XMLType: " + XMLType + ", id: " + id + ", value: " + value + ", signature: " + fSignature); //$NON-NLS-1$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$
-		bodies= 0;
-		fUsesIDMAP= false;
-		fOrderedChild= false;
-	}
-
-	void setValue(String value) {
-		fValue= value;
-	}
-
-	String getValue() {
-		return fValue;
-	}
-
-	/*
-	 * @see ITypedElement#getName
-	 */
-	public String getName() {
-		if (fName != null)
-			return fName;
-		return this.getId();
-	}
-
-	public void setName(String name) {
-		fName= name;
-	}
-
-	/*
-	 * Every xml node is of type "txt" so that the builtin TextMergeViewer is used automatically.
-	 * @see ITypedElement#getType
-	 */
-	public String getType() {
-		return "txt"; //$NON-NLS-1$
-	}
-
-	public void setIsOrderedChild(boolean isOrderedChild) {
-		fOrderedChild= isOrderedChild;
-	}
-	
-	/*
-	 * @see ITypedElement#getImage
-	 */
-	public Image getImage() {
-		if (fOrderedChild)
-			return CompareUI.getImage(XMLPlugin.IMAGE_TYPE_PREFIX + XMLStructureCreator.TYPE_ELEMENT + XMLPlugin.IMAGE_TYPE_ORDERED_SUFFIX);
-		return CompareUI.getImage(XMLPlugin.IMAGE_TYPE_PREFIX + getXMLType());
-	}
-
-	public void setParent(XMLNode parent0) {
-		this.parent= parent0;
-	}
-
-	public XMLNode getParent() {
-		return this.parent;
-	}
-
-	String getXMLType() {
-		return fXMLType;
-	}
-
-	String getSignature() {
-		return fSignature;
-	}
-
-	void setOrigId(String id) {
-		fOrigId= id;
-	}
-
-	public String getOrigId() {
-		return fOrigId;
-	}
-
-	public void setUsesIDMAP(boolean b) {
-		fUsesIDMAP= b;
-	}
-
-	public boolean usesIDMAP() {
-		return fUsesIDMAP;
-	}
-
-	//for tests
-	public boolean testEquals(Object obj) {
-		if (obj instanceof XMLNode) {
-			XMLNode n= (XMLNode) obj;
-			return fValue.equals(n.getValue())
-				&& fSignature.equals(n.getSignature())
-				&& fXMLType.equals(n.getXMLType())
-				&& fUsesIDMAP == n.usesIDMAP();
-		}
-		return false;
-	}
-
-	/*
-	 * Returns true if the subtree rooted at this node is equals to the subtree rooted at <code>obj</code>
-	 */
-	public boolean subtreeEquals(Object obj) {
-		if (!testEquals(obj))
-			return false;
-		if (obj instanceof XMLNode) {
-			XMLNode n= (XMLNode) obj;
-			if (getXMLType().equals(XMLStructureCreator.TYPE_ATTRIBUTE)
-				&& n.getXMLType().equals(XMLStructureCreator.TYPE_ATTRIBUTE))
-				return true;
-			Object[] children= getChildren();
-			Object[] n_children= n.getChildren();
-			//if both nodes have no children, return true;
-			if ((children == null || children.length <= 0)
-				&& (n_children == null || n_children.length <= 0))
-				return true;
-			//now at least one of the two nodes has children;
-			/* so if one of the two nodes has no children, or they don't have the same number of children,
-			 * return false;
-			 */
-			if ((children == null || children.length <= 0)
-				|| (n_children == null || n_children.length <= 0)
-				|| (children.length != n_children.length))
-				return false;
-			//now both have children and the same number of children
-			for (int i= 0; i < children.length; i++) {
-				/* if the subtree rooted at children[i] is not equal to the subtree rooted at n_children[i],
-				 * return false
-				 */
-				if (!((XMLNode) children[i]).subtreeEquals(n_children[i]))
-					return false;
-			}
-		}
-		return true;
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLPlugin.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLPlugin.java
deleted file mode 100644
index f03c529..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLPlugin.java
+++ /dev/null
@@ -1,406 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.StringTokenizer;
-
-import org.eclipse.compare.CompareUI;
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * This class is the plug-in runtime class for the 
- * <code>"org.eclipse.compare.xml"</code> plug-in.
- * </p>
- */
-public final class XMLPlugin extends AbstractUIPlugin {
-	
-	public static final String PLUGIN_ID= "org.eclipse.compare.examples.xml"; //$NON-NLS-1$
-
-	private static final String ID_MAPPING_EXTENSION_POINT= "idMapping"; //$NON-NLS-1$
-	private static final String MAPPING_ELEMENT_NAME= "mapping"; //$NON-NLS-1$
-	private static final String IDMAP_NAME_ATTRIBUTE= "name"; //$NON-NLS-1$
-	private static final String EXTENSION_NAME_ATTRIBUTE= "extension"; //$NON-NLS-1$
-	private static final String MAPPING_SIGNATURE_ATTRIBUTE= "signature"; //$NON-NLS-1$
-	private static final String MAPPING_ID_ATTRIBUTE= "id"; //$NON-NLS-1$
-	private static final String MAPPING_ID_SOURCE= "id-source"; //$NON-NLS-1$
-	private static final String MAPPING_ID_SOURCE_BODY= "body"; //$NON-NLS-1$
-	private static final String ORDERED_ELEMENT_NAME= "ordered"; //$NON-NLS-1$
-	private static final String ORDERED_SIGNATURE_ATTRIBUTE= "signature"; //$NON-NLS-1$
-	
-	public static final String DEFAULT_PREFIX = "XML"; //$NON-NLS-1$
-	public static final String IMAGE_TYPE_PREFIX = "xml_"; //$NON-NLS-1$
-	public static final String IMAGE_TYPE_ORDERED_SUFFIX = "_ordered"; //$NON-NLS-1$
-	public static final String IDMAP_PREFERENCE_NAME = "idmap"; //$NON-NLS-1$
-	public static final String IDMAP_PREFIX = "idmap"; //$NON-NLS-1$
-	public static final char IDMAP_SEPARATOR = '*';
-	public static final char IDMAP_FIELDS_SEPARATOR = '!';
-	
-	public static final String ORDERED_PREFERENCE_NAME = "ordered"; //$NON-NLS-1$
-	public static final char ORDERED_FIELDS_SEPARATOR = IDMAP_FIELDS_SEPARATOR;
-	
-	private static XMLPlugin fgXMLPlugin;
-	private IPreferenceStore fPrefStore;
-	
-	private HashMap fIdMapsInternal;
-	private HashMap fIdMaps;
-	private HashMap fIdExtensionToName;
-	private HashMap fOrderedElementsInternal;
-	private HashMap fOrderedElements;
-	
-	private ListenerList fViewers= new ListenerList();
-
-
-	/**
-	 * Creates the <code>XMLPlugin</code> object and registers all
-	 * structure creators, content merge viewers, and structure merge viewers
-	 * contributed to this plug-in's extension points.
-	 * <p>
-	 * Note that instances of plug-in runtime classes are automatically created 
-	 * by the platform in the course of plug-in activation.
-	 */
-	public XMLPlugin() {
-		super();
-		Assert.isTrue(fgXMLPlugin == null);
-		fgXMLPlugin= this;
-	}
-	
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		
-		CompareUI.removeAllStructureViewerAliases(DEFAULT_PREFIX);
-		initPrefStore();
-		CompareUI.registerImageDescriptor(IMAGE_TYPE_PREFIX + XMLStructureCreator.TYPE_ELEMENT, getImageDescriptor("obj16/element_obj.gif")); //$NON-NLS-1$
-		CompareUI.registerImageDescriptor(IMAGE_TYPE_PREFIX + XMLStructureCreator.TYPE_ATTRIBUTE, getImageDescriptor("obj16/attribute_obj.gif")); //$NON-NLS-1$
-		CompareUI.registerImageDescriptor(IMAGE_TYPE_PREFIX + XMLStructureCreator.TYPE_TEXT, getImageDescriptor("obj16/text_obj.gif")); //$NON-NLS-1$
-		CompareUI.registerImageDescriptor(IMAGE_TYPE_PREFIX + XMLStructureCreator.TYPE_ELEMENT + IMAGE_TYPE_ORDERED_SUFFIX, getImageDescriptor("obj16/element_ordered_obj.gif")); //$NON-NLS-1$
-		registerExtensions();
-	}
-		
-	protected ImageDescriptor getImageDescriptor(String relativePath) {
-		
-		//URL installURL= getDescriptor().getInstallURL();
-		
-		URL installURL= fgXMLPlugin.getBundle().getEntry("/"); //$NON-NLS-1$
-		if (installURL != null) {
-			try {
-				URL url= new URL(installURL, "icons/full/" + relativePath); //$NON-NLS-1$
-				return ImageDescriptor.createFromURL(url);
-			} catch (MalformedURLException e) {
-				Assert.isTrue(false);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the singleton instance of this plug-in runtime class.
-	 *
-	 * @return the XMLPlugin instance
-	 */
-	public static XMLPlugin getDefault() {
-		return fgXMLPlugin;
-	}
-
-	/**
-	 * Reads the Preference Store associated with XMLPlugin and initializes ID Mappings.
-	 */	
-	public void initPrefStore() {
-		fIdMaps = new HashMap();
-		fIdExtensionToName= new HashMap();
-		fPrefStore = getPreferenceStore();
-		String IdMapPrefValue = fPrefStore.getString(IDMAP_PREFERENCE_NAME);
-		int start = 0;
-		int end = IdMapPrefValue.indexOf(IDMAP_SEPARATOR);
-		while (end >= 0) {
-			String CurrentIdMap = IdMapPrefValue.substring(start,end);
-			int end_of_IdMapName = CurrentIdMap.indexOf(IDMAP_FIELDS_SEPARATOR);
-			String IdMapName = CurrentIdMap.substring(0,end_of_IdMapName);
-			int end_of_signature = CurrentIdMap.indexOf(IDMAP_FIELDS_SEPARATOR,end_of_IdMapName+1);
-			String IdMapSignature = CurrentIdMap.substring(end_of_IdMapName+1,end_of_signature);
-			int end_of_attribute= CurrentIdMap.indexOf(IDMAP_FIELDS_SEPARATOR,end_of_signature+1);
-			String IdMapAttribute;
-			if (end_of_attribute < 0) {//for backward compatibility
-				IdMapAttribute = CurrentIdMap.substring(end_of_signature+1,CurrentIdMap.length());
-			} else {//normal case
-				IdMapAttribute = CurrentIdMap.substring(end_of_signature+1,end_of_attribute);
-				String IdMapExtension= CurrentIdMap.substring(end_of_attribute+1,CurrentIdMap.length());
-				//if extension already associated, do not associate with this idmap
-				if (!IdMapExtension.equals("") && !fIdExtensionToName.containsKey(IdMapExtension)) { //$NON-NLS-1$
-					fIdExtensionToName.put(IdMapExtension,IdMapName);
-					CompareUI.addStructureViewerAlias(DEFAULT_PREFIX, IdMapExtension);
-				}
-			}
-			
-			if (fIdMaps.containsKey(IdMapName)) {
-				HashMap Mappings = (HashMap) fIdMaps.get(IdMapName);
-				Mappings.put(IdMapSignature,IdMapAttribute);
-			} else {
-				HashMap Mappings = new HashMap();
-				Mappings.put(IdMapSignature,IdMapAttribute);
-				fIdMaps.put(IdMapName,Mappings);
-			}
-			start = end+1;
-			end = IdMapPrefValue.indexOf(IDMAP_SEPARATOR,end+1);
-		}
-		
-		fOrderedElements= new HashMap();
-		String OrderedPrefValue= fPrefStore.getString(ORDERED_PREFERENCE_NAME);
-		StringTokenizer orderedTokens= new StringTokenizer(OrderedPrefValue, (new Character(ORDERED_FIELDS_SEPARATOR)).toString());
-		while (orderedTokens.hasMoreTokens()) {
-			String IdMapName= orderedTokens.nextToken();
-			String signature= orderedTokens.nextToken();
-			if (fOrderedElements.containsKey(IdMapName)) {
-				ArrayList idmapAL= (ArrayList) fOrderedElements.get(IdMapName);
-				idmapAL.add(signature);
-			} else {
-				ArrayList idmapAL= new ArrayList();
-				idmapAL.add(signature);
-				fOrderedElements.put(IdMapName, idmapAL);
-			}
-		}
-
-	}
-	
-	/*
-	 * Updates the user Id Mappings, the IdExtensionToName mappings and refreshes the preference store.
-	 * @param IdMap the new Id Mappings
-	 * @param IdExtensionToName the new IdExtensionToName mappings
-	 * @param refresh whether all the open StructureViewers should be refreshed with the new IdMapping settings
-	 */
-	public void setIdMaps(HashMap IdMap, HashMap IdExtensionToName, HashMap OrderedElements, boolean refresh) {
-		fIdMaps = IdMap;
-		if (IdExtensionToName != null && !IdExtensionToName.equals(fIdExtensionToName)) {
-			CompareUI.removeAllStructureViewerAliases(DEFAULT_PREFIX);
-			fIdExtensionToName= IdExtensionToName;
-			Set newkeySet= fIdExtensionToName.keySet();
-			for (Iterator iter= newkeySet.iterator(); iter.hasNext(); ) {
-				String extension= (String)iter.next();
-				CompareUI.addStructureViewerAlias(DEFAULT_PREFIX, extension);
-			}
-		}
-		StringBuffer IdMapPrefValue = new StringBuffer();
-		Set idmapKeys = fIdMaps.keySet();
-		for (Iterator iter_idmap = idmapKeys.iterator(); iter_idmap.hasNext(); ) {
-			String IdMapName = (String) iter_idmap.next();
-			HashMap idmapHM = (HashMap) fIdMaps.get(IdMapName);
-			Set mappingKeys = idmapHM.keySet();
-			String extension= ""; //$NON-NLS-1$
-			if (fIdExtensionToName.containsValue(IdMapName)) {
-				Set keySet= fIdExtensionToName.keySet();
-				for (Iterator iter= keySet.iterator(); iter.hasNext(); ) {
-					extension= (String)iter.next();
-					if ( ((String)fIdExtensionToName.get(extension)).equals(IdMapName) )
-						break;
-				}
-			}
-			for (Iterator iter_mapping = mappingKeys.iterator(); iter_mapping.hasNext(); ) {
-				String signature = (String) iter_mapping.next();
-				IdMapPrefValue.append(IdMapName+IDMAP_FIELDS_SEPARATOR+signature+IDMAP_FIELDS_SEPARATOR+idmapHM.get(signature)+IDMAP_FIELDS_SEPARATOR+extension+IDMAP_SEPARATOR);
-			}
-		}
-		fPrefStore.setValue(IDMAP_PREFERENCE_NAME,IdMapPrefValue.toString());
-		//fPrefStore.setValue(IDMAP_PREFERENCE_NAME,"");
-		
-		//stores OrderedElements
-		if (OrderedElements != null) {
-			fOrderedElements= OrderedElements;
-			StringBuffer OrderedPrefValue= new StringBuffer();
-			Set orderedKeys= fOrderedElements.keySet();
-			for (Iterator iter_ordered= orderedKeys.iterator(); iter_ordered.hasNext();) {
-				String IdMapName= (String) iter_ordered.next();
-				ArrayList idmapAL= (ArrayList) fOrderedElements.get(IdMapName);
-				for (Iterator iter_idmapAL= idmapAL.iterator(); iter_idmapAL.hasNext();) {
-					String signature= (String) iter_idmapAL.next();
-					OrderedPrefValue.append(IdMapName+ORDERED_FIELDS_SEPARATOR+signature+ORDERED_FIELDS_SEPARATOR);
-				}
-			}
-			fPrefStore.setValue(ORDERED_PREFERENCE_NAME,OrderedPrefValue.toString());
-			//fPrefStore.setValue(ORDERED_PREFERENCE_NAME,"");
-		}
-
-		if (refresh) {
-			Object[] viewers = fViewers.getListeners();
-			for (int i = 0; i < viewers.length; ++i) {
-				XMLStructureViewer viewer = (XMLStructureViewer) viewers[i];
-				viewer.updateIdMaps();
-				viewer.contentChanged();
-			}
-		}
-	}
-	
-	public HashMap getIdMaps() {
-		return fIdMaps;
-	}
-	
-	public HashMap getIdMapsInternal() {
-		return fIdMapsInternal;
-	}
-	
-	public HashMap getIdExtensionToName() {
-		return fIdExtensionToName;
-	}
-
-	public HashMap getOrderedElements() {
-		return fOrderedElements;
-	}
-
-	public HashMap getOrderedElementsInternal() {
-		return fOrderedElementsInternal;
-	}
-
-	/**
-	 * Registers all internal Id Mapping schemes
-	 * that are found in plugin.xml files.
-	 */
-	private void registerExtensions() {
-		IExtensionRegistry registry= Platform.getExtensionRegistry();
-		
-		// collect all Id Mappings
-		IConfigurationElement[] idmaps= registry.getConfigurationElementsFor(PLUGIN_ID, ID_MAPPING_EXTENSION_POINT);
-		fIdMapsInternal = new HashMap();
-		fOrderedElementsInternal= new HashMap();
-		for (int i_idmap= 0; i_idmap < idmaps.length; i_idmap++) {
-			final IConfigurationElement idmap= idmaps[i_idmap];
-			//handle IDMAP_NAME_ATTRIBUTE
-			String idmap_name= idmap.getAttribute(IDMAP_NAME_ATTRIBUTE);
-			//ignores idmap if its name equals the reserved name for unordered matching or the the name for ordered matching
-			if ( !idmap_name.equals(XMLStructureCreator.USE_UNORDERED) && !idmap_name.equals(XMLStructureCreator.USE_ORDERED) ) {
-				//handle mappings
-				HashMap idmapHM = new HashMap();
-				fIdMapsInternal.put(idmap_name, idmapHM);
-				IConfigurationElement[] mappings = idmap.getChildren(MAPPING_ELEMENT_NAME);
-				for (int i_mapping= 0; i_mapping < mappings.length; i_mapping++) {
-					IConfigurationElement mapping = mappings[i_mapping];
-					//add SIGN_SEPARATOR at the end because not contained in signatures of plugin.xml
-					//also add prefix at beginning
-					String signature= mapping.getAttribute(MAPPING_SIGNATURE_ATTRIBUTE);
-					String attribute= mapping.getAttribute(MAPPING_ID_ATTRIBUTE);
-					String idsource= mapping.getAttribute(MAPPING_ID_SOURCE);
-					String bodyid= ""; //$NON-NLS-1$
-					if (signature != null && !signature.equals("") //$NON-NLS-1$
-						&& attribute != null && !attribute.equals("")) { //$NON-NLS-1$
-						if (idsource != null && idsource.equals(MAPPING_ID_SOURCE_BODY))
-							bodyid= (new Character(XMLStructureCreator.ID_TYPE_BODY)).toString();
-						idmapHM.put(XMLStructureCreator.ROOT_ID	+ XMLStructureCreator.SIGN_SEPARATOR
-								+ signature	+ XMLStructureCreator.SIGN_SEPARATOR, bodyid + attribute);
-					}
-				}
-				//handles ordered entries
-				IConfigurationElement[] orderedEntries= idmap.getChildren(ORDERED_ELEMENT_NAME);
-				if (orderedEntries.length > 0) {
-					ArrayList orderedAL= new ArrayList();
-					for (int i_ordered= 0; i_ordered < orderedEntries.length; i_ordered++) {
-						IConfigurationElement ordered= orderedEntries[i_ordered];
-						//add SIGN_SEPARATOR at the end because not contained in signatures of plugin.xml
-						//also add prefix at beginning
-						String signature= ordered.getAttribute(ORDERED_SIGNATURE_ATTRIBUTE);
-						if (signature != null && !signature.equals("")) //$NON-NLS-1$
-							orderedAL.add(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + signature + XMLStructureCreator.SIGN_SEPARATOR);
-					}
-					if (orderedAL.size() > 0)
-						fOrderedElementsInternal.put(idmap_name, orderedAL);
-				}
-				//handle EXTENSION_NAME_ATTRIBUTE
-				String ext_name= idmap.getAttribute(EXTENSION_NAME_ATTRIBUTE);
-				if (ext_name != null && !fIdExtensionToName.containsKey(ext_name)) {
-					ext_name= ext_name.toLowerCase();
-					fIdExtensionToName.put(ext_name,idmap_name);
-					CompareUI.addStructureViewerAlias(DEFAULT_PREFIX, ext_name);
-				}				
-			}
-		}
-	}
-
-	public ListenerList getViewers() {
-		return fViewers;
-	}
-
-	public static Shell getActiveWorkbenchShell() {
-		IWorkbenchWindow window= getActiveWorkbenchWindow();
-		if (window != null)
-			return window.getShell();
-		return null;
-	}
-	
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		IWorkbenchWindow window= fgXMLPlugin.getWorkbench().getActiveWorkbenchWindow();
-		if (window == null) {
-			final WindowRef windowRef= new WindowRef();
-			Display.getDefault().syncExec(new Runnable() {
-				public void run() {
-					setActiveWorkbenchWindow(windowRef);
-				}
-			});
-			return windowRef.window;
-		}
-		return window;
-	}
-
-	private static class WindowRef {
-		public IWorkbenchWindow window;
-	}
-
-	private static void setActiveWorkbenchWindow(WindowRef windowRef) {
-		windowRef.window= null;
-		Display display= Display.getCurrent();
-		if (display == null)
-			return;
-		Control shell= display.getActiveShell();
-		while (shell != null) {
-			Object data= shell.getData();
-			if (data instanceof IWorkbenchWindow) {
-				windowRef.window= (IWorkbenchWindow)data;
-				return;
-			}
-			shell= shell.getParent();
-		}
-		Shell shells[]= display.getShells();
-		for (int i= 0; i < shells.length; i++) {
-			Object data= shells[i].getData();
-			if (data instanceof IWorkbenchWindow) {
-				windowRef.window= (IWorkbenchWindow)data;
-				return;
-			}
-		}
-	}	
-	
-	public static void log(Throwable e) {
-		log(new Status(IStatus.ERROR, getPluginId(), IStatus.ERROR, "Internal Error", e)); //$NON-NLS-1$
-	}
-	
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-	
-	public static String getPluginId() {
-		return getDefault().getBundle().getSymbolicName();
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureCreator.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureCreator.java
deleted file mode 100644
index eda121f..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureCreator.java
+++ /dev/null
@@ -1,807 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.StringReader;
-import java.io.UnsupportedEncodingException;
-
-import java.text.MessageFormat;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.helpers.DefaultHandler;
-import org.xml.sax.helpers.LocatorImpl;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-
-import org.eclipse.compare.IEditableContent;
-import org.eclipse.compare.IEncodedStreamContentAccessor;
-import org.eclipse.compare.IStreamContentAccessor;
-import org.eclipse.compare.structuremergeviewer.Differencer;
-import org.eclipse.compare.structuremergeviewer.IDiffContainer;
-import org.eclipse.compare.structuremergeviewer.IStructureComparator;
-import org.eclipse.compare.structuremergeviewer.IStructureCreator;
-
-/**
- * This structure analyzer builds a parse tree of an XML document found in a
- * <code>IByteContentAccessor</code> input by calling getStructure(Object)
- */
-public class XMLStructureCreator implements IStructureCreator {
-
-    protected static final boolean DEBUG_MODE= false;
-    
-    public static final String DEFAULT_NAME= XMLCompareMessages.XMLStructureCreator_pluginname; 
-
-    public static final String USE_UNORDERED= XMLCompareMessages.XMLStructureCreator_unordered; 
-    public static final String USE_ORDERED= XMLCompareMessages.XMLStructureCreator_ordered; 
-    public static final String DEFAULT_IDMAP= USE_ORDERED;
-
-    public static final String TYPE_ELEMENT= "element"; //$NON-NLS-1$
-    public static final String TYPE_TEXT= "text"; //$NON-NLS-1$
-    public static final String TYPE_ATTRIBUTE= "attribute"; //$NON-NLS-1$
-
-    // for signatures
-    public static final String ROOT_ID= "root"; //$NON-NLS-1$
-    public static final char SIGN_SEPARATOR= '>';//'.'
-    public static final char SIGN_ENCLOSING= '$';
-    public static final String SIGN_ELEMENT= SIGN_ENCLOSING + TYPE_ELEMENT + SIGN_ENCLOSING;
-    public static final String SIGN_TEXT= SIGN_ENCLOSING + TYPE_TEXT + SIGN_ENCLOSING;
-    public static final String SIGN_ATTRIBUTE= SIGN_ENCLOSING + TYPE_ATTRIBUTE + SIGN_ENCLOSING;
-    
-    public static final String IDMAP_UNORDERED= XMLCompareMessages.XMLStructureCreator_idmap_unordered; 
-    public static final char ID_SEPARATOR= '<';
-    public static final char ID_TYPE_BODY= '<';
-
-    private XMLNode fcurrentParent;
-    private String fsignature;
-    private Document fdoc;
-    private boolean ignoreBodies= false;
-    private HashMap fIdMapsInternal;
-    private HashMap fIdMaps;
-    private HashMap fIdExtensionToName;
-    private HashMap fOrderedElementsInternal;
-    private HashMap fOrderedElements;
-    private HashMap idMap;
-    private ArrayList fOrdered;
-    private String fIdMapToUse;
-    private boolean fUseIdMap;
-    private String fFileExt;
-    private boolean fFirstCall= true;
-    private boolean fRemoveWhiteSpace;
-
-    protected class XMLHandler extends DefaultHandler {
-
-        protected Locator prevlocator; //previous locator
-        protected Locator locator; //current locator
-
-        public void setDocumentLocator(Locator locator0) {
-            this.locator= locator0;
-        }
-
-        // DocumentHandler methods
-        
-        /* Processing instruction. */
-        public void processingInstruction(String target, String data) {
-
-            //    	System.out.println("target: " + target);
-            //    	System.out.println("data: " + data);
-            //        System.out.print("<?");
-            //        System.out.print(target);
-            //        if (data != null && data.length() > 0) {
-            //            System.out.print(' ');
-            //            System.out.print(data);
-            //        }
-            //        System.out.print("?>");
-            //        System.out.flush();
-            prevlocator= new LocatorImpl(locator);
-        }
-
-        /** Start document. */
-        public void startDocument() {
-            prevlocator= new LocatorImpl(locator);
-        }
-
-        /* Start element. */
-        public void startElement(String uri, String local, String raw, Attributes attrs) {
-            XMLNode currentElement;
-
-            /* add root node for this element */
-
-            if (XMLStructureCreator.DEBUG_MODE) {
-                if (locator != null && prevlocator != null) {
-                    System.out.println("prevlocator: line " + prevlocator.getLineNumber() + "  column " + prevlocator.getColumnNumber() + "  id " + prevlocator.getPublicId()); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-                    System.out.println("locator: line " + locator.getLineNumber() + "  column " + locator.getColumnNumber() + "  id " + locator.getPublicId()); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-                }
-            }
-
-            try {
-                if (XMLStructureCreator.DEBUG_MODE)
-                    System.out.println("Node where children field accessed: " + fcurrentParent.getId()); //$NON-NLS-1$
-                XMLChildren currentParent= (XMLChildren) fcurrentParent;
-                currentParent.children++;
-                String elementId;
-                String elementName;
-                IRegion r= fdoc.getLineInformation(prevlocator.getLineNumber() - 1);
-
-                String parentSig= fsignature;
-                fsignature= fsignature + raw + SIGN_SEPARATOR;
-
-                if (isUseIdMap() && idMap.containsKey(fsignature)) {
-                    String attrName= (String) idMap.get(fsignature);
-                    elementId= raw + new Character(ID_SEPARATOR) + attrs.getValue(attrName);
-                    elementName= raw + " [" + attrName + "=" + attrs.getValue(attrName) + "]"; //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-                } else {
-                    if (!currentParent.childElements.containsKey(raw)) {
-                        currentParent.childElements.put(raw, new Integer(1));
-                    } else {
-                        currentParent.childElements.put(raw, new Integer(((Integer) currentParent.childElements.get(raw)).intValue() + 1));
-                    }
-                    elementId= raw + new Character(ID_SEPARATOR) + "[" + currentParent.childElements.get(raw) + "]"; //$NON-NLS-2$ //$NON-NLS-1$
-                    elementName= MessageFormat.format("{0} [{1}]", new String[] { raw, currentParent.childElements.get(raw).toString()}); //$NON-NLS-1$
-                }
-                int start= r.getOffset() + prevlocator.getColumnNumber() - 1;
-                if (start < 0)
-                    start= 0;
-                currentElement= new XMLChildren(TYPE_ELEMENT, elementId, elementId, (fsignature + SIGN_ELEMENT), fdoc, start, 0);
-                currentElement.setName(elementName);
-                if (isUseIdMap() && idMap.containsKey(fsignature))
-                    currentElement.setUsesIDMAP(true);
-                if (fOrdered != null && fOrdered.contains(parentSig))
-                    currentElement.setIsOrderedChild(true);
-
-                fcurrentParent.addChild(currentElement);
-                currentElement.setParent(fcurrentParent);
-                fcurrentParent= currentElement;
-                if (XMLStructureCreator.DEBUG_MODE)
-                    System.out.println("\nAdded Element " + raw + "  with offset " + r.getOffset()); //$NON-NLS-2$ //$NON-NLS-1$
-                if (XMLStructureCreator.DEBUG_MODE)
-                    System.out.println("fcurrentParent1: " + fcurrentParent.getId()); //$NON-NLS-1$
-
-                if (attrs != null) {
-                    if (XMLStructureCreator.DEBUG_MODE)
-                        System.out.println("attrs != null, fcurrentParent is " + fcurrentParent.getId()); //$NON-NLS-1$
-                    //attrs = sortAttributes(attrs);
-                    int len= attrs.getLength();
-                    int element_lines_length_size;
-                    int[] element_lines_length;
-                    int column_offset;
-                    String element_string;
-                    if (fcurrentParent.getParent().getId().equals(ROOT_ID)) {
-                        element_lines_length_size= locator.getLineNumber() - prevlocator.getLineNumber();
-                        element_lines_length= new int[element_lines_length_size];
-                        column_offset= 0;
-                        element_string= ""; //$NON-NLS-1$
-                        for (int i_ell= 0; i_ell < element_lines_length.length; i_ell++) {
-                            IRegion attr_r= fdoc.getLineInformation(i_ell + prevlocator.getLineNumber());
-                            element_lines_length[i_ell]= fdoc.get(attr_r.getOffset(), attr_r.getLength()).length() + 1;
-                            element_string= element_string + fdoc.get(attr_r.getOffset(), attr_r.getLength()) + " "; //$NON-NLS-1$
-                        }
-                    } else {
-                        element_lines_length_size= locator.getLineNumber() - prevlocator.getLineNumber() + 1;
-                        //if (element_lines_length_size < 1)
-                        // element_lines_length_size = 1;
-                        element_lines_length= new int[element_lines_length_size];
-                        IRegion first_line= fdoc.getLineInformation(prevlocator.getLineNumber() - 1);
-                        column_offset= prevlocator.getColumnNumber() - 1;
-                        int first_line_relevant_offset= first_line.getOffset() + column_offset;
-                        int first_line_relevant_length= first_line.getLength() - column_offset;
-                        element_string= fdoc.get(first_line_relevant_offset, first_line_relevant_length) + " "; //$NON-NLS-1$
-                        element_lines_length[0]= element_string.length();
-                        for (int i_ell= 1; i_ell < element_lines_length.length; i_ell++) {
-                            IRegion attr_r= fdoc.getLineInformation(i_ell + prevlocator.getLineNumber() - 1);
-                            element_lines_length[i_ell]= fdoc.get(attr_r.getOffset(), attr_r.getLength()).length() + 1;
-                            element_string= element_string + fdoc.get(attr_r.getOffset(), attr_r.getLength()) + " "; //$NON-NLS-1$
-                        }
-                    }
-
-                    for (int i_attr= 0; i_attr < len; i_attr++) {
-                        String attr_name= attrs.getQName(i_attr);
-                        String attr_value= attrs.getValue(i_attr);
-
-                        /*
-                         * find range of attribute in doc; manually parses the
-                         * line
-                         */
-                        boolean found= false;
-                        int first_quotes= -1;
-                        int second_quotes= -1;
-                        int id_index= -1;
-                        while (!found) {
-                            first_quotes= element_string.indexOf("\"", second_quotes + 1); //$NON-NLS-1$
-                            second_quotes= element_string.indexOf("\"", first_quotes + 1); //$NON-NLS-1$
-                            String value;
-                            try {
-                                value= element_string.substring(first_quotes + 1, second_quotes);
-                            } catch (Exception e) {
-                                value= ""; //$NON-NLS-1$
-                            }
-                            if (value.equals("")) //$NON-NLS-1$
-                                found= true;
-                            else if (value.equals(attr_value)) {
-                                id_index= element_string.lastIndexOf(attr_name, first_quotes - 1);
-                                boolean wrong= false;
-                                boolean found_equal= false;
-                                for (int i_char= id_index + attr_name.length(); i_char < first_quotes && !wrong; i_char++) {
-                                    if (element_string.charAt(i_char) == '=')
-                                        if (!found_equal)
-                                            found_equal= true;
-                                        else
-                                            wrong= true;
-                                    else if (!Character.isWhitespace(element_string.charAt(i_char)))
-                                        wrong= true;
-                                }
-                                if (!wrong)
-                                    found= true;
-                            }
-                        }
-                        //id_index has one char missing for every line (the
-                        // final cr)
-                        int line_of_index= 0;
-                        for (line_of_index= 0; id_index > element_lines_length[line_of_index] - 1; line_of_index++)
-                            id_index-= (element_lines_length[line_of_index]);
-                        if (line_of_index == 0)
-                            id_index+= column_offset;
-                        if (fcurrentParent.getParent().getId().equals(ROOT_ID))
-                            line_of_index+= prevlocator.getLineNumber();
-                        else
-                            line_of_index+= prevlocator.getLineNumber() - 1;
-                        //index at line line_of_index, line offset id_index
-                        int line_of_end_of_value= 0;
-                        int end_of_value_index= second_quotes;
-                        for (line_of_end_of_value= 0; end_of_value_index > element_lines_length[line_of_end_of_value] - 1; line_of_end_of_value++)
-                            end_of_value_index-= (element_lines_length[line_of_end_of_value]);
-                        if (line_of_end_of_value == 0)
-                            end_of_value_index+= column_offset;
-                        if (fcurrentParent.getParent().getId().equals(ROOT_ID))
-                            line_of_end_of_value+= prevlocator.getLineNumber();
-                        else
-                            line_of_end_of_value+= prevlocator.getLineNumber() - 1;
-                        //end of value at line line_of_end_of_value, line
-                        // offset end_of_value_index
-
-                        int attr_start_doc_offset= fdoc.getLineInformation(line_of_index).getOffset() + id_index;
-                        //int attr_length_doc_offset =
-                        // fdoc.getLineInformation(line_of_value).getOffset()+value_index+attr_value.length()+1+(line_of_end_of_value-line_of_index)
-                        // - attr_start_doc_offset;
-                        int attr_length_doc_offset= fdoc.getLineInformation(line_of_end_of_value).getOffset() + end_of_value_index + 1 - attr_start_doc_offset;
-                        currentElement= new XMLNode(TYPE_ATTRIBUTE, attr_name, attr_value, (fsignature + attr_name + SIGN_SEPARATOR + SIGN_ATTRIBUTE), fdoc, attr_start_doc_offset, attr_length_doc_offset);
-                        currentElement.setName(attr_name);
-                        fcurrentParent.addChild(currentElement);
-                        currentElement.setParent(fcurrentParent);
-                        if (XMLStructureCreator.DEBUG_MODE)
-                            System.out.println("added attribute " + currentElement.getId() + " with value >" + currentElement.getValue() + "<" + " to element " + fcurrentParent.getId() + " which has parent " + fcurrentParent.getParent().getId()); //$NON-NLS-5$ //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-                    }
-                }
-            } catch (BadLocationException ex) {
-                if (XMLStructureCreator.DEBUG_MODE)
-                    System.out.println("BadLocationException in startElement(...) " + ex); //$NON-NLS-1$
-                currentElement= new XMLChildren(TYPE_ELEMENT, raw + "_(" + ((XMLChildren) fcurrentParent).children + ")", raw + "_(" + ((XMLChildren) fcurrentParent).children + ")", (fsignature + SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-4$ //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-            }
-            if (XMLStructureCreator.DEBUG_MODE)
-                System.out.println("At the end of startElement(...), fcurrentParent is " + fcurrentParent.getId()); //$NON-NLS-1$
-            prevlocator= new LocatorImpl(locator);
-        }
-
-        /* Characters. */
-        public void characters(char ch[], int start, int length) {
-            if (!ignoreBodies) {
-                //			String chars = (new String(ch, start, length)).trim();
-                String chars= new String(ch, start, length);
-                if (XMLStructureCreator.DEBUG_MODE)
-                    System.out.println("characters: >" + chars + "<"); //$NON-NLS-2$ //$NON-NLS-1$
-                if (XMLStructureCreator.DEBUG_MODE)
-                    System.out.println("Body Location: line " + locator.getLineNumber() + "  column " + locator.getColumnNumber()); //$NON-NLS-2$ //$NON-NLS-1$
-
-                //if text contains only white space, it will be ignored.
-                if (!trimWhiteSpace(chars).equals("")) { //$NON-NLS-1$
-                    if (XMLStructureCreator.DEBUG_MODE)
-                        System.out.println("Adding body"); //$NON-NLS-1$
-                    try {
-                        IRegion r= fdoc.getLineInformation(locator.getLineNumber() - 1);
-                        //location returns the END of the characters
-                        //offset of BEGINNING of characters:
-                        int offset= r.getOffset() + locator.getColumnNumber() - 1 - length;
-                        fcurrentParent.bodies++;
-                        String body_value= new String(ch, start, length);
-                        if (fRemoveWhiteSpace) {
-                            body_value= removeWhiteSpace(body_value);
-                        }
-                        XMLNode bodynode= new XMLNode(TYPE_TEXT, "body_(" + fcurrentParent.bodies + ")", body_value, (fsignature + SIGN_TEXT), fdoc, offset, length); //$NON-NLS-2$ //$NON-NLS-1$
-                        bodynode.setName(MessageFormat.format("{0} ({1})", new String[] { XMLCompareMessages.XMLStructureCreator_body, Integer.toString(fcurrentParent.bodies)}));  //$NON-NLS-1$
-                        fcurrentParent.addChild(bodynode);
-                        bodynode.setParent(fcurrentParent);
-                        if (XMLStructureCreator.DEBUG_MODE)
-                            System.out.println("Created body " + fcurrentParent.bodies //$NON-NLS-1$
-                                    + " with offset " + offset + " and length " + length //$NON-NLS-2$ //$NON-NLS-1$
-                                    + " with parent " + bodynode.getParent().getId()); //$NON-NLS-1$
-                        //bodies as id attributes
-                        String popsig= fcurrentParent.getParent().getSignature(); //signature of parent of
-                        // parent
-                        popsig= popsig.substring(0, popsig.lastIndexOf(SIGN_ELEMENT));
-                        if (isUseIdMap() && fcurrentParent.bodies == 1 && idMap.containsKey(popsig)) {
-                            String pid= fcurrentParent.getId();//id of parent
-                            String pelementname= pid.substring(0, pid.indexOf("<")); //name of parent element //$NON-NLS-1$
-                            if (((String) idMap.get(popsig)).equals(ID_TYPE_BODY + pelementname)) {
-                                XMLNode pop= fcurrentParent.getParent();
-                                String popid= pop.getId();
-                                String popelementname= popid.substring(0, popid.indexOf("<")); //$NON-NLS-1$
-                                pop.setId(popelementname + "<" + body_value); //$NON-NLS-1$
-                                pop.setOrigId(popelementname + "<" + body_value); //$NON-NLS-1$
-                                pop.setName(MessageFormat.format("{0} [{1}={2}]", new String[] { popelementname, pelementname, body_value})); //$NON-NLS-1$
-                                pop.setUsesIDMAP(true);
-                            }
-                        }
-                    } catch (BadLocationException ex) {
-                        if (XMLStructureCreator.DEBUG_MODE)
-                            System.out.println("BadLocationException in characters(...) " + ex); //$NON-NLS-1$
-                        fcurrentParent.addChild(new XMLNode(TYPE_TEXT, "body_(" + fcurrentParent.bodies + ")", new String(ch, start, length), (fsignature + SIGN_TEXT), fdoc, 0, 0)); //$NON-NLS-2$ //$NON-NLS-1$
-                    }
-                }
-            }
-            prevlocator= new LocatorImpl(locator);
-        }
-
-        /* Ignorable whitespace. */
-        public void ignorableWhitespace(char ch[], int start, int length) {
-            //
-            //// characters(ch, start, length);
-            //// System.out.flush();
-            //
-            prevlocator= new LocatorImpl(locator);
-        }
-
-        /* End element. */
-        public void endElement(String uri, String local, String raw) {
-            if (XMLStructureCreator.DEBUG_MODE)
-                System.out.println("\nExiting element " + fcurrentParent.getId()); //$NON-NLS-1$
-
-            if (XMLStructureCreator.DEBUG_MODE)
-                System.out.println("prevlocator: line " + prevlocator.getLineNumber() + "  column " + prevlocator.getColumnNumber() + "  id " + prevlocator.getPublicId()); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-            if (XMLStructureCreator.DEBUG_MODE)
-                System.out.println("locator: line " + locator.getLineNumber() + "  column " + locator.getColumnNumber() + "  id " + locator.getPublicId()); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-
-            if (fcurrentParent.getParent() != null) {
-                try {
-                    IRegion r2= fdoc.getLineInformation(locator.getLineNumber() - 1);
-                    Position pos= fcurrentParent.getRange();
-
-                    int elem_length= r2.getOffset() + locator.getColumnNumber() - 1 - pos.getOffset();//length of element from
-                    // start tag to end tag
-                    fcurrentParent.setLength(elem_length);
-                    if (XMLStructureCreator.DEBUG_MODE)
-                        System.out.println("pos.getOffset: " + pos.getOffset() + "  elem_length: " + elem_length); //$NON-NLS-2$ //$NON-NLS-1$
-                    if (XMLStructureCreator.DEBUG_MODE)
-                        System.out.println("fdoc.get(pos.getOffset()+elem_length-5,4): >" + fdoc.get(pos.getOffset() + elem_length - 5, 4) + "<"); //$NON-NLS-2$ //$NON-NLS-1$
-                    //if (fdoc.get(pos.getOffset()+elem_length-2,1) != ">")
-                    // elem_length-=1;
-                    try {
-                        fcurrentParent.setValue(fdoc.get(pos.getOffset(), elem_length));
-                    } catch (BadLocationException ex) {
-                        try {
-                            fcurrentParent.setValue(fdoc.get(pos.getOffset(), elem_length - 1));
-                        } catch (BadLocationException ex2) {
-                            if (XMLStructureCreator.DEBUG_MODE) {
-                                System.out.println("BadLocationException in endElement(...) while attempting fcurrentParent.setValue(...): " + ex); //$NON-NLS-1$
-                                System.out.println("Attempt to correct BadLocationException failed: " + ex2); //$NON-NLS-1$
-                            }
-                        }
-                    }
-                    if (XMLStructureCreator.DEBUG_MODE)
-                        System.out.println("Value of " + fcurrentParent.getId() + "  is >" + fcurrentParent.getValue() + "<"); //$NON-NLS-3$ //$NON-NLS-2$ //$NON-NLS-1$
-
-                    //going from ending element to parent element
-                    fcurrentParent= fcurrentParent.getParent();
-                    if (XMLStructureCreator.DEBUG_MODE)
-                        System.out.println("fcurrentParent = fcurrentParent.getParent();"); //$NON-NLS-1$
-                } catch (BadLocationException ex) {
-                    if (XMLStructureCreator.DEBUG_MODE) {
-                        System.out.println("BadLocationException in endElement(...): " + ex); //$NON-NLS-1$
-                        System.out.println("fcurrentParent.getId(): " + fcurrentParent.getId()); //$NON-NLS-1$
-                    }
-                }
-            } else {
-                if (XMLStructureCreator.DEBUG_MODE)
-                    System.out.println("Error: Cannot reach Parent of Parent"); //$NON-NLS-1$
-            }
-            if (XMLStructureCreator.DEBUG_MODE)
-                System.out.println("fcurrentParent is now " + fcurrentParent.getId()); //$NON-NLS-1$
-
-            prevlocator= new LocatorImpl(locator);
-            if (XMLStructureCreator.DEBUG_MODE)
-                System.out.println("Signature before cutting: " + fsignature); //$NON-NLS-1$
-            int ssi= fsignature.lastIndexOf(SIGN_SEPARATOR);//fsignature
-            // separator index
-            ssi= fsignature.lastIndexOf(SIGN_SEPARATOR, ssi - 1);//second-last
-            // ".", e.g. in
-            // root.a.b. to
-            // obtain
-            // root.a.
-            fsignature= fsignature.substring(0, ssi + 1);
-            if (XMLStructureCreator.DEBUG_MODE)
-                System.out.println("Signature after cutting: " + fsignature); //$NON-NLS-1$
-        }
-
-        //
-        // ErrorHandler methods
-        //
-
-        /* Warning. */
-        public void warning(SAXParseException ex) {
-            System.err.println("[Warning] " + //$NON-NLS-1$
-                    getLocationString(ex) + ": " + //$NON-NLS-1$
-                    ex.getMessage());
-        }
-
-        /* Error. */
-        public void error(SAXParseException ex) {
-            System.err.println("[Error] " + //$NON-NLS-1$
-                    getLocationString(ex) + ": " + //$NON-NLS-1$
-                    ex.getMessage());
-        }
-
-        /* Fatal error. */
-        public void fatalError(SAXParseException ex) throws SAXException {
-            System.err.println("[Fatal Error] " + //$NON-NLS-1$
-                    getLocationString(ex) + ": " + //$NON-NLS-1$
-                    ex.getMessage());
-            //System.out.println(ex);
-            //throw ex;
-        }
-
-        /* Returns a string of the location. */
-        private String getLocationString(SAXParseException ex) {
-            StringBuffer str= new StringBuffer();
-
-            String systemId= ex.getSystemId();
-            if (systemId != null) {
-                int index= systemId.lastIndexOf('/');
-                if (index != -1)
-                    systemId= systemId.substring(index + 1);
-                str.append(systemId);
-            }
-            str.append(':');
-            str.append(ex.getLineNumber());
-            str.append(':');
-            str.append(ex.getColumnNumber());
-
-            return str.toString();
-
-        }
-    }
-
-    public XMLStructureCreator() {
-        //set default idmap
-        fIdMapToUse= DEFAULT_IDMAP;
-        fUseIdMap= false;
-        XMLPlugin plugin= XMLPlugin.getDefault();
-        //if statement required for tests
-        if (plugin != null) {
-            fIdMaps= plugin.getIdMaps();
-            fIdMapsInternal= plugin.getIdMapsInternal();
-            fIdExtensionToName= plugin.getIdExtensionToName();
-            fOrderedElements= plugin.getOrderedElements();
-            fOrderedElementsInternal= plugin.getOrderedElementsInternal();
-        }
-        fRemoveWhiteSpace= false;
-    }
-
-    /*
-     * This title will be shown in the title bar of the structure compare pane.
-     */
-    public String getName() {
-        return DEFAULT_NAME;
-    }
-
-    /*
-     * Set File extension of the parsed file. This extension will be used to choose an Id Map scheme.
-     */
-    public void setFileExtension(String ext) {
-        fFileExt= ext;
-    }
-
-    /**
-     * Initialize the Id Mappings for the Id Mapping Scheme and the Ordered Elements
-     * This method must be called before getStructure(Object) is called on the two/three inputs of the compare
-     */
-    public void initIdMaps() {
-        if (fFirstCall && fFileExt != null) {
-            fFirstCall= false;
-            String fileExtLower= fFileExt.toLowerCase();
-            if (fIdExtensionToName.containsKey(fileExtLower))
-                setIdMap((String) fIdExtensionToName.get(fileExtLower));
-        }
-
-        setUseIdMap();
-        fOrdered= null;
-        if (!isUseIdMap())
-            idMap= null;
-        else if (fIdMaps.containsKey(fIdMapToUse)) {
-            idMap= (HashMap) fIdMaps.get(fIdMapToUse);
-        } else if (fIdMapsInternal.containsKey(fIdMapToUse)) {
-            idMap= (HashMap) fIdMapsInternal.get(fIdMapToUse);
-        }
-
-        if (fOrderedElements != null)
-            fOrdered= (ArrayList) fOrderedElements.get(fIdMapToUse);
-        if (fOrdered == null && fOrderedElementsInternal != null)
-            fOrdered= (ArrayList) fOrderedElementsInternal.get(fIdMapToUse);
-    }
-
-    /*
-     * Returns the XML parse tree of the input.
-     */
-    public IStructureComparator getStructure(Object input) {
-        if (XMLStructureCreator.DEBUG_MODE)
-            System.out.println("Starting parse"); //$NON-NLS-1$
-
-        if (!(input instanceof IStreamContentAccessor))
-            return null;
-
-        IStreamContentAccessor sca= (IStreamContentAccessor) input;
-
-        try {
-            // Input parsed with parser.parse(new InputSource(sca.getContents));	
-
-            String contents= readString(sca);
-            if (contents == null)
-                contents= ""; //$NON-NLS-1$
-            fdoc= new Document(contents);
-
-            fsignature= ROOT_ID + SIGN_SEPARATOR;
-            XMLChildren root= new XMLChildren(TYPE_ELEMENT, ROOT_ID, "", (fsignature + SIGN_ELEMENT), fdoc, 0, fdoc.getLength()); //$NON-NLS-1$
-            fcurrentParent= root;
-
-            XMLHandler handler= new XMLHandler();
-
-            try {
-                //            	/* original xerces code
-                //            	SAXParser parser = (SAXParser)Class.forName(parserName).newInstance();
-                //            	*/
-                //				XMLReader parser = XMLReaderFactory.createXMLReader(parserName);
-                //				
-                //	            parser.setFeature( "http://xml.org/sax/features/validation", setValidation); //$NON-NLS-1$
-                //    	        parser.setFeature( "http://xml.org/sax/features/namespaces", setNameSpaces ); //$NON-NLS-1$
-                //    	        /*
-                //    	        parser.setFeature( "http://apache.org/xml/features/nonvalidating/load-external-dtd", false); //$NON-NLS-1$
-                //        	    parser.setFeature( "http://apache.org/xml/features/validation/schema", setSchemaSupport ); //$NON-NLS-1$
-                //	            parser.setFeature( "http://apache.org/xml/features/validation/schema-full-checking", setSchemaFullSupport); //$NON-NLS-1$
-                //	           	*/
-                //	            parser.setContentHandler(handler);
-                //	            parser.setErrorHandler(handler);
-                //	            
-                //	            parser.parse(new InputSource(sca.getContents()));
-
-                SAXParserFactory factory= SAXParserFactory.newInstance();
-                factory.setNamespaceAware(true);
-                SAXParser parser= factory.newSAXParser();
-                parser.parse(new InputSource(new StringReader(contents)), handler);
-
-                if (XMLStructureCreator.DEBUG_MODE)
-                    System.out.println("End of parse"); //$NON-NLS-1$
-            } catch (SAXParseException e) {
-                XMLPlugin.log(e);
-                return null;
-            } catch (Exception e) {
-                //				MessageDialog.openError(XMLPlugin.getActiveWorkbenchShell(),"Error in XML parser","An error occured in the XML parser.\nNo structured compare can be shown");
-                XMLPlugin.log(e);
-                return null;
-            }
-            return root;
-        } catch (CoreException ex) {
-            XMLPlugin.log(ex);
-        }
-        return null;
-    }
-
-    public boolean canSave() {
-        return true;
-    }
-
-    public boolean canRewriteTree() {
-        return false;
-    }
-
-    public void rewriteTree(Differencer differencer, IDiffContainer root) {
-    		// nothing to do
-    }
-
-    public void save(IStructureComparator structure, Object input) {
-        if (input instanceof IEditableContent && structure instanceof XMLNode) {
-            IDocument document= ((XMLNode) structure).getDocument();
-            IEditableContent bca= (IEditableContent) input;
-			String contents= document.get();
-			String encoding= null;
-			if (input instanceof IEncodedStreamContentAccessor) {
-				try {
-					encoding= ((IEncodedStreamContentAccessor)input).getCharset();
-				} catch (CoreException e1) {
-					// ignore
-				}
-			}
-			if (encoding == null)
-				encoding= "UTF-8"; //$NON-NLS-1$
-			try {
-			    bca.setContent(contents.getBytes(encoding));
-			} catch (UnsupportedEncodingException e) {
-			    bca.setContent(contents.getBytes());	
-			}
-		}
-	}
-
-    public String getContents(Object node, boolean ignoreWhitespace) {
-        if (node instanceof XMLNode) {
-            String s= ((XMLNode) node).getValue();
-            if (ignoreWhitespace)
-                s= s.trim();
-            return s;
-        }
-        return null;
-    }
-
-    public IStructureComparator locate(Object path, Object source) {
-        return null;
-    }
-
-    static String readString(IStreamContentAccessor sa) throws CoreException {
-        InputStream is= sa.getContents();
-        String encoding= null;
-        if (sa instanceof IEncodedStreamContentAccessor)
-            encoding= ((IEncodedStreamContentAccessor) sa).getCharset();
-        if (encoding == null)
-            encoding= "UTF-8"; //$NON-NLS-1$
-        return readString(is, encoding);
-    }
-
-    /*
-     * Returns null if an error occurred.
-     */
-    private static String readString(InputStream is, String encoding) {
-        if (is == null)
-            return null;
-        BufferedReader reader= null;
-        try {
-            StringBuffer buffer= new StringBuffer();
-            char[] part= new char[2048];
-            int read= 0;
-            reader= new BufferedReader(new InputStreamReader(is, encoding));
-
-            while ((read= reader.read(part)) != -1)
-                buffer.append(part, 0, read);
-
-            return buffer.toString();
-
-        } catch (IOException ex) {
-            // NeedWork
-        } finally {
-            if (reader != null) {
-                try {
-                    reader.close();
-                } catch (IOException ex) {
-                    // silently ignored
-                }
-            }
-        }
-        return null;
-    }
-
-    /* Returns a sorted list of attributes.
-     */
-    protected Attributes sortAttributes(Attributes attrs) {
-
-        AttributesImpl attributes= new AttributesImpl();
-        int len= (attrs != null) ? attrs.getLength() : 0;
-        for (int i= 0; i < len; i++) {
-            String name= attrs.getQName(i);
-            int count= attributes.getLength();
-            int j= 0;
-            while (j < count) {
-                if (name.compareTo(attributes.getQName(j)) < 0)
-                    break;
-                j++;
-            }
-            attributes.insertAttributeAt(j, name, attrs.getType(i), attrs.getValue(i));
-        }
-
-        return attributes;
-
-    }
-
-    public void setIdMap(String idmap_name) {
-        fIdMapToUse= idmap_name;
-    }
-
-    /*
-     * Returns the name of the IdMap Scheme that will be used to set ids.
-     */
-    public String getIdMap() {
-        return fIdMapToUse;
-    }
-
-    public void setUseIdMap() {
-        if (fIdMaps != null && fIdMapsInternal != null)
-            fUseIdMap= fIdMaps.containsKey(fIdMapToUse) || fIdMapsInternal.containsKey(fIdMapToUse);
-    }
-
-    public boolean isUseIdMap() {
-        return fUseIdMap;
-    }
-
-    public void updateIdMaps() {
-        fIdMaps= XMLPlugin.getDefault().getIdMaps();
-        fOrderedElements= XMLPlugin.getDefault().getOrderedElements();
-    }
-
-    protected boolean isWhiteSpace(char c) {
-        return c == '\t' || c == '\n' || c == '\r' || c == ' ';
-    }
-
-    protected String removeWhiteSpace(String str) {
-        str= trimWhiteSpace(str);
-        StringBuffer retStr= new StringBuffer();
-        int start= 0, end= 0;
-        outer_while: while (true) {
-            while (end < str.length() && !isWhiteSpace(str.charAt(end))) {
-                end++;
-            }
-            if (end > str.length())
-                break outer_while;
-            if (start != 0)
-                retStr.append(' ');
-            retStr.append(str.substring(start, end));
-            end++;
-            while (end < str.length() && isWhiteSpace(str.charAt(end))) {
-                end++;
-            }
-            start= end;
-        }
-        return retStr.toString();
-    }
-
-    protected String trimWhiteSpace(String str) {
-        int start= 0, end= str.length() - 1;
-        while (start < str.length() && isWhiteSpace(str.charAt(start))) {
-            start++;
-        }
-        if (start == str.length())
-            return ""; //$NON-NLS-1$
-        while (end >= 0 && isWhiteSpace(str.charAt(end))) {
-            end--;
-        }
-        return str.substring(start, end + 1);
-    }
-
-    public void setRemoveWhiteSpace(boolean removeWhiteSpace) {
-        fRemoveWhiteSpace= removeWhiteSpace;
-    }
-
-    public boolean getRemoveWhiteSpace() {
-        return fRemoveWhiteSpace;
-    }
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureViewer.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureViewer.java
deleted file mode 100644
index 42eb3f9..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureViewer.java
+++ /dev/null
@@ -1,562 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.text.MessageFormat;
-import java.util.*;
-
-import org.eclipse.compare.*;
-import org.eclipse.compare.structuremergeviewer.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Tree;
-
-/**
- * An XML diff tree viewer that can be configured with a <code>IStructureCreator</code>
- * to retrieve a hierarchical structure from the input object (an <code>ICompareInput</code>)
- * and perform a two-way or three-way compare on it.
- * <p>
- * This class may be instantiated; it is not intended to be subclassed outside
- * this package.
- * </p>
- *
- * @see ICompareInput
- */
-public class XMLStructureViewer extends StructureDiffViewer {
-
-	private CompareViewerSwitchingPane fParent;
-
-	private HashMap fIdMapsInternal;
-	private HashMap fIdMaps;
-	private HashMap fOrderedElementsInternal;
-	private HashMap fOrderedElements;
-
-	protected static final char SIGN_SEPARATOR=
-		XMLStructureCreator.SIGN_SEPARATOR;
-
-	class XMLSorter extends ViewerSorter {
-
-		ArrayList fOrdered;
-		boolean fAlwaysOrderSort;
-
-		public XMLSorter() {
-			super();
-			fAlwaysOrderSort= false;
-		}
-
-		public void setOrdered(ArrayList ordered) {
-			fOrdered= ordered;
-		}
-
-		public void setAlwaysOrderSort(boolean alwaysOrderSort) {
-			fAlwaysOrderSort= alwaysOrderSort;
-		}
-
-		public int category(Object node) {
-			if (node instanceof DiffNode) {
-				Object o= ((DiffNode) node).getId();
-				if (o instanceof XMLNode) {
-					String xmlType= ((XMLNode) o).getXMLType();
-					if (xmlType.equals(XMLStructureCreator.TYPE_ATTRIBUTE))
-						return 1;
-					if (xmlType.equals(XMLStructureCreator.TYPE_ELEMENT))
-						return 2;
-					if (xmlType.equals(XMLStructureCreator.TYPE_TEXT))
-						return 2;
-				}
-			}
-			return 0;
-		}
-
-		public void sort(final Viewer viewer, Object[] elements) {
-			if ((fOrdered != null || fAlwaysOrderSort)
-				&& elements != null
-				&& elements.length > 0
-				&& elements[0] instanceof DiffNode) {
-				Object o= ((DiffNode) elements[0]).getId();
-				if (o instanceof XMLNode) {
-					XMLNode parent= ((XMLNode) o).getParent();
-					String sig= parent.getSignature();
-					if (sig.endsWith(XMLStructureCreator.SIGN_ELEMENT)) {
-						String newSig=
-							sig.substring(
-								0,
-								sig.length()
-									- XMLStructureCreator.SIGN_ELEMENT.length());
-						if (fAlwaysOrderSort || fOrdered.contains(newSig)) {
-							final ArrayList originalTree=
-								new ArrayList(
-									Arrays.asList(parent.getChildren()));
-							Arrays.sort(elements, new Comparator() {
-								public int compare(Object a, Object b) {
-									return XMLSorter.this.compare(
-										(DiffNode) a,
-										(DiffNode) b,
-										originalTree);
-								}
-							});
-							return;
-						}
-					}
-				}
-			}
-			super.sort(viewer, elements);
-		}
-
-		private int compare(DiffNode a, DiffNode b, ArrayList originalTree) {
-
-			int index_a= originalTree.indexOf(a.getId());
-			int index_b= originalTree.indexOf(b.getId());
-			if (index_a < index_b)
-				return -1;
-			return 1;
-		}
-	}
-
-	/**
-	 * Creates a new viewer for the given SWT tree control with the specified configuration.
-	 *
-	 * @param tree the tree control
-	 * @param configuration the configuration for this viewer
-	 */
-	public XMLStructureViewer(Tree tree, CompareConfiguration configuration) {
-		super(tree, configuration);
-		initialize();
-	}
-
-	/**
-	 * Creates a new viewer under the given SWT parent with the specified configuration.
-	 *
-	 * @param parent the SWT control under which to create the viewer
-	 * @param configuration the configuration for this viewer
-	 */
-	public XMLStructureViewer(
-		Composite parent,
-		CompareConfiguration configuration) {
-		super(parent, configuration);
-		if (parent instanceof CompareViewerSwitchingPane) {
-			fParent= (CompareViewerSwitchingPane) parent;
-		}
-		initialize();
-	}
-
-	private void initialize() {
-		setStructureCreator(new XMLStructureCreator());
-		XMLPlugin plugin= XMLPlugin.getDefault();
-
-		plugin.getViewers().add(this);
-
-		fIdMaps= plugin.getIdMaps();
-		fIdMapsInternal= plugin.getIdMapsInternal();
-		fOrderedElements= plugin.getOrderedElements();
-		fOrderedElementsInternal= plugin.getOrderedElementsInternal();
-
-		XMLSorter sorter= new XMLSorter();
-		setSorter(sorter);
-
-	}
-
-	protected XMLStructureCreator getXMLStructureCreator() {
-		return (XMLStructureCreator) getStructureCreator();
-	}
-
-	/* (non Javadoc)
-	 * Overridden to unregister all listeners.
-	 */
-	protected void handleDispose(DisposeEvent event) {
-
-		XMLPlugin.getDefault().getViewers().remove(this);
-
-		super.handleDispose(event);
-	}
-
-	/*
-	 * Recreates the comparable structures for the input sides.
-	 */
-	protected void compareInputChanged(ICompareInput input) {
-		if (input != null) {
-			ITypedElement t= input.getLeft();
-			if (t != null) {
-				String fileExtension= t.getType();
-				getXMLStructureCreator().setFileExtension(fileExtension);
-			}
-		}
-
-		getXMLStructureCreator().initIdMaps();
-		super.compareInputChanged(input);
-
-		if (input != null && fParent.getTitleArgument() == null)
-			appendToTitle(getXMLStructureCreator().getIdMap());
-	}
-
-	/**
-	 * Calls <code>diff</code> whenever the byte contents changes.
-	 */
-	protected void contentChanged() {
-		fIdMaps= XMLPlugin.getDefault().getIdMaps();
-		fOrderedElements= XMLPlugin.getDefault().getOrderedElements();
-		getXMLStructureCreator().updateIdMaps();
-		if (isIdMapRemoved()) {
-			getXMLStructureCreator().setIdMap(
-				XMLStructureCreator.DEFAULT_IDMAP);
-		}
-
-		getXMLStructureCreator().initIdMaps();
-
-		contentChanged(null);
-
-		if (fParent.getTitleArgument() == null)
-			appendToTitle(getXMLStructureCreator().getIdMap());
-
-	}
-
-	protected void preDiffHook(
-		IStructureComparator ancestor,
-		IStructureComparator left,
-		IStructureComparator right, IProgressMonitor monitor) {
-		//		if (!xsc.getIdMap().equals(XMLStructureCreator.USE_ORDERED)) {
-		//TimeoutContext.run(true, TIMEOUT, getControl().getShell(), runnable);
-		if (left != null && right != null) {
-			performMatching((XMLNode)left, (XMLNode)right, (XMLNode)ancestor, monitor);
-		}
-	}
-
-	/**
-	 * Overriden to create buttons in the viewer's pane control bar.
-	 * <p>
-	 *
-	 * @param toolBarManager the toolbar manager for which to add the buttons
-	 */
-	protected void createToolItems(ToolBarManager toolBarManager) {
-		super.createToolItems(toolBarManager);
-		toolBarManager.appendToGroup("modes", new ChooseMatcherDropDownAction(this)); //$NON-NLS-1$
-		toolBarManager.appendToGroup("modes", new CreateNewIdMapAction(this)); //$NON-NLS-1$
-	}
-
-	/**
-	 * Overriden to create a context menu.
-	 * <p>
-	 *
-	 * @param manager the menu manager for which to add menu items
-	 */
-	protected void fillContextMenu(IMenuManager manager) {
-		super.fillContextMenu(manager);
-		ISelection s= getSelection();
-		if (s instanceof StructuredSelection
-			&& ((StructuredSelection) s).getFirstElement() instanceof DiffNode
-			&& ((DiffNode) ((StructuredSelection) s).getFirstElement()).getId()
-				instanceof XMLNode) {
-			DiffNode diffnode=
-				(DiffNode) ((StructuredSelection) s).getFirstElement();
-			String diffnodeIdSig= ((XMLNode) diffnode.getId()).getSignature();
-			fIdMaps= XMLPlugin.getDefault().getIdMaps();
-			String idmap_name= getXMLStructureCreator().getIdMap();
-			if (diffnodeIdSig.endsWith(XMLStructureCreator.SIGN_ATTRIBUTE) || (diffnodeIdSig.endsWith(XMLStructureCreator.SIGN_TEXT) && ((XMLNode) diffnode.getId()).getOrigId().endsWith("(1)"))) { //$NON-NLS-1$
-				Action action= new SetAsIdAction(diffnode);
-				if (!fIdMaps.containsKey(idmap_name)) {
-					action.setText(XMLCompareMessages.XMLStructureViewer_action_notUserIdMap); 
-					action.setEnabled(false);
-				} else {
-					HashMap idmapHM= (HashMap) fIdMaps.get(idmap_name);
-					XMLNode idNode= (XMLNode) diffnode.getId();
-					String signature= idNode.getSignature();
-					String idname= ""; //$NON-NLS-1$
-					if (idNode
-						.getSignature()
-						.endsWith(XMLStructureCreator.SIGN_ATTRIBUTE)) {
-						signature=
-							signature.substring(
-								0,
-								signature.indexOf(
-									XMLStructureCreator.SIGN_ATTRIBUTE));
-						int end_of_signature=
-							signature.lastIndexOf(
-								SIGN_SEPARATOR,
-								signature.length() - 2);
-						idname=
-							signature.substring(
-								end_of_signature + 1,
-								signature.length() - 1);
-						signature= signature.substring(0, end_of_signature + 1);
-					} else if (
-						idNode.getSignature().endsWith(
-							XMLStructureCreator.SIGN_TEXT)) {
-						XMLNode textNode= (XMLNode) diffnode.getId();
-						XMLNode idelem= textNode.getParent();
-						XMLNode elem= idelem.getParent();
-						signature=
-							elem.getSignature().substring(
-								0,
-								elem.getSignature().indexOf(
-									XMLStructureCreator.SIGN_ELEMENT));
-						idname= idelem.getOrigId();
-						idname=
-							idname.substring(
-								0,
-								idname.indexOf(
-									XMLStructureCreator.ID_SEPARATOR));
-						idname=
-							new Character(XMLStructureCreator.ID_TYPE_BODY)
-								+ idname;
-					}
-					if (idmapHM.containsKey(signature)) {
-						if (idmapHM.get(signature).equals(idname)) {
-							action.setText(XMLCompareMessages.XMLStructureViewer_action_setId_text1); 
-							action.setEnabled(false);
-						} else {
-							String oldId= (String) idmapHM.get(signature);
-							if (oldId
-								.startsWith(
-									(new Character(XMLStructureCreator
-										.ID_TYPE_BODY))
-										.toString()))
-								oldId= oldId.substring(1);
-							action.setText(MessageFormat.format("{0} {1}", new String[] { XMLCompareMessages.XMLStructureViewer_action_setId_text2, oldId }));  //$NON-NLS-1$
-							action.setEnabled(true);
-						}
-					} else {
-						action.setText(XMLCompareMessages.XMLStructureViewer_action_setId_text3); 
-						action.setEnabled(true);
-					}
-				}
-				manager.add(action);
-			} else if (
-				diffnodeIdSig.endsWith(XMLStructureCreator.SIGN_ELEMENT)) {
-				SetOrderedAction action= new SetOrderedAction(idmap_name);
-				if (!fIdMaps.containsKey(idmap_name)) {
-					action.setText(XMLCompareMessages.XMLStructureViewer_action_notUserIdMap); 
-					action.setEnabled(false);
-				} else {
-					ArrayList idmapOrdered=
-						(ArrayList) fOrderedElements.get(idmap_name);
-					XMLNode idNode= (XMLNode) diffnode.getId();
-					String signature= idNode.getSignature();
-					//					String idname= "";
-					signature=
-						signature.substring(
-							0,
-							signature.indexOf(
-								XMLStructureCreator.SIGN_ELEMENT));
-					if (idmapOrdered != null
-						&& idmapOrdered.contains(signature)) {
-						action.setText(XMLCompareMessages.XMLStructureViewer_action_setOrdered_exists); 
-						action.setEnabled(false);
-					} else {
-						action.setText(XMLCompareMessages.XMLStructureViewer_action_setOrdered); 
-						action.setSignature(signature);
-						action.setEnabled(true);
-					}
-				}
-
-				manager.add(action);
-			}
-		}
-	}
-
-	protected void appendToTitle(String idmap_name) {
-		if (fParent != null) {
-			getXMLStructureCreator().setIdMap(idmap_name);
-			fParent.setTitleArgument(idmap_name);
-		}
-	}
-
-	/*
-	 * Returns true if the current Id Map scheme has been removed.
-	 */
-	private boolean isIdMapRemoved() {
-		XMLStructureCreator xsc= getXMLStructureCreator();
-		String IdMapName= xsc.getIdMap();
-		return !IdMapName.equals(XMLStructureCreator.USE_UNORDERED)
-			&& !IdMapName.equals(XMLStructureCreator.USE_ORDERED)
-			&& !fIdMaps.containsKey(IdMapName)
-			&& !fIdMapsInternal.containsKey(IdMapName)
-			&& !fOrderedElements.containsKey(IdMapName);
-	}
-
-	protected class SetAsIdAction extends Action {
-
-		DiffNode fDiffNode;
-
-		public SetAsIdAction(DiffNode diffnode) {
-			fDiffNode= diffnode;
-		}
-
-		public void run() {
-			XMLStructureCreator sc= getXMLStructureCreator();
-			//			DiffNode diffnode = (DiffNode) ((StructuredSelection) getSelection()).getFirstElement();
-			String idmap_name= sc.getIdMap();
-			if (fIdMaps.containsKey(idmap_name)) {
-				HashMap idmapHM= (HashMap) fIdMaps.get(idmap_name);
-				if (((XMLNode) fDiffNode.getId())
-					.getSignature()
-					.endsWith(XMLStructureCreator.SIGN_ATTRIBUTE)) {
-					XMLNode attrNode= (XMLNode) fDiffNode.getId();
-					String signature= attrNode.getSignature();
-					signature=
-						signature.substring(
-							0,
-							signature.indexOf(
-								XMLStructureCreator.SIGN_ATTRIBUTE));
-					int end_of_signature=
-						signature.lastIndexOf(
-							SIGN_SEPARATOR,
-							signature.length() - 2);
-					String idattr=
-						signature.substring(
-							end_of_signature + 1,
-							signature.length() - 1);
-					signature= signature.substring(0, end_of_signature + 1);
-					idmapHM.put(signature, idattr);
-					XMLPlugin.getDefault().setIdMaps(
-						fIdMaps,
-						null,
-						null,
-						false);
-					//contentChanged();
-				} else if (
-					((XMLNode) fDiffNode.getId()).getSignature().endsWith(
-						XMLStructureCreator.SIGN_TEXT)) {
-					XMLNode textNode= (XMLNode) fDiffNode.getId();
-					XMLNode idelem= textNode.getParent();
-					XMLNode elem= idelem.getParent();
-					String signature=
-						elem.getSignature().substring(
-							0,
-							elem.getSignature().indexOf(
-								XMLStructureCreator.SIGN_ELEMENT));
-					String idname= idelem.getOrigId();
-					idname=
-						idname.substring(
-							0,
-							idname.indexOf(XMLStructureCreator.ID_SEPARATOR));
-					idname=
-						new Character(XMLStructureCreator.ID_TYPE_BODY)
-							+ idname;
-					idmapHM.put(signature, idname);
-					XMLPlugin.getDefault().setIdMaps(
-						fIdMaps,
-						null,
-						null,
-						false);
-					//contentChanged();
-				}
-			}
-		}
-	}
-
-	protected class SetOrderedAction extends Action {
-
-		String fIdMapName;
-		String fSignature;
-
-		public SetOrderedAction(String idmap_name) {
-			fIdMapName= idmap_name;
-		}
-
-		public void run() {
-			//String idmap_name= getXMLStructureCreator().getIdMap();
-			if (fSignature != null) {
-				ArrayList idmapOrdered=
-					(ArrayList) fOrderedElements.get(fIdMapName);
-				if (idmapOrdered == null) {
-					idmapOrdered= new ArrayList();
-					fOrderedElements.put(fIdMapName, idmapOrdered);
-				}
-				idmapOrdered.add(fSignature);
-			}
-		}
-
-		public void setSignature(String signature) {
-			fSignature= signature;
-		}
-	}
-
-	protected void updateIdMaps() {
-		getXMLStructureCreator().updateIdMaps();
-	}
-
-	/*
-	 * Tracks property changes of the configuration object.
-	 * Clients may override to track their own property changes.
-	 * In this case they must call the inherited method.
-	 */
-	protected void propertyChange(PropertyChangeEvent event) {
-		String key= event.getProperty();
-		if (key.equals(CompareConfiguration.IGNORE_WHITESPACE)) {
-			getXMLStructureCreator().setRemoveWhiteSpace(
-				!getXMLStructureCreator().getRemoveWhiteSpace());
-			contentChanged();
-		}
-	}
-
-	private void performMatching(final XMLNode left, final XMLNode right,
-			final XMLNode ancestor, IProgressMonitor monitor) {
-		if (monitor == null) {
-			monitor= new NullProgressMonitor();
-		}
-		int totalWork;
-		if (ancestor != null)
-			totalWork= 1;
-		else
-			totalWork= 3;
-		monitor.beginTask(XMLCompareMessages.XMLStructureViewer_matching_beginTask, totalWork); 
-		ArrayList ordered= null;
-		if (!getXMLStructureCreator()
-			.getIdMap()
-			.equals(XMLStructureCreator.USE_UNORDERED)
-			&& !getXMLStructureCreator().getIdMap().equals(
-				XMLStructureCreator.USE_ORDERED)) {
-			ordered=
-				(ArrayList) fOrderedElements.get(
-					getXMLStructureCreator().getIdMap());
-			if (ordered == null)
-				ordered=
-					(ArrayList) fOrderedElementsInternal.get(
-						getXMLStructureCreator().getIdMap());
-		}
-		if (getSorter() instanceof XMLSorter)
-			 ((XMLSorter) getSorter()).setOrdered(ordered);
-		AbstractMatching m= null;
-		if (getXMLStructureCreator()
-			.getIdMap()
-			.equals(XMLStructureCreator.USE_ORDERED)) {
-			m= new OrderedMatching();
-			if (getSorter() instanceof XMLSorter)
-				 ((XMLSorter) getSorter()).setAlwaysOrderSort(true);
-		}
-		try {
-			if (m != null) {
-				m.match(left, right, false, monitor);
-				if (ancestor != null) {
-					m.match(
-						left,
-						ancestor,
-						true,
-						new SubProgressMonitor(monitor, 1));
-					m.match(
-						right,
-						ancestor,
-						true,
-						new SubProgressMonitor(monitor, 1));
-				}
-				//				} catch (InterruptedException e) {
-				//					System.out.println("in run");
-				//					e.printStackTrace();
-			}
-		} finally {
-			monitor.done();
-		}
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureViewerCreator.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureViewerCreator.java
deleted file mode 100644
index cd13d47..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/XMLStructureViewerCreator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.jface.viewers.Viewer;
-
-import org.eclipse.compare.CompareConfiguration;
-import org.eclipse.compare.IViewerCreator;
-
-/**
- * A factory object for the <code>TextMergeViewer</code>.
- * This indirection is necessary because only objects with a default
- * constructor can be created via an extension point
- * (this precludes Viewers).
- */
-public class XMLStructureViewerCreator implements IViewerCreator {
-
-	public Viewer createViewer(Composite parent, CompareConfiguration mp) {
-		return new XMLStructureViewer(parent, mp);
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/MessageLine.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/MessageLine.java
deleted file mode 100644
index 5065017..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/MessageLine.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml.ui;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * A message line. It distinguishs between "normal" messages and errors. 
- * Setting an error message hides a currently displayed message until 
- * <code>clearErrorMessage</code> is called.
- */
-public class MessageLine extends CLabel {
-
-	public static final RGB RED= new RGB(200, 0, 0);
-	private static RGB fgDefaultErrorRGB= RED;
-
-	private String fMessageText;
-	private String fErrorText;
-
-	private Color fDefaultColor;
-	private RGB fErrorRGB;
-	private Color fErrorColor;
-
-	/*
-	 * Creates a new message line as a child of the given parent.
-	 * Error message will be shown in <code>RED</code>.
-	 */
-	public MessageLine(Composite parent) {
-		this(parent, SWT.LEFT);
-	}
-
-	/*
-	 * Creates a new message line as a child of the parent and with the given SWT stylebits.
-	 * Error message will be shown in  <code>RED</code>.
-	 */
-	public MessageLine(Composite parent, int style) {
-		super(parent, style);
-		fDefaultColor= getForeground();
-		fErrorRGB= fgDefaultErrorRGB;
-	}
-
-	/*
-	 * Creates a new message line as a child of the parent and with the given SWT stylebits.
-	 * Error message will be shown with in the given rgb color.
-	 */
-	public MessageLine(Composite parent, int style, RGB errorRGB) {
-		super(parent, style);
-		fDefaultColor= getForeground();
-		fErrorRGB= errorRGB;
-	}
-
-	/**
-	 * Clears the currently displayed error message and redisplayes
-	 * the message which was active before the error message was set.
-	 */
-	public void clearErrorMessage() {
-		setErrorMessage(null);
-	}
-
-	/**
-	 * Clears the currently displayed message.
-	 */
-	public void clearMessage() {
-		setMessage(null);
-	}
-
-	/**
-	 * Get the currently displayed error text.
-	 * @return The error message. If no error message is displayed <code>null</code> is returned.
-	 */
-	public String getErrorMessage() {
-		return fErrorText;
-	}
-
-	/**
-	 * Get the currently displayed message.
-	 * @return The message. If no message is displayed <code>null<code> is returned.
-	 */
-	public String getMessage() {
-		return fMessageText;
-	}
-
-	/*
-	 * Sets the default error color used by all message lines.
-	 * Note: a call to this method only affects newly created MessageLines not existing ones. 
-	 */
-	public static void setDefaultErrorColor(RGB color) {
-		fgDefaultErrorRGB= color;
-	}
-
-	/*
-	 * Display the given error message. A currently displayed message
-	 * is saved and will be redisplayed when the error message is cleared.
-	 */
-	public void setErrorMessage(String message) {
-		fErrorText= message;
-
-		if (message == null) {
-			setMessage(fMessageText);
-		} else {
-			if (fErrorColor == null) {
-				fErrorColor= new Color(getDisplay(), fErrorRGB);
-				addDisposeListener(new DisposeListener() {
-					public void widgetDisposed(DisposeEvent e) {
-						fErrorColor.dispose();
-					}
-				});
-			}
-			setForeground(fErrorColor);
-			setText(message);
-		}
-	}
-
-	/*
-	 * Set the message text. If the message line currently displays an error,
-	 * the message is stored and will be shown after a call to clearErrorMessage
-	 */
-	public void setMessage(String message) {
-		fMessageText= message;
-		if (message == null)
-			message= ""; //$NON-NLS-1$
-		if (fErrorText == null) {
-			setForeground(fDefaultColor);
-			setText(message);
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusDialog.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusDialog.java
deleted file mode 100644
index 455dad1..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusDialog.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml.ui;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * An abstract base class for dialogs with a status bar and ok/cancel buttons.
- * The status message must be passed over as StatusInfo object and can be
- * an error, warning or ok. The OK button is enabled or disabled depending
- * on the status.
- */ 
-public abstract class StatusDialog extends Dialog {
-	
-	private Button fOkButton;
-	private MessageLine fStatusLine;
-	private IStatus fLastStatus;
-	private String fTitle;
-	private Image fImage;
-	
-	/*
-	 * Creates an instane of a status dialog.
-	 */
-	public StatusDialog(Shell parent) {
-		super(parent);
-	}
-	
-	/*
-	 * Specifies whether status line appears to the left of the buttons (default)
-	 * or above them.
-	 *
-	 * @param aboveButtons if <code>true</code> status line is placed above buttons; if
-	 * 	<code>false</code> to the right
-	 */
-	public void setStatusLineAboveButtons(boolean aboveButtons) {
-		// empty default implementation
-	}	
-	
-	/*
-	 * Update the dialog's status line to reflect the given status.
-	 * It is save to call this method before the dialog has been opened.
-	 */
-	protected void updateStatus(IStatus status) {
-		fLastStatus= status;
-		if (fStatusLine != null && !fStatusLine.isDisposed()) {
-			updateButtonsEnableState(status);
-			StatusUtil.applyToStatusLine(fStatusLine, status);	
-		}
-	}
-	
-	/*
-	 * Returns the last status.
-	 */
-	public IStatus getStatus() {
-		return fLastStatus;
-	}
-
-	/**
-	 * Updates the status of the ok button to reflect the given status.
-	 * Subclasses may override this method to update additional buttons.
-	 * @param status the status.
-	 */
-	protected void updateButtonsEnableState(IStatus status) {
-		if (fOkButton != null && !fOkButton.isDisposed())
-			fOkButton.setEnabled(!status.matches(IStatus.ERROR));
-	}
-	
-	/* 
-	 * @see Window#create(Shell)
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		if (fTitle != null)
-			shell.setText(fTitle);
-	}
-
-	/*
-	 * @see Window#create()
-	 */	
-	public void create() {
-		super.create();
-		if (fLastStatus != null) {
-			// policy: dialogs are not allowed to come up with an error message
-			if (fLastStatus.matches(IStatus.ERROR)) {
-				StatusInfo status= new StatusInfo();
-				status.setError(""); //$NON-NLS-1$
-				fLastStatus= status;
-			}
-			updateStatus(fLastStatus);
-		}
-	}
-
-	/*
-	 * @see Dialog#createButtonsForButtonBar(Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		fOkButton= createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-	
-	/*
-	 * @see Dialog#createButtonBar(Composite)
-	 */				
-	protected Control createButtonBar(Composite parent) {
-		Composite composite= new Composite(parent, SWT.NULL);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 1;
-		layout.marginHeight= 0;
-		layout.marginWidth= convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		fStatusLine= new MessageLine(composite);
-		fStatusLine.setAlignment(SWT.LEFT);
-		fStatusLine.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fStatusLine.setMessage(""); //$NON-NLS-1$
-
-		super.createButtonBar(composite);
-		return composite;
-	}
-	
-	/**
-	 * Sets the title for this dialog.
-	 * @param title the title.
-	 */
-	public void setTitle(String title) {
-		fTitle= title != null ? title : ""; //$NON-NLS-1$
-		Shell shell= getShell();
-		if ((shell != null) && !shell.isDisposed())
-			shell.setText(fTitle);
-	}
-
-	/**
-	 * Sets the image for this dialog.
-	 * @param image the image.
-	 */
-	public void setImage(Image image) {
-		fImage= image;
-		Shell shell= getShell();
-		if ((shell != null) && !shell.isDisposed())
-			shell.setImage(fImage);
-	}	
-	
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusInfo.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusInfo.java
deleted file mode 100644
index 1ce596e..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusInfo.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml.ui;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * A settable IStatus. 
- * Can be an error, warning, info or ok. For error, info and warning states,
- * a message describes the problem.
- */
-public class StatusInfo implements IStatus {
-	
-	private String fStatusMessage;
-	private int fSeverity;
-	
-	/**
-	 * Creates a status set to OK (no message)
-	 */
-	public StatusInfo() {
-		this(OK, null);
-	}
-
-	/**
-	 * Creates a status .
-	 * @param severity The status severity: ERROR, WARNING, INFO and OK.
-	 * @param message The message of the status. Applies only for ERROR,
-	 * WARNING and INFO.
-	 */	
-	public StatusInfo(int severity, String message) {
-		fStatusMessage= message;
-		fSeverity= severity;
-	}		
-	
-	/*
-	 *  Returns if the status' severity is OK.
-	 */
-	public boolean isOK() {
-		return fSeverity == IStatus.OK;
-	}
-
-	/*
-	 *  Returns if the status' severity is WARNING.
-	 */	
-	public boolean isWarning() {
-		return fSeverity == IStatus.WARNING;
-	}
-
-	/*
-	 *  Returns if the status' severity is INFO.
-	 */	
-	public boolean isInfo() {
-		return fSeverity == IStatus.INFO;
-	}	
-
-	/*
-	 *  Returns if the status' severity is ERROR.
-	 */	
-	public boolean isError() {
-		return fSeverity == IStatus.ERROR;
-	}
-	
-	/*
-	 * @see IStatus#getMessage
-	 */
-	public String getMessage() {
-		return fStatusMessage;
-	}
-	
-	/*
-	 * Sets the status to ERROR.
-	 * @param The error message (can be empty, but not null)
-	 */	
-	public void setError(String errorMessage) {
-		Assert.isNotNull(errorMessage);
-		fStatusMessage= errorMessage;
-		fSeverity= IStatus.ERROR;
-	}
-
-	/*
-	 * Sets the status to WARNING.
-	 * @param The warning message (can be empty, but not null)
-	 */		
-	public void setWarning(String warningMessage) {
-		Assert.isNotNull(warningMessage);
-		fStatusMessage= warningMessage;
-		fSeverity= IStatus.WARNING;
-	}
-
-	/*
-	 * Sets the status to INFO.
-	 * @param The info message (can be empty, but not null)
-	 */		
-	public void setInfo(String infoMessage) {
-		Assert.isNotNull(infoMessage);
-		fStatusMessage= infoMessage;
-		fSeverity= IStatus.INFO;
-	}	
-
-	/*
-	 * Sets the status to OK.
-	 */		
-	public void setOK() {
-		fStatusMessage= null;
-		fSeverity= IStatus.OK;
-	}
-	
-	/*
-	 * @see IStatus#matches(int)
-	 */
-	public boolean matches(int severityMask) {
-		return (fSeverity & severityMask) != 0;
-	}
-
-	/**
-	 * Returns always <code>false</code>.
-	 * @see IStatus#isMultiStatus()
-	 */
-	public boolean isMultiStatus() {
-		return false;
-	}
-
-	/*
-	 * @see IStatus#getSeverity()
-	 */
-	public int getSeverity() {
-		return fSeverity;
-	}
-
-	/*
-	 * @see IStatus#getPlugin()
-	 */
-	public String getPlugin() {
-		return "XMLPlugIn"; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns always <code>null</code>.
-	 * @see IStatus#getException()
-	 */
-	public Throwable getException() {
-		return null;
-	}
-
-	/**
-	 * Returns always the error severity.
-	 * @see IStatus#getCode()
-	 */
-	public int getCode() {
-		return fSeverity;
-	}
-
-	/**
-	 * Returns always <code>null</code>.
-	 * @see IStatus#getChildren()
-	 */
-	public IStatus[] getChildren() {
-		return new IStatus[0];
-	}	
-
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusUtil.java b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusUtil.java
deleted file mode 100644
index 47c7c03..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/ui/StatusUtil.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml.ui;
-
-import org.eclipse.jface.dialogs.DialogPage;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * A utility class to work with IStatus.
- */
-public class StatusUtil {
-
-	/*
-	 * Compares two instances of <code>IStatus</code>. The more severe is returned:
-	 * An error is more severe than a warning, and a warning is more severe
-	 * than ok. If the two stati have the same severity, the second is returned.
-	 */
-	public static IStatus getMoreSevere(IStatus s1, IStatus s2) {
-		if (s1.getSeverity() > s2.getSeverity())
-			return s1;
-		return s2;
-	}
-
-	/*
-	 * Finds the most severe status from a array of stati.
-	 * An error is more severe than a warning, and a warning is more severe
-	 * than ok.
-	 */
-	public static IStatus getMostSevere(IStatus[] status) {
-		IStatus max= null;
-		for (int i= 0; i < status.length; i++) {
-			IStatus curr= status[i];
-			if (curr.matches(IStatus.ERROR)) {
-				return curr;
-			}
-			if (max == null || curr.getSeverity() > max.getSeverity()) {
-				max= curr;
-			}
-		}
-		return max;
-	}
-	
-	/*
-	 * Returns error-message / warning-message for a status. 
-	 * @return Array of size 2. Index 0 is the error message or <null>
-	 * if not an error. Index 1 the warning message or <null> if not a warning.
-	 */
-	private static String[] getErrorMessages(IStatus status) {
-		String message= status.getMessage();
-		if (status.matches(IStatus.ERROR) && !"".equals(message)) { //$NON-NLS-1$
-			return new String[] { message, null };
-		} else if (status.matches(IStatus.WARNING | IStatus.INFO)) {
-			return new String[] { null, message };
-		} else {
-			return new String[] { null, null };
-		}
-	}
-	
-	/*
-	 * Applies the status to the status line of a dialog page.
-	 */
-	public static void applyToStatusLine(DialogPage page, IStatus status) {
-		String[] messages= getErrorMessages(status);
-		page.setErrorMessage(messages[0]);
-		page.setMessage(messages[1]);
-	}
-	
-	/*
-	 * Applies the status to a message line
-	 */
-	public static void applyToStatusLine(MessageLine messageLine, IStatus status) {
-		String[] messages= getErrorMessages(status);
-		messageLine.setErrorMessage(messages[0]);
-		messageLine.setMessage(messages[1]);
-	}
-}
diff --git a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/xmlcompare.properties b/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/xmlcompare.properties
deleted file mode 100644
index 8f8ff32..0000000
--- a/examples/org.eclipse.compare.examples.xml/src/org/eclipse/compare/examples/xml/xmlcompare.properties
+++ /dev/null
@@ -1,109 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-#
-# Structure Creator
-#
-XMLStructureCreator_pluginname= XML Compare
-XMLStructureCreator_unordered= Unordered
-XMLStructureCreator_ordered= Ordered
-XMLStructureCreator_idmap_unordered= Unordered
-XMLStructureCreator_id_map_scheme= Id Map Scheme:
-XMLStructureCreator_body= body
-
-
-#
-# Id Scheme Drop Down Menu
-#
-ChooseMatcherDropDownAction_text= Compare Mode
-ChooseMatcherDropDownAction_tooltip= Compare Mode
-
-#
-# Preference Page
-#
-XMLComparePreference_idtype_attribute= attribute
-XMLComparePreference_idtype_child_body= child text
-XMLComparePreference_topTableLabel= Id Mapping schemes:
-XMLComparePreference_topTableColumn1= Name
-XMLComparePreference_topTableColumn2= Internal/User
-XMLComparePreference_topTableColumn2internal= Internal
-XMLComparePreference_topTableColumn2user= User
-XMLComparePreference_topTableColumn3= Extension
-XMLComparePreference_topAdd= &Add...
-XMLComparePreference_topRename= &Edit...
-XMLComparePreference_topRemove= &Remove
-XMLComparePreference_topEdit= Edit &Copy...
-XMLComparePreference_middleTableColumn1= Element
-XMLComparePreference_middleTableColumn2= Path
-XMLComparePreference_middleTableColumn3= Id Attribute
-XMLComparePreference_middleTableColumn4= Id Source
-XMLComparePreference_middleNew= &New...
-XMLComparePreference_middleEdit= E&dit...
-XMLComparePreference_middleRemove= Re&move
-XMLComparePreference_middleTableLabel=Element mappings of selected Id Mapping Scheme:
-XMLComparePreference_bottomTableLabel=Elements whose children are compared in ordered fashion:
-XMLComparePreference_bottomTableColumn1=Element
-XMLComparePreference_bottomTableColumn2=Path
-XMLComparePreference_bottomNew=Ne&w...
-XMLComparePreference_bottomEdit=Edi&t...
-XMLComparePreference_bottomRemove=Remo&ve
-
-#
-# Dialogs
-#
-XMLCompareAddIdMapDialog_editTitle= Edit Id Mapping Scheme
-XMLCompareAddIdMapDialog_newTitle= New Id Mapping Scheme
-XMLCompareAddIdMapDialog_label= ID Map Name:
-XMLCompareAddIdMapDialog_extlabel= Extension (optional)
-XMLCompareAddIdMapDialog_error_noname= Enter Id Map Name.
-XMLCompareAddIdMapDialog_error_invalidname= Invalid Id Map Name.
-XMLCompareAddIdMapDialog_error_idmapExists= Id Map already exists.
-XMLCompareAddIdMapDialog_error_extfullstop= Extension cannot contain '.'
-XMLCompareAddIdMapDialog_error_extExists= Extension already set for
-
-XMLCompareEditCopyIdMapDialog_title= Create Editable Copy of Internal Scheme
-XMLCompareEditCopyIdMapDialog_comment= You cannon edit an internal Id Map Scheme.\nTherefore, a user copy of the Id Map Scheme will created for editing.\nThe extension associated with the internal Id Map Scheme will not be transferred.\n\nPlease Enter a new name for the Id Map Scheme copy.
-XMLCompareEditCopyIdMapDialog_label= ID Map Name of Copy:
-XMLCompareEditCopyIdMapDialog_error_noname= Enter Id Map Name.
-XMLCompareEditCopyIdMapDialog_error_invalidname= Invalid Id Map Name.
-XMLCompareEditCopyIdMapDialog_error_nameExists= Id Map Name already exists.
-
-XMLCompareEditMappingDialog_editTitle= Edit Mapping
-XMLCompareEditMappingDialog_newTitle= New Mapping
-XMLCompareEditMappingDialog_element= Element
-XMLCompareEditMappingDialog_signature= Path
-XMLCompareEditMappingDialog_idattribute= ID
-XMLCompareEditMappingDialog_idtype= ID Source
-XMLCompareEditMappingDialog_idtype_tooltip= Select whether the ID is an attribute of the element or the text of a child
-XMLCompareEditMappingDialog_idtype_attribute_tooltip= ID is an attribute of the element
-XMLCompareEditMappingDialog_idtype_childbody_tooltip= ID is the text of a child element
-XMLCompareEditMappingDialog_error_noname= Enter Element Name.
-XMLCompareEditMappingDialog_error_invalidname= Invalid Element Name.
-XMLCompareEditMappingDialog_error_mappingExists= Mapping already exists.
-XMLCompareEditMappingDialog_error_invalidsignature= Invalid Signature.
-XMLCompareEditMappingDialog_error_invalididattribute= Invalid ID Attribute.
-
-XMLCompareEditOrderedDialog_newTitle=New Ordered
-XMLCompareEditOrderedDialog_editTitle=Edit Ordered
-XMLCompareEditOrderedDialog_error_orderedExists=Ordered entry already exists
-
-#
-# XMLStructureViewer
-#
-XMLStructureViewer_newtask= Create new Id Map Scheme
-XMLStructureViewer_action_notUserIdMap= Please select a User Id Mapping Scheme
-XMLStructureViewer_action_setId_text1= Already set as Id
-XMLStructureViewer_action_setId_text2= Replace existing Id
-XMLStructureViewer_action_setId_text3= Set as Id
-XMLStructureViewer_action_setOrdered_exists= Ordered entry exists already
-XMLStructureViewer_action_setOrdered=Set children as ordered
-XMLStructureViewer_matching_beginTask=Running Matching algorithm...
-
diff --git a/examples/org.eclipse.compare.examples.xml/tests/org/eclipse/compare/examples/xml/AllXMLCompareTests.java b/examples/org.eclipse.compare.examples.xml/tests/org/eclipse/compare/examples/xml/AllXMLCompareTests.java
deleted file mode 100644
index ea90ecd..0000000
--- a/examples/org.eclipse.compare.examples.xml/tests/org/eclipse/compare/examples/xml/AllXMLCompareTests.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import junit.framework.*;
-
-/**
- * TestSuite that runs all the XML Compare tests.
- */
-public class AllXMLCompareTests {
-
-	public static void main (String[] args) {
-		junit.textui.TestRunner.run (suite());
-	}
-	
-	public static Test suite ( ) {
-		TestSuite suite= new TestSuite("All XML Compare Tests"); //$NON-NLS-1$
-		suite.addTest(TestXMLStructureCreator.suite());
-	    return suite;
-	}
-}
-
diff --git a/examples/org.eclipse.compare.examples.xml/tests/org/eclipse/compare/examples/xml/TestXMLStructureCreator.java b/examples/org.eclipse.compare.examples.xml/tests/org/eclipse/compare/examples/xml/TestXMLStructureCreator.java
deleted file mode 100644
index f3e0ed9..0000000
--- a/examples/org.eclipse.compare.examples.xml/tests/org/eclipse/compare/examples/xml/TestXMLStructureCreator.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.xml;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import junit.framework.*;
-
-import org.eclipse.jface.text.Document;
-
-import org.eclipse.compare.IEncodedStreamContentAccessor;
-import org.eclipse.compare.examples.xml.XMLChildren;
-import org.eclipse.compare.examples.xml.XMLNode;
-import org.eclipse.compare.examples.xml.XMLStructureCreator;
-import org.eclipse.core.runtime.CoreException;
-
-public class TestXMLStructureCreator extends TestCase {
-	
-	Document fdoc;
-	XMLStructureCreator fsc;
-	
-	public class TestStream implements IEncodedStreamContentAccessor {
-		String fString;
-		
-		public TestStream(String string) {
-			fString= string;
-		}
-		
-		public InputStream getContents() throws CoreException {
-			try {
-				return new ByteArrayInputStream(fString.getBytes("UTF-16")); //$NON-NLS-1$
-			} catch (Exception e) {
-				return new ByteArrayInputStream(fString.getBytes());
-			}
-		}
-		
-		public String getCharset() {
-			return "UTF-16"; //$NON-NLS-1$
-		}
-	}
-	
-	public TestXMLStructureCreator(String name) {
-		super(name);
-	}
-
-	protected void setUp() {
-		System.out.println("TestXMLStructureCreator.name()==" + getName()); //$NON-NLS-1$
-		fdoc = new Document();
-		fsc = new XMLStructureCreator();
-	}
-	
-	protected void tearDown() throws Exception {
-		//remove set-up
-	}
-	
-	public static Test suite() {
-		return new TestSuite(TestXMLStructureCreator.class);
-	}
-
-	public void test0() {
-		TestStream s= new TestStream("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<a attr1=\"&lt;b&gt;&lt;/b&gt;\"\nattr2=\"he\n ll\n o2\" attr3=\"hello3\"\nattr4=\"hello4\"><b attr=\n\"battr\" attr2=\"battr2\">\n<c/>\n</b>\n<b2/>\n</a>\n"); //$NON-NLS-1$
-		XMLChildren Tree= (XMLChildren) fsc.getStructure(s);
-
-		XMLChildren ExpectedTree = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,XMLStructureCreator.ROOT_ID, "",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$
-		//create Expected Tree
-		XMLChildren parent = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,"a<[1]","<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<a attr1=\"&lt;b&gt;&lt;/b&gt;\"\nattr2=\"he\n ll\n o2\" attr3=\"hello3\"\nattr4=\"hello4\"><b attr=\n\"battr\" attr2=\"battr2\">\n<c/>\n</b>\n<b2/>\n</a>\n",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		parent.setName("a [1]"); //$NON-NLS-1$
-		ExpectedTree.addChild(parent);
-		parent.setParent(ExpectedTree);
-		XMLChildren current = new XMLChildren(XMLStructureCreator.TYPE_ATTRIBUTE,"attr1","<b></b>",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + "attr1" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ATTRIBUTE), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("attr1"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ATTRIBUTE,"attr2","he  ll  o2",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + "attr2" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ATTRIBUTE), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("attr2"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ATTRIBUTE,"attr3","hello3",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + "attr3" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ATTRIBUTE), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("attr3"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ATTRIBUTE,"attr4","hello4",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + "attr4" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ATTRIBUTE), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("attr4"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,"b<[1]","<b attr=\n\"battr\" attr2=\"battr2\">\n<c/>\n</b>\n",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR +"b" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("b [1]"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		parent = current;
-		current = new XMLChildren(XMLStructureCreator.TYPE_ATTRIBUTE,"attr","battr",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + "attr" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ATTRIBUTE), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		current.setName("attr"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ATTRIBUTE,"attr2","battr2",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + "attr2" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ATTRIBUTE), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		current.setName("attr2"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,"c<[1]","<c/>",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + "c" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		current.setName("c [1]"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		parent = (XMLChildren) parent.getParent();
-		current = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,"b2<[1]","<b2/>",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR +"b2" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("b2 [1]"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		
-		checkTrees(Tree,ExpectedTree);
-	}
-		
-	public void test1() {
-		TestStream s= new TestStream("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<a>body_a_1\n  <b>body_b_1\n    <c>body_c_1\n      <d2>body_d2\n      </d2>\nbody_c_2\n    </c>\nbody_b_2\n  </b>\nbody_a_2\n  <b2>\n  </b2>\nbody_a_3\n</a>"); //$NON-NLS-1$
-		XMLChildren Tree= (XMLChildren) fsc.getStructure(s);
-
-		XMLChildren ExpectedTree = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,XMLStructureCreator.ROOT_ID, "",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$
-		//create Expected Tree
-		XMLChildren parent = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,"a<[1]","<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<a>body_a_1\n  <b>body_b_1\n    <c>body_c_1\n      <d2>body_d2\n      </d2>\nbody_c_2\n    </c>\nbody_b_2\n  </b>\nbody_a_2\n  <b2>\n  </b2>\nbody_a_3\n</a>",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		parent.setName("a [1]"); //$NON-NLS-1$
-		ExpectedTree.addChild(parent);
-		parent.setParent(ExpectedTree);
-		XMLChildren current = new XMLChildren(XMLStructureCreator.TYPE_TEXT,"body_(1)","body_a_1\n  ",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_TEXT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		current.setName("body (1)"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,"b<[1]","<b>body_b_1\n    <c>body_c_1\n      <d2>body_d2\n      </d2>\nbody_c_2\n    </c>\nbody_b_2\n  </b>\n",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("b [1]"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		parent = current;
-		current = new XMLChildren(XMLStructureCreator.TYPE_TEXT,"body_(1)","body_b_1\n    ",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_TEXT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("body (1)"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,"c<[1]","<c>body_c_1\n      <d2>body_d2\n      </d2>\nbody_c_2\n    </c>\n",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR +"a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + "c" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		current.setName("c [1]"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		parent = current;
-		current = new XMLChildren(XMLStructureCreator.TYPE_TEXT,"body_(1)","body_c_1\n      ",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + "c" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_TEXT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		current.setName("body (1)"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,"d2<[1]","<d2>body_d2\n      </d2>\n",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + "c" + XMLStructureCreator.SIGN_SEPARATOR + "d2" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-		current.setName("d2 [1]"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		parent = current;
-		current = new XMLChildren(XMLStructureCreator.TYPE_TEXT,"body_(1)","body_d2\n      ",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + "c" + XMLStructureCreator.SIGN_SEPARATOR + "d2" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_TEXT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-		current.setName("body (1)"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		parent = (XMLChildren) parent.getParent();
-		current = new XMLChildren(XMLStructureCreator.TYPE_TEXT,"body_(2)","\nbody_c_2\n    ",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + "c" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_TEXT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		current.setName("body (2)"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		parent = (XMLChildren) parent.getParent();
-		current = new XMLChildren(XMLStructureCreator.TYPE_TEXT,"body_(2)","\nbody_b_2\n  ",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + "b" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_TEXT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("body (2)"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		parent = (XMLChildren) parent.getParent();
-		current = new XMLChildren(XMLStructureCreator.TYPE_TEXT,"body_(2)","\nbody_a_2\n  ",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_TEXT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		current.setName("body (2)"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_ELEMENT,"b2<[1]","<b2>\n  </b2>\n",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + "b2" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_ELEMENT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		current.setName("b2 [1]"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-		current = new XMLChildren(XMLStructureCreator.TYPE_TEXT,"body_(3)","\nbody_a_3\n",(XMLStructureCreator.ROOT_ID + XMLStructureCreator.SIGN_SEPARATOR + "a" + XMLStructureCreator.SIGN_SEPARATOR + XMLStructureCreator.SIGN_TEXT), fdoc, 0, 0); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		current.setName("body (2)"); //$NON-NLS-1$
-		parent.addChild(current);
-		current.setParent(parent);
-
-		checkTrees(Tree,ExpectedTree);
-	}
-		
-	protected void checkTrees(XMLNode left, XMLNode right) {
-		if (left != null && right != null) {
-			//System.out.println(left.getName() + ", " + right.getName());
-			//System.out.println(">" + left.getValue() + "<\n>" + right.getValue() + "<");
-			assertTrue(left.testEquals(right));
-			Object[] leftChildren = left.getChildren();
-			Object[] rightChildren = right.getChildren();
-			if (leftChildren != null && rightChildren != null) {
-				if (leftChildren.length == rightChildren.length) {
-					for (int i=0; i<leftChildren.length; i++)
-						checkTrees((XMLNode) leftChildren[i], (XMLNode) rightChildren[i]);
-				} else
-					assertTrue(false);
-			}
-		} else if ( ((left == null) && (right != null)) || ((left != null) && (right == null)) ) {
-			assertTrue(false);
-		}
-	}
-}
-
diff --git a/examples/org.eclipse.compare.examples/.classpath b/examples/org.eclipse.compare.examples/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/examples/org.eclipse.compare.examples/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.compare.examples/.cvsignore b/examples/org.eclipse.compare.examples/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.compare.examples/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.compare.examples/.project b/examples/org.eclipse.compare.examples/.project
deleted file mode 100644
index 0729f0a..0000000
--- a/examples/org.eclipse.compare.examples/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.compare.examples</name>
-	<comment></comment>
-	<projects></projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.compare.examples/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.compare.examples/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 380a449..0000000
--- a/examples/org.eclipse.compare.examples/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,70 +0,0 @@
-#Tue Nov 30 15:46:38 CET 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/examples/org.eclipse.compare.examples/.settings/org.eclipse.pde.prefs b/examples/org.eclipse.compare.examples/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 85347de..0000000
--- a/examples/org.eclipse.compare.examples/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Wed Jun 01 18:31:47 CEST 2005
-compilers.p.deprecated=0
-compilers.p.illegal-att-value=0
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.p.unused-element-or-attribute=1
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/examples/org.eclipse.compare.examples/about.html b/examples/org.eclipse.compare.examples/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.compare.examples/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.compare.examples/build.properties b/examples/org.eclipse.compare.examples/build.properties
deleted file mode 100644
index 6a8c1a2..0000000
--- a/examples/org.eclipse.compare.examples/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.compareexamples.jar = src/
-
-bin.includes = doc-html/,\
-				about.html,\
-				plugin.properties,\
-				plugin.xml,\
-				compareexamples.jar
-
-src.includes = about.html
diff --git a/examples/org.eclipse.compare.examples/doc-html/ui_structurecreator_ex.html b/examples/org.eclipse.compare.examples/doc-html/ui_structurecreator_ex.html
deleted file mode 100644
index 3f1312a..0000000
--- a/examples/org.eclipse.compare.examples/doc-html/ui_structurecreator_ex.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
-<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Structural Compare for Key/Value Pairs</title>
-</head>
-<body>
-
-<h2>Compare Example - Structural Compare for Key/Value Pairs</h2>
-
-<h3>Introduction</h3>
-
-This example demonstrates how to support structural compare for
-files consisting of key/value pairs. It shows how to implement and register a
-custom structure creator that parses key/value pairs into a tree structure
-that is used as the input to the structural compare framework provided by the
-Compare plugin. In addition, it registers a standard text viewer for the individual
-key/value pairs.
-
-<p>
-
-This example is only for demonstration purposes. Structural compare support
-for Java property files (another key/value format) is provided by the Eclipse Java Tooling. 
-
-<h3> Running the example</h3>
-
-<ol>
-	<li>Create a project (not necessarily a Java project)</li>
-	
-	<li>Create a key/value pair file f1.kv</li>
-	
-	<li>Open <strong>Window</strong> &gt; <strong>Preferences</strong> &gt; <strong>Workbench</strong> &gt; <strong>File Association</strong>
-	and associate the default text editor with the file extension "kv"</li>
-	
-	<li>Open f1.kv with the editor and enter this contents
-	<pre>
-lastname=Doe
-firstname=John
-city=Chicago
-state=IL
-</pre></li>
-	
-	<li>Make a copy of this file and rename it f2.kv</li>
-	
-	<li>Open f2.kv and change the firstname "John" to "Mary"</li>
-
-	<li>Add another key/value pair "country=US" to f2.kv</li>
-	
-	<li>Select both files f1.kv and f2.kv</li>
-	
-	<li>From the context menu select <strong>Compare With</strong> &gt; <strong>Each Other</strong></li>
-	
-	<li>A new compare editor opens that shows the structural differences of both files in its
-	top pane. Selecting one of the properties "firstname" or "country" feeds the text of the
-	corresponding key/value pair into the standard text compare viewer in the bottom pane.
-	</li>
-	
-</ol>
-
-<h3>Code organization of the example</h3>
-The example code is organized in a single package <tt>org.eclipse.compare.examples.structurecreator</tt>:
-
-<ul>
-	<li><tt>KeyValuePairStructureCreator</tt><br>
-	is the structure creator that parses the contents of a stream into a tree of
-	<tt>IStructureComparator</tt>s.
-	</li>
-	
-	<li><tt>TextMergeViewerCreator</tt><br>
-	is a factory for TextMergeViewers. It is registered for the type "kvtxt" which is the
-	type of an individual key/value pair.
-	</li>
-	
-	<li><tt>Util</tt><br>
-	provides utility methods for NLS support and for reading an InputStream as a String.
-	</li>
-	
-</ul>
-
-</body>
-</html>
diff --git a/examples/org.eclipse.compare.examples/plugin.properties b/examples/org.eclipse.compare.examples/plugin.properties
deleted file mode 100644
index e74ae37..0000000
--- a/examples/org.eclipse.compare.examples/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-#
-# Resource strings for Compare Examples plugin.xml file
-#
-pluginName= Compare Example
-providerName= Eclipse.org
diff --git a/examples/org.eclipse.compare.examples/plugin.xml b/examples/org.eclipse.compare.examples/plugin.xml
deleted file mode 100644
index ac45c4c..0000000
--- a/examples/org.eclipse.compare.examples/plugin.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-
-<plugin
-   id="org.eclipse.compare.examples"
-   name="%pluginName"
-   version="3.1.100.qualifier"
-   provider-name="%providerName">
-
-   <runtime>
-      <library name="compareexamples.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.compare"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-   </requires>
-
-   <extension
-         point="org.eclipse.compare.contentMergeViewers">
-      <viewer
-            extensions="kvtxt"
-            class="org.eclipse.compare.examples.structurecreator.TextMergeViewerCreator"
-            id="org.eclipse.compare.examples.TextMergeViewerCreator">
-      </viewer>
-   </extension>
-   
-   <extension
-         point="org.eclipse.compare.structureCreators">
-      <structureCreator
-            extensions="kv"
-            class="org.eclipse.compare.examples.structurecreator.KeyValuePairStructureCreator"
-            id="org.eclipse.compare.examples.KeyValuePairStructureCreator">
-      </structureCreator>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/CompareExampleMessages.properties b/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/CompareExampleMessages.properties
deleted file mode 100644
index eac11f6..0000000
--- a/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/CompareExampleMessages.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-#
-# Resource strings
-#
-KeyValuePairStructureCreator.title= Key/Value Pair Compare
-KeyValuePairStructureCreator.CoreException.message= CoreException 
-KeyValuePairStructureCreator.BadLocationException.message= BadLocationException
diff --git a/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/KeyValuePairStructureCreator.java b/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/KeyValuePairStructureCreator.java
deleted file mode 100644
index 6ffbe3f..0000000
--- a/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/KeyValuePairStructureCreator.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.structurecreator;
-
-import org.eclipse.swt.graphics.*;
-
-import org.eclipse.jface.text.*;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.compare.*;
-import org.eclipse.compare.structuremergeviewer.*;
-
-
-/**
- * This structure creator parses input containing key/value pairs
- * and returns the pairs as a tree of <code>IStructureComparator</code>s.
- * Each key/value pair must be on a separate line and keys are separated
- * from values by a '='.
- * <p>
- * Example:
- * <pre>
- *    foo=bar
- *    name=joe
- * </pre>
- */
-public class KeyValuePairStructureCreator implements IStructureCreator {
-	
-	static class KeyValueNode extends DocumentRangeNode implements ITypedElement {
-		
-		String fValue;
-		
-		public KeyValueNode(String id, String value, IDocument doc, int start, int length) {
-			super(0, id, doc, start, length);
-			fValue= value;
-		}
-		
-		String getValue() {
-			return fValue;
-		}
-				
-		/*
-		 * @see ITypedElement#getName
-		 */
-		public String getName() {
-			return this.getId();
-		}
-
-		/*
-		 * Every key/value pair is of type "kvtxt". We register a TextMergeViewer for it. 
-		 * @see ITypedElement#getType
-		 */
-		public String getType() {
-			return "kvtxt"; //$NON-NLS-1$
-		}
-		
-		/*
-		 * @see ITypedElement#getImage
-		 */
-		public Image getImage() {
-			return CompareUI.getImage(getType());
-		}
-	}
-		
-		
-	public KeyValuePairStructureCreator() {
-		// nothing to do
-	}
-	
-	/*
-	 * This title will be shown in the title bar of the structure compare pane.
-	 */
-	public String getName() {
-		return Util.getString("KeyValuePairStructureCreator.title"); //$NON-NLS-1$
-	}
-
-	/*
-	 * Returns a node.
-	 */
-	public IStructureComparator getStructure(Object input) {
-		
-		if (!(input instanceof IStreamContentAccessor))
-			return null;
-		
-		IStreamContentAccessor sca= (IStreamContentAccessor) input;
-		try {
-			String contents= Util.readString(sca);
-			if (contents == null)
-				contents= ""; //$NON-NLS-1$
-			Document doc= new Document(contents);
-							
-			KeyValueNode root= new KeyValueNode("root", "", doc, 0, doc.getLength()); //$NON-NLS-1$ //$NON-NLS-2$
-		
-			for (int i= 0; i < doc.getNumberOfLines(); i++) {
-				
-				IRegion r= doc.getLineInformation(i);
-				String s= doc.get(r.getOffset(), r.getLength());
-				int start= r.getOffset();
-					
-				String key= ""; //$NON-NLS-1$
-				String value= ""; //$NON-NLS-1$
-				int pos= s.indexOf('=');
-				if (pos >= 0) {
-					key= s.substring(0, pos);
-					value= s.substring(pos+1);
-				} else {
-					key= s;
-				}
-				if (key.length() > 0)
-					root.addChild(new KeyValueNode(key, value, doc, start, s.length()));
-			}
-			return root;
-		} catch (CoreException ex) {
-			String message= Util.getString("KeyValuePairStructureCreator.CoreException.message"); //$NON-NLS-1$
-			CompareUI.getPlugin().getLog().log(new Status(IStatus.ERROR, CompareUI.PLUGIN_ID, 0, message, ex));
-		} catch (BadLocationException ex) {
-			String message= Util.getString("KeyValuePairStructureCreator.BadLocationException.message"); //$NON-NLS-1$
-			CompareUI.getPlugin().getLog().log(new Status(IStatus.ERROR, CompareUI.PLUGIN_ID, 0, message, ex));
-		}
-				
-		return null;
-	}
-	
-	public void save(IStructureComparator structure, Object input) {
-		if (input instanceof IEditableContent && structure instanceof KeyValueNode) {
-			IDocument doc= ((KeyValueNode)structure).getDocument();
-			IEditableContent bca= (IEditableContent) input;
-			String c= doc.get();
-			bca.setContent(c.getBytes());
-		}
-	}
-	
-	public String getContents(Object node, boolean ignoreWhitespace) {
-		if (node instanceof KeyValueNode) {
-			String s= ((KeyValueNode)node).getValue();
-			if (ignoreWhitespace)
-				s= s.trim();
-			return s;
-		}
-		return null;
-	}
-	
-	public IStructureComparator locate(Object path, Object source) {
-		return null;
-	}
-}
diff --git a/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/TextMergeViewerCreator.java b/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/TextMergeViewerCreator.java
deleted file mode 100644
index 397a49e..0000000
--- a/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/TextMergeViewerCreator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.structurecreator;
-
-import org.eclipse.swt.widgets.Composite;
-
-import org.eclipse.jface.viewers.Viewer;
-
-import org.eclipse.compare.*;
-import org.eclipse.compare.contentmergeviewer.TextMergeViewer;
-
-/**
- * A factory object for the <code>TextMergeViewer</code>.
- * This indirection is necessary because only objects with a default
- * constructor can be created via an extension point
- * (this precludes Viewers).
- */
-public class TextMergeViewerCreator implements IViewerCreator {
-
-	public Viewer createViewer(Composite parent, CompareConfiguration mp) {
-		return new TextMergeViewer(parent, mp);
-	}
-}
diff --git a/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/Util.java b/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/Util.java
deleted file mode 100644
index 5522d83..0000000
--- a/examples/org.eclipse.compare.examples/src/org/eclipse/compare/examples/structurecreator/Util.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.compare.examples.structurecreator;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.compare.IStreamContentAccessor;
-import org.eclipse.compare.IEncodedStreamContentAccessor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-
-
-public class Util {
-
-	private static final String RESOURCE_BUNDLE= "org.eclipse.compare.examples.structurecreator.CompareExampleMessages"; //$NON-NLS-1$
-
-	private static ResourceBundle fgResourceBundle= ResourceBundle.getBundle(RESOURCE_BUNDLE);
-
-	public static String getString(String key) {
-		try {
-			return fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return "!" + key + "!";	//$NON-NLS-2$ //$NON-NLS-1$
-		}
-	}
-
-	/*
-	 * Reads the contents of the given input stream into a string.
-	 * The function assumes that the input stream uses the platform's default encoding
-	 * (<code>ResourcesPlugin.getEncoding()</code>).
-	 * Returns null if an error occurred.
-	 */
-	private static String readString(InputStream is, String encoding) {
-		if (is == null)
-			return null;
-		BufferedReader reader= null;
-		try {
-			StringBuffer buffer= new StringBuffer();
-			char[] part= new char[2048];
-			int read= 0;
-			reader= new BufferedReader(new InputStreamReader(is, encoding));
-
-			while ((read= reader.read(part)) != -1)
-				buffer.append(part, 0, read);
-			
-			return buffer.toString();
-			
-		} catch (IOException ex) {
-			// silently ignored
-		} finally {
-			if (reader != null) {
-				try {
-					reader.close();
-				} catch (IOException ex) {
-					// we don't log IOException when closing a file
-				}
-			}
-		}
-		return null;
-	}
-
-	static String readString(IStreamContentAccessor sa) throws CoreException {
-		InputStream is= sa.getContents();
-		String encoding= null;
-		if (sa instanceof IEncodedStreamContentAccessor)
-			encoding= ((IEncodedStreamContentAccessor)sa).getCharset();
-		if (encoding == null)
-			encoding= ResourcesPlugin.getEncoding();
-		return readString(is, encoding);
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/.classpath b/examples/org.eclipse.team.examples.filesystem/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/examples/org.eclipse.team.examples.filesystem/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.team.examples.filesystem/.cvsignore b/examples/org.eclipse.team.examples.filesystem/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.team.examples.filesystem/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.team.examples.filesystem/.project b/examples/org.eclipse.team.examples.filesystem/.project
deleted file mode 100644
index 24dbef3..0000000
--- a/examples/org.eclipse.team.examples.filesystem/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.team.examples.filesystem</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.team.examples.filesystem/.settings/org.eclipse.jdt.core.prefs b/examples/org.eclipse.team.examples.filesystem/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 82f0a71..0000000
--- a/examples/org.eclipse.team.examples.filesystem/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,62 +0,0 @@
-#Thu May 11 13:20:53 EDT 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/examples/org.eclipse.team.examples.filesystem/.settings/org.eclipse.jdt.ui.prefs b/examples/org.eclipse.team.examples.filesystem/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index b35e41a..0000000
--- a/examples/org.eclipse.team.examples.filesystem/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Wed Mar 15 21:17:48 EST 2006
-eclipse.preferences.version=1
-internal.default.compliance=user
diff --git a/examples/org.eclipse.team.examples.filesystem/about.html b/examples/org.eclipse.team.examples.filesystem/about.html
deleted file mode 100644
index 4602330..0000000
--- a/examples/org.eclipse.team.examples.filesystem/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/examples/org.eclipse.team.examples.filesystem/build.properties b/examples/org.eclipse.team.examples.filesystem/build.properties
deleted file mode 100644
index 4a3d45d..0000000
--- a/examples/org.eclipse.team.examples.filesystem/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# Eclipse build contribution
-source.teamfilesystem.jar=src/
-src.includes=about.html
-bin.includes=about.html,icons/,doc-html/,plugin.xml,plugin.properties,*.jar
diff --git a/examples/org.eclipse.team.examples.filesystem/doc-html/team_filesystem_ex.html b/examples/org.eclipse.team.examples.filesystem/doc-html/team_filesystem_ex.html
deleted file mode 100644
index d5167a1..0000000
--- a/examples/org.eclipse.team.examples.filesystem/doc-html/team_filesystem_ex.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0//en">
-<html>
-<head>
-   <meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Team - File System Repository Provider Example</title>
-</head>
-<body>
-
-<h2>Team - File System Repository Provider Example</h2>
-
-<h3>Introduction</h3>
-<p>
-The File System and Pessimistic Repository Providers examples shows how to define your own repository provider. In particular you
-this example shows how to:
-<ul>
-<li>Extend the RepositoryProvider class and register a new repository provider.
-<li>Register a sharing wizard that will appear in the Team > Share... wizard.
-<li>Add resource actions to the Team menu.
-<li>Implement synchronization support that shows up the Synchronize View.
-<li>Use decorators to show the repository state of the local resources.
-<li>How to implement a file modification validator.
-<li>Add a repository provider to a capability.
-<li>Add a History page for the basic file system which will display both the local history revisions and the file system revisions in the
-History view.</li>
-</ul>
-The example includes two separate repository providers: the basic file system and the pessimistic file system. The basic provider illustrates
-the synchronization support whereas the pessimistic provider is more focused to allowing you to test the workbench behavior with pessimistic
-repository providers. There is a preference page for the pessimistic provider that allows configuring the behavior of the file modification
-validator.
-
-<h3>Running the example</h3>
-<p>
-To start using this example create a project and select <b>Team > Share Project...</b> from the project's popup menu. Click the show 
-all wizards button. This will show both the file system provider and the pessimistic provider.
-<ul>
-<li><b>Basic file system provider</b>: you will have to enter the location in the local file system where you would like to connect the project
-to. The Get and Put operations in the Team menu will now transfer to and from the selected location. And if you open the Synchronize View
-you can browse the synchronization between the local workspace and the remote file system location the files are stored in. If you edit
-a file and then create a Synchronization you can browse changes between the local and the remote.
-<li><b>Pessimistic file system provider</b>: the sharing wizard next page doesn't actually require any user input. The pessimistic
-provider doesn't actually copy the local files anywhere, and instead simply simulates a check in/check out by flipping the 
-read-only bit on files. Once a project is shared with the pessimistic provider you can add files to control and the check in and check out.
-</ul>
-<p>
-</body>
-</html>
-
diff --git a/examples/org.eclipse.team.examples.filesystem/doc-html/team_localhistory_ex.html b/examples/org.eclipse.team.examples.filesystem/doc-html/team_localhistory_ex.html
deleted file mode 100644
index 15f964b..0000000
--- a/examples/org.eclipse.team.examples.filesystem/doc-html/team_localhistory_ex.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0//en">
-<html>
-<head>
-   <meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Team - Local History Synchronize Participant Example</title>
-</head>
-<body>
-
-<h2>Team - Local History Synchronize Participant Example</h2>
-
-<h3>Introduction</h3>
-<p> The Local History Synchronize Participant example illustrates how to intergate 
-  a participant into the synchronize view. It covers such things as:
-<ul>
-  <li>Creating a simple subscriber for accessing the local history
-  <li>Creating a synchronize particpant
-  <li>Adding a cusotm action to a particpant
-  <li>Showing custom label decorations 
-  <li>Add a synchronize wizard
-</ul>
-<h3>Running the example</h3>
-<p> To start using this example, open the <strong>Team Synchronizing</strong> 
-  perspective, click on the global Synchronize toolbar action and choose <strong>Synchronize 
-  with Latest from Local History</strong>. A more detailed look at this example 
-  is available in the <a href="../../../guide/team_synchronize_localhistory_example.htm">Local 
-  History Synchronization Example</a> guide section.
-<p>
-</body>
-</html>
-
diff --git a/examples/org.eclipse.team.examples.filesystem/doc-html/team_model_ex.html b/examples/org.eclipse.team.examples.filesystem/doc-html/team_model_ex.html
deleted file mode 100644
index 93ae2c4..0000000
--- a/examples/org.eclipse.team.examples.filesystem/doc-html/team_model_ex.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0//en">
-<html>
-<head>
-   <meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2006. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
-   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-   <title>Team - Logical Model Integration Example</title>
-</head>
-<body>
-
-<h2>Team - Logical Model Integration Example</h2>
-
-<h3>Introduction</h3>
-<p>
-The Logical Model Integration example shows how to make a repository provider 
-logical-model-aware and how to make a logical model team-aware. In particular you
-this example shows how to:
-<ul>
-<li>Use ResourceMappings and ModelProviders to ensure that team operations are
-performed on the proper set of resources.</li>
-<li>Support model participation in synchronization and merge operations.</li>
-<li>Use the Common Navigator framework to show logical model trees.</li>
-</ul>
-The example consists of code for both the repository provider and the model provider arranged in the following packages:
-<ul>
-<li><em>org.eclipse.team.examples.filesystem.subscriber</em>: Low level repository synchronization/merge support.</li>
-<li><em>org.eclipse.team.examples.filesystem.ui</em>: Use of ResourceMapping to ensure operations are performed on 
-the proper set of resources and Synchronize view integration.</li>
-<li><em>org.eclipse.team.examples.model</em>: The core component of the example model.</li>
-<li><em>org.eclipse.team.examples.model.ui</em>: Use of the Common Navigator to provide a tree-based view
-of the example model.</li>
-<li><em>org.eclipse.team.examples.model.mapping</em>: ModelProvider/ResourceMapping support for the example model.</li>
-<li><em>org.eclipse.team.examples.model.mapping.ui</em>: Synchronize view integration for the model.</li>
-</ul>
-
-<h3>Running the example</h3>
-<p>
-To start using this example:
-<ul>
-<li>Create an Example model project (File/New/Other followed by Team Logical Model Example/Model Project)
-<li>Open the Project Explorer to see the new project
-<li>Add Folders and MOD files as desired.
-<li>Add MOE files to MOD files.
-<li>Share the project with the Basic file system provider.
-<li>Perform various team operations including synchronizations to see the results.
-</li>
-</ul>
-<p>
-</body>
-</html>
-
diff --git a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/fldr_obj.gif b/examples/org.eclipse.team.examples.filesystem/icons/full/obj/fldr_obj.gif
deleted file mode 100644
index 51e703b..0000000
--- a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/fldr_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/mod_obj.gif b/examples/org.eclipse.team.examples.filesystem/icons/full/obj/mod_obj.gif
deleted file mode 100644
index 2e4de3d..0000000
--- a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/mod_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/moe_obj.gif b/examples/org.eclipse.team.examples.filesystem/icons/full/obj/moe_obj.gif
deleted file mode 100644
index 7ccc6a7..0000000
--- a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/moe_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/prj_obj.gif b/examples/org.eclipse.team.examples.filesystem/icons/full/obj/prj_obj.gif
deleted file mode 100644
index 8ce926b..0000000
--- a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/prj_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/root_obj.gif b/examples/org.eclipse.team.examples.filesystem/icons/full/obj/root_obj.gif
deleted file mode 100644
index 33be7d8..0000000
--- a/examples/org.eclipse.team.examples.filesystem/icons/full/obj/root_obj.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.team.examples.filesystem/icons/full/wizards/fsicon_wiz.gif b/examples/org.eclipse.team.examples.filesystem/icons/full/wizards/fsicon_wiz.gif
deleted file mode 100644
index af038fa..0000000
--- a/examples/org.eclipse.team.examples.filesystem/icons/full/wizards/fsicon_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.team.examples.filesystem/icons/full/wizards/synced.gif b/examples/org.eclipse.team.examples.filesystem/icons/full/wizards/synced.gif
deleted file mode 100644
index 870934b..0000000
--- a/examples/org.eclipse.team.examples.filesystem/icons/full/wizards/synced.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.team.examples.filesystem/icons/full/wizban/newconnect_wizban.png b/examples/org.eclipse.team.examples.filesystem/icons/full/wizban/newconnect_wizban.png
deleted file mode 100644
index fe515ff..0000000
--- a/examples/org.eclipse.team.examples.filesystem/icons/full/wizban/newconnect_wizban.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.team.examples.filesystem/plugin.properties b/examples/org.eclipse.team.examples.filesystem/plugin.properties
deleted file mode 100644
index 96bcefe..0000000
--- a/examples/org.eclipse.team.examples.filesystem/plugin.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName = Eclipse Team File System Example
-providerName=Eclipse.org
-
-Synchronize.name=Synchronize
-Synchronize.tooltip=Synchronize the selected resources
-Put.name=Put
-Put.tooltip=Copy resources to the shared file system location
-Get.name=Get
-Get.tooltip=Copy resources from the shared file system location to the workbench
-Unmanage.name=Disconnect
-Unmanage.tooltip=Disconnect the project from the shared file system locaton
-
-Replace.name=File System Contents
-Replace.tooltip=Overwrites the local copy of this resource with the one in the repository
-
-fspropertypage.name=FileSystem Provider
-fspropertypage.tooltip=An example repository provider that uses the filesystem to provide storage.
-fswizard.name=File System Example (Non-Versioning)
-fswizard.description=Associate a project with a file system location. This location can be used to shared resources with others.
-
-activity.team.examples.filesystem.name=Team File System Example
-activity.team.examples.filesystem.description=An example Team repository provider.
-activity.team.examples.pessimistic.name=Team Pessimistic Example
-activity.team.examples.pessimistic.description=An example Team repository provider that needs to checkout resources before they can be edited.
diff --git a/examples/org.eclipse.team.examples.filesystem/plugin.xml b/examples/org.eclipse.team.examples.filesystem/plugin.xml
deleted file mode 100644
index 19cb81a..0000000
--- a/examples/org.eclipse.team.examples.filesystem/plugin.xml
+++ /dev/null
@@ -1,630 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<!-- =================================================================================== -->
-<!-- Team Examples Plug-in Manifest 					                                 -->
-<!-- =================================================================================== -->
-<plugin
-   id="org.eclipse.team.examples.filesystem"
-   name="%pluginName"
-   version="3.4.0.qualifier"
-   provider-name="%providerName"
-   class="org.eclipse.team.examples.filesystem.FileSystemPlugin">
-
-<!-- =================================================================================== -->
-<!-- Libraries						 					                                 -->
-<!-- =================================================================================== -->
-
-<runtime>
-	<library name="teamfilesystem.jar">
-    	<export name="*"/>
-	</library>
-</runtime>
-   
-<!-- =================================================================================== -->
-<!-- Imports						 					                                 -->
-<!-- =================================================================================== -->
-   
-<requires>
-	<import plugin="org.eclipse.core.runtime.compatibility"/> 
-	<import plugin="org.eclipse.ui.ide" optional="true"/>
-	<import plugin="org.eclipse.ui.views" optional="true"/>
-	<import plugin="org.eclipse.jface.text" optional="true"/>
-	<import plugin="org.eclipse.ui.workbench.texteditor" optional="true"/>
-	<import plugin="org.eclipse.ui.editors" optional="true"/>
-	<import plugin="org.eclipse.core.resources"/>
-	<import plugin="org.eclipse.team.core"/>
-	<import plugin="org.eclipse.team.ui"/>
-	<import plugin="org.eclipse.compare"/>
-	<import plugin="org.eclipse.ui"/>
- <import plugin="org.eclipse.core.filesystem"/>
- <import plugin="org.eclipse.ui.navigator"/>
-</requires>
-
-<!-- =================================================================================== -->
-<!-- Repository Providers																 -->
-<!-- =================================================================================== -->
-
-<extension point="org.eclipse.team.core.repository">
-	<repository
-    	class="org.eclipse.team.examples.filesystem.FileSystemProvider"
-		id="org.eclipse.team.examples.filesystem.FileSystemProvider">
-	</repository>
-</extension>
-
-<extension point="org.eclipse.team.core.repository">
-	<repository
-		class="org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider"
-		id="org.eclipse.team.examples.pessimistic.pessimisticnature">
-	</repository>
-</extension>
-
-<!-- =================================================================================== -->
-<!-- Synchronize Participants -->
-<!-- =================================================================================== -->
-
- <extension
-       point="org.eclipse.team.ui.synchronizeParticipants">
-    <participant
-          persistent="false"
-          class="org.eclipse.team.examples.filesystem.ui.FileSystemSynchronizeParticipant"
-          icon="icons/full/wizards/fsicon_wiz.gif"
-          name="File System Example"
-          id="org.eclipse.team.examples.filesystem.participant"/>
- </extension>
- 
- <extension
-       point="org.eclipse.team.ui.synchronizeWizards">
-    <wizard
-          class="org.eclipse.team.examples.filesystem.ui.SynchronizeWizard"
-          icon="icons/full/wizards/fsicon_wiz.gif"
-          description="Synchronize files managed with the file system provider."
-          name="Synchronize File System Provider"
-          id="org.eclipse.team.examples.filesystem.synchronizeWizard"/>
- </extension>
- 
- <extension
-         point="org.eclipse.team.ui.synchronizeParticipants">
-      <participant
-            persistent="false"
-            icon="icons/full/wizards/synced.gif"
-            class="org.eclipse.team.examples.localhistory.LocalHistoryParticipant"
-            name="Latest From Local History"
-            id="org.eclipse.team.synchronize.example"/>
-   </extension>
-   
-   <extension
-         point="org.eclipse.team.ui.synchronizeWizards">
-      <wizard
-            class="org.eclipse.team.examples.localhistory.LocalHistorySynchronizeWizard"
-            icon="icons/full/wizards/synced.gif"
-            description="Synchronize resources with their previous contents in the local history"
-            name="Synchronize with Latest From Local History"
-            id="ExampleSynchronizeSupport.wizard1"/>
-   </extension>
-      
-<!-- =================================================================================== -->
-<!-- Common Navigator viewer for the file systen synchronizations						 -->
-<!-- =================================================================================== -->
-   <extension
-         point="org.eclipse.ui.navigator.viewer">
-       <viewer
-           viewerId="org.eclipse.team.examples.filesystem.syncViewer">
-           <popupMenu
-                allowsPlatformContributions="false"
-                id="org.eclipse.team.examples.filesystem.syncViewer#PopupMenu">  
-             <insertionPoint name="file"/>  
-             <insertionPoint name="edit"/>          
-             <insertionPoint name="synchronize"/>
-             <insertionPoint
-                   name="navigate"
-                   separator="true"/>
-             <insertionPoint
-                   name="merge"
-                   separator="true"/>
-             <insertionPoint
-                   name="put"
-                   separator="false"/>
-             <insertionPoint
-                   name="overwrite"
-                   separator="true"/> 
-             <insertionPoint
-                   name="other"
-                   separator="true"/> 
-             <insertionPoint
-                   name="sort"
-                   separator="true"/>
-             <insertionPoint
-                   name="additions"
-                   separator="true"/>              
-             <insertionPoint
-                   name="properties"
-                   separator="true"/>
-          </popupMenu>
-       </viewer>
-   </extension>
-   
-<!-- =================================================================================== -->
-<!-- Menus for File System Example														 -->
-<!-- =================================================================================== -->
-
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.core.resources.mapping.ResourceMapping"
-            adaptable="true"
-            id="org.eclipse.team.examples.filesystem.ResourceContributions">
-         <enablement>
-               <adapt type="org.eclipse.core.resources.mapping.ResourceMapping">
-                   <test property="org.eclipse.core.resources.projectPersistentProperty"
-                         args="org.eclipse.team.core.repository,org.eclipse.team.examples.filesystem.FileSystemProvider"/>
-               </adapt>
-         </enablement>
-         <action
-               label="%Put.name"
-               tooltip="%Put.tooltip"
-               class="org.eclipse.team.examples.filesystem.ui.PutAction"
-               menubarPath="team.main/group1"
-               id="org.eclipse.team.examples.filesystem.put">
-         </action>
-         <action
-               label="%Get.name"
-               tooltip="%Get.tooltip"
-               class="org.eclipse.team.examples.filesystem.ui.GetAction"
-               menubarPath="team.main/group1"
-               id="org.eclipse.team.examples.filesystem.get">
-         </action>
-         <action
-               label="Merge"
-               tooltip="Merge"
-               class="org.eclipse.team.examples.filesystem.ui.MergeAction"
-               menubarPath="team.main/group1"
-               id="org.eclipse.team.examples.filesystem.merge">
-         </action>
-         <action
-               label="%Synchronize.name"
-               tooltip="%Synchronize.tooltip"
-               class="org.eclipse.team.examples.filesystem.ui.SynchronizeAction"
-               menubarPath="team.main/group1"
-               id="org.eclipse.team.examples.filesystem.synchronize">
-         </action>
-         <action
-               label="%Replace.name"
-               tooltip="%ReplaceAction.tooltip"
-               class="org.eclipse.team.examples.filesystem.ui.ReplaceAction"
-               menubarPath="replaceWithMenu/replaceWithGroup"
-               id="org.eclipse.team.examples.filesystem.replace">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IProject"
-            adaptable="true"
-            id="org.eclipse.team.examples.filesystem.ProjectContributions">
-         <filter
-               name="projectPersistentProperty"
-               value="org.eclipse.team.core.repository=org.eclipse.team.examples.filesystem.FileSystemProvider">
-         </filter>
-         <action
-               label="%Unmanage.name"
-               tooltip="%Unmanage.tooltip"
-               class="org.eclipse.team.examples.filesystem.ui.DisconnectAction"
-               menubarPath="team.main/group2"
-               id="org.eclipse.team.examples.filesystem.unmanage">
-         </action>
-      </objectContribution>
-      <objectContribution
-            adaptable="false"
-            id="org.eclipse.team.examples.filesystem.fileContribution"
-            objectClass="org.eclipse.core.resources.IFile">
-          <enablement>
-            <adapt type="org.eclipse.core.resources.mapping.ResourceMapping">
-              <test property="org.eclipse.core.resources.projectPersistentProperty"
-              args="org.eclipse.team.core.repository,org.eclipse.team.examples.filesystem.FileSystemProvider"/>
-            </adapt>
-         </enablement>
-         <action
-               class="org.eclipse.team.examples.filesystem.ui.ShowHistoryAction"
-               id="org.eclipse.team.examples.filesystem.showHistory"
-               label="Show History"
-               menubarPath="team.main/group4">
-         </action>
-      </objectContribution>
-   </extension>
-
-<!-- =================================================================================== -->
-<!-- Sharing Wizards 														 			 -->
-<!-- =================================================================================== -->
-
-   <extension
-         point="org.eclipse.team.ui.configurationWizards">
-      <wizard
-            name="%fswizard.name"
-            icon="icons/full/wizards/fsicon_wiz.gif"
-            class="org.eclipse.team.examples.filesystem.ui.ConfigurationWizard"
-            id="org.eclipse.team.examples.filesystem.ui.ConfigurationWizard">
-      </wizard>
-   </extension>
-   
-      <extension
-         point="org.eclipse.team.ui.configurationWizards">
-      <wizard
-            name="Pessimistic Simple Provider (Non-Versioning)"
-            icon="icons/full/wizards/fsicon_wiz.gif"
-            class="org.eclipse.team.examples.pessimistic.ui.ConfigurationWizard"
-            id="org.eclipse.team.examples.pessimistic.ui.ConfigurationWizard">
-      </wizard>
-   </extension>
-   
-<!-- =================================================================================== -->
-<!-- Property Pages																		 -->
-<!-- =================================================================================== -->
-
-   <extension
-         point="org.eclipse.ui.propertyPages">
-      <page
-            objectClass="org.eclipse.core.resources.IResource"
-            adaptable="true"
-            name="%fspropertypage.name"
-            class="org.eclipse.team.examples.filesystem.ui.FileSystemPropertiesPage"
-            id="org.eclipse.team.examples.filesystem.ui.FileSystemPropertiesPage">
-         <filter
-               name="projectPersistentProperty"
-               value="org.eclipse.team.core.repository=org.eclipse.team.examples.filesystem.FileSystemProvider">
-         </filter>
-      </page>
-   </extension>
-
-<!-- =================================================================================== -->
-<!-- Preference Pages																	 -->
-<!-- =================================================================================== -->
-
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="Pessimistic Filesystem Provider"
-            category="org.eclipse.team.ui.TeamPreferences"
-            class="org.eclipse.team.examples.pessimistic.ui.PessimisticPreferencesPage"
-            id="org.eclipse.team.examples.pessimistic.ui.PessimisticPreferences">
-      </page>
-   </extension>
-
-<!-- =================================================================================== -->
-<!-- Decorators																		 -->
-<!-- =================================================================================== -->
-
-   <extension
-         point="org.eclipse.ui.decorators">
-      <decorator
-            adaptable="true"
-            label="Pessimistic Filesystem Provider Decorator"
-            state="true"
-            class="org.eclipse.team.examples.pessimistic.ui.PessimisticDecorator"
-            id="org.eclipse.team.pessimistic.ui.decorator">
-         <description>
-            Provides simple checked-in, checked-out decorations on files.
-         </description>
-         <enablement>
-             <objectClass name="org.eclipse.core.resources.IResource"/> 
-         </enablement>
-      </decorator>
-   </extension>
-
-<!-- =================================================================================== -->
-<!-- Menus for Pessimistic Provider														 -->
-<!-- =================================================================================== -->
-
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IResource"
-            adaptable="true"
-            id="org.eclipse.team.cvs.ui.filesystem.ResourceContributions">
-         <filter
-               name="projectPersistentProperty"
-               value="org.eclipse.team.core.repository=org.eclipse.team.examples.pessimistic.pessimisticnature">
-         </filter>
-         <action
-               label="Checkout"
-               tooltip="Check resources out of the repository"
-               class="org.eclipse.team.examples.pessimistic.ui.CheckOutAction"
-               menubarPath="team.main/group1"
-               id="org.eclipse.team.examples.pessimistic.checkout">
-         </action>
-         <action
-               label="Checkin"
-               tooltip="Check resources into the repository"
-               class="org.eclipse.team.examples.pessimistic.ui.CheckInAction"
-               menubarPath="team.main/group1"
-               id="org.eclipse.team.examples.pessimistic.checkin">
-         </action>
-         <action
-               label="Uncheckout"
-               tooltip="Revert checked out status of resources"
-               class="org.eclipse.team.examples.pessimistic.ui.UncheckOutAction"
-               menubarPath="team.main/group1"
-               id="org.eclipse.team.examples.pessimistic.uncheckout">
-         </action>
-      </objectContribution>
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IFile"
-            adaptable="true"
-            id="org.eclipse.team.cvs.ui.filesystem.ResourceContributions">
-         <filter
-               name="projectPersistentProperty"
-               value="org.eclipse.team.core.repository=org.eclipse.team.examples.pessimistic.pessimisticnature">
-         </filter>            
-         <action
-               label="Add to control"
-               class="org.eclipse.team.examples.pessimistic.ui.AddToControlAction"
-               menubarPath="team.main/group2"
-               id="org.eclipse.team.examples.pessimistic.addFileToControl">
-         </action>
-         <action
-               label="Remove from control"
-               class="org.eclipse.team.examples.pessimistic.ui.RemoveFromControlAction"
-               menubarPath="team.main/group2"
-               id="org.eclipse.team.examples.pessimistic.removeFileFromControl">
-         </action>
-      </objectContribution>              
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IFolder"
-            adaptable="true"
-            id="org.eclipse.team.cvs.ui.filesystem.ResourceContributions">
-         <filter
-               name="projectPersistentProperty"
-               value="org.eclipse.team.core.repository=org.eclipse.team.examples.pessimistic.pessimisticnature">
-         </filter>            
-         <action
-               label="Add to control"
-               class="org.eclipse.team.examples.pessimistic.ui.AddToControlAction"
-               menubarPath="team.main/group2"
-               id="org.eclipse.team.examples.pessimistic.addFolderToControl">
-         </action>
-         <action
-               label="Remove from control"
-               class="org.eclipse.team.examples.pessimistic.ui.RemoveFromControlAction"
-               menubarPath="team.main/group2"
-               id="org.eclipse.team.examples.pessimistic.removeFolderFromControl">
-         </action>
-      </objectContribution>              
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IProject"
-            adaptable="true"
-            id="org.eclipse.team.cvs.ui.filesystem.ResourceContributions">
-         <filter
-               name="projectPersistentProperty"
-               value="org.eclipse.team.core.repository=org.eclipse.team.examples.pessimistic.pessimisticnature">
-         </filter>
-         <action
-               label="Stop sharing"
-               tooltip="Stop sharing the project using the pessimistic file provider"
-               class="org.eclipse.team.examples.pessimistic.ui.DisconnectAction"
-               menubarPath="team.main/projectGroup"
-               id="org.eclipse.team.examples.pessimistic.disconnect">
-         </action>
-      </objectContribution>
-   </extension>
-   
-<!-- =================================================================================== -->
-<!-- Definitions used for the example logical model										 -->
-<!-- =================================================================================== -->
-
-   <!-- ================================================================================ -->
-   <!-- Nature that identifies model projects											 -->
-   <!-- ================================================================================ -->
-   <extension
-        id="modelNature"
-        point="org.eclipse.core.resources.natures">
-     <runtime>
-        <run class="org.eclipse.team.examples.model.ModelNature"/>
-     </runtime>
-   </extension>
-    
-   <!-- ================================================================================ -->
-   <!-- Common Navigator viewer for use in the Project Explorer							 -->
-   <!-- ================================================================================ -->
-   <extension
-         point="org.eclipse.ui.navigator.navigatorContent">
-      <navigatorContent
-            activeByDefault="true"
-            contentProvider="org.eclipse.team.examples.model.ui.ModelNavigatorContentProvider"
-            icon="$nl$/icons/full/obj/root_obj.gif"
-            id="org.eclipse.team.examples.model.navigator"
-            labelProvider="org.eclipse.team.examples.model.ui.ModelNavigatorLabelProvider"
-            name="Example Model"
-            providesSaveables="true">
-         <triggerPoints>
-            <or>
-               <instanceof value="org.eclipse.team.examples.model.ModelObject"/>
-               <instanceof value="org.eclipse.core.resources.IWorkspaceRoot"/>
-            </or>
-         </triggerPoints>
-         <possibleChildren>
-            <instanceof value="org.eclipse.team.examples.model.ModelObject"/>
-         </possibleChildren>
-         <override
-               policy="InvokeAlwaysRegardlessOfSuppressedExt"
-               suppressedExtensionId="org.eclipse.ui.navigator.resourceContent"/>
-         <actionProvider
-               class="org.eclipse.team.examples.model.ui.ModelNavigatorActionProvider"
-               id="org.eclipse.team.examples.model.actionProvider"/>
-      </navigatorContent>
-   </extension>
-      <extension
-         point="org.eclipse.ui.navigator.viewer">
-      <viewerContentBinding viewerId="org.eclipse.ui.navigator.ProjectExplorer">
-         <includes>
-            <contentExtension
-                  pattern="org.eclipse.team.examples.model.navigator"/>
-         </includes>
-      </viewerContentBinding>
-   </extension>
-   <extension
-         point="org.eclipse.ui.newWizards">
-         <category name="Team Logical Model Example" id="org.eclipse.team.examples.model.newWizards">
-         </category>
-      <wizard
-            category="org.eclipse.team.examples.model.newWizards"
-            icon="$nl$/icons/full/obj/root_obj.gif"
-            name="Model Project"
-            class="org.eclipse.team.examples.model.ui.NewModelProjectWizard"
-            project="true"
-            id="org.eclipse.team.examples.model.newModelProject">
-            <description> 
-              This wizard creates a model project that illustrates some of the logical model support in the Eclipse Platform
-            </description>
-      </wizard>
-   </extension>
-   
-   <!-- ================================================================================ -->
-   <!-- Model provider for the model example											 -->
-   <!-- ================================================================================ -->
-   <extension
-         id="modelProvider"
-         name="Example Model"
-         point="org.eclipse.core.resources.modelProviders">
-      <modelProvider class="org.eclipse.team.examples.model.mapping.ExampleModelProvider"/>
-      <extends-model id="org.eclipse.core.resources.modelProvider"/>
-      <enablement>
-          <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.team.examples.filesystem.modelNature" />
-      </enablement>
-   </extension>
-   
-   <!-- ================================================================================ -->
-   <!-- Adapter factories for the model example											 -->
-   <!-- ================================================================================ -->
-      <extension
-            point="org.eclipse.core.runtime.adapters">
-         <factory
-               adaptableType="org.eclipse.team.examples.model.ModelObject"
-               class="org.eclipse.team.examples.model.ui.AdapterFactory">
-            <adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
-            <adapter type="org.eclipse.core.resources.mapping.ResourceMapping"/>
-         </factory>
-         <factory
-               adaptableType="org.eclipse.team.examples.model.mapping.ExampleModelProvider"
-               class="org.eclipse.team.examples.model.ui.AdapterFactory">
-            <adapter type="org.eclipse.team.core.mapping.IResourceMappingMerger"/>
-            <adapter type="org.eclipse.team.ui.mapping.ISynchronizationCompareAdapter"/>
-         </factory>
-         <factory
-               adaptableType="org.eclipse.team.core.history.provider.FileHistoryProvider"
-               class="org.eclipse.team.examples.model.ui.AdapterFactory">
-            <adapter type="org.eclipse.team.ui.history.IHistoryPageSource"/>
-         </factory>
-      </extension>
-      <extension
-            point="org.eclipse.team.ui.teamContentProviders">
-         <teamContentProvider
-               contentExtensionId="org.eclipse.team.examples.model.synchronizeContent"
-               icon="$nl$/icons/full/obj/root_obj.gif"
-               modelProviderId="org.eclipse.team.examples.filesystem.modelProvider"/>
-      </extension>
-      <extension
-            point="org.eclipse.ui.navigator.navigatorContent">
-         <navigatorContent
-               contentProvider="org.eclipse.team.examples.model.ui.mapping.ModelSyncContentProvider"
-               icon="$nl$/icons/full/obj/root_obj.gif"
-               id="org.eclipse.team.examples.model.synchronizeContent"
-               labelProvider="org.eclipse.team.examples.model.ui.mapping.ModelSyncLabelProvider"
-               name="Example Model"
-               priority="normal">
-            <actionProvider class="org.eclipse.team.examples.model.ui.mapping.ModelSyncActionProvider"/>
-            <override
-                  policy="InvokeAlwaysRegardlessOfSuppressedExt"
-                  suppressedExtensionId="org.eclipse.team.ui.resourceContent"/>
-            <triggerPoints>
-               <or>
-                  <instanceof value="org.eclipse.team.core.mapping.ISynchronizationScope"/>
-                  <instanceof value="org.eclipse.team.core.mapping.ISynchronizationContext"/>
-                  <instanceof value="org.eclipse.team.examples.model.ModelObject"/>
-                  <instanceof value="org.eclipse.team.examples.model.mapping.ExampleModelProvider"/>
-               </or>
-            </triggerPoints>
-            <possibleChildren>
-               <or>
-                  <instanceof value="org.eclipse.team.examples.model.ModelObject"/>
-                  <instanceof value="org.eclipse.team.examples.model.mapping.ExampleModelProvider"/>
-               </or>
-            </possibleChildren>
-         </navigatorContent>
-         <actionProvider
-               class="org.eclipse.team.examples.model.ui.mapping.ThirdPartyActionProvider"
-               id="org.eclipse.team.examples.model.ThirdPartyActionProvider">
-            <enablement>
-               <adapt type="org.eclipse.core.resources.mapping.ResourceMapping"/>
-            </enablement>
-         </actionProvider>
-      </extension>
-      <extension
-            point="org.eclipse.ui.navigator.viewer">
-         <viewerActionBinding viewerId="org.eclipse.team.cvs.ui.workspaceSynchronization">
-            <includes>
-               <actionExtension pattern="org.eclipse.team.examples.model.ThirdPartyActionProvider"/>
-            </includes>
-         </viewerActionBinding>
-      </extension>
-
-  
-<!-- =================================================================================== -->
-<!-- Capability Support (a.k.a. Activities)														 -->
-<!-- Note: Uncomment the lines below to enable the capabilities. These can't be enabled in the -->
-<!-- examples because some products ship the examples with the product. -->
-<!-- =================================================================================== -->   
-<!--  
-	<extension point="org.eclipse.ui.activities">
-    
-	<activity
-		name="%activity.team.examples.filesystem.name"
-		description="%activity.team.examples.filesystem.description"
-		id="org.eclipse.team.examples.filesystem">
-	</activity> 
-	   
-	<activityRequirementBinding
-		activityId="org.eclipse.team.examples.filesystem"
-		requiredActivityId="org.eclipse.team">
-	</activityRequirementBinding>
-	  
-	<activityPatternBinding
-		activityId="org.eclipse.team.examples.filesystem"
-		pattern="org\.eclipse\.team\.examples\.filesystem/.*filesystem\.ui.*">
-	</activityPatternBinding>
-	  
-	<activityPatternBinding
-		activityId="org.eclipse.team.examples.filesystem"
-		pattern="org\.eclipse\.team\.examples\.filesystem/.*FileSystemProvider">
-	</activityPatternBinding>
-	  
-	<categoryActivityBinding
-		activityId="org.eclipse.team.examples.filesystem"
-		categoryId="org.eclipse.categories.teamCategory">
-	</categoryActivityBinding>
- 
-    <activity
-		name="%activity.team.examples.pessimistic.name"
-		description="%activity.team.examples.pessimistic.description"
-		id="org.eclipse.team.examples.pessimistic">
-	</activity> 
-	   
-	<activityRequirementBinding
-		activityId="org.eclipse.team.examples.pessimistic"
-		requiredActivityId="org.eclipse.team">
-	</activityRequirementBinding>
-	  
-	<activityPatternBinding
-		activityId="org.eclipse.team.examples.pessimistic"
-		pattern="org\.eclipse\.team\.examples\.filesystem/.*pessimistic\.ui.*">
-	</activityPatternBinding>
-	  
-	<activityPatternBinding
-		activityId="org.eclipse.team.examples.pessimistic"
-		pattern="org\.eclipse\.team\.examples\.filesystem/.*pessimisticnature">
-	</activityPatternBinding>
-	  
-	<categoryActivityBinding
-		activityId="org.eclipse.team.examples.pessimistic"
-		categoryId="org.eclipse.categories.teamCategory">
-	</categoryActivityBinding>
-
-	</extension>
--->
-</plugin>
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileModificationValidator.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileModificationValidator.java
deleted file mode 100644
index e0fd730..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileModificationValidator.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.team.FileModificationValidationContext;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-
-/**
- * This class models a sentry that verifies whether resources are available for editing or overwriting.
- * This has been made a separate class for illustration purposes. It may have been more appropriate
- * to have FileSystemProvider implement IFileModificationValidator itself since the interface
- * only has two methods and their implementation is straight forward.
- */
-public final class FileModificationValidator extends org.eclipse.core.resources.team.FileModificationValidator {
-	
-	private FileSystemOperations operations;
-
-	/**
-	 * Constructor for FileModificationValidator.
-	 */
-	public FileModificationValidator(RepositoryProvider provider) {
-		operations = ((FileSystemProvider)provider).getOperations();
-	}
-
-	/**
-	 * This method will convert any exceptions thrown by the SimpleAccessOperations.checkout() to a Status.
-	 * @param resources the resources that are to be checked out
-	 * @return IStatus a status indicator that reports whether the operation went smoothly or not.
-	 */
-	private IStatus checkout(IResource[] resources) {
-		try {
-			operations.checkout(resources, IResource.DEPTH_INFINITE, null);
-		} catch (TeamException e) {
-			return new Status(IStatus.ERROR, FileSystemPlugin.ID, 0, e.getLocalizedMessage(), e);
-		}
-		return Status.OK_STATUS;
-	}
-
-	/**
-	 * This method will be called by the workbench/editor before it tries to edit one or more files.
-	 * The idea is to prevent anyone from accidentally working on a file that they won't be able to check in changes to.
-	 * @see org.eclipse.core.resources.IFileModificationValidator#validateEdit(IFile[], Object)
-	 */
-	public IStatus validateEdit(IFile[] files, FileModificationValidationContext context) {
-		Collection toBeCheckedOut = new ArrayList();
-
-		//Make a list of all the files that need to be checked out:
-		for (int i = 0; i < files.length; i++) {
-			if (!operations.isCheckedOut(files[i])) {
-				toBeCheckedOut.add(files[i]);
-			}
-		}
-		
-		return checkout((IResource[]) toBeCheckedOut.toArray(new IResource[toBeCheckedOut.size()]));
-	}
-
-	/**
-	 * This method will be called by the workbench before it tries to save a file.
-	 * It should not attempt to save any files that don't receive an OK status here.
-	 * @see org.eclipse.core.resources.IFileModificationValidator#validateSave(IFile)
-	 */
-	public IStatus validateSave(IFile file) {
-		if (file.isReadOnly()) {
-			return checkout(new IResource[] { file });
-		}
-		return Status.OK_STATUS;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemOperations.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemOperations.java
deleted file mode 100644
index 543ef42..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemOperations.java
+++ /dev/null
@@ -1,450 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- * 	   Andreas Voss <av@tonbeller.com> - Bug 181141 [Examples] Team: filesystem provider example can not handle deletions     
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.resources.mapping.ResourceTraversal;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.core.variants.IResourceVariantComparator;
-import org.eclipse.team.core.variants.ThreeWaySynchronizer;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemResourceVariant;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemSubscriber;
-
-/**
- * The get and put operations for the file system provider.
- */
-public class FileSystemOperations {
-
-	// A reference to the provider
-	private FileSystemProvider provider;
-
-	FileSystemOperations(FileSystemProvider provider) {
-		this.provider = provider;
-	}
-
-	/**
-	 * Make the local state of the project match the remote state by getting any out-of-sync 
-	 * resources. The overrideOutgoing flag is used to indicate whether locally modified
-	 * files should also be replaced or left alone.
-	 * @param resources the resources to get
-	 * @param depth the depth of the operation
-	 * @param overrideOutgoing whether locally modified resources should be replaced
-	 * @param progress a progress monitor
-	 * @throws TeamException
-	 */
-	public void get(IResource[] resources, int depth, boolean overrideOutgoing, IProgressMonitor progress) throws TeamException {
-		try {
-			// ensure the progress monitor is not null
-			progress = Policy.monitorFor(progress);
-			progress.beginTask(Policy.bind("GetAction.working"), 100); //$NON-NLS-1$
-			// Refresh the subscriber so we have the latest remote state
-			FileSystemSubscriber.getInstance().refresh(resources, depth, new SubProgressMonitor(progress, 30));
-			internalGet(resources, depth, overrideOutgoing, new SubProgressMonitor(progress, 70));
-		} finally {
-			progress.done();
-		}
-	}
-
-	/**
-	 * Make the local state of the traversals match the remote state by getting any out-of-sync 
-	 * resources. The overrideOutgoing flag is used to indicate whether locally modified
-	 * files should also be replaced or left alone.
-	 * @param traversals the traversals that cover the resources to get
-	 * @param overrideOutgoing whether locally modified resources should be replaced
-	 * @param progress a progress monitor
-	 * @throws TeamException
-	 */
-	public void get(ResourceTraversal[] traversals, boolean overrideOutgoing, IProgressMonitor monitor) throws TeamException {
-		try {
-			// ensure the progress monitor is not null
-			monitor = Policy.monitorFor(monitor);
-			monitor.beginTask(null, 100* traversals.length);
-			for (int i = 0; i < traversals.length; i++) {
-				ResourceTraversal traversal = traversals[i];
-				get(traversal.getResources(), traversal.getDepth(), overrideOutgoing, new SubProgressMonitor(monitor, 100));
-			}
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	/**
-	 * Checkout the given resources to the given depth by setting any files
-	 * to writable (i.e set read-only to <code>false</code>.
-	 * @param resources the resources to be checked out
-	 * @param depth the depth of the checkout
-	 * @param progress a progress monitor
-	 * @throws TeamException
-	 */
-	public void checkout(IResource[] resources, int depth, IProgressMonitor progress) throws TeamException {
-		try {
-			progress = Policy.monitorFor(progress);
-			progress.beginTask(Policy.bind("FileSystemSimpleAccessOperations.1"), resources.length); //$NON-NLS-1$
-			for (int i = 0; i < resources.length; i++) {
-				Policy.checkCanceled(progress);
-				resources[i].accept(new IResourceVisitor() {
-					public boolean visit(IResource resource) throws CoreException {
-						if (resource.getType() == IResource.FILE) {
-							//TODO: lock the file on the 'server'.
-							resource.setReadOnly(false);
-						}
-						return true;
-					}
-				}, depth, false /* include phantoms */);
-				progress.worked(1);
-			}
-		} catch (CoreException e) {
-			throw TeamException.asTeamException(e);
-		} finally {
-			progress.done();
-		}
-	}
-
-	/**
-	 * Check-in the given resources to the given depth by replacing the remote (i.e. file system)
-	 * contents with the local workspace contents. 
-	 * @param resources the resources
-	 * @param depth the depth of the operation
-	 * @param overrideIncoming indicate whether incoming remote changes should be replaced
-	 * @param progress a progress monitor
-	 * @throws TeamException
-	 */
-	public void checkin(IResource[] resources, int depth, boolean overrideIncoming, IProgressMonitor progress) throws TeamException {
-		try {
-			// ensure the progress monitor is not null
-			progress = Policy.monitorFor(progress);
-			progress.beginTask(Policy.bind("PutAction.working"), 100); //$NON-NLS-1$
-			// Refresh the subscriber so we have the latest remote state
-			FileSystemSubscriber.getInstance().refresh(resources, depth, new SubProgressMonitor(progress, 30));
-			internalPut(resources, depth, overrideIncoming, new SubProgressMonitor(progress, 70));
-		} finally {
-			progress.done();
-		}
-	}
-
-	/**
-	 * Check-in the given resources to the given depth by replacing the remote (i.e. file system)
-	 * contents with the local workspace contents. 
-	 * @param traversals the traversals that cover the resources to check in
-	 * @param overrideIncoming indicate whether incoming remote changes should be replaced
-	 * @param progress a progress monitor
-	 * @throws TeamException
-	 */
-	public void checkin(ResourceTraversal[] traversals, boolean overrideIncoming, IProgressMonitor monitor) throws TeamException {
-		try {
-			// ensure the progress monitor is not null
-			monitor = Policy.monitorFor(monitor);
-			monitor.beginTask(null, 100* traversals.length);
-			for (int i = 0; i < traversals.length; i++) {
-				ResourceTraversal traversal = traversals[i];
-				checkin(traversal.getResources(), traversal.getDepth(), overrideIncoming, new SubProgressMonitor(monitor, 100));
-			}
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	/**
-	 * Return whether the local resource is checked out. A resource
-	 * is checked out if it is a file that is not read-only. Folders
-	 * are always checked out.
-	 * @param resource the resource
-	 * @return whether the resource is checked out and can be modified
-	 */
-	public boolean isCheckedOut(IResource resource) {
-		if (resource.getType() != IResource.FILE) return true;
-		return !resource.isReadOnly();
-	}
-
-	/*
-	 * Get the resource variant for the given resource.
-	 */
-	private FileSystemResourceVariant getResourceVariant(IResource resource) {
-		return (FileSystemResourceVariant)provider.getResourceVariant(resource);
-	}
-	
-	private void internalGet(IResource[] resources, int depth, boolean overrideOutgoing, IProgressMonitor progress) throws TeamException {
-		// Traverse the resources and get any that are out-of-sync
-		progress.beginTask(Policy.bind("GetAction.working"), IProgressMonitor.UNKNOWN); //$NON-NLS-1$
-		for (int i = 0; i < resources.length; i++) {
-			Policy.checkCanceled(progress);
-			if (resources[i].getType() == IResource.FILE) {
-				internalGet((IFile) resources[i], overrideOutgoing, progress);
-			} else if (depth != IResource.DEPTH_ZERO) {
-				internalGet((IContainer)resources[i], depth, overrideOutgoing, progress);
-			}
-			progress.worked(1);
-		}
-	}
-
-	/*
-	 * Get the folder and its children to the depth specified.
-	 */
-	private void internalGet(IContainer container, int depth, boolean overrideOutgoing, IProgressMonitor progress) throws TeamException {
-		try {
-			ThreeWaySynchronizer synchronizer = FileSystemSubscriber.getInstance().getSynchronizer();
-			// Make the local folder state match the remote folder state
-			List toDelete = new ArrayList();
-			if (container.getType() == IResource.FOLDER) {
-				IFolder folder = (IFolder)container;
-				FileSystemResourceVariant remote = getResourceVariant(container);
-				if (!folder.exists() && remote != null) {
-					// Create the local folder
-					folder.create(false, true, progress);
-					synchronizer.setBaseBytes(folder, remote.asBytes());
-				} else if (folder.exists() && remote == null) {
-					// Schedule the folder for removal but delay in
-					// case the folder contains outgoing changes
-					toDelete.add(folder);
-				}
-			}
-			
-			// Get the children
-			IResource[] children = synchronizer.members(container);
-			if (children.length > 0) {
-				internalGet(children, depth == IResource.DEPTH_INFINITE ? IResource.DEPTH_INFINITE : IResource.DEPTH_ZERO, overrideOutgoing, progress);
-			}
-		
-			// Remove any empty folders
-			for (Iterator iter = toDelete.iterator(); iter.hasNext(); ) {
-				IFolder folder = (IFolder) iter.next();
-				if (folder.members().length == 0) {
-					folder.delete(false, true, progress);
-					synchronizer.flush(folder, IResource.DEPTH_INFINITE);
-				}
-			}
-		} catch (CoreException e) {
-			throw TeamException.asTeamException(e);
-		}
-	}
-
-	/*
-	 * Get the file if it is out-of-sync.
-	 */
-	private void internalGet(IFile localFile, boolean overrideOutgoing, IProgressMonitor progress) throws TeamException {
-		ThreeWaySynchronizer synchronizer = FileSystemSubscriber.getInstance().getSynchronizer();
-		IResourceVariantComparator comparator = FileSystemSubscriber.getInstance().getResourceComparator();
-		FileSystemResourceVariant remote = getResourceVariant(localFile);
-		byte[] baseBytes = synchronizer.getBaseBytes(localFile);
-		IResourceVariant base = provider.getResourceVariant(localFile, baseBytes);
-		if (!synchronizer.hasSyncBytes(localFile) 
-				|| (isLocallyModified(localFile) && !overrideOutgoing)) {
-			// Do not overwrite the local modification
-			return;
-		}
-		if (base != null && remote == null) {
-			// The remote no longer exists so remove the local
-			try {
-				localFile.delete(false, true, progress);
-				synchronizer.flush(localFile, IResource.DEPTH_ZERO);
-				return;
-			} catch (CoreException e) {
-				throw TeamException.asTeamException(e);
-			}
-		}
-		if (!synchronizer.isLocallyModified(localFile) 
-				&& base != null 
-				&& remote != null 
-				&& comparator.compare(base, remote)) {
-			// The base and remote are the same and there's no local changes
-			// so nothing needs to be done
-			return;
-		}
-		try {
-			//Copy from the local file to the remote file:
-			InputStream source = null;
-			try {
-				// Get the remote file content.
-				source = remote.getContents();
-				// Set the local file content to be the same as the remote file.
-				if (localFile.exists())
-					localFile.setContents(source, false, false, progress);
-				else
-					localFile.create(source, false, progress);
-			} finally {
-				if (source != null)
-					source.close();
-			}
-			// Mark as read-only to force a checkout before editing
-			localFile.setReadOnly(true);
-			synchronizer.setBaseBytes(localFile, remote.asBytes());
-		} catch (IOException e) {
-			throw FileSystemPlugin.wrapException(e);
-		} catch (CoreException e) {
-			throw FileSystemPlugin.wrapException(e);
-		}
-	}
-	
-	private void internalPut(IResource[] resources, int depth, boolean overrideIncoming, IProgressMonitor progress) throws TeamException {
-		// ensure the progress monitor is not null
-		progress = Policy.monitorFor(progress);
-		progress.beginTask(Policy.bind("PutAction.working"), IProgressMonitor.UNKNOWN); //$NON-NLS-1$
-		for (int i = 0; i < resources.length; i++) {
-			Policy.checkCanceled(progress);
-			if (resources[i].getType() == IResource.FILE) {
-				internalPut((IFile)resources[i], overrideIncoming, progress);
-			} else if (depth > 0) { //Assume that resources are either files or containers.
-				internalPut((IContainer)resources[i], depth, overrideIncoming, progress);
-			}
-			progress.worked(1);
-		}
-		progress.done();
-	}
-	
-	/**
-	 * Put the file if the sync state allows it.
-	 * @param localFile the local file
-	 * @param overrideIncoming whether incoming changes should be overwritten
-	 * @param progress a progress monitor
-	 * @return whether the put succeeded (i.e. the local matches the remote)
-	 * @throws TeamException
-	 */
-	private boolean internalPut(IFile localFile, boolean overrideIncoming, IProgressMonitor progress) throws TeamException {
-		ThreeWaySynchronizer synchronizer = FileSystemSubscriber.getInstance().getSynchronizer();
-		IResourceVariantComparator comparator = FileSystemSubscriber.getInstance().getResourceComparator();
-		FileSystemResourceVariant remote = getResourceVariant(localFile);
-		byte[] baseBytes = synchronizer.getBaseBytes(localFile);
-		IResourceVariant base = provider.getResourceVariant(localFile, baseBytes);
-		
-		// Check whether we are overriding a remote change
-		if (base == null && remote != null && !overrideIncoming) {
-			// The remote is an incoming (or conflicting) addition.
-			// Do not replace unless we are overriding
-			return false;
-		} else  if (base != null && remote == null) {
-			// The remote is an incoming deletion
-			if (!localFile.exists()) {
-				// Conflicting deletion. Clear the synchronizer.
-				synchronizer.flush(localFile, IResource.DEPTH_ZERO);
-			} else if (!overrideIncoming) {
-				// Do not override the incoming deletion
-				return false;
-			}
-		} else if (base != null && remote != null) {
-			boolean same = comparator.compare(base, remote);
-			if (!isLocallyModified(localFile) && same) {
-				// The base and remote are the same and there's no local changes
-				// so nothing needs to be done
-				return true;
-			}
-			if (!same && !overrideIncoming) {
-				// The remote has changed. Only override if specified
-				return false;
-			}
-		}
-		
-		// Handle an outgoing deletion
-		File diskFile = provider.getFile(localFile);
-		if (!localFile.exists()) { 
-			diskFile.delete();
-			synchronizer.flush(localFile, IResource.DEPTH_ZERO);
-		} else {
-			// Otherwise, upload the contents
-			try {
-				//Copy from the local file to the remote file:
-				InputStream in = null;
-				FileOutputStream out = null;
-				try {
-					if(! diskFile.getParentFile().exists()) {
-						diskFile.getParentFile().mkdirs();
-					}
-					in = localFile.getContents();
-					out = new FileOutputStream(diskFile);
-					//Copy the contents of the local file to the remote file:
-					StreamUtil.pipe(in, out, diskFile.length(), progress, diskFile.getName());
-					// Mark the file as read-only to require another checkout
-					localFile.setReadOnly(true);
-				} finally {
-					if (in != null)
-						in.close();
-					if (out != null)
-						out.close();
-				}
-				// Update the synchronizer base bytes
-				remote = getResourceVariant(localFile);
-				synchronizer.setBaseBytes(localFile, remote.asBytes());
-			} catch (IOException e) {
-				throw FileSystemPlugin.wrapException(e);
-			} catch (CoreException e) {
-				throw FileSystemPlugin.wrapException(e);
-			}
-		}
-		return true;
-	}
-	
-	private boolean isLocallyModified(IFile localFile) throws TeamException {
-		ThreeWaySynchronizer synchronizer = FileSystemSubscriber.getInstance().getSynchronizer();
-		if (!localFile.exists()) {
-			// Extra check for bug 141415
-			return synchronizer.getBaseBytes(localFile) != null;
-		}
-		return synchronizer.isLocallyModified(localFile);
-	}
-
-	/*
-	 * Get the folder and its children to the depth specified.
-	 */
-	private void internalPut(IContainer container, int depth, boolean overrideIncoming, IProgressMonitor progress) throws TeamException {
-		try {
-			ThreeWaySynchronizer synchronizer = FileSystemSubscriber.getInstance().getSynchronizer();
-			// Make the local folder state match the remote folder state
-			List toDelete = new ArrayList();
-			if (container.getType() == IResource.FOLDER) {
-				IFolder folder = (IFolder)container;
-				File diskFile = provider.getFile(container);
-				FileSystemResourceVariant remote = getResourceVariant(container);
-				if (!folder.exists() && remote != null) {
-					// Schedule the folder for removal but delay in
-					// case the folder contains incoming changes
-					toDelete.add(diskFile);
-				} else if (folder.exists() && remote == null) {
-					// Create the remote directory and sync up the local
-					diskFile.mkdir();
-					synchronizer.setBaseBytes(folder, provider.getResourceVariant(folder).asBytes());
-				}
-			}
-			
-			// Get the children
-			IResource[] children = synchronizer.members(container);
-			if (children.length > 0) {
-				internalPut(children, depth == IResource.DEPTH_INFINITE ? IResource.DEPTH_INFINITE : IResource.DEPTH_ZERO, overrideIncoming, progress);
-			}
-		
-			// Remove any empty folders
-			for (Iterator iter = toDelete.iterator(); iter.hasNext(); ) {
-				File diskFile = (File) iter.next();
-				if (diskFile.listFiles().length == 0) {
-					diskFile.delete();
-					synchronizer.flush(container, IResource.DEPTH_INFINITE);
-				}
-			}
-		} catch (CoreException e) {
-			throw TeamException.asTeamException(e);
-		}
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemPlugin.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemPlugin.java
deleted file mode 100644
index cb99a40..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemPlugin.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem;
-
-import java.io.IOException;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.examples.model.PluginManifestChangeTracker;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProviderPlugin;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * This is the plugin class for the file system examples. It provides the following:
- * 
- * <ol>
- * <li>public fields for the plugin and provider IDs as defined in the plugin.xml
- * <li>initialization on startup of Policy class that provides internationalization of strings
- * <li>helper methods for outputing IStatus objects to the log
- * <li>helper methods for converting CoreExceptions and IOExceptions to TeamExceptions
- * </ol>
- */
-public class FileSystemPlugin extends AbstractUIPlugin {
-	
-	/**
-	 * This is the ID of the plugin as defined in the plugin.xml
-	 */
-	public static final String ID = "org.eclipse.team.examples.filesystem"; //$NON-NLS-1$
-	
-	/**
-	 * This is the provider ID of the plugin as defined in the plugin.xml
-	 */
-	public static final String PROVIDER_ID = ID + ".FileSystemProvider"; //$NON-NLS-1$
-	
-	// This static field will hold the singleton instance of the plugin class
-	private static FileSystemPlugin plugin;
-	
-	private PessimisticFilesystemProviderPlugin pessPlugin;
-	
-	private PluginManifestChangeTracker tracker;
-	
-	/**
-	 * Override the standard plugin constructor.
-	 * 
-	 * @param descriptor the plugin descriptor
-	 */
-	public FileSystemPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		// record this instance as the singleton
-		plugin = this;
-		// Instanctiate pessimistic provider
-		pessPlugin = new PessimisticFilesystemProviderPlugin(descriptor);
-	}
-	
-	/**
-	 * Return the singlton instance of the plugin class to allow other
-	 * classes in the plugin access to plugin instance methods such as 
-	 * those for logging errors, etc.
-	 */
-	public static FileSystemPlugin getPlugin() {
-		return plugin;
-	}
-	
-	/**
-	 * Helper method to convert a CoreException into a TeamException.
-	 * We do this to maintain the core status and code. This type of
-	 * mapping may not be appropriate in more complicated exception 
-	 * handling situations.
-	 * 
-	 * @param e the CoreException
-	 */
-	public static TeamException wrapException(CoreException e) {
-		return new TeamException(e.getStatus());
-	}
-
-	/**
-	 * Helper method to convert an IOException into a TeamException.
-	 * This type of mapping may not be appropriate in more complicated 
-	 * exception handling situations.
-	 * 
-	 * @param e the CoreException
-	 */
-	public static TeamException wrapException(IOException e) {
-		return new TeamException(new Status(IStatus.ERROR, FileSystemPlugin.ID, 
-			TeamException.IO_FAILED, e.getMessage(), e));
-	}
-	
-	/**
-	 * Helper method to log an exception status.
-	 * 
-	 * @param status the status to be logged
-	 */
-	public static void log(IStatus status) {
-		plugin.getLog().log(status);
-	}
-	
-	/**
-	 * Returns the standard display to be used. The method first checks, if
-	 * the thread calling this method has an associated display. If so, this
-	 * display is returned. Otherwise the method returns the default display.
-	 */
-	public static Display getStandardDisplay() {
-		Display display= Display.getCurrent();
-		if (display == null) {
-			display= Display.getDefault();
-		}
-		return display;		
-	}
-	
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		//Call startup on the Pessimistic Plugin
-		pessPlugin.startup();
-		tracker = new PluginManifestChangeTracker();
-		tracker.start();
-	}
-	
-	public void stop(BundleContext context) throws Exception {
-		try {
-			if (pessPlugin != null)
-				pessPlugin.shutdown();
-		} finally {
-			super.stop(context);
-		}
-		tracker.dispose();
-		tracker = null;
-	}
-
-	public static void log(CoreException e) {
-		log (new Status(e.getStatus().getSeverity(), FileSystemPlugin.ID, 0, e.getMessage(), e));
-	}
-}
-
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemProvider.java
deleted file mode 100644
index 980b28d..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemProvider.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IFileModificationValidator;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceRuleFactory;
-import org.eclipse.core.resources.team.FileModificationValidator;
-import org.eclipse.core.resources.team.ResourceRuleFactory;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.history.IFileHistoryProvider;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.examples.filesystem.history.FileSystemHistoryProvider;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemResourceVariant;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemSubscriber;
-
-/**
- * This example illustrates how to create a concrete implementation of a <code>RepositoryProvider</code>
- * that uses the file system to act as the repository. See the plugin.xml file for the xml required
- * to register this provider with the Team extension point <code>org.eclipse.team.core.repository</code>.
- * The plugin.xml file also contains examples of how to filter menu items using a repository provider's
- * ID.
- * 
- * <p>
- * This example provider illustrates the following:
- * <ol>
- * <li>simple working implementation of <code>RepositoyProvider</code>
- * <li>storage of a persistent property with the project (which provides the target location for the provider)
- * <li>access to an instance of <code>SimpleAccessOperations</code> for performing simple file operations
- * </ol>
- * 
- * <p>
- * Additional functionality that will be illustrated in the future include:
- * <ol>
- * <li>Validate Save/Validate Edit
- * <li>Move/Delete Hook
- * <li>Project Sets
- * <li>Use of the workspace synchronizer (ISynchronizer)
- * <li>Use of decorators
- * <li>combining streams and progress monitors to get responsive UI
- * </ol>
- * 
- */
-public class FileSystemProvider extends RepositoryProvider {
-	
-	/*
-	 * Create a custom rule factory to allow more optimistic concurrency
-	 */
-	private static final ResourceRuleFactory RESOURCE_RULE_FACTORY = new ResourceRuleFactory() {
-		// Just need a subclass to instantiate
-	};
-	
-	// The location of the folder on file system where the repository is stored.
-	private IPath root;
-	
-	// The QualifiedName that is used to persist the location across workspace as a persistent property on a resource
-	private static QualifiedName FILESYSTEM_REPO_LOC = new QualifiedName(FileSystemPlugin.ID, "disk_location"); //$NON-NLS-1$
-
-	private static FileSystemHistoryProvider fileHistoryProvider;
-	
-	/**
-	 * Create a new FileSystemProvider.
-	 */
-	public FileSystemProvider() {
-		super();
-	}
-	
-	/**
-	 * This method is invoked when the provider is mapped to a project.
-	 * Although we have access to the project at this point (using 
-	 * <code>getProject()</code>, we don't know the root location so
-	 * there is nothing we can do yet.
-	 * 
-	 * @see org.eclipse.team.core.RepositoryProvider#configureProject()
-	 */
-	public void configureProject() throws CoreException {
-		FileSystemSubscriber.getInstance().handleRootChanged(getProject(), true /* added */);
-	}
-
-	/**
-	 * This method is invoked when the provider is unmapped from its
-	 * project.
-	 * 
-	 * @see org.eclipse.core.resources.IProjectNature#deconfigure()
-	 */
-	public void deconfigure() throws CoreException {
-		// Clear the persistant property containing the location
-		getProject().setPersistentProperty(FILESYSTEM_REPO_LOC, null);
-		FileSystemSubscriber.getInstance().handleRootChanged(getProject(), false /* removed */);
-	}
-
-	/**
-	 * Return the provider ID as specified in the plugin.xml
-	 * 
-	 * @see RepositoryProvider#getID()
-	 */
-	public String getID() {
-		return FileSystemPlugin.PROVIDER_ID;
-	}
-		
-	/**
-	 * Set the file system location for the provider. This mist be invoked after 
-	 * the provider is mapped and configured but before the provider is used to 
-	 * perform any operations.
-	 * 
-	 * @param location the path representing the location where the project contents will be stored.
-	 * @throws TeamException
-	 */
-	public void setTargetLocation(String location) throws TeamException {
-		
-		// set the instance variable to the provided path
-		root = new Path(location);
-		
-		// ensure that the location is a folder (if it exists)
-		File file = new File(location);
-		if (file.exists() && !file.isDirectory()) {
-			throw new TeamException(Policy.bind("FileSystemProvider.mustBeFolder", location)); //$NON-NLS-1$
-		}
-		
-		// record the location as a persistant property so it will be remembered across platform invokations
-		try {
-			getProject().setPersistentProperty(FILESYSTEM_REPO_LOC, location);
-		} catch (CoreException e) {
-			throw FileSystemPlugin.wrapException(e);
-		}
-	}
-	
-	/**
-	 * Returns the folder in the file system to which the provider is connected.
-	 * Return <code>null</code> if there is no location or there was a problem
-	 * determining it.
-	 * 
-	 * @return IPath The path to the root of the repository.
-	 */
-	public IPath getRoot() {
-		if (root == null) {
-			try {
-				String location = getProject().getPersistentProperty(FILESYSTEM_REPO_LOC);
-				if (location == null) {
-					return null;
-				}
-				root = new Path(location);
-			} catch (CoreException e) {
-				// log the problem and carry on
-				FileSystemPlugin.log(e);
-				return null;
-			}
-		}
-		return root;
-	}
-
-	/**
-	 * Return an object that provides the operations for transfering data 
-	 * to and from the provider's location.
-	 */
-	public FileSystemOperations getOperations() {
-		return new FileSystemOperations(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProvider#getFileModificationValidator()
-	 */
-	public IFileModificationValidator getFileModificationValidator() {
-		return getFileModificationValidator2();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProvider#getFileModificationValidator2()
-	 */
-	public FileModificationValidator getFileModificationValidator2() {
-		return new org.eclipse.team.examples.filesystem.FileModificationValidator(this);
-	}
-	
-	/**
-	 * Return the resource variant for the local resource using the bytes to
-	 * identify the variant.
-	 * @param resource the resource
-	 * @param bytes the bytes that identify the resource variant
-	 * @return the resource variant handle
-	 */
-	public IResourceVariant getResourceVariant(IResource resource, byte[] bytes) {
-		if (bytes == null) return null;
-		File file = getFile(resource);
-		if (file == null) return null;
-		return new FileSystemResourceVariant(file, bytes);
-	}
-	
-	/**
-	 * Return the resource variant for the local resource.
-	 * @param resource the resource
-	 * @return the resource variant
-	 */
-	public IResourceVariant getResourceVariant(IResource resource) {
-		File file = getFile(resource);
-		if (file == null || !file.exists()) return null;
-		return new FileSystemResourceVariant(file);
-	}
-	
-	/**
-	 * Return the <code>java.io.File</code> that the given resource maps to.
-	 * Return <code>null</code> if the resource is not a child of this provider's
-	 * project.
-	 * @param resource the resource
-	 * @return the file that the resource maps to.
-	 */
-	public java.io.File getFile(IResource resource) {
-		if (resource.getProject().equals(getProject())) {
-			IPath rootdir = getRoot();
-			return new File(rootdir.append(resource.getProjectRelativePath()).toOSString());
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProvider#getRuleFactory()
-	 */
-	public IResourceRuleFactory getRuleFactory() {
-		return RESOURCE_RULE_FACTORY;
-	}
-	
-	public IFileHistoryProvider getFileHistoryProvider() {
-		  if (FileSystemProvider.fileHistoryProvider == null) {
-			  FileSystemProvider.fileHistoryProvider = new FileSystemHistoryProvider();
-	        }
-	        return FileSystemProvider.fileHistoryProvider;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemProviderType.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemProviderType.java
deleted file mode 100644
index e947b92..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/FileSystemProviderType.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem;
-
-import org.eclipse.team.core.ProjectSetCapability;
-import org.eclipse.team.core.RepositoryProviderType;
-
-/**
- * The file system repository provider types
- */
-public class FileSystemProviderType extends RepositoryProviderType {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProviderType#getProjectSetCapability()
-	 */
-	public ProjectSetCapability getProjectSetCapability() {
-		// Create an empty project set capability to test backwards compatibility
-		return new ProjectSetCapability() {};
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/Policy.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/Policy.java
deleted file mode 100644
index 08b794b..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/Policy.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-
-/**
- * This class is a clone of the Policy classes many Eclipse plugin use to 
- * provide NLSing of strings and aid in proper progress monitoring.
- */
-public class Policy {
-	
-	private static ResourceBundle bundle = null;
-	private static final String bundleName = "org.eclipse.team.examples.filesystem.messages"; //$NON-NLS-1$
-
-	/*
-	 * Returns a resource bundle, creating one if it none is available. 
-	 */
-	private static ResourceBundle getResourceBundle() {
-		// thread safety
-		ResourceBundle tmpBundle = bundle;
-		if (tmpBundle != null)
-			return tmpBundle;
-		// always create a new classloader to be passed in 
-		// in order to prevent ResourceBundle caching
-		return bundle = ResourceBundle.getBundle(bundleName);
-	}
-	
-	/**
-	 * Lookup the message with the given ID in this catalog and bind its
-	 * substitution locations with the given string.
-	 */
-	public static String bind(String id, String binding) {
-		return bind(id, new String[] { binding });
-	}
-	
-	/**
-	 * Lookup the message with the given ID in this catalog and bind its
-	 * substitution locations with the given strings.
-	 */
-	public static String bind(String id, String binding1, String binding2) {
-		return bind(id, new String[] { binding1, binding2 });
-	}
-	
-	/**
-	 * Gets a string from the resource bundle. We don't want to crash because of a missing String.
-	 * Returns the key if not found.
-	 */
-	public static String bind(String key) {
-		try {
-			return getResourceBundle().getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-	
-	/**
-	 * Gets a string from the resource bundle and binds it with the given arguments. If the key is 
-	 * not found, return the key.
-	 */
-	public static String bind(String key, Object[] args) {
-		try {
-			return MessageFormat.format(bind(key), args);
-		} catch (MissingResourceException e) {
-			return key;
-		} catch (NullPointerException e) {
-			return "!" + key + "!"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-	
-	/**
-	 * Progress monitor helpers
-	 */
-	public static void checkCanceled(IProgressMonitor monitor) {
-		if (monitor.isCanceled())
-			throw new OperationCanceledException();
-	}
-	
-	public static IProgressMonitor monitorFor(IProgressMonitor monitor) {
-		if (monitor == null)
-			return new NullProgressMonitor();
-		return monitor;
-	}	
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/StreamUtil.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/StreamUtil.java
deleted file mode 100644
index f12efa0..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/StreamUtil.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-public class StreamUtil {
-
-	protected final static byte[] COPY_BUFFER = new byte[4096];
-
-	public static void pipe(
-		InputStream in,
-		OutputStream out,
-		long sizeEstimate,
-		IProgressMonitor progress,
-		String title)
-		throws IOException {
-
-		// Only show progress for files larger than 25Kb.
-		Long kilobytesEstimate = new Long(sizeEstimate / 1024);
-		boolean showProgress = (progress != null) && (sizeEstimate > 25000);
-		long bytesCopied = 0;
-
-		synchronized (COPY_BUFFER) {
-			// Read the initial chunk.
-			int read = in.read(COPY_BUFFER, 0, COPY_BUFFER.length);
-
-			while (read != -1) {
-				out.write(COPY_BUFFER, 0, read);
-
-				// Report progress
-				if (showProgress) {
-					bytesCopied = bytesCopied + read;
-					progress.subTask(
-						Policy.bind(
-							"filetransfer.monitor", //$NON-NLS-1$
-							new Object[] { title, new Long(bytesCopied / 1024), kilobytesEstimate }));
-				}
-
-				// Read the next chunk.
-				read = in.read(COPY_BUFFER, 0, COPY_BUFFER.length);
-			} // end while
-		} // end synchronized
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemFileRevision.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemFileRevision.java
deleted file mode 100644
index 0ace476..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemFileRevision.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package org.eclipse.team.examples.filesystem.history;
-
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.core.history.provider.FileRevision;
-
-public class FileSystemFileRevision extends FileRevision {
-
-	java.io.File remoteFile;
-
-	public FileSystemFileRevision(java.io.File file) {
-		this.remoteFile = file;
-	}
-
-	public String getName() {
-		return remoteFile.getName();
-	}
-
-	public long getTimestamp() {
-		return remoteFile.lastModified();
-	}
-
-	public IStorage getStorage(IProgressMonitor monitor) throws CoreException {
-		return new IStorage() {
-
-			public InputStream getContents() throws CoreException {
-				try {
-					return new FileInputStream(remoteFile);
-				} catch (FileNotFoundException e) {
-				}
-
-				return null;
-			}
-
-			public IPath getFullPath() {
-				return new Path(remoteFile.getAbsolutePath());
-			}
-
-			public String getName() {
-				return remoteFile.getName();
-			}
-
-			public boolean isReadOnly() {
-				return true;
-			}
-
-			public Object getAdapter(Class adapter) {
-				return null;
-			}
-
-		};
-	}
-
-	public boolean isPropertyMissing() {
-		return false;
-	}
-
-	public IFileRevision withAllProperties(IProgressMonitor monitor) throws CoreException {
-		return null;
-	}
-
-	public String getContentIdentifier() {
-		return "[File System Revision]"; //$NON-NLS-1$
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemHistory.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemHistory.java
deleted file mode 100644
index 918b960..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemHistory.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.eclipse.team.examples.filesystem.history;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFileState;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.core.history.provider.FileHistory;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.examples.filesystem.FileSystemProvider;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemResourceVariant;
-import org.eclipse.team.internal.core.history.LocalFileRevision;
-
-public class FileSystemHistory extends FileHistory {
-
-	private IFile file;
-	protected IFileRevision[] revisions;
-
-	public FileSystemHistory(IFile file) {
-		this.file = file;
-	}
-
-	public IFileRevision[] getContributors(IFileRevision revision) {
-		return null;
-	}
-
-	public IFileRevision getFileRevision(String id) {
-		return null;
-	}
-
-	public IFileRevision[] getFileRevisions() {
-		return revisions;
-	}
-
-	public IFileRevision[] getTargets(IFileRevision revision) {
-		return null;
-	}
-
-	public void refresh(IProgressMonitor monitor) {
-		try {
-			RepositoryProvider provider = RepositoryProvider.getProvider(file.getProject());
-			if (provider != null && provider instanceof FileSystemProvider) {
-				FileSystemProvider fileProvider = (FileSystemProvider) provider;
-				IResourceVariant resVar = fileProvider.getResourceVariant(file);
-				if (resVar instanceof FileSystemResourceVariant) {
-					FileSystemResourceVariant resVarF = (FileSystemResourceVariant) resVar;
-					java.io.File javaFile = resVarF.getFile();
-					//Get local history items
-					IFileState[] states = file.getHistory(monitor);
-					revisions = new IFileRevision[states.length + 1];
-					int i = 0;
-					for (; i < states.length; i++) {
-						revisions[i] = new LocalFileRevision(states[i]);
-					}
-					revisions[i] = new FileSystemFileRevision(javaFile);
-				}
-			}
-		} catch (TeamException e) {
-		} catch (CoreException e) {
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemHistoryProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemHistoryProvider.java
deleted file mode 100644
index f1e8a98..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/history/FileSystemHistoryProvider.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.team.examples.filesystem.history;
-
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.history.IFileHistory;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.core.history.provider.FileHistoryProvider;
-
-public class FileSystemHistoryProvider extends FileHistoryProvider {
-
-	public IFileHistory getFileHistoryFor(IResource resource, int flags, IProgressMonitor monitor) {
-		return null;
-	}
-
-	public IFileHistory getFileHistoryFor(IFileStore store, int flags, IProgressMonitor monitor) {
-		return null;
-	}
-
-	public IFileRevision getWorkspaceFileRevision(IResource resource) {
-		return null;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/messages.properties b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/messages.properties
deleted file mode 100644
index 9610ec6..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/messages.properties
+++ /dev/null
@@ -1,41 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-fileSystem.propertyLocation=Location:
-
-FileSystemMainPage.location=Location:
-FileSystemMainPage.browseDir=&Browse...
-FileSystemMainPage.notValidLocation=Location must be an existing directory
-
-fsMainPage.name=Select a file system location
-fsMainPage.description=This location will be used to share resources with a team 
-
-ConfigurationWizard.errorTitle=Error configuring the provider.
-ConfigurationWizard.error=File System provider could not be created
-
-ConfigurationWizard.name=File System Repository
-ConfigurationWizard.description=File System Repository Properties
-
-DisconnectAction.errorTitle=Error Disconnecting
-
-PutAction.working=Putting resources...
-PutAction.problemMessage=A problem occured putting the resources.
-
-GetAction.working=Getting resources...
-GetAction.problemMessage=A problem occured getting the resources.
-
-ReplaceAction.working=Replacing resources...
-ReplaceAction.problemMessage=A problem occured replacing the resources.
-
-FileSystemProvider.mustBeFolder=Target location ''{0}'' is a file and must be a folder.
-RemoteResource.mustBeFolder=Resource ''{0}'' is a file so it cannot have entries
-FileSystemRemoteResource.0=This resource is a container so it cannot have data.
-FileSystemSimpleAccessOperations.1=Checking resources out...
-FileSystemSimpleAccessOperations.3=Re-locking resources...
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemMergeContext.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemMergeContext.java
deleted file mode 100644
index 1c72e3a..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemMergeContext.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.subscriber;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.team.core.diff.IDiff;
-import org.eclipse.team.core.diff.IThreeWayDiff;
-import org.eclipse.team.core.mapping.ISynchronizationScopeManager;
-import org.eclipse.team.core.mapping.provider.MergeStatus;
-import org.eclipse.team.core.mapping.provider.ResourceDiffTree;
-import org.eclipse.team.core.subscribers.SubscriberMergeContext;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-
-/**
- * A merge context for merging file system changes.
- */
-public class FileSystemMergeContext extends SubscriberMergeContext {
-
-	/**
-	 * Create the file system merge context for the given scope manager.
-	 * @param manager the scope manager
-	 */
-	public FileSystemMergeContext(ISynchronizationScopeManager manager) {
-		super(FileSystemSubscriber.getInstance(), manager);
-		initialize();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.mapping.provider.MergeContext#makeInSync(org.eclipse.team.core.diff.IDiff, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void makeInSync(IDiff diff, IProgressMonitor monitor)
-			throws CoreException {
-		IResource resource = ResourceDiffTree.getResourceFor(diff);
-		FileSystemSubscriber.getInstance().makeInSync(resource);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.mapping.IMergeContext#markAsMerged(org.eclipse.team.core.diff.IDiff, boolean, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void markAsMerged(IDiff diff, boolean inSyncHint,
-			IProgressMonitor monitor) throws CoreException {
-		// TODO if inSyncHint is true, we should test to see if the contents match
-		IResource resource = ResourceDiffTree.getResourceFor(diff);
-		FileSystemSubscriber.getInstance().markAsMerged(resource, monitor);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.mapping.IMergeContext#reject(org.eclipse.team.core.diff.IDiff, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void reject(IDiff diff, IProgressMonitor monitor)
-			throws CoreException {
-		markAsMerged(diff, false, monitor);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.mapping.provider.MergeContext#getMergeRule(org.eclipse.team.core.diff.IDiff)
-	 */
-	public ISchedulingRule getMergeRule(IDiff node) {
-		return ResourceDiffTree.getResourceFor(node).getProject();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.mapping.provider.MergeContext#merge(org.eclipse.team.core.diff.IDiff, boolean, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus merge(IDiff diff, boolean ignoreLocalChanges, IProgressMonitor monitor) throws CoreException {
-		// Only attempt the merge for non-conflicts. The reason we do this
-		// is because the file system provider doesn't really have the proper base
-		// so merging conflicts doesn't work properly
-		if (!ignoreLocalChanges) {
-			IResource resource = ResourceDiffTree.getResourceFor(diff);
-			if (diff instanceof IThreeWayDiff && resource instanceof IFile) {
-				IThreeWayDiff twd = (IThreeWayDiff) diff;
-				if (twd.getDirection() == IThreeWayDiff.CONFLICTING) {
-					return new MergeStatus(FileSystemPlugin.ID, "Cannot merge conflicting files", new IFile[] { (IFile)resource });
-				}
-			}
-		}
-		return super.merge(diff, ignoreLocalChanges, monitor);
-	}
-	
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemRemoteTree.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemRemoteTree.java
deleted file mode 100644
index c8aed49..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemRemoteTree.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.subscriber;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.core.variants.ThreeWayRemoteTree;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.filesystem.FileSystemProvider;
-
-/**
- * The file system three-way remote resource variant tree that provides
- * the ability to traverse the file system for the creation of resource variants.
- */
-public class FileSystemRemoteTree extends ThreeWayRemoteTree {
-	
-	/**
-	 * Create the file system remote resource variant tree
-	 * @param subscriber the file system subscriber
-	 */
-	public FileSystemRemoteTree(FileSystemSubscriber subscriber) {
-		super(subscriber);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.AbstractResourceVariantTree#fetchMembers(org.eclipse.team.core.variants.IResourceVariant, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IResourceVariant[] fetchMembers(IResourceVariant variant, IProgressMonitor progress) throws TeamException {
-		return ((FileSystemResourceVariant)variant).members();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.AbstractResourceVariantTree#fetchVariant(org.eclipse.core.resources.IResource, int, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected IResourceVariant fetchVariant(IResource resource, int depth, IProgressMonitor monitor) throws TeamException {
-		RepositoryProvider provider = RepositoryProvider.getProvider(resource.getProject(), FileSystemPlugin.PROVIDER_ID);
-		if (provider != null) {
-			return ((FileSystemProvider)provider).getResourceVariant(resource);
-		}
-		return null;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemResourceVariant.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemResourceVariant.java
deleted file mode 100644
index 8a06ae4..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemResourceVariant.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.subscriber;
-
-import java.io.BufferedInputStream;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Date;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.variants.CachedResourceVariant;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-
-/**
- * A file system resource variant. Although not strictly necessary, this
- * class extends <code>CachedResourceVariant</code> which will
- * cache the contents of the resource variant.
- */
-public class FileSystemResourceVariant extends CachedResourceVariant {
-	
-	private java.io.File ioFile;
-	private byte[] bytes;
-	
-	/**
-	 * Create a resource variant for the given file. The bytes will
-	 * be calculated when they are accessed.
-	 * @param file the file
-	 */
-	public FileSystemResourceVariant(java.io.File file) {
-		this.ioFile = file;
-	}
-	
-	/**
-	 * Create a resource variant for the given file and sync bytes.
-	 * @param file the file
-	 * @param bytes the timestamp bytes
-	 */
-	public FileSystemResourceVariant(java.io.File file, byte[] bytes) {
-		this.ioFile = file;
-		this.bytes = bytes;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.CachedResourceVariant#fetchContents(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void fetchContents(IProgressMonitor monitor) throws TeamException {
-		setContents(getContents(), monitor);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.CachedResourceVariant#getCachePath()
-	 */
-	protected String getCachePath() {
-		// append the timestamp to the file path to give each variant a unique path
-		return getFilePath() + " " + ioFile.lastModified(); //$NON-NLS-1$
-	}
-	
-	private String getFilePath() {
-		try {
-			return ioFile.getCanonicalPath();
-		} catch (IOException e) {
-			// Failed for some reason. Try the absolute path.
-			FileSystemPlugin.log(new Status(IStatus.ERROR, FileSystemPlugin.ID, 0, 
-					"Failed to obtain canonical path for " + ioFile.getAbsolutePath(), e)); //$NON-NLS-1$
-			return ioFile.getAbsolutePath();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.CachedResourceVariant#getCacheId()
-	 */
-	protected String getCacheId() {
-		return FileSystemPlugin.ID;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.IResourceVariant#getName()
-	 */
-	public String getName() {
-		return ioFile.getName();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.IResourceVariant#isContainer()
-	 */
-	public boolean isContainer() {
-		return ioFile.isDirectory();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.IResourceVariant#getContentIdentifier()
-	 */
-	public String getContentIdentifier() {
-		// Use the modification timestamp as the content identifier
-		return new Date(ioFile.lastModified()).toString();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.IResourceVariant#asBytes()
-	 */
-	public byte[] asBytes() {
-		if (bytes == null) {
-			// For simplicity, convert the timestamp to it's string representation.
-			// A more optimal storage format would be the 8 bytes that make up the long.
-			bytes = Long.toString(ioFile.lastModified()).getBytes();
-		} 
-		return bytes;
-	}
-
-	/**
-	 * Return the files contained by the file of this resource variant.
-	 * @return the files contained by the file of this resource variant.
-	 */
-	public FileSystemResourceVariant[] members() {
-		if (isContainer()) {
-			java.io.File[] members = ioFile.listFiles();
-			FileSystemResourceVariant[] result = new FileSystemResourceVariant[members.length];
-			for (int i = 0; i < members.length; i++) {
-				result[i] = new FileSystemResourceVariant(members[i]);
-			}
-			return result;
-		}
-		return new FileSystemResourceVariant[0];
-	}
-
-	/**
-	 * @return
-	 */
-	public InputStream getContents() throws TeamException {
-		try {
-			return new BufferedInputStream(new FileInputStream(ioFile));
-		} catch (FileNotFoundException e) {
-			throw new TeamException("Failed to fetch contents for " + getFilePath(), e); //$NON-NLS-1$
-		}
-	}
-	
-	public java.io.File getFile(){
-		return ioFile;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemSubscriber.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemSubscriber.java
deleted file mode 100644
index 482a57d..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemSubscriber.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.subscriber;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.variants.*;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.filesystem.FileSystemProvider;
-
-/**
- * This is an example file system subscriber that overrides
- * ThreeWaySubscriber. It uses a repository
- * provider (<code>FileSystemProvider</code>) to determine and
- * manage the roots and to create resource variants. It also makes
- * use of a file system specific remote tree (<code>FileSystemRemoteTree</code>)
- * for provided the remote tree access and refresh.
- * 
- * @see ThreeWaySubscriber
- * @see ThreeWaySynchronizer
- * @see FileSystemProvider
- * @see FileSystemRemoteTree
- */
-public class FileSystemSubscriber extends ThreeWaySubscriber {
-
-	private static FileSystemSubscriber instance;
-	
-	/**
-	 * Return the file system subscriber singleton.
-	 * @return the file system subscriber singleton.
-	 */
-	public static synchronized FileSystemSubscriber getInstance() {
-		if (instance == null) {
-			instance = new FileSystemSubscriber();
-		}
-		return instance;
-	}
-	
-	/**
-	 * Create the file system subscriber.
-	 */
-	private FileSystemSubscriber() {
-		super(new ThreeWaySynchronizer(new QualifiedName(FileSystemPlugin.ID, "workpsace-sync"))); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.ThreeWaySubscriber#getResourceVariant(org.eclipse.core.resources.IResource, byte[])
-	 */
-	public IResourceVariant getResourceVariant(IResource resource, byte[] bytes) throws TeamException {
-		RepositoryProvider provider = RepositoryProvider.getProvider(resource.getProject(), FileSystemPlugin.PROVIDER_ID);
-		if (provider != null) {
-			return ((FileSystemProvider)provider).getResourceVariant(resource, bytes);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.ThreeWaySubscriber#createRemoteTree()
-	 */
-	protected ThreeWayRemoteTree createRemoteTree() {
-		return new FileSystemRemoteTree(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.Subscriber#getName()
-	 */
-	public String getName() {
-		return "File System Example"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.Subscriber#roots()
-	 */
-	public IResource[] roots() {
-		List result = new ArrayList();
-		IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		for (int i = 0; i < projects.length; i++) {
-			IProject project = projects[i];
-			if(project.isAccessible()) {
-				RepositoryProvider provider = RepositoryProvider.getProvider(project, FileSystemPlugin.PROVIDER_ID);
-				if(provider != null) {
-					result.add(project);
-				}
-			}
-		}
-		return (IProject[]) result.toArray(new IProject[result.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.ThreeWaySubscriber#handleRootChanged(org.eclipse.core.resources.IResource, boolean)
-	 */
-	public void handleRootChanged(IResource resource, boolean added) {
-		// Override to allow FileSystemProvider to signal the addition and removal of roots
-		super.handleRootChanged(resource, added);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.variants.ResourceVariantTreeSubscriber#getSyncInfo(org.eclipse.core.resources.IResource, org.eclipse.team.core.variants.IResourceVariant, org.eclipse.team.core.variants.IResourceVariant)
-	 */
-	protected SyncInfo getSyncInfo(IResource local, IResourceVariant base, IResourceVariant remote) throws TeamException {
-		// Override to use a custom sync info
-		FileSystemSyncInfo info = new FileSystemSyncInfo(local, base, remote, this.getResourceComparator());
-		info.init();
-		return info;
-	}
-
-	/**
-	 * Make the resource in-sync.
-	 * @param resource the resource
-	 * @throws TeamException
-	 */
-	public void makeInSync(IResource resource) throws TeamException {
-		ThreeWaySynchronizer synchronizer = getSynchronizer();
-		byte[] remoteBytes = synchronizer.getRemoteBytes(resource);
-		if (remoteBytes == null) {
-			if (!resource.exists())
-				synchronizer.flush(resource, IResource.DEPTH_ZERO);
-		} else {
-			synchronizer.setBaseBytes(resource, remoteBytes);
-		}
-	}
-
-	/**
-	 * Make the change an outgoing change
-	 * @param resource
-	 * @throws TeamException 
-	 */
-	public void markAsMerged(IResource resource, IProgressMonitor monitor) throws TeamException {
-		makeInSync(resource);
-		try {
-			resource.touch(monitor);
-		} catch (CoreException e) {
-			throw TeamException.asTeamException(e);
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemSyncInfo.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemSyncInfo.java
deleted file mode 100644
index b330bed..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/subscriber/FileSystemSyncInfo.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.subscriber;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.core.variants.IResourceVariantComparator;
-
-/**
- * Provide a custom sync info that will report files that exist both 
- * locally and remotely as in-sync and will return a null base if there
- * is an incoming change.
- */
-public class FileSystemSyncInfo extends SyncInfo {
-
-	public FileSystemSyncInfo(IResource local, IResourceVariant base, IResourceVariant remote, IResourceVariantComparator comparator) {
-		super(local, base, remote, comparator);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.subscribers.SyncInfo#calculateKind(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected int calculateKind() throws TeamException {
-		if (getLocal().getType() != IResource.FILE) {
-			if (getLocal().exists() && getRemote() != null) {
-				return IN_SYNC;
-			}
-		}
-		return super.calculateKind();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.synchronize.SyncInfo#getBase()
-	 */
-	public IResourceVariant getBase() {
-		// If the kind has been set and there is an incoming change
-		// return null as the base since the server does not keep the
-		// base contents
-//		if ((getKind() & INCOMING) > 0) {
-//			return null;
-//		}
-		return super.getBase();
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/CompoundResourceTraversal.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/CompoundResourceTraversal.java
deleted file mode 100644
index 8fbb36d..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/CompoundResourceTraversal.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.util.*;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.ResourceTraversal;
-import org.eclipse.core.runtime.IPath;
-
-/**
- * Helper class that accumulates several traversals in order
- * to generate a final set of traversals and to perform certain
- * queries on a set of traversals.
- * 
- * TODO: This class was copied from the Team Core plugin since it was an internal
- * class. It should probably be made API at some point.
- */
-public class CompoundResourceTraversal {
-	
-	private Set deepFolders = new HashSet();
-	private Set shallowFolders = new HashSet();
-	private Set zeroFolders = new HashSet();
-	private Set files = new HashSet();
-	
-	public void addTraversals(ResourceTraversal[] traversals) {
-		for (int i = 0; i < traversals.length; i++) {
-			ResourceTraversal traversal = traversals[i];
-			addTraversal(traversal);
-		}
-	}
-
-	public void addTraversal(ResourceTraversal traversal) {
-		IResource[] resources = traversal.getResources();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			addResource(resource, traversal.getDepth());
-		}
-	}
-
-	public void addResource(IResource resource, int depth) {
-		if (resource.getType() == IResource.FILE) {
-			if (!isCovered(resource, IResource.DEPTH_ZERO))
-				files.add(resource);
-		}
-		switch (depth) {
-		case IResource.DEPTH_INFINITE:
-			addDeepFolder(resource);
-			break;
-		case IResource.DEPTH_ONE:
-			addShallowFolder(resource);
-			break;
-		case IResource.DEPTH_ZERO:
-			addZeroFolder(resource);
-			break;
-		}
-	}
-
-	private void addShallowFolder(IResource resource) {
-		if (!isCovered(resource, IResource.DEPTH_ONE)) {
-			shallowFolders.add(resource);
-			removeDescendants(resource, IResource.DEPTH_ONE);
-		}
-	}
-
-	public boolean isCovered(IResource resource, int depth) {
-		IPath fullPath = resource.getFullPath();
-		// Regardless of the depth, look for a deep folder that covers the resource
-		for (Iterator iter = deepFolders.iterator(); iter.hasNext();) {
-			IResource deepFolder = (IResource) iter.next();
-			if (deepFolder.getFullPath().isPrefixOf(fullPath)) {
-				return true;
-			}
-		}
-		// For files, look in the shallow folders and files
-		if (resource.getType() == IResource.FILE) {
-			return (shallowFolders.contains(resource.getParent()) || files.contains(resource));
-		}
-		// For folders, look in appropriate sets
-		switch (depth) {
-		case IResource.DEPTH_ONE:
-			return (shallowFolders.contains(resource));
-		case IResource.DEPTH_ZERO:
-			return (shallowFolders.contains(resource.getParent()) || zeroFolders.contains(resource));
-		}
-		return false;
-	}
-
-	private void addZeroFolder(IResource resource) {
-		if (!isCovered(resource, IResource.DEPTH_ZERO))
-			zeroFolders.add(resource);
-	}
-
-	private void addDeepFolder(IResource resource) {
-		if (!isCovered(resource, IResource.DEPTH_INFINITE)) {
-			deepFolders.add(resource);
-			removeDescendants(resource, IResource.DEPTH_INFINITE);
-		}
-	}
-
-	private void removeDescendants(IResource resource, int depth) {
-		IPath fullPath = resource.getFullPath();
-		// First, remove any files that are now covered
-		for (Iterator iter = files.iterator(); iter.hasNext();) {
-			IResource child = (IResource) iter.next();
-			switch (depth) {
-			case IResource.DEPTH_INFINITE:
-				if (fullPath.isPrefixOf(child.getFullPath())) {
-					iter.remove();
-				}
-				break;
-			case IResource.DEPTH_ONE:
-				if (fullPath.equals(child.getFullPath().removeLastSegments(1))) {
-					iter.remove();
-				}
-				break;
-			}
-		}
-		// Now, remove any shallow folders
-		if (depth == IResource.DEPTH_INFINITE) {
-			for (Iterator iter = shallowFolders.iterator(); iter.hasNext();) {
-				IResource child = (IResource) iter.next();
-				if (fullPath.isPrefixOf(child.getFullPath())) {
-					iter.remove();
-				}
-			}
-		}
-		// Finally, remove any zero folders
-		for (Iterator iter = zeroFolders.iterator(); iter.hasNext();) {
-			IResource child = (IResource) iter.next();
-			switch (depth) {
-			case IResource.DEPTH_INFINITE:
-				if (fullPath.isPrefixOf(child.getFullPath())) {
-					iter.remove();
-				}
-				break;
-			case IResource.DEPTH_ONE:
-				// TODO: Is a zero folder covered by a shallow folder?
-				if (fullPath.equals(child.getFullPath().removeLastSegments(1))) {
-					iter.remove();
-				}
-				break;
-			}
-		}
-	}
-
-	public void add(CompoundResourceTraversal compoundTraversal) {
-		addResources(
-				(IResource[]) compoundTraversal.deepFolders.toArray(new IResource[compoundTraversal.deepFolders.size()]), 
-				IResource.DEPTH_INFINITE);
-		addResources(
-				(IResource[]) compoundTraversal.shallowFolders.toArray(new IResource[compoundTraversal.shallowFolders.size()]), 
-				IResource.DEPTH_ONE);
-		addResources(
-				(IResource[]) compoundTraversal.zeroFolders.toArray(new IResource[compoundTraversal.zeroFolders.size()]), 
-				IResource.DEPTH_ZERO);
-		addResources(
-				(IResource[]) compoundTraversal.files.toArray(new IResource[compoundTraversal.files.size()]), 
-				IResource.DEPTH_ZERO);
-	}
-
-	public void addResources(IResource[] resources, int depth) {
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			addResource(resource, depth);
-		}
-		
-	}
-
-	/**
-	 * Return the resources contained in the given traversals that are not covered by this traversal
-	 * @param traversals the traversals being testes
-	 * @return the resources contained in the given traversals that are not covered by this traversal
-	 */
-	public IResource[] getUncoveredResources(ResourceTraversal[] traversals) {
-		CompoundResourceTraversal newTraversals = new CompoundResourceTraversal();
-		newTraversals.addTraversals(traversals);
-		return getUncoveredResources(newTraversals);
-	}
-
-	/*
-	 * Return any resources in the other traversal that are not covered by this traversal
-	 */
-	private IResource[] getUncoveredResources(CompoundResourceTraversal otherTraversal) {
-		Set result = new HashSet();
-		for (Iterator iter = otherTraversal.files.iterator(); iter.hasNext();) {
-			IResource resource = (IResource) iter.next();
-			if (!isCovered(resource, IResource.DEPTH_ZERO)) {
-				result.add(resource);
-			}
-		}
-		for (Iterator iter = otherTraversal.zeroFolders.iterator(); iter.hasNext();) {
-			IResource resource = (IResource) iter.next();
-			if (!isCovered(resource, IResource.DEPTH_ZERO)) {
-				result.add(resource);
-			}
-		}
-		for (Iterator iter = otherTraversal.shallowFolders.iterator(); iter.hasNext();) {
-			IResource resource = (IResource) iter.next();
-			if (!isCovered(resource, IResource.DEPTH_ONE)) {
-				result.add(resource);
-			}
-		}
-		for (Iterator iter = otherTraversal.deepFolders.iterator(); iter.hasNext();) {
-			IResource resource = (IResource) iter.next();
-			if (!isCovered(resource, IResource.DEPTH_INFINITE)) {
-				result.add(resource);
-			}
-		}
-		return (IResource[]) result.toArray(new IResource[result.size()]);
-	}
-
-	public ResourceTraversal[] asTraversals() {
-		List result = new ArrayList();
-		if (!files.isEmpty() || ! zeroFolders.isEmpty()) {
-			Set combined = new HashSet();
-			combined.addAll(files);
-			combined.addAll(zeroFolders);
-			result.add(new ResourceTraversal((IResource[]) combined.toArray(new IResource[combined.size()]), IResource.DEPTH_ZERO, IResource.NONE));
-		}
-		if (!shallowFolders.isEmpty()) {
-			result.add(new ResourceTraversal((IResource[]) shallowFolders.toArray(new IResource[shallowFolders.size()]), IResource.DEPTH_ONE, IResource.NONE));
-		}
-		if (!deepFolders.isEmpty()) {
-			result.add(new ResourceTraversal((IResource[]) deepFolders.toArray(new IResource[deepFolders.size()]), IResource.DEPTH_INFINITE, IResource.NONE));
-		}
-		return (ResourceTraversal[]) result.toArray(new ResourceTraversal[result.size()]);
-	}
-
-	public IResource[] getRoots() {
-		List result = new ArrayList();
-		result.addAll(files);
-		result.addAll(zeroFolders);
-		result.addAll(shallowFolders);
-		result.addAll(deepFolders);
-		return (IResource[]) result.toArray(new IResource[result.size()]);
-	}
-
-	public ResourceTraversal[] getUncoveredTraversals(ResourceTraversal[] traversals) {
-		CompoundResourceTraversal other = new CompoundResourceTraversal();
-		other.addTraversals(traversals);
-		return getUncoveredTraversals(other);
-	}
-
-	public ResourceTraversal[] getUncoveredTraversals(CompoundResourceTraversal otherTraversal) {
-		CompoundResourceTraversal uncovered = new CompoundResourceTraversal();
-		for (Iterator iter = otherTraversal.files.iterator(); iter.hasNext();) {
-			IResource resource = (IResource) iter.next();
-			if (!isCovered(resource, IResource.DEPTH_ZERO)) {
-				uncovered.addResource(resource, IResource.DEPTH_ZERO);
-			}
-		}
-		for (Iterator iter = otherTraversal.zeroFolders.iterator(); iter.hasNext();) {
-			IResource resource = (IResource) iter.next();
-			if (!isCovered(resource, IResource.DEPTH_ZERO)) {
-				uncovered.addResource(resource, IResource.DEPTH_ZERO);
-			}
-		}
-		for (Iterator iter = otherTraversal.shallowFolders.iterator(); iter.hasNext();) {
-			IResource resource = (IResource) iter.next();
-			if (!isCovered(resource, IResource.DEPTH_ONE)) {
-				uncovered.addResource(resource, IResource.DEPTH_ONE);
-			}
-		}
-		for (Iterator iter = otherTraversal.deepFolders.iterator(); iter.hasNext();) {
-			IResource resource = (IResource) iter.next();
-			if (!isCovered(resource, IResource.DEPTH_INFINITE)) {
-				uncovered.addResource(resource, IResource.DEPTH_INFINITE);
-			}
-		}
-		return uncovered.asTraversals();
-	}
-
-	public void clear() {
-		deepFolders.clear();
-		shallowFolders.clear();
-		zeroFolders.clear();
-		files.clear();
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ConfigurationWizard.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ConfigurationWizard.java
deleted file mode 100644
index 75a5b94..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ConfigurationWizard.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.examples.filesystem.*;
-import org.eclipse.team.ui.IConfigurationWizard;
-import org.eclipse.team.ui.IConfigurationWizardExtension;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * The file system configuration wizard used when associating a project
- * the the file system provider. It is registered as a Team configuration wizard
- * in the plugin.xml and is invoked when a user chooses to create a File System
- * Repository Provider. One invoked, this wizard makes use of the <code>FileSystemMainPage</code>
- * in order to obtain a target location on disk.
- */
-public class ConfigurationWizard extends Wizard implements IConfigurationWizard, IAdaptable {
-	
-	IProject[] projects;
-	
-	FileSystemMainPage mainPage;
-	
-	public ConfigurationWizard() {
-		// retrieve the remembered dialog settings
-		IDialogSettings workbenchSettings = FileSystemPlugin.getPlugin().getDialogSettings();
-		IDialogSettings section = workbenchSettings.getSection("ProviderExamplesWizard"); //$NON-NLS-1$
-		if (section == null) {
-			section = workbenchSettings.addNewSection("ProviderExamplesWizard"); //$NON-NLS-1$
-		}
-		setDialogSettings(section);
-	}
-
-	/**
-	 * Remember the project so we can map it on finish
-	 * 
-	 * @see org.eclipse.team.ui.IConfigurationWizard#init(IWorkbench, IProject)
-	 */
-	public void init(IWorkbench workbench, IProject project) {
-		setProjects(new IProject[] { project } );
-	}
-	
-	public void addPages() {
-		mainPage = new FileSystemMainPage(
-			"FileSystemMainPage", //$NON-NLS-1$
-			Policy.bind("ConfigurationWizard.name"),  //$NON-NLS-1$
-			Policy.bind("ConfigurationWizard.description"),  //$NON-NLS-1$
-			null);
-		addPage(mainPage);
-	}
-	
-	/*
-	 * Using the information entered in the main page set the provider for
-	 * the given project.
-	 */
-	public boolean performFinish() {
-		mainPage.finish(null);
-		try {
-			if (projects.length == 1) {
-				// Map the provider and set the location
-				RepositoryProvider.map(projects[0], FileSystemPlugin.PROVIDER_ID);
-				FileSystemProvider provider = (FileSystemProvider) RepositoryProvider.getProvider(projects[0]);
-				provider.setTargetLocation(mainPage.getLocation());
-			} else {
-				for (int i = 0; i < projects.length; i++) {
-					IProject project = projects[i];
-					RepositoryProvider.map(project, FileSystemPlugin.PROVIDER_ID);
-					FileSystemProvider provider = (FileSystemProvider) RepositoryProvider.getProvider(project);
-					String path = new Path(mainPage.getLocation()).append(project.getName()).toOSString();
-					provider.setTargetLocation(path);
-				}
-			}
-		} catch (TeamException e) {
-			ErrorDialog.openError(
-				getShell(),
-				Policy.bind("ConfigurationWizard.errorMapping"), //$NON-NLS-1$
-				Policy.bind("ConfigurationWizard.error"), //$NON-NLS-1$
-				e.getStatus());
-			return false;
-		}
-		return true;
-	}
-
-	public Object getAdapter(Class adapter) {
-		if (adapter == IConfigurationWizardExtension.class) {
-			return new IConfigurationWizardExtension(){
-				public void init(IWorkbench workbench, IProject[] projects) {
-					setProjects(projects);
-				}
-			};
-		}
-		return null;
-	}
-
-	/* package */ void setProjects(IProject[] projects) {
-		this.projects = projects;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/DisconnectAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/DisconnectAction.java
deleted file mode 100644
index 0017419..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/DisconnectAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.examples.filesystem.Policy;
-import org.eclipse.team.internal.ui.actions.TeamAction;
-
-/**
- * Action for getting the contents of the selected resources
- */
-public class DisconnectAction extends TeamAction {
-	
-	protected void execute(IAction action) throws InvocationTargetException,
-			InterruptedException {
-		IProject projects[] = getSelectedProjects();
-		try {
-			for (int i = 0; i < projects.length; i++) {
-				RepositoryProvider.unmap(projects[i]);
-			}
-		} catch (TeamException e) {
-			ErrorDialog.openError(getShell(), Policy.bind("DisconnectAction.errorTitle"), null, e.getStatus()); //$NON-NLS-1$
-		} 
-	}
-	
-	/**
-	 * @see TeamAction#isEnabled()
-	 */
-	public boolean isEnabled() {
-		return true;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemAction.java
deleted file mode 100644
index a2d46a5..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemAction.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.util.*;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.internal.ui.actions.TeamAction;
-
-/**
- * An abstract class that acts as a super class for FileSystemProvider actions.
- * It provides some general methods applicable to multiple actions.
- */
-public abstract class FileSystemAction extends TeamAction {
-
-	/**
-	 * @see org.eclipse.team.internal.ui.actions.TeamAction#isEnabled()
-	 */
-	public boolean isEnabled() {
-		return getSelectedMappings().length > 0;
-	}
-
-	/**
-	 * Split the resources into sets associated with their project/provider
-	 */
-	protected Map getRepositoryProviderMapping() {
-		HashMap result = new HashMap();
-		IResource[] resources = getSelectedResources();
-		for (int i = 0; i < resources.length; i++) {
-			RepositoryProvider provider = RepositoryProvider.getProvider(resources[i].getProject());
-			List list = (List) result.get(provider);
-			if (list == null) {
-				list = new ArrayList();
-				result.put(provider, list);
-			}
-			list.add(resources[i]);
-		}
-		return result;
-	}
-	
-	/**
-	 * Return the selected resource mappings that are associated with the
-	 * file system provider.
-	 * @return the selected resource mappings that are associated with the
-	 * file system provider.
-	 */
-	protected ResourceMapping[] getSelectedMappings() {
-		return getSelectedResourceMappings(FileSystemPlugin.PROVIDER_ID);
-	}
-	
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemHistoryPage.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemHistoryPage.java
deleted file mode 100644
index 738aabc..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemHistoryPage.java
+++ /dev/null
@@ -1,236 +0,0 @@
-package org.eclipse.team.examples.filesystem.ui;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.history.IFileHistory;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.examples.filesystem.FileSystemProvider;
-import org.eclipse.team.examples.filesystem.history.FileSystemHistory;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.team.ui.history.HistoryPage;
-import org.eclipse.team.ui.history.IHistoryPageSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartSite;
-
-public class FileSystemHistoryPage extends HistoryPage {
-
-	/* private */IFile file;
-	/* private */FileSystemHistory fileSystemHistory;
-	/* private */IFileRevision[] entries;
-	/* private */IFileRevision currentSelection;
-
-	private FileSystemTableProvider fileSystemTableProvider;
-	/* private */TableViewer tableViewer;
-	private Composite localComposite;
-
-	/* private */OpenFileSystemRevisionAction openAction;
-
-	boolean shutdown = false;
-
-	private RefreshFileHistory refreshFileHistoryJob;
-
-	private class RefreshFileHistory extends Job {
-		/* private */FileSystemHistory fileHistory;
-
-		public RefreshFileHistory() {
-			super("Fetching FileSystem revisions...");  //$NON-NLS-1$
-		}
-
-		public void setFileHistory(FileSystemHistory fileHistory) {
-			this.fileHistory = fileHistory;
-		}
-
-		public IStatus run(IProgressMonitor monitor) {
-
-			IStatus status = Status.OK_STATUS;
-
-			if (fileHistory != null && !shutdown) {
-				fileHistory.refresh(monitor);
-				//Internal code used for convenience - you can use 
-				//your own here
-				Utils.asyncExec(new Runnable() {
-					public void run() {
-						tableViewer.setInput(fileHistory);
-					}
-				}, tableViewer);
-			}
-
-			return status;
-		}
-	}
-
-	public boolean inputSet() {
-		IFile tempFile = getFile();
-		this.file = tempFile;
-		if (tempFile == null)
-			return false;
-
-		//blank current input only after we're sure that we have a file
-		//to fetch history for
-		this.tableViewer.setInput(null);
-
-		fileSystemHistory = new FileSystemHistory(file);
-
-		refreshHistory();
-		return true;
-	}
-
-	private IWorkbenchPartSite getWorkbenchSite(IHistoryPageSite parentSite) {
-		IWorkbenchPart part = parentSite.getPart();
-		if (part != null)
-			return part.getSite();
-		return null;
-	}
-
-	private IFile getFile() {
-		Object obj = getInput();
-		if (obj instanceof IFile)
-			return (IFile) obj;
-
-		return null;
-	}
-
-	public void createControl(Composite parent) {
-
-		localComposite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		localComposite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.grabExcessVerticalSpace = true;
-		localComposite.setLayoutData(data);
-
-		tableViewer = createTable(localComposite);
-
-		contributeActions();
-
-	}
-
-	private void contributeActions() {
-		openAction = new OpenFileSystemRevisionAction("Open");  //$NON-NLS-1$
-		tableViewer.getTable().addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				openAction.selectionChanged((IStructuredSelection) tableViewer.getSelection());
-			}
-		});
-		openAction.setPage(this);
-		//Contribute actions to popup menu
-		MenuManager menuMgr = new MenuManager();
-		Menu menu = menuMgr.createContextMenu(tableViewer.getTable());
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager menuMgr) {
-				menuMgr.add(new Separator(IWorkbenchActionConstants.GROUP_FILE));
-				menuMgr.add(openAction);
-			}
-		});
-		menuMgr.setRemoveAllWhenShown(true);
-		tableViewer.getTable().setMenu(menu);
-	}
-
-	private TableViewer createTable(Composite parent) {
-		fileSystemTableProvider = new FileSystemTableProvider();
-		TableViewer viewer = fileSystemTableProvider.createTable(parent);
-		viewer.setContentProvider(new IStructuredContentProvider() {
-
-			public Object[] getElements(Object inputElement) {
-				// The entries of already been fetch so return them
-				if (entries != null)
-					return entries;
-
-				final IFileHistory fileHistory = (IFileHistory) inputElement;
-				entries = fileHistory.getFileRevisions();
-
-				return entries;
-			}
-
-			public void dispose() {
-				// TODO Auto-generated method stub
-
-			}
-
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-				entries = null;
-			}
-
-		});
-		return viewer;
-	}
-
-	public Control getControl() {
-		return localComposite;
-	}
-
-	public void setFocus() {
-		localComposite.setFocus();
-	}
-
-	public String getDescription() {
-		if (file != null)
-			return file.getFullPath().toString();
-
-		return null;
-	}
-
-	public String getName() {
-		if (file != null)
-			return file.getName();
-
-		return ""; //$NON-NLS-1$
-	}
-
-	public boolean isValidInput(Object object) {
-
-		if (object instanceof IResource && ((IResource) object).getType() == IResource.FILE) {
-			RepositoryProvider provider = RepositoryProvider.getProvider(((IFile) object).getProject());
-			if (provider != null && provider instanceof FileSystemProvider)
-				return true;
-		}
-
-		return false;
-	}
-
-	public void refresh() {
-		refreshHistory();
-	}
-
-	private void refreshHistory() {
-		if (refreshFileHistoryJob == null)
-			refreshFileHistoryJob = new RefreshFileHistory();
-
-		if (refreshFileHistoryJob.getState() != Job.NONE) {
-			refreshFileHistoryJob.cancel();
-		}
-		refreshFileHistoryJob.setFileHistory(fileSystemHistory);
-		IHistoryPageSite parentSite = getHistoryPageSite();
-		//Internal code used for convenience - you can use your own here
-		Utils.schedule(refreshFileHistoryJob, getWorkbenchSite(parentSite));
-	}
-
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemHistoryPageSource.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemHistoryPageSource.java
deleted file mode 100644
index 54b19f5..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemHistoryPageSource.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.team.examples.filesystem.ui;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.examples.filesystem.FileSystemProvider;
-import org.eclipse.team.ui.history.HistoryPageSource;
-import org.eclipse.ui.part.Page;
-
-public class FileSystemHistoryPageSource extends HistoryPageSource {
-
-	public boolean canShowHistoryFor(Object object) {
-		if (object instanceof IResource && ((IResource) object).getType() == IResource.FILE) {
-			RepositoryProvider provider = RepositoryProvider.getProvider(((IFile) object).getProject());
-			if (provider instanceof FileSystemProvider)
-				return true;
-		}
-
-		return false;
-	}
-
-	public Page createPage(Object object) {
-		FileSystemHistoryPage page = new FileSystemHistoryPage();
-		return page;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemMainPage.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemMainPage.java
deleted file mode 100644
index 752d4b7..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemMainPage.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.team.examples.filesystem.Policy;
-
-/**
- * This class provides the main page of the file system repository configuration wizard.
- * It allows the user to select a location on disk. Once the page is finished, the
- * location can be accessed using the <code>getLocation()</code> method.
- */
-public class FileSystemMainPage extends WizardPage {
-	
-	private static final int COMBO_HISTORY_LENGTH = 5;
-	
-	String location;
-	Combo locationCombo;
-	
-	/*
-	 * WizardPage constructor comment.
-	 * @param pageName  the name of the page
-	 * @param title  the title of the page
-	 * @param description  the description of the page
-	 * @param titleImage  the image for the page
-	 */
-
-	public FileSystemMainPage(String pageName, String title, String description, ImageDescriptor titleImage) {
-		super(pageName, title, titleImage);
-		setDescription(description);
-		setTitle(title);
-	}
-		
-	/*
-	 * Creates a new checkbox instance and sets the default layout data.
-	 *
-	 * @param group  the composite in which to create the checkbox
-	 * @param label  the string to set into the checkbox
-	 * @return the new checkbox
-	 */ 
-	protected Button createCheckBox(Composite group, String label) {
-		Button button = new Button(group, SWT.CHECK | SWT.LEFT);
-		button.setText(label);
-		GridData data = new GridData();
-		data.horizontalSpan = 2;
-		button.setLayoutData(data);
-		return button;
-	}
-	
-	/*
-	 * Utility method that creates a combo box
-	 *
-	 * @param parent  the parent for the new label
-	 * @return the new widget
-	 */
-	protected Combo createCombo(Composite parent) {
-		Combo combo = new Combo(parent, SWT.READ_ONLY);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		combo.setLayoutData(data);
-		return combo;
-	}
-	
-	/*
-	 * Creates composite control and sets the default layout data.
-	 *
-	 * @param parent  the parent of the new composite
-	 * @param numColumns  the number of columns for the new composite
-	 * @return the newly-created coposite
-	 */
-	protected Composite createComposite(Composite parent, int numColumns) {
-		Composite composite = new Composite(parent, SWT.NULL);
-	
-		// GridLayout
-		GridLayout layout = new GridLayout();
-		layout.numColumns = numColumns;
-		composite.setLayout(layout);
-	
-		// GridData
-		GridData data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		composite.setLayoutData(data);
-		return composite;
-	}
-	
-	/*
-	 * Utility method that creates a label instance
-	 * and sets the default layout data.
-	 *
-	 * @param parent  the parent for the new label
-	 * @param text  the text for the new label
-	 * @return the new label
-	 */
-	protected Label createLabel(Composite parent, String text) {
-		Label label = new Label(parent, SWT.LEFT);
-		label.setText(text);
-		GridData data = new GridData();
-		data.horizontalSpan = 1;
-		data.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(data);
-		return label;
-	}
-	
-	/*
-	 * Create a text field specific for this application
-	 *
-	 * @param parent  the parent of the new text field
-	 * @return the new text field
-	 */
-	protected Text createTextField(Composite parent) {
-		Text text = new Text(parent, SWT.SINGLE | SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.verticalAlignment = GridData.CENTER;
-		data.grabExcessVerticalSpace = false;
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		text.setLayoutData(data);
-		return text;
-	}
-	
-	/*
-	 * Adds an entry to a history, while taking care of duplicate history items
-	 * and excessively long histories.  The assumption is made that all histories
-	 * should be of length <code>ConfigurationWizardMainPage.COMBO_HISTORY_LENGTH</code>.
-	 *
-	 * @param history the current history
-	 * @param newEntry the entry to add to the history
-	 * @return the history with the new entry appended
-	 */
-	protected String[] addToHistory(String[] history, String newEntry) {
-		ArrayList l = new ArrayList(Arrays.asList(history));
-		addToHistory(l, newEntry);
-		String[] r = new String[l.size()];
-		l.toArray(r);
-		return r;
-	}
-	
-	/*
-	 * Adds an entry to a history, while taking care of duplicate history items
-	 * and excessively long histories.  The assumption is made that all histories
-	 * should be of length <code>ConfigurationWizardMainPage.COMBO_HISTORY_LENGTH</code>.
-	 *
-	 * @param history the current history
-	 * @param newEntry the entry to add to the history
-	 */
-	protected void addToHistory(List history, String newEntry) {
-		history.remove(newEntry);
-		history.add(0,newEntry);
-	
-		// since only one new item was added, we can be over the limit
-		// by at most one item
-		if (history.size() > COMBO_HISTORY_LENGTH)
-			history.remove(COMBO_HISTORY_LENGTH);
-	}
-	
-	/*
-	 * Utility method to create an editable combo box
-	 * 
-	 * @param parent  the parent of the combo box
-	 * @return the created combo
-	 */
-	protected Combo createEditableCombo(Composite parent) {
-		Combo combo = new Combo(parent, SWT.NULL);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		combo.setLayoutData(data);
-		return combo;
-	}
-	
-	// Dialog store id constants
-	private static final String STORE_LOCATION =
-		"ExamplesFSWizardMainPage.STORE_LOCATION";//$NON-NLS-1$
-	
-	public void createControl(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		setControl(composite);
-		
-		Label label = new Label(composite, SWT.NULL);
-		label.setText(Policy.bind("FileSystemMainPage.location")); //$NON-NLS-1$
-		label.setLayoutData(new GridData());
-		
-		locationCombo = createEditableCombo(composite);
-		locationCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		locationCombo.addListener(SWT.Modify, new Listener() {
-			public void handleEvent(Event e) {
-				location = ((Combo)e.widget).getText();
-				FileSystemMainPage.this.validateFields();		
-			}
-		});
-		
-		locationCombo.setFocus();
-		
-		new Label(composite, SWT.NULL);
-		Button browse = new Button(composite, SWT.NULL);
-		browse.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-		browse.setText(Policy.bind("FileSystemMainPage.browseDir")); //$NON-NLS-1$
-		browse.addListener(SWT.Selection, new Listener() {
-			public void handleEvent(Event event) {
-				DirectoryDialog d = new DirectoryDialog(getShell());
-				String directory = d.open();
-				if(directory!=null) {
-					locationCombo.setText(directory);
-				}			
-			}
-		});
-	
-		initializeValues();
-		validateFields();
-	}
-	
-	public String getLocation() {
-		return location;
-	}
-
-	public boolean finish(IProgressMonitor monitor) {
-		saveWidgetValues();
-		return true;
-	}
-	/**
-	 * Initializes states of the controls.
-	 */
-	private void initializeValues() {
-		IDialogSettings settings = getDialogSettings();
-		if (settings != null) {
-			String[] locations = settings.getArray(STORE_LOCATION);
-			if (locations != null) {
-				for (int i = 0; i < locations.length; i++) {
-					locationCombo.add(locations[i]);
-				}
-				locationCombo.select(0);
-			}
-		}
-	}
-	/**
-	 * Saves the widget values
-	 */
-	private void saveWidgetValues() {
-		// Update history
-		IDialogSettings settings = getDialogSettings();
-		if (settings != null) {
-			String[] locations = settings.getArray(STORE_LOCATION);
-			if (locations == null) locations = new String[0];
-			locations = addToHistory(locations, locationCombo.getText());
-			settings.put(STORE_LOCATION, locations);	
-		}
-	}
-	
-	/*
-	 * Validates the contents of the editable fields and set page completion 
-	 * and error messages appropriately.
-	 */
-	private void validateFields() {
-		String location = locationCombo.getText();
-		if (location.length() == 0) {
-			setErrorMessage(null);
-			setPageComplete(false);
-			return;
-		} else {
-			File file = new File(location);
-			if(!file.exists() || !file.isDirectory()) {
-				setErrorMessage(Policy.bind("FileSystemMainPage.notValidLocation")); //$NON-NLS-1$
-				setPageComplete(false);
-				return;				
-			}			
-		}
-		setErrorMessage(null);
-		setPageComplete(true);
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemOperation.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemOperation.java
deleted file mode 100644
index 2991cf6..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemOperation.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.resources.mapping.ResourceTraversal;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.mapping.ISynchronizationScope;
-import org.eclipse.team.core.subscribers.SubscriberScopeManager;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.filesystem.FileSystemProvider;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemSubscriber;
-import org.eclipse.team.ui.synchronize.ModelOperation;
-import org.eclipse.ui.IWorkbenchPart;
-
-public abstract class FileSystemOperation extends ModelOperation {
-
-	/**
-	 * Create a scope manager for the file system example.
-	 * @param name the name of the manager
-	 * @param inputMappings the input mappings
-	 * @return a scope manager
-	 */
-	public static SubscriberScopeManager createScopeManager(String name, ResourceMapping[] inputMappings) {
-		return new SubscriberScopeManager(name, inputMappings, FileSystemSubscriber.getInstance(), true);
-	}
-	
-	/**
-	 * Create a file system operation.
-	 * @param part the part from which the operation was launched
-	 * @param manager the scope manager that provides the input to the operation
-	 */
-	protected FileSystemOperation(IWorkbenchPart part, SubscriberScopeManager manager) {
-		super(part, manager);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ModelOperation#execute(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void execute(IProgressMonitor monitor) throws InvocationTargetException {
-		try {
-			Map providerToTraversals = getProviderToTraversalsMap();
-			monitor.beginTask(getTaskName(), providerToTraversals.size() * 100);
-			monitor.setTaskName(getTaskName());
-			for (Iterator iter = providerToTraversals.keySet().iterator(); iter.hasNext();) {
-				FileSystemProvider provider = (FileSystemProvider) iter.next();
-				ResourceTraversal[] traversals = getTraversals(providerToTraversals, provider);
-				execute(provider, 
-						traversals, 
-						new SubProgressMonitor(monitor, 100));
-			}
-		} catch (CoreException e) {
-			throw new InvocationTargetException(e);
-		} finally {
-			monitor.done();
-		}
-	}
-
-	/**
-	 * Return a map of FileSystemProvider to ResourceTraversals.
-	 * @return a map of FileSystemProvider to ResourceTraversals
-	 */
-	private Map getProviderToTraversalsMap() {
-		HashMap result = new HashMap();
-		ISynchronizationScope scope = getScope();
-		ResourceMapping[] mappings = scope.getMappings();
-		for (int i = 0; i < mappings.length; i++) {
-			ResourceMapping mapping = mappings[i];
-			ResourceTraversal[] traversals = scope.getTraversals(mapping);
-			for (int j = 0; j < traversals.length; j++) {
-				ResourceTraversal traversal = traversals[j];
-				IResource[] resources = traversal.getResources();
-				for (int k = 0; k < resources.length; k++) {
-					IResource resource = resources[k];
-					recordResourceAndDepth(result, resource, traversal.getDepth());
-				}
-			}
-		}
-		return result;
-	}
-	
-	/**
-	 * Return the file system provider associated with the given project or <code>null</code>
-	 * if the project is not mapped to the file system provider.
-	 * @param project the project
-	 * @return the file system provider associated with the given project
-	 */
-	protected FileSystemProvider getProviderFor(IProject project) {
-		return (FileSystemProvider)RepositoryProvider.getProvider(project, FileSystemPlugin.PROVIDER_ID);
-	}
-	
-	private void recordResourceAndDepth(HashMap providerToTraversals, IResource resource, int depth) {
-		FileSystemProvider provider = getProviderFor(resource.getProject());
-		if (provider != null) {
-			CompoundResourceTraversal traversal = (CompoundResourceTraversal)providerToTraversals.get(provider);
-			if (traversal == null) {
-				traversal = new CompoundResourceTraversal();
-				providerToTraversals.put(provider, traversal);
-			}
-			traversal.addResource(resource, depth);
-		}
-	}
-
-	/**
-	 * Return the traversals that were accumulated for the given provider by the
-	 * {@link #getProviderToTraversalsMap()} method.
-	 * @param providerToTraversals the provider to traversals map
-	 * @param provider the provider
-	 * @return the traversals for the given provider
-	 */
-	private ResourceTraversal[] getTraversals(Map providerToTraversals, FileSystemProvider provider) {
-		CompoundResourceTraversal traversal = (CompoundResourceTraversal)providerToTraversals.get(provider);
-		return traversal.asTraversals();
-	}
-
-	/**
-	 * Execute the operation for the given provider and traversals.
-	 * @param provider the provider
-	 * @param traversals the traversals to be operated on
-	 * @param monitor a progress monitor
-	 * @throws CoreException
-	 */
-	protected abstract void execute(FileSystemProvider provider, ResourceTraversal[] traversals, IProgressMonitor monitor) throws CoreException;
-
-	/**
-	 * Return the task name for this operation.
-	 * @return the task name for this operation
-	 */
-	protected abstract String getTaskName();
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.TeamOperation#canRunAsJob()
-	 */
-	protected boolean canRunAsJob() {
-		return true;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemPropertiesPage.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemPropertiesPage.java
deleted file mode 100644
index e245a0a..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemPropertiesPage.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.PropertyPage;
-/*
- * A property page which displays the  file system specific properties 
- * for the selected resource.
- */
-public class FileSystemPropertiesPage extends PropertyPage {
-	// The resource to show properties for
-	protected IResource resource;
-
-	/*	 
-	 * Creates a key-value property pair in the given parent.
-	 * 
-	 * @param parent  the parent for the labels
-	 * @param left  the string for the left label
-	 * @param right  the string for the right label
-	 */
-	protected void createPair(Composite parent, String left, String right) {
-		Label label = new Label(parent, SWT.NONE);
-		label.setText(left);
-	
-		label = new Label(parent, SWT.NONE);
-		label.setText(right);
-		label.setToolTipText(right);
-		label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	}
-
-	/*
-	 * Returns the element selected when the properties was run
-	 * @return the selected element
-	 */	
-	protected IResource getSelectedElement() {
-		// get the resource that is the source of this property page
-		IResource resource = null;
-		IAdaptable element = getElement();
-		if (element instanceof IResource) {
-			resource = (IResource)element;
-		} else {
-			Object adapter = element.getAdapter(IResource.class);
-			if (adapter instanceof IResource) {
-				resource = (IResource)adapter;
-			}
-		}
-		return resource;
-	}
-	
-	/*
-	 * @see PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = layout.marginWidth = 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		return composite;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemRevisionEditorInput.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemRevisionEditorInput.java
deleted file mode 100644
index c123148..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemRevisionEditorInput.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.text.DateFormat;
-import java.util.Date;
-
-import org.eclipse.core.resources.IFileState;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.ui.IPersistableElement;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-public class FileSystemRevisionEditorInput extends PlatformObject implements IWorkbenchAdapter, IStorageEditorInput {
-
-	private IFileRevision fileRevision;
-	private IStorage storage;
-
-	public FileSystemRevisionEditorInput(IFileRevision revision) {
-		this.fileRevision = revision;
-		try {
-			this.storage = revision.getStorage(new NullProgressMonitor());
-		} catch (CoreException e) {
-		}
-	}
-
-	public Object[] getChildren(Object o) {
-		return new Object[0];
-	}
-
-	public ImageDescriptor getImageDescriptor(Object object) {
-		return null;
-	}
-
-	public String getLabel(Object o) {
-		if (storage != null) {
-			return storage.getName();
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	public Object getParent(Object o) {
-		return null;
-	}
-
-	public IStorage getStorage() throws CoreException {
-		return storage;
-	}
-
-	public boolean exists() {
-		return true;
-	}
-
-	public ImageDescriptor getImageDescriptor() {
-		return null;
-	}
-
-	public String getName() {
-		if (fileRevision != null)
-			return fileRevision.getName() + " " + fileRevision.getContentIdentifier();  //$NON-NLS-1$
-
-		if (storage != null) {
-			return storage.getName() + " " + DateFormat.getInstance().format(new Date(((IFileState) storage).getModificationTime())); //$NON-NLS-1$
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	public IPersistableElement getPersistable() {
-		return null;
-	}
-
-	public String getToolTipText() {
-		if (fileRevision != null)
-			try {
-				return getStorage().getFullPath().toString();
-			} catch (CoreException e) {
-			}
-
-		if (storage != null)
-			return storage.getFullPath().toString();
-
-		return ""; //$NON-NLS-1$
-	}
-
-	public Object getAdapter(Class adapter) {
-		if (adapter == IWorkbenchAdapter.class) {
-			return this;
-		}
-		if (adapter == IFileRevision.class)
-			return fileRevision;
-		else if  (adapter == IFileState.class){
-			if (storage != null && storage instanceof IFileState)
-				return storage;
-		} 
-		return super.getAdapter(adapter);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemSynchronizeParticipant.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemSynchronizeParticipant.java
deleted file mode 100644
index 11cc164..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemSynchronizeParticipant.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.mapping.ISynchronizationScopeManager;
-import org.eclipse.team.core.mapping.provider.MergeContext;
-import org.eclipse.team.core.mapping.provider.SynchronizationContext;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemMergeContext;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemSubscriber;
-import org.eclipse.team.internal.ui.TeamUIPlugin;
-import org.eclipse.team.ui.TeamUI;
-import org.eclipse.team.ui.mapping.SynchronizationActionProvider;
-import org.eclipse.team.ui.synchronize.*;
-
-
-/**
- * This is an example synchronize participant for the file system provider. It will allow
- * showing synchronization state for local resources mapped to a remote file system
- * location.
- * 
- * @since 3.0
- */
-public class FileSystemSynchronizeParticipant extends ModelSynchronizeParticipant {
-	
-	/**
-	 * The participant id for the org.eclipse.team.ui.synchronizeParticipant extension point.
-	 */
-	public static final String ID = "org.eclipse.team.examples.filesystem.participant"; //$NON-NLS-1$
-	
-	/**
-	 * The viewer id for the org.eclipse.ui.navigator.viewer extension point.
-	 */
-	public static final String VIEWER_ID = "org.eclipse.team.examples.filesystem.syncViewer"; //$NON-NLS-1$
-	
-	/**
-	 * Custom menu groups included in the viewer definition in the plugin.xml.
-	 */
-	public static final String CONTEXT_MENU_PUT_GROUP_1 = "put"; //$NON-NLS-1$
-	public static final String CONTEXT_MENU_OVERWRITE_GROUP_1 = "overwrite"; //$NON-NLS-1$
-	
-	/**
-	 * A custom label decorator that will show the remote mapped path for each
-	 * file.
-	 */
-	public class FileSystemParticipantLabelDecorator extends LabelProvider implements ILabelDecorator {
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ILabelDecorator#decorateImage(org.eclipse.swt.graphics.Image, java.lang.Object)
-		 */
-		public Image decorateImage(Image image, Object element) {
-			return image;
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.ILabelDecorator#decorateText(java.lang.String, java.lang.Object)
-		 */
-		public String decorateText(String text, Object element) {
-			try {
-				if (element instanceof ISynchronizeModelElement) {
-					IResource resource = ((ISynchronizeModelElement) element).getResource();
-					if (resource != null && resource.getType() == IResource.FILE) {
-						SyncInfo info = FileSystemSubscriber.getInstance().getSyncInfo(resource);
-						IResourceVariant variant = info.getRemote();
-						if (variant != null) {
-							return text + " (" + variant.getContentIdentifier() + ")";
-						}
-					}
-				}
-			} catch (TeamException e) {
-				FileSystemPlugin.log(e);
-			}
-			return null;
-		}
-	}
-	
-	/**
-	 * Action group that contributes the get an put menus to the context menu 
-	 * in the synchronize view
-	 */
-	public class FileSystemParticipantActionGroup extends ModelSynchronizeParticipantActionGroup {
-		/* (non-Javadoc)
-		 * @see org.eclipse.team.ui.synchronize.SynchronizePageActionGroup#initialize(org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration)
-		 */
-		public void initialize(ISynchronizePageConfiguration configuration) {
-			super.initialize(configuration);
-			appendToGroup(
-					ISynchronizePageConfiguration.P_CONTEXT_MENU, 
-					CONTEXT_MENU_PUT_GROUP_1,
-					new ModelPutAction("Put", configuration));
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.team.ui.operations.MergeActionGroup#configureMergeAction(java.lang.String, org.eclipse.jface.action.Action)
-		 */
-		protected void configureMergeAction(String mergeActionId, Action action) {
-			if (mergeActionId == SynchronizationActionProvider.MERGE_ACTION_ID) {
-				// Custom label for overwrite
-				action.setText("Get");
-			} else if (mergeActionId == SynchronizationActionProvider.MARK_AS_MERGE_ACTION_ID) {
-				// Custom label for mark-as-merged
-				action.setText("Ignore Remote");
-			} else {
-				super.configureMergeAction(mergeActionId, action);
-			}
-		}
-		
-		protected void addToContextMenu(String mergeActionId, Action action, IMenuManager manager) {
-			IContributionItem group = null;
-			if (mergeActionId == SynchronizationActionProvider.MERGE_ACTION_ID) {
-				// This could be left out since this is the default group but it is here for illustration
-				group = manager.find(MERGE_ACTION_GROUP);
-			} else if (mergeActionId == SynchronizationActionProvider.OVERWRITE_ACTION_ID) {
-				// This is a custom group for the overwrite command
-				group = manager.find(CONTEXT_MENU_OVERWRITE_GROUP_1);
-			} else if (mergeActionId == SynchronizationActionProvider.MARK_AS_MERGE_ACTION_ID) {
-				// This could be left out since this is the default group but it is here for illustration
-				group = manager.find(OTHER_ACTION_GROUP);
-			} else {
-				super.addToContextMenu(mergeActionId, action, manager);
-				return;
-			}
-			if (group != null) {
-				manager.appendToGroup(group.getId(), action);
-			} else {
-				manager.add(action);
-			}
-		}
-
-	}
-	
-	/**
-	 * Create a file system participant. This method is invoked by the
-	 * Synchronize view when a persisted participant is being restored.
-	 * Participants that are persisted must override the
-	 * {@link #restoreContext(ISynchronizationScopeManager)} method to recreate
-	 * the context and may also need to override the
-	 * {@link #createScopeManager(ResourceMapping[])} method if they require a
-	 * custom scope manager.
-	 */
-	public FileSystemSynchronizeParticipant() {
-		super();
-	}
-	
-	/**
-	 * Create the participant for the given context. This method is used
-	 * by the file system plugin to create a participant and then add it to
-	 * the sync view (or show it is some other container).
-	 * @param context the synchronization context
-	 */
-	public FileSystemSynchronizeParticipant(SynchronizationContext context) {
-		super(context);
-		try {
-			setInitializationData(TeamUI.getSynchronizeManager().getParticipantDescriptor(ID));
-		} catch (CoreException e) {
-			TeamUIPlugin.log(e);
-		}
-		setSecondaryId(Long.toString(System.currentTimeMillis()));
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.subscribers.SubscriberParticipant#initializeConfiguration(org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration)
-	 */
-	protected void initializeConfiguration(ISynchronizePageConfiguration configuration) {
-		super.initializeConfiguration(configuration);
-		configuration.setProperty(ISynchronizePageConfiguration.P_VIEWER_ID, VIEWER_ID);
-		
-		// Add the label decorator
-		configuration.addLabelDecorator(new FileSystemParticipantLabelDecorator());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ModelSynchronizeParticipant#createMergeActionGroup()
-	 */
-	protected ModelSynchronizeParticipantActionGroup createMergeActionGroup() {
-		return new FileSystemParticipantActionGroup();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ModelSynchronizeParticipant#restoreContext(org.eclipse.team.core.mapping.ISynchronizationScopeManager)
-	 */
-	protected MergeContext restoreContext(ISynchronizationScopeManager manager) {
-		return new FileSystemMergeContext(manager);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ModelSynchronizeParticipant#createScopeManager(org.eclipse.core.resources.mapping.ResourceMapping[])
-	 */
-	protected ISynchronizationScopeManager createScopeManager(ResourceMapping[] mappings) {
-		return FileSystemOperation.createScopeManager(getName(), mappings);
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemTableProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemTableProvider.java
deleted file mode 100644
index e9fb5ec..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/FileSystemTableProvider.java
+++ /dev/null
@@ -1,254 +0,0 @@
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.text.DateFormat;
-import java.util.Date;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.IFontProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.examples.filesystem.history.FileSystemFileRevision;
-
-public class FileSystemTableProvider {
-
-	//column constants
-	private static final int COL_TYPE = 0;
-	private static final int COL_DATE = 1;
-
-	public TableViewer createTable(Composite parent) {
-		Table table = new Table(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
-		table.setHeaderVisible(true);
-		table.setLinesVisible(true);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		table.setLayoutData(data);
-
-		TableLayout layout = new TableLayout();
-		table.setLayout(layout);
-
-		TableViewer viewer = new TableViewer(table);
-
-		createColumns(table, layout, viewer);
-
-		viewer.setLabelProvider(new HistoryLabelProvider());
-
-		// By default, reverse sort by revision.
-		HistorySorter sorter = new HistorySorter(COL_DATE);
-		sorter.setReversed(true);
-		viewer.setSorter(sorter);
-
-		return viewer;
-	}
-
-	/**
-	 * Creates the columns for the history table.
-	 */
-	private void createColumns(Table table, TableLayout layout, TableViewer viewer) {
-		SelectionListener headerListener = getColumnListener(viewer);
-		// revision
-		TableColumn col = new TableColumn(table, SWT.NONE);
-		col.setResizable(true);
-		col.setText("Revision"); //$NON-NLS-1$
-		col.addSelectionListener(headerListener);
-		layout.addColumnData(new ColumnWeightData(20, true));
-
-		// creation date
-		col = new TableColumn(table, SWT.NONE);
-		col.setResizable(true);
-		col.setText("Date"); //$NON-NLS-1$
-		col.addSelectionListener(headerListener);
-		layout.addColumnData(new ColumnWeightData(20, true));
-
-	}
-
-	class HistoryLabelProvider extends LabelProvider implements ITableLabelProvider, IColorProvider, IFontProvider {
-
-		public Image getColumnImage(Object element, int columnIndex) {
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			IFileRevision entry = adaptToFileRevision(element);
-			if (entry == null)
-				return ""; //$NON-NLS-1$
-			switch (columnIndex) {
-				case COL_TYPE :
-					if (entry instanceof FileSystemFileRevision)
-						return "FileSystem revision";  //$NON-NLS-1$
-
-					return "Local history revision";  //$NON-NLS-1$
-				case COL_DATE :
-					long date = entry.getTimestamp();
-					Date dateFromLong = new Date(date);
-					return DateFormat.getInstance().format(dateFromLong);
-			}
-			return ""; //$NON-NLS-1$
-		}
-
-		public Color getBackground(Object element) {
-			return null;
-		}
-
-		public Color getForeground(Object element) {
-			return null;
-		}
-
-		public Font getFont(Object element) {
-			return null;
-		}
-
-	}
-
-	/**
-	 * The history sorter
-	 */
-	class HistorySorter extends ViewerSorter {
-		private boolean reversed = false;
-		private int columnNumber;
-
-		// column headings:	"Type" "Date" 
-		private int[][] SORT_ORDERS_BY_COLUMN = { {COL_DATE, COL_TYPE} /* date */, {COL_TYPE, COL_DATE} /* type */
-		};
-
-		/**
-		 * The constructor.
-		 * @param columnNumber 
-		 */
-		public HistorySorter(int columnNumber) {
-			this.columnNumber = columnNumber;
-		}
-
-		/**
-		 * Compares two log entries, sorting first by the main column of this sorter,
-		 * then by subsequent columns, depending on the column sort order.
-		 */
-		public int compare(Viewer compareViewer, Object o1, Object o2) {
-			/*if (o1 instanceof AbstractCVSHistoryCategory || o2 instanceof AbstractCVSHistoryCategory)
-			 return 0;*/
-
-			IFileRevision e1 = adaptToFileRevision(o1);
-			IFileRevision e2 = adaptToFileRevision(o2);
-			int result = 0;
-			if (e1 == null || e2 == null) {
-				result = super.compare(compareViewer, o1, o2);
-			} else {
-				int[] columnSortOrder = SORT_ORDERS_BY_COLUMN[columnNumber];
-				for (int i = 0; i < columnSortOrder.length; ++i) {
-					result = compareColumnValue(columnSortOrder[i], e1, e2);
-					if (result != 0)
-						break;
-				}
-			}
-			if (reversed)
-				result = -result;
-			return result;
-		}
-
-		/**
-		 * Compares two markers, based only on the value of the specified column.
-		 */
-		int compareColumnValue(int columnNumber, IFileRevision e1, IFileRevision e2) {
-			switch (columnNumber) {
-				case 0 : /* date */
-					long date1 = e1.getTimestamp();
-					long date2 = e2.getTimestamp();
-					if (date1 == date2)
-						return 0;
-
-					return date1 > date2 ? -1 : 1;
-
-				default :
-					return 0;
-			}
-		}
-
-		/**
-		 * Returns the number of the column by which this is sorting.
-		 * @return the column number
-		 */
-		public int getColumnNumber() {
-			return columnNumber;
-		}
-
-		/**
-		 * Returns true for descending, or false
-		 * for ascending sorting order.
-		 * @return returns true if reversed
-		 */
-		public boolean isReversed() {
-			return reversed;
-		}
-
-		/**
-		 * Sets the sorting order.
-		 * @param newReversed 
-		 */
-		public void setReversed(boolean newReversed) {
-			reversed = newReversed;
-		}
-	}
-
-	protected IFileRevision adaptToFileRevision(Object element) {
-		// Get the log entry for the provided object
-		IFileRevision entry = null;
-		if (element instanceof IFileRevision) {
-			entry = (IFileRevision) element;
-		} else if (element instanceof IAdaptable) {
-			entry = (IFileRevision) ((IAdaptable) element).getAdapter(IFileRevision.class);
-		}
-		return entry;
-	}
-
-	/**
-	 * Adds the listener that sets the sorter.
-	 */
-	private SelectionListener getColumnListener(final TableViewer tableViewer) {
-		/**
-		 * This class handles selections of the column headers.
-		 * Selection of the column header will cause resorting
-		 * of the shown tasks using that column's sorter.
-		 * Repeated selection of the header will toggle
-		 * sorting order (ascending versus descending).
-		 */
-		return new SelectionAdapter() {
-			/**
-			 * Handles the case of user selecting the
-			 * header area.
-			 * <p>If the column has not been selected previously,
-			 * it will set the sorter of that column to be
-			 * the current tasklist sorter. Repeated
-			 * presses on the same column header will
-			 * toggle sorting order (ascending/descending).
-			 */
-			public void widgetSelected(SelectionEvent e) {
-				// column selected - need to sort
-				int column = tableViewer.getTable().indexOf((TableColumn) e.widget);
-				HistorySorter oldSorter = (HistorySorter) tableViewer.getSorter();
-				if (oldSorter != null && column == oldSorter.getColumnNumber()) {
-					oldSorter.setReversed(!oldSorter.isReversed());
-					tableViewer.refresh();
-				} else {
-					tableViewer.setSorter(new HistorySorter(column));
-				}
-			}
-		};
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/GetAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/GetAction.java
deleted file mode 100644
index 39dd02f..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/GetAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.team.examples.filesystem.Policy;
-
-/**
- * Action for getting the contents of the selected resources
- */
-public class GetAction extends FileSystemAction {
-
-	protected void execute(IAction action) throws InvocationTargetException,
-			InterruptedException {
-		try {
-			GetOperation operation = new GetOperation(getTargetPart(), 
-								FileSystemOperation.createScopeManager(Policy.bind("GetAction.working"), getSelectedMappings())); //$NON-NLS-1$
-			operation.setOverwriteOutgoing(isOverwriteOutgoing());
-			operation.run();
-		} catch (InvocationTargetException e) {
-			handle(e, null, Policy.bind("GetAction.problemMessage")); //$NON-NLS-1$
-		} catch (InterruptedException e) {
-			// Ignore
-		}
-	}
-	
-	/**
-	 * Indicate whether the action should overwrite outgoing changes.
-	 * By default, the get action does not override local modifications.
-	 * @return whether the action should overwrite outgoing changes.
-	 */
-	protected boolean isOverwriteOutgoing() {
-		return false;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/GetOperation.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/GetOperation.java
deleted file mode 100644
index 0a2e4f3..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/GetOperation.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import org.eclipse.core.resources.mapping.ResourceTraversal;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.diff.*;
-import org.eclipse.team.core.subscribers.SubscriberScopeManager;
-import org.eclipse.team.examples.filesystem.FileSystemProvider;
-import org.eclipse.team.examples.filesystem.Policy;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemSubscriber;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Operation for getting the contents of the selected resources
- */
-public class GetOperation extends FileSystemOperation {
-
-	private boolean overwriteOutgoing;
-
-	public GetOperation(IWorkbenchPart part, SubscriberScopeManager manager) {
-		super(part, manager);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.examples.filesystem.ui.FileSystemOperation#execute(org.eclipse.team.examples.filesystem.FileSystemProvider, org.eclipse.core.resources.mapping.ResourceTraversal[], org.eclipse.core.runtime.SubProgressMonitor)
-	 */
-	protected void execute(FileSystemProvider provider,
-			ResourceTraversal[] traversals, IProgressMonitor monitor)
-			throws CoreException {
-		provider.getOperations().get(traversals, isOverwriteOutgoing(), monitor);
-		if (!isOverwriteOutgoing() && hasIncomingChanges(traversals)) {
-			throw new TeamException("Could not get all changes due to conflicts.");
-		}
-
-	}
-
-	private boolean hasIncomingChanges(ResourceTraversal[] traversals) throws CoreException {
-		final RuntimeException found = new RuntimeException();
-		try {
-			FileSystemSubscriber.getInstance().accept(traversals, new IDiffVisitor() {
-				public boolean visit(IDiff diff) {
-					if (diff instanceof IThreeWayDiff) {
-						IThreeWayDiff twd = (IThreeWayDiff) diff;
-						if (twd.getDirection() == IThreeWayDiff.INCOMING || twd.getDirection() == IThreeWayDiff.CONFLICTING) {
-							throw found;
-						}
-					}
-					return false;
-				}
-			});
-		} catch (RuntimeException e) {
-			if (e == found)
-				return true;
-			throw e;
-		}
-		return false;
-	}
-	
-	/**
-	 * Indicate whether the operation should overwrite outgoing changes.
-	 * By default, the get operation does not override local modifications.
-	 * @return whether the operation should overwrite outgoing changes.
-	 */
-	protected boolean isOverwriteOutgoing() {
-		return overwriteOutgoing;
-	}
-
-	/**
-	 * Set whether the operation should overwrite outgoing changes.
-	 * @param overwriteOutgoing whether the operation should overwrite outgoing changes
-	 */
-	public void setOverwriteOutgoing(boolean overwriteOutgoing) {
-		this.overwriteOutgoing = overwriteOutgoing;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.examples.filesystem.ui.FileSystemOperation#getTaskName()
-	 */
-	protected String getTaskName() {
-		return Policy.bind("GetAction.working"); //$NON-NLS-1$
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/MergeAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/MergeAction.java
deleted file mode 100644
index 5289bba..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/MergeAction.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.team.ui.synchronize.ModelMergeOperation;
-
-/**
- * This merge action is contributed as a a popupmenu objectContribution in
- * the plugin.xml. You can change the value return from {@link #isUseSyncFramework()}
- * to try out different dialogs.
- * 
- * @since 3.2
- */
-public class MergeAction extends FileSystemAction {
-
-	protected void execute(IAction action) throws InvocationTargetException,
-			InterruptedException {
-		try {
-			ModelMergeOperation operation;
-			if (isUseSyncFramework()) {
-				operation = new SyncDialogModelMergeOperation(getTargetPart(),
-						FileSystemOperation.createScopeManager("Merging", getSelectedMappings()));
-			} else {
-				operation = new NonSyncModelMergeOperation(getTargetPart(),
-						FileSystemOperation.createScopeManager("Merging", getSelectedMappings()));
-			}
-			operation.run();
-		} catch (InvocationTargetException e) {
-			handle(e, null, "Errors occurred while merging");
-		} catch (InterruptedException e) {
-			// Ignore
-		}
-	}
-
-	private boolean isUseSyncFramework() {
-		return true;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ModelPutAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ModelPutAction.java
deleted file mode 100644
index 2eddf46..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ModelPutAction.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.team.core.subscribers.SubscriberScopeManager;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
-import org.eclipse.team.ui.synchronize.ModelParticipantAction;
-
-/**
- * A put action for use in the file system synchronize participant.
- */
-public class ModelPutAction extends ModelParticipantAction {
-
-	public ModelPutAction(String text, ISynchronizePageConfiguration configuration) {
-		super(text, configuration);
-	}
-
-	protected boolean isEnabledForSelection(IStructuredSelection selection) {
-		// Only enable the put in outgoing or both modes
-		int mode = getConfiguration().getMode();
-		if (mode == ISynchronizePageConfiguration.OUTGOING_MODE || mode == ISynchronizePageConfiguration.BOTH_MODE) {
-			return getResourceMappings(selection).length > 0;
-		}
-		return false;
-	}
-
-	private ResourceMapping[] getResourceMappings(IStructuredSelection selection) {
-		List mappings = new ArrayList();
-		for (Iterator iter = selection.iterator(); iter.hasNext();) {
-			Object element = iter.next();
-			ResourceMapping mapping = Utils.getResourceMapping(element);
-			if (mapping != null)
-				mappings.add(mapping);
-		}
-		return (ResourceMapping[]) mappings.toArray(new ResourceMapping[mappings.size()]);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.Action#run()
-	 */
-	public void run() {
-		ResourceMapping[] resourceMappings = getResourceMappings(getStructuredSelection());
-		SubscriberScopeManager manager = FileSystemOperation.createScopeManager("Put", resourceMappings);
-		try {
-			new PutOperation(getConfiguration().getSite().getPart(), manager).run();
-		} catch (InvocationTargetException e) {
-			IStatus status = getStatus(e);
-			ErrorDialog.openError(getConfiguration().getSite().getShell(), null, null, status);
-		} catch (InterruptedException e) {
-			// Ignore
-		}
-	}
-
-	private IStatus getStatus(Throwable throwable) {
-		if (throwable instanceof InvocationTargetException) {
-			return getStatus(((InvocationTargetException) throwable).getCause());
-		}
-		return new Status(IStatus.ERROR, FileSystemPlugin.ID, 0, "An error occurred during the put.", throwable);
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncMergeDialog.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncMergeDialog.java
deleted file mode 100644
index 9a4792e..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncMergeDialog.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import org.eclipse.compare.CompareConfiguration;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.team.core.diff.*;
-import org.eclipse.team.core.mapping.IMergeContext;
-import org.eclipse.team.ui.ISaveableWorkbenchPart;
-import org.eclipse.team.ui.SaveablePartDialog;
-
-/**
- * A dialog that can be used to merge conflicting model elements without 
- * using the Synchronization framework. This is experimental.
- * See {@link NonSyncModelMergeOperation}
- * for a description of this work flow and its shortcomings.
- */
-public class NonSyncMergeDialog extends SaveablePartDialog {
-
-	public static void openFor(NonSyncModelMergeOperation operation) {
-		NonSyncModelMergePage page = new NonSyncModelMergePage((IMergeContext) operation.getContext());
-		NonSyncMergePart part = new NonSyncMergePart(operation.getShell(), new CompareConfiguration(), page);
-		NonSyncMergeDialog dialog = new NonSyncMergeDialog(operation.getShell(), part);
-		dialog.open();
-	}
-	
-	public NonSyncMergeDialog(Shell shell, ISaveableWorkbenchPart input) {
-		super(shell, input);
-	}
-	
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == OK) {
-			NonSyncMergePart part = (NonSyncMergePart)getInput();
-			IMergeContext context = part.getContext();
-			if (hasUnmergedChanges(context)) {
-				if (!MessageDialog.openQuestion(getShell(), "Unmerged Changes", "There are still unmerged changes. Are you sure you want to close the dialog?"))
-					return;
-			}
-		}
-		super.buttonPressed(buttonId);
-	}
-
-	private boolean hasUnmergedChanges(IMergeContext context) {
-		return context.getDiffTree().hasMatchingDiffs(
-				ResourcesPlugin.getWorkspace().getRoot().getFullPath(), 
-				new FastDiffFilter() {
-					public boolean select(IDiff diff) {
-						if (diff instanceof IThreeWayDiff) {
-							IThreeWayDiff twd = (IThreeWayDiff) diff;
-							return twd.getDirection() == IThreeWayDiff.INCOMING || twd.getDirection() == IThreeWayDiff.CONFLICTING;
-						}
-						return false;
-					}
-				});
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncMergePart.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncMergePart.java
deleted file mode 100644
index aa6fa1e..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncMergePart.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.compare.CompareConfiguration;
-import org.eclipse.compare.IContentChangeNotifier;
-import org.eclipse.compare.structuremergeviewer.ICompareInput;
-import org.eclipse.core.resources.mapping.ModelProvider;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.ToolBarManager;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.team.core.mapping.IMergeContext;
-import org.eclipse.team.internal.ui.Policy;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.team.ui.PageSaveablePart;
-import org.eclipse.team.ui.mapping.ISynchronizationCompareAdapter;
-import org.eclipse.team.ui.mapping.ISynchronizationCompareInput;
-
-
-/**
- * This class is the compare container used by the {@link NonSyncModelMergeOperation}
- * to show a manual merge.
- */
-public class NonSyncMergePart extends PageSaveablePart {
-	
-	private final NonSyncModelMergePage page;
-
-	protected NonSyncMergePart(Shell shell, CompareConfiguration compareConfiguration, NonSyncModelMergePage page) {
-		super(shell, compareConfiguration);
-		this.page = page;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.PageSaveablePart#createPage(org.eclipse.swt.widgets.Composite, org.eclipse.jface.action.ToolBarManager)
-	 */
-	protected Control createPage(Composite parent, ToolBarManager toolBarManager) {
-		page.createControl(parent);
-		return page.getControl();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.PageSaveablePart#getSelectionProvider()
-	 */
-	protected ISelectionProvider getSelectionProvider() {
-		return page.getViewer();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.PageSaveablePart#getCompareInput(org.eclipse.jface.viewers.ISelection)
-	 */
-	protected ICompareInput getCompareInput(ISelection selection) {
-		ICompareInput compareInput = super.getCompareInput(selection);
-		if (compareInput != null)
-			return compareInput;
-		Object element = ((IStructuredSelection)selection).getFirstElement();
-		ISynchronizationCompareAdapter compareAdapter = getCompareAdapter(element);
-		if (element instanceof ResourceMapping) {
-			element = ((ResourceMapping) element).getModelObject();
-		}
-		if (compareAdapter != null){
-			return compareAdapter.asCompareInput(page.getContext(), element);
-		}
-		return null;
-	}
-	
-	protected static ISynchronizationCompareAdapter getCompareAdapter(Object element) {
-		if (element instanceof ResourceMapping) {
-			ResourceMapping mapping = (ResourceMapping) element;
-			ModelProvider provider = mapping.getModelProvider();
-			Object adapter = provider.getAdapter(ISynchronizationCompareAdapter.class);
-			if (adapter instanceof ISynchronizationCompareAdapter) {
-				return (ISynchronizationCompareAdapter) adapter;
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.PageSaveablePart#prepareInput(org.eclipse.compare.structuremergeviewer.ICompareInput, org.eclipse.compare.CompareConfiguration, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void prepareInput(ICompareInput input,
-			CompareConfiguration configuration, IProgressMonitor monitor)
-			throws InvocationTargetException {
-		try {
-			ISynchronizationCompareInput adapter = asSynchronizationCompareInput(input);
-			if (adapter != null) {
-				adapter.prepareInput(configuration, Policy.subMonitorFor(monitor, 90));
-			}
-		} catch (CoreException e) {
-			throw new InvocationTargetException(e);
-		}
-	}
-
-	/*
-	 * Convert the compare input to a synchronize compare input.
-	 */
-	private ISynchronizationCompareInput asSynchronizationCompareInput(ICompareInput input) {
-		return (ISynchronizationCompareInput)Utils.getAdapter(input, ISynchronizationCompareInput.class);
-	}
-
-	public void contentChanged(IContentChangeNotifier source) {
-		// TODO Auto-generated method stub
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#getTitle()
-	 */
-	public String getTitle() {
-		return "File System Provider Merge";
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#getTitleImage()
-	 */
-	public Image getTitleImage() {
-		return null;
-	}
-
-	public IMergeContext getContext() {
-		return page.getContext();
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncModelMergeOperation.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncModelMergeOperation.java
deleted file mode 100644
index 272e16f..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncModelMergeOperation.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import org.eclipse.core.resources.mapping.RemoteResourceMappingContext;
-import org.eclipse.core.runtime.*;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.team.core.mapping.ISynchronizationContext;
-import org.eclipse.team.core.mapping.ISynchronizationScopeManager;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemMergeContext;
-import org.eclipse.team.ui.synchronize.ModelMergeOperation;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * This operation shows an example of how a repository tool could
- * perform the Preview (manual merge) phase of the merge operation
- * without using the Synchronize view. It will do so by showing the
- * user a flat list of all model elements that require a manual merge.
- * <p>
- * There are a couple of open issues here:
- * <ol>
- * <li>All the model provider UI is Common Navigator based so there is no model
- * provider contributed actions available to overwrite and mark-as-merged. This will
- * be a problem for models that have multiple resource mappings within a single file.
- * <li>The order in which model elements are merged may matter. There is currently
- * no Team API to determine this order.</li>
- * <li>This operation assumes that a compare input will be available for the
- * model objects that are obtained from the model provider. Although this
- * is a reasonable assumption, it is not enforced by the API specification.</li>
- * </ol>
- */
-public class NonSyncModelMergeOperation extends ModelMergeOperation {
-
-	private FileSystemMergeContext context;
-
-	/**
-	 * Create the operation
-	 * @param part the part from which the operation was launched
-	 * @param manager the scope of the operation
-	 */
-	protected NonSyncModelMergeOperation(IWorkbenchPart part, ISynchronizationScopeManager manager) {
-		super(part, manager);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ModelMergeOperation#initializeContext(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	protected void initializeContext(IProgressMonitor monitor) throws CoreException {
-		try {
-			monitor.beginTask(null, 100);
-			// Create the context
-			context = new FileSystemMergeContext(getScopeManager());
-			// Refresh the context to get the latest remote state
-			context.refresh(getScope().getTraversals(), 
-					RemoteResourceMappingContext.FILE_CONTENTS_REQUIRED, new SubProgressMonitor(monitor, 75));
-			// What for the context to asynchronously update the diff tree
-			try {
-				Platform.getJobManager().join(context, new SubProgressMonitor(monitor, 25));
-			} catch (InterruptedException e) {
-				// Ignore
-			}
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ModelOperation#getContext()
-	 */
-	protected ISynchronizationContext getContext() {
-		return context;
-	}
-	
-	/**
-	 * Handle the preview request by opening a dialog that allows the user to manually merge
-	 * any changes.
-	 * @see org.eclipse.team.ui.synchronize.ModelMergeOperation#handlePreviewRequest()
-	 */
-	protected void handlePreviewRequest() {
-		// We perform a syncExec so that the job will dispose of the scope manager
-		// after the dialog closes
-		Display.getDefault().syncExec(new Runnable() {
-			public void run() {
-				NonSyncMergeDialog.openFor(NonSyncModelMergeOperation.this);
-			}
-		});
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.TeamOperation#getShell()
-	 */
-	public Shell getShell() {
-		// Change method to public
-		return super.getShell();
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncModelMergePage.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncModelMergePage.java
deleted file mode 100644
index 4d02dc1..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/NonSyncModelMergePage.java
+++ /dev/null
@@ -1,311 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.compare.structuremergeviewer.ICompareInput;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.team.core.diff.IDiff;
-import org.eclipse.team.core.mapping.IMergeContext;
-import org.eclipse.team.core.mapping.provider.ResourceDiffTree;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.internal.ui.mapping.SynchronizationResourceMappingContext;
-import org.eclipse.team.ui.mapping.ISynchronizationCompareAdapter;
-import org.eclipse.team.ui.synchronize.ModelMergeOperation;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.Page;
-
-/**
- * This class provides the page for the {@link NonSyncMergePart}.
- */
-public class NonSyncModelMergePage extends Page {
-	
-	IMergeContext context;
-	private TreeViewer viewer;
-	List mappings;
-	
-	/*
-	 * Content provider that returns the list of conflicting mappings
-	 */
-	class PageContentProvider implements ITreeContentProvider {
-		public Object[] getChildren(Object parentElement) {
-			if (parentElement instanceof IMergeContext) {
-				if (mappings == null)
-					// TODO: should be using a real progress monitor
-					computeMappings(new NullProgressMonitor());
-				return mappings.toArray();
-			}
-			return new Object[0];
-		}
-		public Object getParent(Object element) {
-			if (element instanceof ResourceMapping) {
-				return context;
-			}
-			return null;
-		}
-		public boolean hasChildren(Object element) {
-			if (element instanceof IMergeContext) {
-				return true;
-			}
-			return false;
-		}
-		public Object[] getElements(Object inputElement) {
-			return getChildren(inputElement);
-		}
-		public void dispose() {
-			// Nothing to do
-		}
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			// Nothing to do
-		}
-	}
-	
-	/*
-	 * Label provider that provides a label and image for conflicting resource mappings
-	 */
-	class PageLabelProvider extends LabelProvider {
-		public String getText(Object element) {
-			if (element instanceof ResourceMapping) {
-				ResourceMapping mapping = (ResourceMapping) element;
-				ISynchronizationCompareAdapter adapter = NonSyncMergePart.getCompareAdapter(mapping);
-				if (adapter != null)
-					return adapter.getPathString(mapping) + "(" + mapping.getModelProvider().getDescriptor().getLabel() + ")";
-			}
-			if (element instanceof ICompareInput) {
-				ICompareInput ci = (ICompareInput) element;
-				ci.getName();
-			}
-			return super.getText(element);
-		}
-		public Image getImage(Object element) {
-			if (element instanceof ICompareInput) {
-				ICompareInput ci = (ICompareInput) element;
-				ci.getImage();
-			}
-			if (element instanceof ResourceMapping) {
-				ResourceMapping mapping = (ResourceMapping) element;
-				ISynchronizationCompareAdapter adapter = NonSyncMergePart.getCompareAdapter(mapping);
-				ICompareInput input = adapter.asCompareInput(context, mapping.getModelObject());
-				if (input != null)
-					return input.getImage();
-			}
-			return super.getImage(element);
-		}
-	}
-
-	/*
-	 * Sorter that sorts mappings by model and then name
-	 */
-	class PageSorter extends ViewerSorter {
-		public int compare(Viewer viewer, Object e1, Object e2) {
-			if (e1 instanceof ResourceMapping && e2 instanceof ResourceMapping) {
-				ResourceMapping m1 = (ResourceMapping) e1;
-				ResourceMapping m2 = (ResourceMapping) e2;
-				if (m1.getModelProvider() == m2.getModelProvider()) {
-					return getLabel(m1).compareTo(getLabel(m2));
-				}
-				return compare(m1, m2);
-			}
-			return super.compare(viewer, e1, e2);
-		}
-		private int compare(ResourceMapping m1, ResourceMapping m2) {
-			ModelProvider[] sorted = ModelMergeOperation.sortByExtension(new ModelProvider[] { m1.getModelProvider(), m2.getModelProvider() });
-			return sorted[0] == m1.getModelProvider() ? -1 : 1;
-		}
-		private String getLabel(ResourceMapping mapping) {
-			ISynchronizationCompareAdapter adapter = NonSyncMergePart.getCompareAdapter(mapping);
-			if (adapter != null)
-				return adapter.getPathString(mapping);
-			return "";
-		}
-	}
-	
-	public NonSyncModelMergePage(IMergeContext context) {
-		super();
-		this.context = context;
-	}
-	
-	/**
-	 * Create the list of all mappings that overlap with the out-of-sync files.
-	 */
-	public void computeMappings(IProgressMonitor monitor) {
-	    IModelProviderDescriptor[] descriptors = ModelProvider.getModelProviderDescriptors();
-	    mappings = new ArrayList();
-	    for (int i = 0; i < descriptors.length; i++) {
-	        IModelProviderDescriptor descriptor = descriptors[i];
-	        // Get the subset of files that this model provider cares about
-	        try {
-				IResource[] resources = descriptor.getMatchingResources(getOutOfSyncFiles());
-				if (resources.length > 0) {
-				    ModelProvider provider = descriptor.getModelProvider();
-				    // Get the mappings for those resources
-				    ResourceMapping[] mappings = provider.getMappings(resources, new SynchronizationResourceMappingContext(context), monitor);
-				    this.mappings.addAll(Arrays.asList(mappings ));
-				}
-			} catch (CoreException e) {
-				FileSystemPlugin.log(e);
-			}
-	    }
-	}
-
-	private IResource[] getOutOfSyncFiles() {
-		IDiff[] diffs = getContext().getDiffTree().getDiffs(ResourcesPlugin.getWorkspace().getRoot(), IResource.DEPTH_INFINITE);
-		List result = new ArrayList();
-		for (int i = 0; i < diffs.length; i++) {
-			IDiff diff = diffs[i];
-			IResource resource = ResourceDiffTree.getResourceFor(diff);
-			if (resource.getType() == IResource.FILE)
-				result.add(resource);
-		}
-		return (IResource[]) result.toArray(new IResource[result.size()]);
-	}
-
-	/**
-	 * Return the merge context.
-	 * @return the merge context
-	 */
-	public IMergeContext getContext() {
-		return context;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.Page#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		viewer = new TreeViewer(parent);
-		viewer.setContentProvider(new PageContentProvider());
-		viewer.setLabelProvider(new PageLabelProvider());
-		viewer.setSorter(new PageSorter());
-		hookContextMenu(viewer);
-		viewer.setInput(context);
-	}
-
-	/*
-	 * Hook the context menu to display the Overwrite and Mark-as-merged actions
-	 */
-	private void hookContextMenu(final TreeViewer viewer) {
-		final MenuManager menuMgr = new MenuManager(); 
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				fillContextMenu(manager);
-			}
-		});
-		Menu menu = menuMgr.createContextMenu(viewer.getControl());
-		viewer.getControl().setMenu(menu);
-	}
-
-	/**
-	 * Fill the context menu.
-	 * @param manager the context menu manager
-	 */
-	protected void fillContextMenu(IMenuManager manager) {
-		/*
-		 * Add a mark as merged action. Because we are not using the 
-		 * Synchronization framework and, more specifically, the
-		 * Common Navigator content provider for the model providers,
-		 * we do not have access to the merge handlers of the model.
-		 * Therefore, we are writing are action to detect whether there
-		 * are files that overlap between the selected model elements and
-		 * unselected model elements.
-		 */
-		Action markAsMerged = new Action("Mark as Merged") {
-			public void run() {
-				try {
-					final IStructuredSelection selection = (IStructuredSelection)viewer.getSelection();
-					PlatformUI.getWorkbench().getProgressService().busyCursorWhile(new IRunnableWithProgress() {
-						public void run(IProgressMonitor monitor) throws InvocationTargetException {
-							IDiff[] diffs = getSelectedDiffs(selection, monitor);
-							if (!checkForModelOverlap(diffs, monitor)) {
-								return;
-							}
-							try {
-								context.markAsMerged(diffs, false, monitor);
-							} catch (CoreException e) {
-								throw new InvocationTargetException(e);
-							}
-						}
-					});
-				} catch (InvocationTargetException e) {
-					FileSystemPlugin.log(new Status(IStatus.ERROR, FileSystemPlugin.ID, 0, e.getTargetException().getMessage(), e.getTargetException()));
-				} catch (InterruptedException e) {
-					// Ignore
-				}
-			}
-		};
-		manager.add(markAsMerged);
-	}
-
-	protected IDiff[] getSelectedDiffs(IStructuredSelection selection, IProgressMonitor monitor) {
-		Object[] elements = selection.toArray();
-		return getDiffs(elements, monitor);
-	}
-
-	private IDiff[] getDiffs(Object[] elements, IProgressMonitor monitor) {
-		Set result = new HashSet();
-		for (int i = 0; i < elements.length; i++) {
-			Object element = elements[i];
-			try {
-				if (element instanceof ResourceMapping) {
-					ResourceMapping mapping = (ResourceMapping) element;
-					ResourceTraversal[] traversals = mapping.getTraversals(new SynchronizationResourceMappingContext(context), monitor);
-					result.addAll(Arrays.asList(context.getDiffTree().getDiffs(traversals)));
-				}
-			} catch (CoreException e) {
-				FileSystemPlugin.log(e);
-			}
-		}
-		return (IDiff[]) result.toArray(new IDiff[result.size()]);
-	}
-
-	/**
-	 * Check whether any of the diffs overlap with mappings that are not selected
-	 * @param diffs
-	 * @return
-	 */
-	protected boolean checkForModelOverlap(IDiff[] diffs, IProgressMonitor monitor) {
-		// TODO: This check should see if the diffs are also part of mappings 
-		// that are not included in the selection. 
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.Page#getControl()
-	 */
-	public Control getControl() {
-		if (viewer != null)
-			return viewer.getControl();
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.Page#setFocus()
-	 */
-	public void setFocus() {
-		if (viewer != null)
-			viewer.getControl().setFocus();
-	}
-
-	public ISelectionProvider getViewer() {
-		return viewer;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/OpenFileSystemRevisionAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/OpenFileSystemRevisionAction.java
deleted file mode 100644
index 6752e9e..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/OpenFileSystemRevisionAction.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.ui.history.HistoryPage;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorReference;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.BaseSelectionListenerAction;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.progress.IProgressService;
-
-public class OpenFileSystemRevisionAction extends BaseSelectionListenerAction {
-
-	private IStructuredSelection selection;
-	private HistoryPage page;
-
-	public OpenFileSystemRevisionAction(String text) {
-		super(text);
-	}
-
-	public void run() {
-		IStructuredSelection structSel = selection;
-
-		Object[] objArray = structSel.toArray();
-
-		for (int i = 0; i < objArray.length; i++) {
-			Object tempRevision = objArray[i];
-
-			final IFileRevision revision = (IFileRevision) tempRevision;
-			if (revision == null || !revision.exists()) {
-				MessageDialog.openError(page.getSite().getShell(), "Deleted Revision", "Can't open a deleted revision");
-			} else {
-				IRunnableWithProgress runnable = new IRunnableWithProgress() {
-					public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-						IStorage file;
-						try {
-							file = revision.getStorage(monitor);
-							String id = getEditorID(file.getName(), file.getContents());
-
-							if (file instanceof IFile) {
-								//if this is the current workspace file, open it
-								IDE.openEditor(page.getSite().getPage(), (IFile) file);
-							} else {
-								FileSystemRevisionEditorInput fileRevEditorInput = new FileSystemRevisionEditorInput(revision);
-								if (!editorAlreadyOpenOnContents(fileRevEditorInput))
-									page.getSite().getPage().openEditor(fileRevEditorInput, id);
-							}
-						} catch (CoreException e) {
-							throw new InvocationTargetException(e);
-						}
-
-					}
-				};
-
-				IProgressService progressService = PlatformUI.getWorkbench().getProgressService();
-				try {
-					progressService.run(false, false, runnable);
-				} catch (InvocationTargetException e) {
-				} catch (InterruptedException e) {
-				}
-			}
-
-		}
-	}
-
-	/* private */String getEditorID(String fileName, InputStream contents) {
-		IWorkbench workbench = FileSystemPlugin.getPlugin().getWorkbench();
-		IEditorRegistry registry = workbench.getEditorRegistry();
-		IContentType type = null;
-		if (contents != null) {
-			try {
-				type = Platform.getContentTypeManager().findContentTypeFor(contents, fileName);
-			} catch (IOException e) {
-
-			}
-		}
-		if (type == null) {
-			type = Platform.getContentTypeManager().findContentTypeFor(fileName);
-		}
-		IEditorDescriptor descriptor = registry.getDefaultEditor(fileName, type);
-		String id;
-		if (descriptor == null || descriptor.isOpenExternal()) {
-			id = "org.eclipse.ui.DefaultTextEditor"; //$NON-NLS-1$
-		} else {
-			id = descriptor.getId();
-		}
-
-		return id;
-	}
-
-	protected boolean updateSelection(IStructuredSelection selection) {
-		this.selection = selection;
-		return shouldShow();
-	}
-
-	public void setPage(HistoryPage page) {
-		this.page = page;
-	}
-
-	private boolean shouldShow() {
-		IStructuredSelection structSel = selection;
-		Object[] objArray = structSel.toArray();
-
-		if (objArray.length == 0)
-			return false;
-
-		for (int i = 0; i < objArray.length; i++) {
-			IFileRevision revision = (IFileRevision) objArray[i];
-			//check to see if any of the selected revisions are deleted revisions
-			if (revision != null && !revision.exists())
-				return false;
-		}
-
-		return true;
-	}
-
-	private boolean editorAlreadyOpenOnContents(FileSystemRevisionEditorInput input) {
-		IEditorReference[] editorRefs = page.getSite().getPage().getEditorReferences();
-		for (int i = 0; i < editorRefs.length; i++) {
-			IEditorPart part = editorRefs[i].getEditor(false);
-			if (part != null && part.getEditorInput() instanceof FileSystemRevisionEditorInput) {
-				IFileRevision inputRevision = (IFileRevision) input.getAdapter(IFileRevision.class);
-				IFileRevision editorRevision = (IFileRevision) part.getEditorInput().getAdapter(IFileRevision.class);
-
-				if (inputRevision.equals(editorRevision)) {
-					//make the editor that already contains the revision current
-					page.getSite().getPage().activate(part);
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ProjectSetSerializer.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ProjectSetSerializer.java
deleted file mode 100644
index 08d4b3b..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ProjectSetSerializer.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.team.core.*;
-import org.eclipse.team.examples.filesystem.*;
-
-/**
- * This is an old-style (pre-3.0) project set serializer used to test backwards compatibility
- */
-public class ProjectSetSerializer implements IProjectSetSerializer {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.IProjectSetSerializer#asReference(org.eclipse.core.resources.IProject[], java.lang.Object, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public String[] asReference(IProject[] providerProjects, Object context, IProgressMonitor monitor) throws TeamException {
-		Assert.isTrue(context instanceof Shell);
-		List refs = new ArrayList();
-		for (int i = 0; i < providerProjects.length; i++) {
-			IProject project = providerProjects[i];
-			FileSystemProvider provider = (FileSystemProvider)RepositoryProvider.getProvider(project, FileSystemPlugin.PROVIDER_ID);
-			if (provider != null) {
-				refs.add(asReference(provider));
-			}
-		}
-		return (String[]) refs.toArray(new String[refs.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.IProjectSetSerializer#addToWorkspace(java.lang.String[], java.lang.String, java.lang.Object, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IProject[] addToWorkspace(String[] referenceStrings, String filename, Object context, IProgressMonitor monitor) throws TeamException {
-		Assert.isTrue(context instanceof Shell);
-		List projects = new ArrayList();
-		for (int i = 0; i < referenceStrings.length; i++) {
-			String string = referenceStrings[i];
-			String projectName = getProjectName(string);
-			String path = getPath(string);
-			if (projectName != null && path != null) {
-				try {
-					IProject project = createProject(projectName, monitor);
-					RepositoryProvider.map(project, FileSystemPlugin.PROVIDER_ID);
-					FileSystemProvider provider = (FileSystemProvider) RepositoryProvider.getProvider(project);
-					provider.setTargetLocation(path);
-					projects.add(project);
-				} catch (CoreException e) {
-					ErrorDialog.openError(
-						(Shell)context,
-						Policy.bind("ConfigurationWizard.errorMapping"), //$NON-NLS-1$
-						Policy.bind("ConfigurationWizard.error"), //$NON-NLS-1$
-						e.getStatus());
-				}
-			}
-		}
-		return (IProject[]) projects.toArray(new IProject[projects.size()]);
-	}
-
-	/**
-	 * @param provider
-	 * @return
-	 */
-	private String asReference(FileSystemProvider provider) {
-		return provider.getProject().getName() + "," + provider.getRoot().toString(); //$NON-NLS-1$
-	}
-	
-	/**
-	 * @param string
-	 * @return
-	 */
-	private String getProjectName(String string) {
-		int i = string.indexOf(',');
-		if (i == -1) return null;
-		return string.substring(0, i);
-	}
-	
-	/**
-	 * @param string
-	 * @return
-	 */
-	private String getPath(String string) {
-		int i = string.indexOf(',');
-		if (i == -1) return null;
-		return string.substring(i + 1);
-	}
-	
-	/**
-	 * @param projectName
-	 * @return
-	 * @throws CoreException
-	 */
-	private IProject createProject(String projectName, IProgressMonitor monitor) throws CoreException {
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-		if (!project.exists()) {
-			project.create(monitor);
-		}
-		if (!project.isOpen()) {
-			project.open(monitor);
-		}
-		return project;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/PutAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/PutAction.java
deleted file mode 100644
index ac44a2e..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/PutAction.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.team.examples.filesystem.Policy;
-
-/**
- * Action for checking in the selected resources
- */
-public class PutAction extends FileSystemAction {
-
-	protected void execute(IAction action) throws InvocationTargetException,
-			InterruptedException {
-		try {
-			PutOperation operation = new PutOperation(getTargetPart(), 
-					FileSystemOperation.createScopeManager(Policy.bind("PutAction.working"), getSelectedMappings())); //$NON-NLS-1$
-			operation.setOverwriteIncoming(isOverrideIncoming());
-			operation.run();
-		} catch (InvocationTargetException e) {
-			handle(e, null, Policy.bind("PutAction.problemMessage")); //$NON-NLS-1$
-		} catch (InterruptedException e) {
-			// Ignore
-		}
-	}
-	
-	/**
-	 * Indicate whether the put should override incoming changes.
-	 * @return whether the put should override incoming changes.
-	 */
-	protected boolean isOverrideIncoming() {
-		return false;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/PutOperation.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/PutOperation.java
deleted file mode 100644
index 1e35eec..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/PutOperation.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import org.eclipse.core.resources.mapping.ResourceTraversal;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.diff.*;
-import org.eclipse.team.core.subscribers.SubscriberScopeManager;
-import org.eclipse.team.examples.filesystem.FileSystemProvider;
-import org.eclipse.team.examples.filesystem.Policy;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemSubscriber;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * Operation for copying the selected resources to the file system location
- */
-public class PutOperation extends FileSystemOperation {
-
-	private boolean overwriteIncoming;
-
-	/**
-	 * Create the put operation
-	 * @param part the originating part
-	 * @param manager the scope manager
-	 */
-	protected PutOperation(IWorkbenchPart part, SubscriberScopeManager manager) {
-		super(part, manager);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.examples.filesystem.ui.FileSystemOperation#execute(org.eclipse.team.examples.filesystem.FileSystemProvider, org.eclipse.core.resources.mapping.ResourceTraversal[], org.eclipse.core.runtime.SubProgressMonitor)
-	 */
-	protected void execute(FileSystemProvider provider,
-			ResourceTraversal[] traversals, IProgressMonitor monitor)
-			throws CoreException {
-		provider.getOperations().checkin(traversals, isOverwriteIncoming(), monitor);
-		if (!isOverwriteIncoming() && hasOutgoingChanges(traversals)) {
-			throw new TeamException("Could not put all changes due to conflicts.");
-		}
-
-	}
-
-	private boolean hasOutgoingChanges(ResourceTraversal[] traversals) throws CoreException {
-		final RuntimeException found = new RuntimeException();
-		try {
-			FileSystemSubscriber.getInstance().accept(traversals, new IDiffVisitor() {
-				public boolean visit(IDiff diff) {
-					if (diff instanceof IThreeWayDiff) {
-						IThreeWayDiff twd = (IThreeWayDiff) diff;
-						if (twd.getDirection() == IThreeWayDiff.OUTGOING || twd.getDirection() == IThreeWayDiff.CONFLICTING) {
-							throw found;
-						}
-					}
-					return false;
-				}
-			});
-		} catch (RuntimeException e) {
-			if (e == found)
-				return true;
-			throw e;
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.examples.filesystem.ui.FileSystemOperation#getTaskName()
-	 */
-	protected String getTaskName() {
-		return Policy.bind("PutAction.working"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Return whether incoming changes should be overwritten.
-	 * @return whether incoming changes should be overwritten
-	 */
-	public boolean isOverwriteIncoming() {
-		return overwriteIncoming;
-	}
-
-	/**
-	 * Set whether incoming changes should be overwritten.
-	 * @param overwriteIncoming whether incoming changes should be overwritten
-	 */
-	public void setOverwriteIncoming(boolean overwriteIncoming) {
-		this.overwriteIncoming = overwriteIncoming;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ReplaceAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ReplaceAction.java
deleted file mode 100644
index 542801f..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ReplaceAction.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-
-/**
- * A replace is simply a get that overwrite local changes
- */
-public class ReplaceAction extends GetAction {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.examples.filesystem.ui.GetAction#isOverwriteOutgoing()
-	 */
-	protected boolean isOverwriteOutgoing() {
-		return true;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ShowHistoryAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ShowHistoryAction.java
deleted file mode 100644
index 1d373ac..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/ShowHistoryAction.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.internal.ui.TeamUIPlugin;
-import org.eclipse.team.ui.TeamUI;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.ActionDelegate;
-
-public class ShowHistoryAction extends ActionDelegate implements IObjectActionDelegate {
-
-	private IStructuredSelection fSelection;
-
-	public void run(IAction action) {
-		final Shell shell = Display.getDefault().getActiveShell();
-		try {
-			new ProgressMonitorDialog(shell).run(true, true, new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-					final IResource resource = (IResource) fSelection.getFirstElement();
-					Runnable r = new Runnable() {
-						public void run() {
-							TeamUI.showHistoryFor(TeamUIPlugin.getActivePage(), resource, null);
-						}
-					};
-
-					FileSystemPlugin.getStandardDisplay().asyncExec(r);
-				}
-			});
-		} catch (InvocationTargetException exception) {
-		} catch (InterruptedException exception) {
-		}
-	}
-
-	public void selectionChanged(IAction action, ISelection sel) {
-		if (sel instanceof IStructuredSelection) {
-			fSelection = (IStructuredSelection) sel;
-		}
-	}
-
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SyncDialogModelMergeOperation.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SyncDialogModelMergeOperation.java
deleted file mode 100644
index e820c54..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SyncDialogModelMergeOperation.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import org.eclipse.team.core.mapping.ISynchronizationScopeManager;
-import org.eclipse.team.core.mapping.provider.SynchronizationContext;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemMergeContext;
-import org.eclipse.team.ui.synchronize.ModelParticipantMergeOperation;
-import org.eclipse.ui.IWorkbenchPart;
-
-/**
- * This merge operation will attempt a headless merge and then prompt
- * the user with a dialog if conflicts exist.
- */
-public class SyncDialogModelMergeOperation extends
-		ModelParticipantMergeOperation {
-
-	public SyncDialogModelMergeOperation(IWorkbenchPart part, ISynchronizationScopeManager manager) {
-		super(part, manager);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ModelParticipantMergeOperation#createMergeContext()
-	 */
-	protected SynchronizationContext createMergeContext() {
-		return new FileSystemMergeContext(getScopeManager());
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SynchronizeAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SynchronizeAction.java
deleted file mode 100644
index 9381119..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SynchronizeAction.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.team.core.subscribers.SubscriberScopeManager;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemMergeContext;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemSubscriber;
-import org.eclipse.team.ui.TeamUI;
-import org.eclipse.team.ui.synchronize.ISynchronizeParticipant;
-
-/**
- * Action to synchronize the selected resources. This results
- * in a file-system participant being added to the synchronize view.
- */
-public class SynchronizeAction extends FileSystemAction {
-	
-	protected void execute(IAction action) throws InvocationTargetException,
-			InterruptedException {
-		ResourceMapping[] mappings = getSelectedMappings();
-		if (mappings.length == 0)
-			return;
-		SubscriberScopeManager manager = FileSystemOperation.createScopeManager(FileSystemSubscriber.getInstance().getName(), mappings);
-		FileSystemMergeContext context = new FileSystemMergeContext(manager);
-		FileSystemSynchronizeParticipant participant = new FileSystemSynchronizeParticipant(context);
-		TeamUI.getSynchronizeManager().addSynchronizeParticipants(new ISynchronizeParticipant[] {participant});
-		participant.run(getTargetPart());
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SynchronizeWizard.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SynchronizeWizard.java
deleted file mode 100644
index 4950efb..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/filesystem/ui/SynchronizeWizard.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 20046 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.filesystem.ui;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.jface.wizard.IWizard;
-import org.eclipse.team.core.subscribers.SubscriberScopeManager;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemMergeContext;
-import org.eclipse.team.examples.filesystem.subscriber.FileSystemSubscriber;
-import org.eclipse.team.ui.synchronize.ISynchronizeParticipant;
-import org.eclipse.team.ui.synchronize.ModelParticipantWizard;
-
-/**
- * This class is registered as the file system synchronization wizard.
- */
-public class SynchronizeWizard extends ModelParticipantWizard {
-	private IWizard importWizard;
-	
-	/*
-	 * Default no-arg constructor
-	 */
-	public SynchronizeWizard() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ModelParticipantWizard#createParticipant(org.eclipse.core.resources.mapping.ResourceMapping[])
-	 */
-	protected ISynchronizeParticipant createParticipant(ResourceMapping[] selectedMappings) {
-		SubscriberScopeManager manager = FileSystemOperation.createScopeManager(FileSystemSubscriber.getInstance().getName(), selectedMappings);
-		FileSystemMergeContext context = new FileSystemMergeContext(manager);
-		FileSystemSynchronizeParticipant participant = new FileSystemSynchronizeParticipant(context);
-		return participant;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ParticipantSynchronizeWizard#getImportWizard()
-	 */
-	protected IWizard getImportWizard() {
-		// We don't have an import wizard for the file system example but
-		// if we did, we could return it here and it would be used if the
-		// getRoots method returned an empty array.
-		return importWizard;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ParticipantSynchronizeWizard#getPageTitle()
-	 */
-	protected String getPageTitle() {
-		return "Synchronize File System Example";
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.ParticipantSynchronizeWizard#getRootResources()
-	 */
-	protected IResource[] getRootResources() {
-		return FileSystemSubscriber.getInstance().roots();
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryParticipant.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryParticipant.java
deleted file mode 100644
index 63ed669..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryParticipant.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.localhistory;
-
-import org.eclipse.compare.CompareConfiguration;
-import org.eclipse.compare.structuremergeviewer.IDiffElement;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.ui.TeamUI;
-import org.eclipse.team.ui.synchronize.ISynchronizeModelElement;
-import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
-import org.eclipse.team.ui.synchronize.ISynchronizeParticipantDescriptor;
-import org.eclipse.team.ui.synchronize.SubscriberParticipant;
-import org.eclipse.team.ui.synchronize.SynchronizeModelAction;
-import org.eclipse.team.ui.synchronize.SynchronizeModelOperation;
-import org.eclipse.team.ui.synchronize.SynchronizePageActionGroup;
-
-public class LocalHistoryParticipant extends SubscriberParticipant {
-	
-	public static final String ID = "org.eclipse.team.synchronize.example"; //$NON-NLS-1$
-	public static final String CONTEXT_MENU_CONTRIBUTION_GROUP = "context_group_1"; //$NON-NLS-1$
-	
-	private class LocalHistoryActionContribution extends SynchronizePageActionGroup {
-		public void initialize(ISynchronizePageConfiguration configuration) {
-			super.initialize(configuration);
-			appendToGroup(
-					ISynchronizePageConfiguration.P_CONTEXT_MENU, CONTEXT_MENU_CONTRIBUTION_GROUP, 
-					new SynchronizeModelAction("Revert to latest in local history", configuration) { //$NON-NLS-1$
-						protected SynchronizeModelOperation getSubscriberOperation(ISynchronizePageConfiguration configuration, IDiffElement[] elements) {
-							return new RevertAllOperation(configuration, elements);
-						}
-					});
-		}
-	}
-	
-	private class LocalHistoryDecorator extends LabelProvider implements ILabelDecorator {
-		public String decorateText(String text, Object element) {
-			if(element instanceof ISynchronizeModelElement) {
-				ISynchronizeModelElement node = (ISynchronizeModelElement)element;
-				if(node instanceof IAdaptable) {
-					SyncInfo info = (SyncInfo)((IAdaptable)node).getAdapter(SyncInfo.class);
-					if(info != null) {
-						LocalHistoryVariant state = (LocalHistoryVariant)info.getRemote();
-						return text+ " ("+ state.getContentIdentifier() + ")";
-					}
-				}
-			}
-			return text;
-		}
-		
-		public Image decorateImage(Image image, Object element) {
-			return null;
-		}
-	}
-	
-	public LocalHistoryParticipant() {
-		setSubscriber(new LocalHistorySubscriber());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.subscriber.SubscriberParticipant#setSubscriber(org.eclipse.team.core.subscribers.Subscriber)
-	 */
-	protected void setSubscriber(Subscriber subscriber) {
-		super.setSubscriber(subscriber);
-		try {
-			ISynchronizeParticipantDescriptor descriptor = TeamUI.getSynchronizeManager().getParticipantDescriptor(ID);
-			setInitializationData(descriptor);
-			setSecondaryId(Long.toString(System.currentTimeMillis()));
-		} catch (CoreException e) {
-		}
-	}
-	
-	protected void initializeConfiguration(ISynchronizePageConfiguration configuration) {
-		super.initializeConfiguration(configuration);
-		configuration.addMenuGroup(
-				ISynchronizePageConfiguration.P_CONTEXT_MENU, 
-				CONTEXT_MENU_CONTRIBUTION_GROUP);
-		configuration.addActionContribution(new LocalHistoryActionContribution());
-		configuration.addLabelDecorator(new LocalHistoryDecorator());	
-	}
-	
-	protected static SyncInfo getSyncInfo(ISynchronizeModelElement element) {
-	    if (element instanceof IAdaptable) {
-		    return (SyncInfo)((IAdaptable)element).getAdapter(SyncInfo.class);
-	    }
-	    return null;
-	}
-	
-	public void prepareCompareInput(ISynchronizeModelElement element,
-			CompareConfiguration config, IProgressMonitor monitor)
-			throws TeamException {
-		super.prepareCompareInput(element, config, monitor);
-
-		SyncInfo sync = getSyncInfo(element);
-		final IResourceVariant remote = sync.getRemote();
-		if (remote != null) {
-			config.setRightLabel(NLS.bind("Local History ({0})",
-					new String[] { remote.getContentIdentifier() }));
-		} else {
-			config.setRightLabel("Local History");
-		}
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySubscriber.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySubscriber.java
deleted file mode 100644
index 71abbe5..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySubscriber.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.localhistory;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.core.variants.IResourceVariantComparator;
-
-public class LocalHistorySubscriber extends Subscriber {
-
-	private LocalHistoryVariantComparator comparator;
-	
-	public LocalHistorySubscriber() {
-		this.comparator = new LocalHistoryVariantComparator();
-	}
-	
-	public String getName() {
-		return "Local History Subscriber"; //$NON-NLS-1$
-	}
-
-	public boolean isSupervised(IResource resource) throws TeamException {
-		// all resources in the workspace can potentially have resource history
-		return true;
-	}
-
-	public IResource[] members(IResource resource) throws TeamException {
-		try {
-			if(resource.getType() == IResource.FILE)
-				return new IResource[0];
-			IContainer container = (IContainer)resource;
-			List existingChildren = new ArrayList(Arrays.asList(container.members()));
-			existingChildren.addAll(Arrays.asList(container.findDeletedMembersWithHistory(IResource.DEPTH_INFINITE, null)));
-			return (IResource[]) existingChildren.toArray(new IResource[existingChildren.size()]);
-		} catch (CoreException e) {
-			throw TeamException.asTeamException(e);
-		}
-	}
-
-	public IResource[] roots() {
-		return ResourcesPlugin.getWorkspace().getRoot().getProjects();
-	}
-
-	public SyncInfo getSyncInfo(IResource resource) throws TeamException {
-		try {
-			IResourceVariant variant = null;
-			if(resource.getType() == IResource.FILE) {
-				IFile file = (IFile)resource;
-				IFileState[] states = file.getHistory(null);
-				if(states.length > 0) {
-					// last state only
-					variant = new LocalHistoryVariant(states[0]);
-				} 
-			}
-			SyncInfo info = new LocalHistorySyncInfo(resource, variant, comparator);
-			info.init();
-			return info;
-		} catch (CoreException e) {
-			throw TeamException.asTeamException(e);
-		}
-	}
-
-	public IResourceVariantComparator getResourceComparator() {
-		return comparator;
-	}
-
-	public void refresh(IResource[] resources, int depth, IProgressMonitor monitor) throws TeamException {
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySyncInfo.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySyncInfo.java
deleted file mode 100644
index 0dd4704..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySyncInfo.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.localhistory;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.core.variants.IResourceVariantComparator;
-
-public class LocalHistorySyncInfo extends SyncInfo {
-	
-	public LocalHistorySyncInfo(IResource local, IResourceVariant remote, IResourceVariantComparator comparator) {
-		super(local, null, remote, comparator);
-	}
-
-	protected int calculateKind() throws TeamException {
-		if (getRemote() == null)
-			return IN_SYNC;
-		else
-			return super.calculateKind();
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySynchronizeWizard.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySynchronizeWizard.java
deleted file mode 100644
index c8f037d..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistorySynchronizeWizard.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.localhistory;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.team.internal.ui.ITeamUIImages;
-import org.eclipse.team.ui.TeamImages;
-import org.eclipse.team.ui.TeamUI;
-import org.eclipse.team.ui.synchronize.*;
-import org.eclipse.team.ui.synchronize.ISynchronizeManager;
-import org.eclipse.team.ui.synchronize.ISynchronizeParticipant;
-
-
-public class LocalHistorySynchronizeWizard extends Wizard {
-
-	private class MessagePage extends WizardPage {		
-		protected MessagePage(String pageName, String title, ImageDescriptor titleImage) {
-			super(pageName, title, titleImage);
-		}
-
-		public void createControl(Composite parent) {
-			Composite top = new Composite(parent, SWT.NONE);
-			top.setLayout(new GridLayout());
-			top.setLayoutData(new GridData(GridData.FILL_BOTH));
-			Label label = new Label(top, SWT.WRAP);
-			label.setText("This will create a synchronization against the latest file state in local history."); //$NON-NLS-1$
-			label.setLayoutData(new GridData(GridData.FILL_BOTH));
-			setControl(top);
-		}
-	}
-	
-	public LocalHistorySynchronizeWizard() {
-		super();
-	}
-	
-	public void addPages() {
-		addPage(new MessagePage("Local History", "Create a local history synchronization", TeamImages.getImageDescriptor(ITeamUIImages.IMG_WIZBAN_SHARE)));  //$NON-NLS-1$//$NON-NLS-2$
-	}
-
-	public boolean performFinish() {
-		LocalHistoryParticipant participant = new LocalHistoryParticipant();
-		ISynchronizeManager manager = TeamUI.getSynchronizeManager();
-		manager.addSynchronizeParticipants(new ISynchronizeParticipant[] {participant});
-		ISynchronizeView view = manager.showSynchronizeViewInActivePage();
-		view.display(participant);
-		return true;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryVariant.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryVariant.java
deleted file mode 100644
index b1f9b53..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryVariant.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.localhistory;
-
-import java.text.DateFormat;
-import java.util.Date;
-import org.eclipse.core.resources.IFileState;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.variants.IResourceVariant;
-
-public class LocalHistoryVariant implements IResourceVariant {
-
-	private final IFileState state;
-
-	public LocalHistoryVariant(IFileState state) {
-		this.state = state;
-	}
-	
-	public String getName() {
-		return state.getName();
-	}
-
-	public boolean isContainer() {
-		return false;
-	}
-
-	public IStorage getStorage(IProgressMonitor monitor) throws TeamException {
-		return state;
-	}
-
-	public String getContentIdentifier() {
-		return DateFormat.getDateTimeInstance().format(new Date(state.getModificationTime()));
-	}
-
-	public byte[] asBytes() {
-		return null;
-	}
-	
-	public IFileState getFileState() {
-		return state;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryVariantComparator.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryVariantComparator.java
deleted file mode 100644
index fd9995f..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/LocalHistoryVariantComparator.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.localhistory;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.core.variants.IResourceVariantComparator;
-
-public class LocalHistoryVariantComparator implements IResourceVariantComparator {
-	public boolean compare(IResource local, IResourceVariant remote) {
-		return false;
-	}
-
-	public boolean compare(IResourceVariant base, IResourceVariant remote) {
-		return false;
-	}
-
-	public boolean isThreeWay() {
-		return false;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/RevertAllOperation.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/RevertAllOperation.java
deleted file mode 100644
index f70f640..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/localhistory/RevertAllOperation.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.localhistory;
-
-import java.lang.reflect.InvocationTargetException;
-import org.eclipse.compare.structuremergeviewer.IDiffElement;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
-import org.eclipse.team.ui.synchronize.SynchronizeModelOperation;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-
-public class RevertAllOperation extends SynchronizeModelOperation {
-
-	protected RevertAllOperation(ISynchronizePageConfiguration configuration, IDiffElement[] elements) {
-		super(configuration, elements);
-	}
-	
-	protected boolean canRunAsJob() {
-		return true;
-	}
-
-	public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-		final SyncInfo infos[] = getSyncInfoSet().getSyncInfos();
-		if(infos.length == 0) return;
-			
-		WorkspaceModifyOperation operation= new WorkspaceModifyOperation() {
-			public void execute(IProgressMonitor pm) throws InvocationTargetException {
-				try {
-					pm.beginTask("Reverting from local history", 100 * infos.length);	 //$NON-NLS-1$
-					for (int i = 0; i < infos.length; i++) {
-						SyncInfo info = infos[i];
-						LocalHistoryVariant state = (LocalHistoryVariant)info.getRemote();
-						IFile file = (IFile)info.getLocal();
-						if(file.exists()) {
-							file.setContents(state.getFileState(), false, true, new SubProgressMonitor(pm, 100));
-						} else {
-							// TODO: have to pre-create parents if they dont exist
-							file.create(state.getFileState().getContents(), false, new SubProgressMonitor(pm, 100));
-						}
-					}
-				} catch (CoreException e) {
-					throw new InvocationTargetException(e);
-				} finally {
-					pm.done();
-				}
-			}
-		};
-		operation.run(monitor);
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelContainer.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelContainer.java
deleted file mode 100644
index c7e7808..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelContainer.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-
-public abstract class ModelContainer extends ModelResource {
-
-	protected ModelContainer(IContainer container) {
-		super(container);
-	}
-	
-	protected IContainer getContainer() {
-		return (IContainer)getResource();
-	}
-	
-	public ModelObject[] getChildren() throws CoreException {
-		IResource[] members = getContainer().members();
-		List result = new ArrayList();
-		for (int i = 0; i < members.length; i++) {
-			IResource resource = members[i];
-			if (resource instanceof IFolder) {
-				result.add(new ModelFolder((IFolder) resource));
-			} else if (ModelObjectDefinitionFile.isModFile(resource)) {
-				result.add(new ModelObjectDefinitionFile((IFile)resource));
-			} else if (resource instanceof IProject && ModelProject.isModProject((IProject) resource)) {
-				result.add(new ModelProject((IProject) resource));
-			}
-		}
-		return (ModelObject[]) result.toArray(new ModelObject[result.size()]);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelFile.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelFile.java
deleted file mode 100644
index f334c0e..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelFile.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model;
-
-import org.eclipse.core.resources.IFile;
-
-public abstract class ModelFile extends ModelResource {
-
-	protected ModelFile(IFile file) {
-		super(file);
-	}
-	
-	public String getName() {
-		String name = super.getName();
-		int index = name.lastIndexOf(".");
-		return name.substring(0, index);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelFolder.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelFolder.java
deleted file mode 100644
index 7644738..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelFolder.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model;
-
-import org.eclipse.core.resources.IFolder;
-
-public class ModelFolder extends ModelContainer {
-
-	public ModelFolder(IFolder folder) {
-		super(folder);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelNature.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelNature.java
deleted file mode 100644
index d4dbb8c..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelNature.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectNature;
-
-/**
- * Nature used to identify a model project
- */
-public class ModelNature implements IProjectNature {
-
-	public static final String NATURE_ID = "org.eclipse.team.examples.filesystem.modelNature";
-	
-    private IProject project;
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.resources.IProjectNature#configure()
-     */
-    public void configure() {
-        // Nothing to do
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.resources.IProjectNature#deconfigure()
-     */
-    public void deconfigure() {
-        // Nothing to do
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.resources.IProjectNature#getProject()
-     */
-    public IProject getProject() {
-        return project;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.resources.IProjectNature#setProject(org.eclipse.core.resources.IProject)
-     */
-    public void setProject(IProject project) {
-        this.project = project;
-    }
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObject.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObject.java
deleted file mode 100644
index adbcd4e..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObject.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.PlatformObject;
-
-public abstract class ModelObject extends PlatformObject {
-
-	public static ModelObject create(IResource resource) {
-		switch (resource.getType()) {
-		case IResource.ROOT:
-			return new ModelWorkspace();
-		case IResource.PROJECT:
-			return new ModelProject((IProject)resource);
-		case IResource.FOLDER:
-			return new ModelFolder((IFolder)resource);
-		case IResource.FILE:
-			if (ModelObjectDefinitionFile.isModFile(resource)) {
-				return new ModelObjectDefinitionFile((IFile)resource);
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Return the name of the model object.
-	 * @return the name of the model object
-	 */
-	public abstract String getName();
-
-	/**
-	 * Return the path of this object in the model namespace.
-	 * @return the path of this object in the model namespace
-	 */
-	public abstract String getPath();
-
-	/**
-	 * Return the children of this object.
-	 * @return the children of this object
-	 */
-	public abstract ModelObject[] getChildren() throws CoreException;
-
-	/**
-	 * Return the parent of this object.
-	 * @return the parent of this object
-	 */
-	public abstract ModelObject getParent();
-
-	/**
-	 * Delete the model object
-	 */
-	public abstract void delete() throws CoreException;
-
-	/**
-	 * Return the project that contains this model object.
-	 * @return the project that contains this model object
-	 */
-	public abstract ModelProject getProject();
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectDefinitionFile.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectDefinitionFile.java
deleted file mode 100644
index a303780..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectDefinitionFile.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-
-public class ModelObjectDefinitionFile extends ModelFile {
-
-	public static final String MODEL_OBJECT_DEFINITION_FILE_EXTENSION = "mod";
-
-	public static boolean isModFile(IResource resource) {
-		if (resource instanceof IFile) {
-			String fileExtension = resource.getFileExtension();
-			if (fileExtension != null)
-				return fileExtension.equals(MODEL_OBJECT_DEFINITION_FILE_EXTENSION);
-		}
-		return false;
-	}
-	
-	public static IResource[] getReferencedResources(String projectName, IStorage storage) throws CoreException {
-		if (storage == null)
-			return new IResource[0];
-		List result = new ArrayList();
-		String[] filePaths = readLines(storage);
-		for (int i = 0; i < filePaths.length; i++) {
-			String path = filePaths[i];
-			IFile file = getFile(projectName, path);
-			if (file != null 
-					&& file.getFileExtension() != null 
-					&& file.getFileExtension().equals(ModelObjectElementFile.MODEL_OBJECT_ELEMENTFILE_EXTENSION)) {
-				result.add(file);
-			}
-		}
-		return (IResource[]) result.toArray(new IResource[result.size()]);
-	}
-	
-	public ModelObjectDefinitionFile(IFile file) {
-		super(file);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.examples.model.ModelObject#getChildren()
-	 */
-	public ModelObject[] getChildren() throws CoreException {
-		return getModelObjectElementFiles();
-	}
-
-	public ModelObjectElementFile[] getModelObjectElementFiles() throws CoreException {
-		List result = new ArrayList();
-		String[] filePaths = readLines((IFile)getResource());
-		for (int i = 0; i < filePaths.length; i++) {
-			String path = filePaths[i];
-			IFile file = getFile(getResource().getProject().getName(), path);
-			if (file != null) {
-				ModelObjectElementFile moeFile = getMoeFile(file);
-				if (moeFile != null)
-					result.add(moeFile);
-			}
-		}
-		return (ModelObjectElementFile[]) result.toArray(new ModelObjectElementFile[result.size()]);
-	}
-
-	private static String[] readLines(IStorage file) throws CoreException {
-		BufferedReader reader = new BufferedReader(new InputStreamReader(file.getContents()));
-		String line = null;
-		List result = new ArrayList();
-		try {
-			while ((line = reader.readLine()) != null) {
-				result.add(line.trim());
-			}
-		} catch (IOException e) {
-			throw new CoreException(new Status(IStatus.ERROR, FileSystemPlugin.ID, 0, 
-					NLS.bind("Error reading from file {0}", file.getFullPath()), e));
-		} finally {
-			try {
-				reader.close();
-			} catch (IOException e) {
-				// Ignore
-			}
-		}
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-
-	private void writeLines(String[] strings) throws CoreException {
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < strings.length; i++) {
-			String string = strings[i];
-			buffer.append(string);
-			buffer.append("\n");
-		}
-		((IFile)getResource()).setContents(new ByteArrayInputStream(buffer.toString().getBytes()), false, true, null);
-	}
-	
-	private ModelObjectElementFile getMoeFile(IFile file) {
-		if (ModelObjectElementFile.isMoeFile(file)) {
-			return new ModelObjectElementFile(this, file);
-		}
-		return null;
-	}
-
-	private static IFile getFile(String projectName, String path) {
-		if (path.length() == 0)
-			return null;
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IStatus status = workspace.validatePath("/" + projectName + "/" + path, IResource.FILE);
-		if (status.isOK()) {
-			IProject project = workspace.getRoot().getProject(projectName);
-			return project.getFile(new Path(path));
-		}
-		FileSystemPlugin.log(status);
-		return null;
-	}
-
-	public void addMoe(IFile file) throws CoreException {
-		((IFile)getResource()).appendContents(new ByteArrayInputStream(("\n" + file.getProjectRelativePath()).getBytes()), false, true, null);
-	}
-
-	public void remove(ModelObjectElementFile file) throws CoreException {
-		ModelObjectElementFile[] files = getModelObjectElementFiles();
-		List paths = new ArrayList();
-		for (int i = 0; i < files.length; i++) {
-			ModelObjectElementFile child = files[i];
-			if (!child.equals(file)) {
-				paths.add(child.getResource().getProjectRelativePath().toString());
-			}
-		}
-		writeLines((String[]) paths.toArray(new String[paths.size()]));
-	}
-
-	public void delete() throws CoreException {
-		ModelObjectElementFile[] files = getModelObjectElementFiles();
-		super.delete();
-		for (int i = 0; i < files.length; i++) {
-			ModelObjectElementFile file = files[i];
-			file.getResource().delete(false, null);
-		}
-	}
-
-	public void setElements(IResource[] resources) throws CoreException {
-		List paths = new ArrayList();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			paths.add(resource.getProjectRelativePath().toString());
-		}
-		writeLines((String[]) paths.toArray(new String[paths.size()]));
-	}
-
-	public boolean hasMoe(IFile file) throws CoreException {
-		ModelObjectElementFile[] files = getModelObjectElementFiles();
-		for (int i = 0; i < files.length; i++) {
-			ModelObjectElementFile child = files[i];
-			if (child.getResource().equals(file))
-				return true;
-		}
-		return false;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectElementFile.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectElementFile.java
deleted file mode 100644
index 84ec392..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelObjectElementFile.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-
-public class ModelObjectElementFile extends ModelFile {
-
-	public static final String MODEL_OBJECT_ELEMENTFILE_EXTENSION = "moe";
-	
-	private final ModelObjectDefinitionFile parent;
-
-	public static boolean isMoeFile(IResource resource) {
-		return resource instanceof IFile 
-			&& resource.getFileExtension().equals(MODEL_OBJECT_ELEMENTFILE_EXTENSION);
-	}
-	
-	public ModelObjectElementFile(ModelObjectDefinitionFile parent, IFile file) {
-		super(file);
-		this.parent = parent;
-	}
-
-	public ModelObject[] getChildren() {
-		return new ModelObject[0];
-	}
-	
-	public ModelObject getParent() {
-		return parent;
-	}
-	
-	public void delete() throws CoreException {
-		parent.remove(this);
-		super.delete();
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelProject.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelProject.java
deleted file mode 100644
index 7585840..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelProject.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-public class ModelProject extends ModelContainer {
-
-	public static boolean isModProject(IProject project) throws CoreException {
-		if (! project.isOpen())
-			return false;
-		IProjectDescription description = project.getDescription();
-		return description.hasNature(ModelNature.NATURE_ID);
-	}
-	
-	public static void makeModProject(IProject project, IProgressMonitor monitor) throws CoreException {
-		IProjectDescription description = project.getDescription();
-		String[] natureIds = description.getNatureIds();
-		List result = new ArrayList();
-		for (int i = 0; i < natureIds.length; i++) {
-			result.add(natureIds[i]);
-		}
-		result.add(ModelNature.NATURE_ID);
-		description.setNatureIds((String[]) result.toArray(new String[result.size()]));
-		project.setDescription(description, monitor);
-	}
-	
-	public ModelProject(IProject project) {
-		super(project);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelResource.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelResource.java
deleted file mode 100644
index c5e4a54..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelResource.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A model object that has a corresponding resource.
- * This does not indicate that the model object only
- * consists of a single resource. It only means that at least
- * the resource of this model element makes up the model
- * element. There may be other resources included as well.
- * <p>
- * The model consists of the following:
- * <ol>
- * <li>Model object definition files (*.mod). A MOD file consists
- * of a pointer to one of more model object element (*.moe) files.</li>
- * <li>Model object element file (*.moe) contain one or more elements</li>
- * <li>Model object projects correspond to workspace projects but only show child
- * folders and MOD files when expanded.</li>
- * <li>Model object folders correspond to workspace folders but only show child
- * folders and MOD files when expanded.</li>
- * </ol>
- * 
- */
-public abstract class ModelResource extends ModelObject{
-	private final IResource resource;
-	
-	protected ModelResource(IResource resource) {
-		this.resource = resource;
-	}
-
-	public IResource getResource() {
-		return resource;
-	}
-	
-	public String getName() {
-		return getResource().getName();
-	}
-	
-	public String getPath() {
-		return getResource().getFullPath().makeRelative().toString();
-	}
-	
-	public ModelObject getParent() {
-		return ModelObject.create(getResource().getParent());
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof ModelResource) {
-			ModelResource mr = (ModelResource) obj;
-			return getResource().equals(mr.getResource());
-		}
-		return super.equals(obj);
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getResource().hashCode();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.examples.model.ModelObject#delete()
-	 */
-	public void delete() throws CoreException {
-		getResource().delete(false, null);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.examples.model.ModelObject#getProject()
-	 */
-	public ModelProject getProject() {
-		return (ModelProject)ModelObject.create(getResource().getProject());
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelWorkspace.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelWorkspace.java
deleted file mode 100644
index bbd26ad..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ModelWorkspace.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-
-public class ModelWorkspace extends ModelContainer {
-
-	protected ModelWorkspace() {
-		super(ResourcesPlugin.getWorkspace().getRoot());
-	}
-	
-	public String getName() {
-		return "Model Root";
-	}
-	
-	public ModelObject getParent() {
-		return null;
-	}
-
-	public static Object getRoot() {
-		return new ModelWorkspace();
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/PluginManifestChangeTracker.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/PluginManifestChangeTracker.java
deleted file mode 100644
index ddccae0..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/PluginManifestChangeTracker.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.mapping.ChangeTracker;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-
-public class PluginManifestChangeTracker extends ChangeTracker {
-	
-	Set manifestFilePaths;
-	
-	public PluginManifestChangeTracker() {
-		manifestFilePaths = new HashSet();
-		manifestFilePaths.add(new Path(null, "plugin.xml"));
-		manifestFilePaths.add(new Path(null, "plugin.properties"));
-		manifestFilePaths.add(new Path(null, "build.properties"));
-		manifestFilePaths.add(new Path(null, "META-INF/MANIFEST.MF"));
-	}
-
-	protected boolean isProjectOfInterest(IProject project) {
-		return super.isProjectOfInterest(project) && hasPDENature(project);
-	}
-	
-	private boolean hasPDENature(IProject project) {
-		try {
-			return project.getDescription().hasNature("org.eclipse.pde.PluginNature");
-		} catch (CoreException e) {
-			FileSystemPlugin.log(new Status(e.getStatus().getSeverity(), FileSystemPlugin.ID, 0, 
-					NLS.bind("Could not obtain project description for {0}", project.getName()), e));
-		}
-		return false;
-	}
-
-	protected void handleChanges(IProject project, IResource[] resources) {
-		handleProjectChange(project);
-	}
-
-	protected void handleProjectChange(IProject project) {
-		List changes = new ArrayList();
-		for (Iterator iter = manifestFilePaths.iterator(); iter.hasNext();) {
-			IPath path = (IPath) iter.next();
-			IFile file = project.getFile(path);
-			try {
-				if (isModified(file)) {
-					changes.add(file);
-				}
-			} catch (CoreException e) {
-				FileSystemPlugin.log(new Status(e.getStatus().getSeverity(), FileSystemPlugin.ID, 0, 
-						NLS.bind("Could not obtain diff for {0}", file.getFullPath().toString()), e));
-			}
-		}
-		if (changes.size() > 1) {
-			groupInSet(project, (IFile[]) changes.toArray(new IFile[changes.size()]));
-		}
-	}
-
-	private void groupInSet(IProject project, IFile[] files) {
-		String name = getSetName(project);
-		try {
-			ensureGrouped(project, name, files);
-		} catch (CoreException e) {
-			FileSystemPlugin.log(new Status(e.getStatus().getSeverity(), FileSystemPlugin.ID, 0, 
-					NLS.bind("Could not create change set {0}", name), e));
-		}
-	}
-
-	private String getSetName(IProject project) {
-		return "Plugin manifest files for " + project.getName();
-	}
-
-	protected boolean isResourceOfInterest(IResource resource) {
-		return manifestFilePaths.contains(resource.getProjectRelativePath());
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ExampleModelProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ExampleModelProvider.java
deleted file mode 100644
index 0bf6889..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ExampleModelProvider.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.mapping;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.model.*;
-
-/**
- * The model provider for our example
- */
-public class ExampleModelProvider extends
-		org.eclipse.core.resources.mapping.ModelProvider {
-
-	public static final String ID = "org.eclipse.team.examples.filesystem.modelProvider";
-
-	public ExampleModelProvider() {
-		super();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ModelProvider#validateChange(org.eclipse.core.resources.IResourceDelta, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus validateChange(IResourceDelta delta, IProgressMonitor monitor) {
-		// Visit the changes in the delta to look for changes we care about
-		final List problems = new ArrayList();
-		try {
-			delta.accept(new IResourceDeltaVisitor() {
-				public boolean visit(IResourceDelta delta) throws CoreException {
-					IResource resource = delta.getResource();
-					if (ModelObjectElementFile.isMoeFile(resource)) {
-						// Removal may leave a stale reference in a MOD file
-						if (delta.getKind() == IResourceDelta.REMOVED) {
-							IStatus status = new ModelStatus(IStatus.ERROR, FileSystemPlugin.ID, getDescriptor().getId(), 
-									NLS.bind("Deleting file {0} may corrupt any model definition that references it.", resource.getFullPath()));
-							problems.add(status);
-						}
-					}
-					if (ModelObjectDefinitionFile.isModFile(resource)) {
-						// Removal may leave unreferenced MOE files around
-						if (delta.getKind() == IResourceDelta.REMOVED) {
-							IStatus status = new ModelStatus(IStatus.WARNING, FileSystemPlugin.ID, getDescriptor().getId(), 
-									NLS.bind("Deleting file {0} may result in unreferenced element files.", resource.getFullPath()));
-							problems.add(status);
-						}
-						if (delta.getKind() == IResourceDelta.ADDED 
-								&& ((delta.getFlags() & IResourceDelta.COPIED_FROM) > 0)) {
-							// Copying will result in two MOD files that reference the same elements
-							IStatus status = new ModelStatus(IStatus.ERROR, FileSystemPlugin.ID, getDescriptor().getId(), 
-									NLS.bind("Copying file {0} may corrupt the model defintion.", delta.getMovedFromPath()));
-							problems.add(status);
-						}
-					}
-					return delta.getResource().getType() == IResource.ROOT 
-						|| ModelProject.isModProject(delta.getResource().getProject());
-				}
-			});
-		} catch (CoreException e) {
-			FileSystemPlugin.log(e);
-		}
-		if (problems.size() == 1)
-			return (IStatus)problems.get(0);
-		else if (problems.size() > 1) {
-			return new MultiStatus(FileSystemPlugin.ID, 0, (IStatus[]) problems.toArray(new IStatus[problems.size()]), "Multiple potential side effects have been found.",  null);
-		}
-		return super.validateChange(delta, monitor);
-	}
-	
-	public ResourceMapping[] getMappings(IResource resource, ResourceMappingContext context, IProgressMonitor monitor) throws CoreException {
-		if (ModelProject.isModProject(resource.getProject())) {
-			ModelObject object = ModelObject.create(resource);
-			if (object != null)
-				return new ResourceMapping[] { (ResourceMapping)object.getAdapter(ResourceMapping.class) };
-		}
-		return super.getMappings(resource, context, monitor);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModResourceMapping.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModResourceMapping.java
deleted file mode 100644
index 7feab8b..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModResourceMapping.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.mapping;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.model.*;
-
-public class ModResourceMapping extends ModelResourceMapping {
-
-	public ModResourceMapping(ModelObjectDefinitionFile file) {
-		super(file);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ResourceMapping#getTraversals(org.eclipse.core.resources.mapping.ResourceMappingContext, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public ResourceTraversal[] getTraversals(ResourceMappingContext context,
-			IProgressMonitor monitor) throws CoreException {
-		Set resources = getLocalResources();
-		if (context instanceof RemoteResourceMappingContext) {
-			monitor.beginTask(null, IProgressMonitor.UNKNOWN);
-			RemoteResourceMappingContext remoteContext = (RemoteResourceMappingContext) context;
-			if (remoteContext.hasRemoteChange(getResource(), new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN))) {
-				IResource[] remoteResources = ModelObjectDefinitionFile.getReferencedResources(
-						getResource().getProject().getName(), 
-						remoteContext.fetchRemoteContents((IFile)getResource(), 
-								new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN)));
-				for (int i = 0; i < remoteResources.length; i++) {
-					IResource resource = remoteResources[i];
-					resources.add(resource);
-				}
-			}
-			if (remoteContext.isThreeWay() 
-					&& remoteContext.hasLocalChange(getResource(), new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN))) {
-				IResource[] remoteResources = ModelObjectDefinitionFile.getReferencedResources(
-						getResource().getProject().getName(),
-						remoteContext.fetchBaseContents((IFile)getResource(), 
-								new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN)));
-				for (int i = 0; i < remoteResources.length; i++) {
-					IResource resource = remoteResources[i];
-					resources.add(resource);
-				}
-			}
-			monitor.done();
-		}
-		return new ResourceTraversal[] { 
-				new ResourceTraversal((IResource[]) resources.toArray(new IResource[resources.size()]), 
-						IResource.DEPTH_ZERO, IResource.NONE)
-			};
-	}
-
-	private IResource getResource() {
-		return ((ModelResource)getModelObject()).getResource();
-	}
-	
-	private Set getLocalResources() throws CoreException {
-		ModelObjectDefinitionFile mdf = (ModelObjectDefinitionFile)getModelObject();
-		Set resources = new HashSet();
-		resources.add(mdf.getResource());
-		ModelObjectElementFile[] files = mdf.getModelObjectElementFiles();
-		for (int i = 0; i < files.length; i++) {
-			ModelObjectElementFile file = files[i];
-			resources.add(file.getResource());
-		}
-		return resources;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ResourceMapping#contains(org.eclipse.core.resources.mapping.ResourceMapping)
-	 */
-	public boolean contains(ResourceMapping mapping) {
-		if (mapping instanceof ModelResourceMapping) {
-			ModelObject object = (ModelObject)mapping.getModelObject();
-			if (object instanceof ModelResource) {
-				IResource resource = ((ModelResource) object).getResource();
-				try {
-					return getLocalResources().contains(resource);
-				} catch (CoreException e) {
-					FileSystemPlugin.log(e);
-				}
-			}
-		}
-		return false;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelContainerResourceMapping.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelContainerResourceMapping.java
deleted file mode 100644
index 85e61de..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelContainerResourceMapping.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.mapping;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.examples.model.*;
-
-public class ModelContainerResourceMapping extends ModelResourceMapping {
-
-	public ModelContainerResourceMapping(ModelContainer container) {
-		super(container);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ResourceMapping#getTraversals(org.eclipse.core.resources.mapping.ResourceMappingContext, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public ResourceTraversal[] getTraversals(ResourceMappingContext context,
-			IProgressMonitor monitor) throws CoreException {
-		return new ResourceTraversal[] { 
-				new ResourceTraversal(new IResource[] { 
-						getResource()
-				}, IResource.DEPTH_INFINITE, IResource.NONE)
-			};
-	}
-
-	private IResource getResource() {
-		return ((ModelContainer)getModelObject()).getResource();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ResourceMapping#contains(org.eclipse.core.resources.mapping.ResourceMapping)
-	 */
-	public boolean contains(ResourceMapping mapping) {
-		if (mapping instanceof ModelResourceMapping) {
-			ModelObject object = (ModelObject)mapping.getModelObject();
-			if (object instanceof ModelResource) {
-				IResource resource = ((ModelResource) object).getResource();
-				return getResource().getFullPath().isPrefixOf(resource.getFullPath());
-			}
-		}
-		return false;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelMerger.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelMerger.java
deleted file mode 100644
index f48430d..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelMerger.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.mapping;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.resources.mapping.ResourceTraversal;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.diff.*;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.core.mapping.*;
-import org.eclipse.team.core.mapping.provider.*;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.model.*;
-
-/**
- * A resource mapping merger for our example model 
- */
-public class ModelMerger extends ResourceMappingMerger {
-
-	private final org.eclipse.team.examples.model.mapping.ExampleModelProvider provider;
-
-	public ModelMerger(org.eclipse.team.examples.model.mapping.ExampleModelProvider provider) {
-		this.provider = provider;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.mapping.ResourceMappingMerger#getModelProvider()
-	 */
-	protected org.eclipse.core.resources.mapping.ModelProvider getModelProvider() {
-		return provider;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.mapping.ResourceMappingMerger#merge(org.eclipse.team.core.mapping.IMergeContext, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public IStatus merge(IMergeContext mergeContext, IProgressMonitor monitor) throws CoreException {
-		try {
-			IStatus status;
-			// Only override the merge for three-way synchronizations
-			if (mergeContext.getType() == SynchronizationContext.THREE_WAY) {
-				monitor.beginTask("Merging model elements", 100);
-				status = mergeModelElements(mergeContext, new SubProgressMonitor(monitor, 50));
-				// Stop the merge if there was a failure
-				if (!status.isOK())
-					return status;
-				// We need to wait for any background processing to complete for the context
-				// so the diff tree will be up-to-date when we delegate the rest of the merge
-				// to the superclass
-				try {
-					Platform.getJobManager().join(mergeContext, new SubProgressMonitor(monitor, 50));
-				} catch (InterruptedException e) {
-					// Ignore
-				}
-				// Delegate the rest of the merge to the superclass
-				status = super.merge(mergeContext, monitor);
-			} else {
-				status = super.merge(mergeContext, monitor);
-			}
-			return status;
-		} finally {
-			monitor.done();
-		}
-	}
-
-	/*
-	 * Merge all the model element changes in the context
-	 */
-	private IStatus mergeModelElements(IMergeContext mergeContext, IProgressMonitor monitor) throws CoreException {
-		try {
-			IDiff[] modeDiffs = getModDiffs(mergeContext);
-			List failures = new ArrayList();
-			monitor.beginTask(null, 100 * modeDiffs.length);
-			for (int i = 0; i < modeDiffs.length; i++) {
-				IDiff diff = modeDiffs[i];
-				if (!mergeModelElement(mergeContext, diff, new SubProgressMonitor(monitor, 100))) {
-					failures.add(diff);
-				}
-			}
-			if (failures.size() > 0) {
-				return new MergeStatus(FileSystemPlugin.ID, "Several objects could not be merged", getMappings(failures));
-			}
-			return Status.OK_STATUS;
-		} finally {
-			monitor.done();
-		}
-	}
-
-	private ResourceMapping[] getMappings(List failures) {
-		List mappings = new ArrayList();
-		for (Iterator iter = failures.iterator(); iter.hasNext();) {
-			IDiff diff = (IDiff) iter.next();
-			IResource resource = ResourceDiffTree.getResourceFor(diff);
-			ModelObjectDefinitionFile file = (ModelObjectDefinitionFile)ModelObject.create(resource);
-			mappings.add(file.getAdapter(ResourceMapping.class));
-		}
-		return (ResourceMapping[]) mappings.toArray(new ResourceMapping[mappings.size()]);
-	}
-
-	/*
-	 * Return all the diffs for MOD files.
-	 */
-	private IDiff[] getModDiffs(IMergeContext mergeContext) {
-		final List result = new ArrayList();
-		mergeContext.getDiffTree().accept(getModelProjectTraversals(mergeContext), new IDiffVisitor() {
-			public boolean visit(IDiff diff) {
-				IResource resource = ResourceDiffTree.getResourceFor(diff);
-				if (ModelObjectDefinitionFile.isModFile(resource)) {
-					result.add(diff);
-				}
-				return true;
-			}
-		
-		});
-		return (IDiff[]) result.toArray(new IDiff[result.size()]);
-	}
-
-	/*
-	 * Return a traversal that covers all the model projects in the scope of the merge.
-	 */
-	private ResourceTraversal[] getModelProjectTraversals(IMergeContext mergeContext) {
-		IProject[] scopeProjects = mergeContext.getScope().getProjects();
-		List modelProjects = new ArrayList();
-		for (int i = 0; i < scopeProjects.length; i++) {
-			IProject project = scopeProjects[i];
-			try {
-				if (ModelProject.isModProject(project)) {
-					modelProjects.add(project);
-				}
-			} catch (CoreException e) {
-				FileSystemPlugin.log(e);
-			}
-		}
-		if (modelProjects.isEmpty())
-			return new ResourceTraversal[0];
-		return new ResourceTraversal[] { 
-			new ResourceTraversal((IResource[]) modelProjects.toArray(new IResource[modelProjects.size()]), 
-					IResource.DEPTH_INFINITE, IResource.NONE)	
-		};
-	}
-
-	/*
-	 * Merge the model definition file and all the element files it contains.
-	 */
-	private boolean mergeModelElement(IMergeContext mergeContext, IDiff diff, IProgressMonitor monitor) throws CoreException {
-		if (diff instanceof IThreeWayDiff) {
-			IThreeWayDiff twd = (IThreeWayDiff) diff;
-			if (twd.getDirection() == IThreeWayDiff.INCOMING
-					|| twd.getDirection() == IThreeWayDiff.CONFLICTING) {
-				IResource resource = ResourceDiffTree.getResourceFor(diff);
-				
-				// First, check if a change conflicts with a deletion
-				if (twd.getDirection() == IThreeWayDiff.CONFLICTING) {
-					if (!resource.exists())
-						return false;
-					if (((IResourceDiff)twd.getRemoteChange()).getAfterState() == null)
-						return false;
-				}
-				
-				// First determine the element files and element file changes
-				IResourceDiff remoteChange = (IResourceDiff)twd.getRemoteChange();
-				IResource[] localElements = getReferencedResources(resource);
-				IResource[] baseElements = getReferencedResources(resource.getProject().getName(), remoteChange.getBeforeState(), monitor);
-				IResource[] remoteElements = getReferencedResources(resource.getProject().getName(), remoteChange.getAfterState(), monitor);
-				IResource[] addedElements = getAddedElements(baseElements, remoteElements);
-				// Trick: The removed elements can be obtained by reversing the base and remote and looking for added
-				IResource[] removedElements = getAddedElements(remoteElements, baseElements);
-				
-				// Check to see if any removed elements have changed locally
-				if (hasOutgoingChanges(mergeContext, removedElements)) {
-					return false;
-				}
-				
-				// Now try to merge all the element files involved
-				Set elementFiles = new HashSet();
-				elementFiles.addAll(Arrays.asList(baseElements));
-				elementFiles.addAll(Arrays.asList(localElements));
-				elementFiles.addAll(Arrays.asList(remoteElements));
-				if (!mergeElementFiles(mergeContext, (IResource[]) elementFiles.toArray(new IResource[elementFiles.size()]), monitor)) {
-					return false;
-				}
-				
-				// Finally, merge the model definition
-				if (!resource.exists()) {
-					// This is a new model definition so just merge it
-					IStatus status = mergeContext.merge(diff, false, monitor);
-					if (!status.isOK())
-						return false;
-				} else {
-					// Update the contents of the model definition file
-					ModelObjectDefinitionFile file = (ModelObjectDefinitionFile)ModelObject.create(resource);
-					elementFiles = new HashSet();
-					elementFiles.addAll(Arrays.asList(localElements));
-					elementFiles.addAll(Arrays.asList(addedElements));
-					elementFiles.removeAll(Arrays.asList(removedElements));
-					file.setElements((IResource[]) elementFiles.toArray(new IResource[elementFiles.size()]));
-					// Let the merge context know we handled the file
-					mergeContext.markAsMerged(diff, false, monitor);
-				}
-			}
-		}
-		return true;
-	}
-
-	private boolean mergeElementFiles(IMergeContext mergeContext, IResource[] resources, IProgressMonitor monitor) throws CoreException {
-		IDiff[] diffs = getDiffs(mergeContext, resources);
-		IStatus status = mergeContext.merge(diffs, false, monitor);
-		return status.isOK();
-	}
-
-	private IDiff[] getDiffs(IMergeContext mergeContext, IResource[] resources) {
-		Set diffSet = new HashSet();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			IDiff[] diffs = mergeContext.getDiffTree().getDiffs(resource, IResource.DEPTH_ZERO);
-			diffSet.addAll(Arrays.asList(diffs));
-		}
-		return (IDiff[]) diffSet.toArray(new IDiff[diffSet.size()]);
-	}
-
-	private boolean hasOutgoingChanges(IMergeContext mergeContext, IResource[] removedElements) {
-		FastDiffFilter fastDiffFilter = new FastDiffFilter() {
-			public boolean select(IDiff diff) {
-				if (diff instanceof IThreeWayDiff) {
-					IThreeWayDiff twd = (IThreeWayDiff) diff;
-					return twd.getDirection() == IThreeWayDiff.OUTGOING || twd.getDirection() == IThreeWayDiff.CONFLICTING;
-				}
-				return false;
-			}
-		};
-		for (int i = 0; i < removedElements.length; i++) {
-			IResource resource = removedElements[i];
-			if  (mergeContext.getDiffTree().hasMatchingDiffs(resource.getFullPath(), fastDiffFilter))
-				return true;	
-		}
-		return false;
-	}
-
-	private IResource[] getAddedElements(IResource[] baseElements, IResource[] remoteElements) {
-		List result = new ArrayList();
-		Set base = new HashSet();
-		for (int i = 0; i < baseElements.length; i++) {
-			IResource resource = baseElements[i];
-			base.add(resource);
-		}
-		for (int i = 0; i < remoteElements.length; i++) {
-			IResource resource = remoteElements[i];
-			if (!base.contains(resource))
-				result.add(resource);
-		}
-		return (IResource[]) result.toArray(new IResource[result.size()]);
-	}
-
-	private IResource[] getReferencedResources(IResource resource) throws CoreException {
-		if (resource instanceof IFile && resource.exists()) {
-			return ModelObjectDefinitionFile.getReferencedResources(resource.getProject().getName(), (IFile) resource);
-		}
-		return new IResource[0];
-	}
-	
-	private IResource[] getReferencedResources(String projectName, IFileRevision revision, IProgressMonitor monitor) throws CoreException {
-		if (revision != null) {
-			return ModelObjectDefinitionFile.getReferencedResources(projectName, revision.getStorage(monitor));
-		} 
-		return new IResource[0];
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelResourceMapping.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelResourceMapping.java
deleted file mode 100644
index e936a94..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/ModelResourceMapping.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.mapping;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.team.examples.model.*;
-
-public abstract class ModelResourceMapping extends ResourceMapping {
-
-	private final ModelObject object;
-
-	public static ResourceMapping create(ModelObject object) {
-		if (object instanceof ModelContainer) {
-			return new ModelContainerResourceMapping((ModelContainer) object);
-		}
-		if (object instanceof ModelObjectDefinitionFile) {
-			return new ModResourceMapping((ModelObjectDefinitionFile) object);
-		}
-		if (object instanceof ModelObjectElementFile) {
-			return new MoeResourceMapping((ModelObjectElementFile) object);
-		}
-		return null;
-	}
-	
-	protected ModelResourceMapping(ModelObject object) {
-		this.object = object;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ResourceMapping#getModelObject()
-	 */
-	public Object getModelObject() {
-		return object;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ResourceMapping#getModelProviderId()
-	 */
-	public String getModelProviderId() {
-		return ExampleModelProvider.ID;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ResourceMapping#getProjects()
-	 */
-	public IProject[] getProjects() {
-		return new IProject[] { (IProject)object.getProject().getResource() };
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/MoeResourceMapping.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/MoeResourceMapping.java
deleted file mode 100644
index 3619f65..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/mapping/MoeResourceMapping.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.mapping;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.examples.model.*;
-
-public class MoeResourceMapping extends ModelResourceMapping {
-
-	public MoeResourceMapping(ModelObjectElementFile file) {
-		super(file);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ResourceMapping#getTraversals(org.eclipse.core.resources.mapping.ResourceMappingContext, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public ResourceTraversal[] getTraversals(ResourceMappingContext context,
-			IProgressMonitor monitor) throws CoreException {
-		return new ResourceTraversal[] { 
-				new ResourceTraversal(new IResource[] { 
-						getResource()
-				}, IResource.DEPTH_ZERO, IResource.NONE)
-			};
-	}
-
-	private IResource getResource() {
-		return ((ModelResource)getModelObject()).getResource();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.mapping.ResourceMapping#contains(org.eclipse.core.resources.mapping.ResourceMapping)
-	 */
-	public boolean contains(ResourceMapping mapping) {
-		if (mapping.equals(this))
-			return true;
-		return false;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/AdapterFactory.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/AdapterFactory.java
deleted file mode 100644
index ce0ce56..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/AdapterFactory.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.ui;
-
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.team.core.mapping.IResourceMappingMerger;
-import org.eclipse.team.examples.filesystem.ui.FileSystemHistoryPageSource;
-import org.eclipse.team.examples.model.ModelObject;
-import org.eclipse.team.examples.model.mapping.ExampleModelProvider;
-import org.eclipse.team.examples.model.mapping.ModelMerger;
-import org.eclipse.team.examples.model.mapping.ModelResourceMapping;
-import org.eclipse.team.examples.model.ui.mapping.CompareAdapter;
-import org.eclipse.team.ui.history.IHistoryPageSource;
-import org.eclipse.team.ui.mapping.ISynchronizationCompareAdapter;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-public class AdapterFactory implements IAdapterFactory {
-
-	private IWorkbenchAdapter modelAdapter = new ModelWorkbenchAdapter();
-	private ModelMerger modelMerger;
-	private CompareAdapter compareAdapter;
-	private static Object historyPageSource = new FileSystemHistoryPageSource();
-	
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adapterType == IWorkbenchAdapter.class && adaptableObject instanceof ModelObject)
-			return modelAdapter;
-		if (adapterType == ResourceMapping.class && adaptableObject instanceof ModelObject)
-			return ModelResourceMapping.create((ModelObject)adaptableObject);
-		if (adapterType == IResourceMappingMerger.class && adaptableObject instanceof ExampleModelProvider) {
-			if (modelMerger == null) {
-				modelMerger = new ModelMerger((ExampleModelProvider)adaptableObject);
-			}
-			return modelMerger;
-		}
-		if (adapterType == ISynchronizationCompareAdapter.class && adaptableObject instanceof ExampleModelProvider) {
-			if (compareAdapter == null) {
-				compareAdapter = new CompareAdapter((ExampleModelProvider)adaptableObject);
-			}
-			return compareAdapter;
-		}
-		
-		if (adapterType == IHistoryPageSource.class){
-			return historyPageSource;
-		}
-		
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] { IWorkbenchAdapter.class, ResourceMapping.class, IResourceMappingMerger.class, ISynchronizationCompareAdapter.class };
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorActionProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorActionProvider.java
deleted file mode 100644
index 618926c..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorActionProvider.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.ui;
-
-import java.io.ByteArrayInputStream;
-import java.util.Iterator;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.team.examples.model.*;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.ui.navigator.*;
-
-/**
- * Model action provider for use with the Common Navigator framework. The
- * purpose of this example is to illustrate logical model integration support in
- * Eclipse and, more specifically, Team. It should not be taken as an
- * illustration of other features (e.g. UI responsiveness, etc).
- */
-public class ModelNavigatorActionProvider extends CommonActionProvider {
-
-	private Action newModAction;
-	private Action newFolderAction;
-	private Action newMoeAction;
-	private Action deleteAction;
-	private Action makeDirty;
-
-	public ModelNavigatorActionProvider() {
-		super();
-	}
-	
-	public void init(ICommonActionExtensionSite aSite) {
-		super.init(aSite);
-		createActions();
-	}
-
-	private void createActions() {
-		deleteAction = new Action("Delete") {
-			public void run() {
-				IStructuredSelection selection = (IStructuredSelection)getContext().getSelection();
-				try {
-					for (Iterator iter = selection.iterator(); iter.hasNext();) {
-						Object element = iter.next();
-						if (element instanceof ModelObject) {
-							ModelObject mo = (ModelObject) element;
-							mo.delete();
-						}
-					}
-				} catch (CoreException e) {
-					ErrorDialog.openError(getShell(), null, null, e.getStatus());
-				}
-			}
-		};
-		newFolderAction = new Action("Create Folder") {
-			public void run() {
-				IContainer container = getSelectedContainer();
-				if (container != null) {
-					String name = promptForName();
-					if (name == null)
-						return;
-					IFolder folder = container.getFolder(new Path(name));
-					try {
-						folder.create(false, true, null);
-					} catch (CoreException e) {
-						ErrorDialog.openError(getShell(), null, null, e.getStatus());
-					}
-				}
-			}
-
-			private String promptForName() {
-				InputDialog dialog = new InputDialog(getShell(), "Enter Name", "Enter the name of the new folder", "New Folder", null);
-				int result = dialog.open();
-				if (result == Window.OK) {
-					return dialog.getValue();
-				}
-				return null;
-			}
-		};
-		newModAction = new Action("Create MOD File") {
-			public void run() {
-				IContainer container = getSelectedContainer();
-				if (container != null) {
-					String name = promptForName();
-					if (name == null)
-						return;
-					if (!name.endsWith(".mod"))
-						name += ".mod";
-					IFile file = container.getFile(new Path(name));
-					try {
-						file.create(new ByteArrayInputStream("".getBytes()), false, null);
-					} catch (CoreException e) {
-						ErrorDialog.openError(getShell(), null, null, e.getStatus());
-					}
-				}
-			}
-
-			private String promptForName() {
-				InputDialog dialog = new InputDialog(getShell(), "Enter Name", "Enter the name of the new model object", "New Object", null);
-				int result = dialog.open();
-				if (result == Window.OK) {
-					return dialog.getValue();
-				}
-				return null;
-			}
-		};
-		newMoeAction = new Action("Create MOE File") {
-			public void run() {
-				ModelObjectDefinitionFile modFile = getSelectedModFile();
-				if (modFile != null) {
-					String path = promptForPath((ModelContainer)modFile.getParent());
-					if (path == null)
-						return;
-					if (!path.endsWith(".moe"))
-						path += ".moe";
-					ModelContainer parent = (ModelContainer)modFile.getParent();
-					IFile file = ((IContainer)parent.getResource()).getFile(new Path(path));
-					try {
-						file.create(new ByteArrayInputStream("".getBytes()), false, null);
-						modFile.addMoe(file);
-					} catch (CoreException e) {
-						ErrorDialog.openError(getShell(), null, null, e.getStatus());
-					}
-				}
-			}
-
-			private String promptForPath(ModelContainer parent) {
-				InputDialog dialog = new InputDialog(getShell(), "Enter Path", "Enter the path of the new model element relative to " + parent.getPath(), "New Element", null);
-				int result = dialog.open();
-				if (result == Window.OK) {
-					return dialog.getValue();
-				}
-				return null;
-			}
-		};
-		makeDirty = new Action("Make Dirty") {
-			public void run() {
-				IStructuredSelection selection = (IStructuredSelection)getContext().getSelection();
-				for (Iterator iter = selection.iterator(); iter.hasNext();) {
-					Object element = iter.next();
-					if (element instanceof ModelObjectDefinitionFile) {
-						ModelObjectDefinitionFile mo = (ModelObjectDefinitionFile) element;
-						ModelSaveablesProvider provider = getSaveablesProvider();
-						provider.makeDirty(mo);
-					}
-				}
-			}
-
-			private ModelSaveablesProvider getSaveablesProvider() {
-				ITreeContentProvider provider = getActionSite().getContentService().getContentExtensionById("org.eclipse.team.examples.model.navigator").getContentProvider();
-				return (ModelSaveablesProvider)Utils.getAdapter(provider, SaveablesProvider.class);
-			}
-		};
-	}
-	
-	protected Shell getShell() {
-		return getActionSite().getViewSite().getShell();
-	}
-
-	public void fillContextMenu(IMenuManager menu) {
-		super.fillContextMenu(menu);
-		menu.add(deleteAction);
-		IContainer container = getSelectedContainer();
-		if (container != null) {
-			menu.add(newFolderAction);
-			menu.add(newModAction);
-		}
-		ModelObjectDefinitionFile modFile = getSelectedModFile();
-		if (modFile != null) {
-			menu.add(newMoeAction);
-			menu.add(makeDirty);
-		}
-	}
-
-	IContainer getSelectedContainer() {
-		IStructuredSelection selection = (IStructuredSelection)getContext().getSelection();
-		if (selection.size() == 1) {
-			Object o = selection.getFirstElement();
-			if (o instanceof ModelContainer) {
-				ModelContainer mc = (ModelContainer) o;
-				return (IContainer)mc.getResource();
-			}
-		}
-		return null;
-	}
-	
-	ModelObjectDefinitionFile getSelectedModFile() {
-		IStructuredSelection selection = (IStructuredSelection)getContext().getSelection();
-		if (selection.size() == 1) {
-			Object o = selection.getFirstElement();
-			if (o instanceof ModelObjectDefinitionFile) {
-				return (ModelObjectDefinitionFile) o;
-			}
-		}
-		return null;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorContentProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorContentProvider.java
deleted file mode 100644
index 229ed9d..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorContentProvider.java
+++ /dev/null
@@ -1,330 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.ui;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.model.*;
-import org.eclipse.team.ui.mapping.*;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.model.BaseWorkbenchContentProvider;
-import org.eclipse.ui.navigator.*;
-
-/**
- * Model content provider for use with the Common Navigator framework.
- * It makes use of an IWorkbenchAdapter to get the children and parent 
- * of model objects. It also makes use of the Common Navigator pipeline 
- * to override the resource content extension so that model projects will
- * replace the corresponding resource project in the Project Explorer.
- */
-public class ModelNavigatorContentProvider extends BaseWorkbenchContentProvider
-		implements ICommonContentProvider, IResourceChangeListener, IPipelinedTreeContentProvider, ITeamStateChangeListener, IAdaptable {
-
-	private ICommonContentExtensionSite extensionSite;
-	private boolean isWorkspaceRoot;
-	private Viewer viewer;
-	private final boolean updateViewer;
-	private SynchronizationStateTester syncStateTester;
-	private Object saveablesProvider = new ModelSaveablesProvider();
-
-	public ModelNavigatorContentProvider() {
-		super();
-		updateViewer = true;
-	}
-	
-	/**
-	 * Create a contentProvider
-	 * @param updateViewer whether this content provider is reponsible for updating the viewer
-	 */
-	public ModelNavigatorContentProvider(boolean updateViewer) {
-		this.updateViewer = updateViewer;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.ICommonContentProvider#init(org.eclipse.ui.navigator.ICommonContentExtensionSite)
-	 */
-	public void init(ICommonContentExtensionSite aConfig) {
-		extensionSite = aConfig;
-		if (updateViewer) {
-			ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE);
-			// Use a synchronization state tester to listen for team state changes
-			syncStateTester = new SynchronizationStateTester();
-			syncStateTester.getTeamStateProvider().addDecoratedStateChangeListener(this);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.BaseWorkbenchContentProvider#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-		if (syncStateTester != null)
-			syncStateTester.getTeamStateProvider().removeDecoratedStateChangeListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IMementoAware#restoreState(org.eclipse.ui.IMemento)
-	 */
-	public void restoreState(IMemento aMemento) {
-		// Nothing to do
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IMementoAware#saveState(org.eclipse.ui.IMemento)
-	 */
-	public void saveState(IMemento aMemento) {
-		// Nothing to do
-	}
-
-	/**
-	 * Return the extension site for this label provider.
-	 * @return the extension site for this label provider
-	 */
-	public ICommonContentExtensionSite getExtensionSite() {
-		return extensionSite;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.BaseWorkbenchContentProvider#getElements(java.lang.Object)
-	 */
-	public Object[] getElements(Object element) {
-		// Since we are used in the project explorer, the root may be 
-		// an IWorkspaceRoot. We need to change it to the ModelWorkspace
-		if (element instanceof IWorkspaceRoot) {
-			isWorkspaceRoot = true;
-			return super.getElements(ModelObject.create((IWorkspaceRoot)element));
-			
-		}
-		return super.getElements(element);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.BaseWorkbenchContentProvider#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object element) {
-		Object parent = super.getParent(element);
-		if (isWorkspaceRoot && parent instanceof ModelWorkspace) {
-			return ((ModelWorkspace)parent).getResource();
-		}
-		return parent;
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		this.viewer = viewer;
-		super.inputChanged(viewer, oldInput, newInput);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.ITeamStateChangeListener#teamStateChanged(org.eclipse.team.ui.mapping.ITeamStateChangeEvent)
-	 */
-	public void teamStateChanged(ITeamStateChangeEvent event) {
-		// We need to listen to team state changes in order to determine when we need
-		// to perform label updates on model elements.
-		// We actually just refresh all projects that contain changes.
-		// This is inefficient but will do for an example
-		Set refreshProjects = new HashSet();
-		IResource[] addedRoots = event.getAddedRoots();
-		for (int i = 0; i < addedRoots.length; i++) {
-			IResource resource = addedRoots[i];
-			if (isModelProject(resource.getProject())) {
-				refreshProjects.add(ModelObject.create(resource.getProject()));
-			}
-		}
-		IResource[] removedRoots = event.getRemovedRoots();
-		for (int i = 0; i < removedRoots.length; i++) {
-			IResource resource = removedRoots[i];
-			if (isModelProject(resource.getProject())) {
-				refreshProjects.add(ModelObject.create(resource.getProject()));
-			}
-		}
-		IResource[] changed = event.getChangedResources();
-		for (int i = 0; i < changed.length; i++) {
-			IResource resource = changed[i];
-			if (isModelProject(resource.getProject())) {
-				refreshProjects.add(ModelObject.create(resource.getProject()));
-			}
-		}
-		
-		refreshProjects((ModelProject[]) refreshProjects.toArray(new ModelProject[refreshProjects.size()]));
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		if (viewer == null) return;
-		IResourceDelta delta = event.getDelta();
-		IResourceDelta[] children = delta.getAffectedChildren();
-		boolean refreshAll = false;
-		List refreshProjects = new ArrayList();
-		for (int i = 0; i < children.length; i++) {
-			IResourceDelta childDelta = children[i];
-			if (isModelProject(childDelta.getResource())) {
-				if (isProjectChange(childDelta)) {
-					refreshAll = true;
-					break;
-				}
-				refreshProjects.add(ModelObject.create(childDelta.getResource()));
-			}
-		}
-		if (refreshAll || !refreshProjects.isEmpty()) {
-			if (refreshAll)
-				refreshViewer();
-			else 
-				refreshProjects((ModelProject[]) refreshProjects.toArray(new ModelProject[refreshProjects.size()]));
-		}
-	}
-
-	private void refreshProjects(final ModelProject[] projects) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				if (!getViewer().getControl().isDisposed()) {
-					for (int i = 0; i < projects.length; i++) {
-						ModelProject project = projects[i];
-						((AbstractTreeViewer)getViewer()).refresh(project, true);
-					}
-				}
-			}
-		
-		});
-	}
-
-	private void refreshViewer() {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				if (!getViewer().getControl().isDisposed()) {
-					getViewer().refresh();
-				}
-			}
-		
-		});
-	}
-
-	private boolean isProjectChange(IResourceDelta childDelta) {
-		if ((childDelta.getFlags() & (IResourceDelta.DESCRIPTION | IResourceDelta.OPEN)) > 0)
-			return true;
-		return false;
-	}
-
-	private boolean isModelProject(IResource resource) {
-		try {
-			return ModelProject.isModProject(resource.getProject());
-		} catch (CoreException e) {
-			FileSystemPlugin.log(e);
-			return false;
-		}
-	}
-
-	Viewer getViewer() {
-		return viewer;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#getPipelinedChildren(java.lang.Object, java.util.Set)
-	 */
-	public void getPipelinedChildren(Object aParent, Set theCurrentChildren) {
-		// Nothing to do
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#getPipelinedElements(java.lang.Object, java.util.Set)
-	 */
-	public void getPipelinedElements(Object anInput, Set theCurrentElements) {
-		// Replace any model projects with a ModelProject
-		if (anInput instanceof IWorkspaceRoot) {
-			List newProjects = new ArrayList();
-			for (Iterator iter = theCurrentElements.iterator(); iter.hasNext();) {
-				Object element = iter.next();
-				if (element instanceof IProject) {
-					IProject project = (IProject) element;
-					try {
-						if (ModelProject.isModProject(project)) {
-							iter.remove();
-							newProjects.add(ModelObject.create(project));
-						}
-					} catch (CoreException e) {
-						FileSystemPlugin.log(e);
-					}
-				}
-			}
-			theCurrentElements.addAll(newProjects);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#getPipelinedParent(java.lang.Object, java.lang.Object)
-	 */
-	public Object getPipelinedParent(Object anObject, Object aSuggestedParent) {
-		// We're not changing the parenting of any resources
-		return aSuggestedParent;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptAdd(org.eclipse.ui.navigator.PipelinedShapeModification)
-	 */
-	public PipelinedShapeModification interceptAdd(PipelinedShapeModification anAddModification) {
-		if (anAddModification.getParent() instanceof IWorkspaceRoot) {
-			for (Iterator iter = anAddModification.getChildren().iterator(); iter.hasNext();) {
-				Object element = iter.next();
-				if (element instanceof IProject) {
-					IProject project = (IProject) element;
-					try {
-						if (ModelProject.isModProject(project)) {
-							iter.remove();
-						}
-					} catch (CoreException e) {
-						FileSystemPlugin.log(e);
-					}
-				}
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptRefresh(org.eclipse.ui.navigator.PipelinedViewerUpdate)
-	 */
-	public boolean interceptRefresh(PipelinedViewerUpdate aRefreshSynchronization) {
-		// No need to intercept the refresh
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptRemove(org.eclipse.ui.navigator.PipelinedShapeModification)
-	 */
-	public PipelinedShapeModification interceptRemove(PipelinedShapeModification aRemoveModification) {
-		// No need to intercept the remove
-		return aRemoveModification;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptUpdate(org.eclipse.ui.navigator.PipelinedViewerUpdate)
-	 */
-	public boolean interceptUpdate(PipelinedViewerUpdate anUpdateSynchronization) {
-		// No need to intercept the update
-		return false;
-	}
-
-	public Object getAdapter(Class adapter) {
-		if (adapter == SaveablesProvider.class) {
-			return saveablesProvider;
-		}
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorLabelProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorLabelProvider.java
deleted file mode 100644
index 1bfc7e8..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelNavigatorLabelProvider.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.ui;
-
-import org.eclipse.team.examples.model.ModelObject;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.navigator.ICommonContentExtensionSite;
-import org.eclipse.ui.navigator.ICommonLabelProvider;
-
-/**
- * Model content provider for use with the Common Navigator framework.
- * It makes use of an IWorkbenchAdapter to get the label and image
- * of model objects.
- */
-public class ModelNavigatorLabelProvider extends WorkbenchLabelProvider implements
-		ICommonLabelProvider {
-
-	private ICommonContentExtensionSite extensionSite;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.ICommonLabelProvider#init(org.eclipse.ui.navigator.ICommonContentExtensionSite)
-	 */
-	public void init(ICommonContentExtensionSite aConfig) {
-		extensionSite = aConfig;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IMementoAware#restoreState(org.eclipse.ui.IMemento)
-	 */
-	public void restoreState(IMemento aMemento) {
-		// Nothing to do
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IMementoAware#saveState(org.eclipse.ui.IMemento)
-	 */
-	public void saveState(IMemento aMemento) {
-		// Nothing to do
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IDescriptionProvider#getDescription(java.lang.Object)
-	 */
-	public String getDescription(Object anElement) {
-		if (anElement instanceof ModelObject) {
-			return ((ModelObject) anElement).getPath();
-		}
-		return null;
-	}
-
-	/**
-	 * Return the extension site for this label provider.
-	 * @return the extension site for this label provider
-	 */
-	public ICommonContentExtensionSite getExtensionSite() {
-		return extensionSite;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelSaveable.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelSaveable.java
deleted file mode 100644
index 4e73bb9..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelSaveable.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.ui;
-
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.team.examples.model.ModelObject;
-import org.eclipse.team.examples.model.ModelObjectDefinitionFile;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.ui.Saveable;
-
-/**
- * A Saveable that represents a modified model object definition file.
- */
-public class ModelSaveable extends Saveable {
-
-	private ModelObject modelObject;
-	private boolean dirty;
-	private final ModelSaveablesProvider modelSaveablesProvider;
-
-	public ModelSaveable(ModelSaveablesProvider modelSaveablesProvider, ModelObjectDefinitionFile mo) {
-		this.modelSaveablesProvider = modelSaveablesProvider;
-		modelObject = mo;
-	}
-
-	public boolean equals(Object object) {
-		if (object instanceof ModelSaveable) {
-			ModelSaveable other = (ModelSaveable) object;
-			return (other.getModelObject().equals(getModelObject()));
-		}
-		return false;
-	}
-
-	public ModelObject getModelObject() {
-		return modelObject;
-	}
-
-	public ImageDescriptor getImageDescriptor() {
-		return ModelWorkbenchAdapter.createImageDescriptor("obj/mod_obj.gif");
-	}
-
-	public String getName() {
-		return modelObject.getName();
-	}
-
-	public String getToolTipText() {
-		return "Saveable for " + getName();
-	}
-
-	public int hashCode() {
-		return modelObject.hashCode();
-	}
-
-	public boolean isDirty() {
-		return dirty;
-	}
-	
-	public void doSave(IProgressMonitor monitor) throws CoreException {
-		dirty = false;
-		modelSaveablesProvider.saved(this);
-	}
-
-	public void makeDirty() {
-		dirty = true;
-	}
-
-	public Object getAdapter(Class adapter) {
-		if (adapter == ResourceMapping.class) {
-			return Utils.getAdapter(getModelObject(), ResourceMapping.class);
-		}
-		return super.getAdapter(adapter);
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelSaveablesProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelSaveablesProvider.java
deleted file mode 100644
index 442c4e4..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelSaveablesProvider.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.ui;
-
-import java.util.*;
-
-import org.eclipse.team.examples.model.ModelObjectDefinitionFile;
-import org.eclipse.ui.Saveable;
-import org.eclipse.ui.navigator.SaveablesProvider;
-
-/**
- * Provider used by the Common Navigator framework to link saveables to 
- * model elements.
- */
-public class ModelSaveablesProvider extends SaveablesProvider {
-
-	private List saveables = new ArrayList();
-
-	public Object[] getElements(Saveable saveable) {
-		if (saveable instanceof ModelSaveable) {
-			ModelSaveable ms = (ModelSaveable) saveable;
-			return new Object[] { ms.getModelObject() };
-		}
-		return new Object[0];
-	}
-
-	public Saveable getSaveable(Object element) {
-		for (Iterator iterator = saveables.iterator(); iterator.hasNext();) {
-			ModelSaveable saveable = (ModelSaveable) iterator.next();
-			if (saveable.getModelObject().equals(element))
-				return saveable;
-		}
-		return null;
-	}
-
-	public Saveable[] getSaveables() {
-		return (Saveable[]) saveables.toArray(new Saveable[saveables.size()]);
-	}
-
-	public void makeDirty(ModelObjectDefinitionFile mo) {
-		Saveable saveable = getSaveable(mo);
-		if (saveable == null) {
-			saveable = new ModelSaveable(this, mo);
-			saveables.add(saveable);
-			fireSaveablesOpened(new Saveable[] { saveable });
-		}
-		((ModelSaveable)saveable).makeDirty();
-		fireSaveablesDirtyChanged(new Saveable[] { saveable });
-	}
-
-	public void saved(ModelSaveable saveable) {
-		fireSaveablesDirtyChanged(new Saveable[] { saveable });
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelWorkbenchAdapter.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelWorkbenchAdapter.java
deleted file mode 100644
index 606f101..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/ModelWorkbenchAdapter.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.ui;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.model.*;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-
-/**
- * The workbench adapter for ModelObjects.
- */
-public class ModelWorkbenchAdapter implements IWorkbenchAdapter {
-
-	// image path
-	private static final String ICON_PATH = "$nl$/icons/full/"; //$NON-NLS-1$
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object)
-	 */
-	public Object[] getChildren(Object o) {
-		if (o instanceof ModelObject) {
-			ModelObject mo = (ModelObject) o;
-			try {
-				return mo.getChildren();
-			} catch (CoreException e) {
-				FileSystemPlugin.log(e);
-			}
-		}
-		return new Object[0];
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object object) {
-		if (object instanceof ModelProject) {
-			return createImageDescriptor("obj/prj_obj.gif");
-		}
-		if (object instanceof ModelWorkspace) {
-			return createImageDescriptor("obj/root_obj.gif");
-		}
-		if (object instanceof ModelFolder) {
-			return createImageDescriptor("obj/fldr_obj.gif");
-		}
-		if (object instanceof ModelObjectDefinitionFile) {
-			return createImageDescriptor("obj/mod_obj.gif");
-		}
-		if (object instanceof ModelObjectElementFile) {
-			return createImageDescriptor("obj/moe_obj.gif");
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-	 */
-	public String getLabel(Object o) {
-		if (o instanceof ModelObject) {
-			ModelObject mo = (ModelObject) o;
-			return mo.getName();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object o) {
-		if (o instanceof ModelObject) {
-			ModelObject mo = (ModelObject) o;
-			return mo.getParent();
-		}
-		return null;
-	}
-	
-	/**
-	 * Creates an image descriptor.
-	 */
-	public static ImageDescriptor createImageDescriptor(String id) {
-		URL url = FileLocator.find(FileSystemPlugin.getPlugin().getBundle(), new Path(ICON_PATH + id), null);
-		return ImageDescriptor.createFromURL(url);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/NewModelProjectWizard.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/NewModelProjectWizard.java
deleted file mode 100644
index b3420de..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/NewModelProjectWizard.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.net.URI;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.team.examples.model.ModelNature;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
-import org.eclipse.ui.internal.wizards.newresource.ResourceMessages;
-
-public class NewModelProjectWizard extends Wizard implements INewWizard {
-
-    private WizardNewProjectCreationPage mainPage;
-    
-	public NewModelProjectWizard() {
-		super();
-	}
-	
-	public void addPages() {
-		super.addPages();
-		
-        mainPage = new WizardNewProjectCreationPage("basicNewProjectPage");//$NON-NLS-1$
-        mainPage.setTitle(ResourceMessages.NewProject_title);
-        mainPage.setDescription(ResourceMessages.NewProject_description);
-        this.addPage(mainPage);
-	}
-
-	public boolean performFinish() {
-	    // get a project handle
-        final IProject newProjectHandle = mainPage.getProjectHandle();
-
-        // get a project descriptor
-        URI location = null;
-        if (!mainPage.useDefaults()) {
-			location = mainPage.getLocationURI();
-		}
-
-        IWorkspace workspace = ResourcesPlugin.getWorkspace();
-        final IProjectDescription description = workspace
-                .newProjectDescription(newProjectHandle.getName());
-        description.setLocationURI(location);
-        description.setNatureIds(new String[] {ModelNature.NATURE_ID});
-
-        // create the new project operation
-        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-            protected void execute(IProgressMonitor monitor)
-                    throws CoreException {
-                createProject(description, newProjectHandle, monitor);
-            }
-        };
-
-        // run the new project creation operation
-        try {
-            getContainer().run(true, true, op);
-        } catch (InterruptedException e) {
-            return false;
-        } catch (InvocationTargetException e) {
-            // ie.- one of the steps resulted in a core exception
-            Throwable t = e.getTargetException();
-            if (t instanceof CoreException) {
-                ErrorDialog.openError(getShell(), null, null,
-                            ((CoreException) t).getStatus());
-            } else {
-                MessageDialog
-                        .openError(
-                                getShell(),
-                                "Error occurred",
-                                t.getMessage());
-            }
-            return false;
-        }
-		return true;
-	}
-
-    /**
-     * Creates a project resource given the project handle and description.
-     * 
-     * @param description
-     *            the project description to create a project resource for
-     * @param projectHandle
-     *            the project handle to create a project resource for
-     * @param monitor
-     *            the progress monitor to show visual progress with
-     * 
-     * @exception CoreException
-     *                if the operation fails
-     * @exception OperationCanceledException
-     *                if the operation is canceled
-     */
-    void createProject(IProjectDescription description, IProject projectHandle,
-            IProgressMonitor monitor) throws CoreException,
-            OperationCanceledException {
-        try {
-            monitor.beginTask("", 2000);//$NON-NLS-1$
-
-            projectHandle.create(description, new SubProgressMonitor(monitor,
-                    1000));
-
-            if (monitor.isCanceled()) {
-				throw new OperationCanceledException();
-			}
-
-            projectHandle.open(IResource.BACKGROUND_REFRESH, new SubProgressMonitor(monitor, 1000));
-
-        } finally {
-            monitor.done();
-        }
-    }
-    
-	public void init(IWorkbench workbench, IStructuredSelection selection) {
-		// Nothing to do
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/CompareAdapter.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/CompareAdapter.java
deleted file mode 100644
index 00ce390..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/CompareAdapter.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.ui.mapping;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.compare.structuremergeviewer.ICompareInput;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.mapping.ModelProvider;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.team.core.mapping.ISynchronizationContext;
-import org.eclipse.team.examples.model.*;
-import org.eclipse.team.examples.model.mapping.ExampleModelProvider;
-import org.eclipse.team.ui.mapping.SynchronizationCompareAdapter;
-import org.eclipse.ui.IMemento;
-
-/**
- * Compare adapter for use with our example model.
- */
-public class CompareAdapter extends SynchronizationCompareAdapter {
-
-	private static final String CTX_MODEL_MAPPINGS = "org.eclipse.team.examples.filesystem.modelMappings";
-	
-	private final ExampleModelProvider provider;
-
-	public CompareAdapter(ExampleModelProvider provider) {
-		this.provider = provider;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationCompareAdapter#getName(org.eclipse.core.resources.mapping.ResourceMapping)
-	 */
-	public String getName(ResourceMapping mapping) {
-		Object o = mapping.getModelObject();
-		if (o instanceof ModelObject) {
-			return ((ModelObject) o).getName();
-		}
-		return super.getName(mapping);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationCompareAdapter#getPathString(org.eclipse.core.resources.mapping.ResourceMapping)
-	 */
-	public String getPathString(ResourceMapping mapping) {
-		Object o = mapping.getModelObject();
-		if (o instanceof ModelObject) {
-			return ((ModelObject) o).getPath();
-		}
-		return super.getPathString(mapping);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationCompareAdapter#asCompareInput(org.eclipse.team.core.mapping.ISynchronizationContext, java.lang.Object)
-	 */
-	public ICompareInput asCompareInput(ISynchronizationContext context, Object o) {
-		if (o instanceof ModelObjectElementFile) {
-			ModelObjectElementFile moeFile = (ModelObjectElementFile) o;
-			// Use a file compare input for the model element file
-			return super.asCompareInput(context, moeFile.getResource());
-		}
-		return super.asCompareInput(context, o);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.ISynchronizationCompareAdapter#restore(org.eclipse.ui.IMemento)
-	 */
-	public ResourceMapping[] restore(IMemento memento) {
-		List result = new ArrayList();
-		IMemento[] children = memento.getChildren(CTX_MODEL_MAPPINGS);
-		for (int i = 0; i < children.length; i++) {
-			IMemento child = children[i];
-			ResourceMapping mapping = restoreMapping(child);
-			if (mapping != null)
-				result.add(mapping);
-		}
-		return (ResourceMapping[]) result.toArray(new ResourceMapping[result.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.ISynchronizationCompareAdapter#save(org.eclipse.core.resources.mapping.ResourceMapping[], org.eclipse.ui.IMemento)
-	 */
-	public void save(ResourceMapping[] mappings, IMemento memento) {
-		for (int i = 0; i < mappings.length; i++) {
-			ResourceMapping mapping = mappings[i];
-			Object o = mapping.getModelObject();
-			if (o instanceof ModelObject) {
-				ModelObject mo = (ModelObject) o;
-				save(mo, memento.createChild(CTX_MODEL_MAPPINGS));
-			}
-		}
-		
-	}
-
-	private ResourceMapping restoreMapping(IMemento child) {
-		String parent = child.getString("definition");
-		String path = child.getString("resource");
-		if (parent != null) {
-			ModelObjectDefinitionFile modFile = (ModelObjectDefinitionFile)ModelObject.create(getResource(parent));
-			if (modFile != null)
-				return (ResourceMapping)new ModelObjectElementFile(modFile, (IFile)getResource(path)).getAdapter(ResourceMapping.class);
-		} else {
-			ModelObject object = ModelObject.create(getResource(path));
-			if (object != null)
-				return (ResourceMapping)object.getAdapter(ResourceMapping.class);
-		}
-		return null;
-	}
-	
-	private IResource getResource(String path) {
-		Path resourcePath = new Path(path);
-		if (path.endsWith(ModelObjectDefinitionFile.MODEL_OBJECT_DEFINITION_FILE_EXTENSION) 
-				|| path.endsWith(ModelObjectElementFile.MODEL_OBJECT_ELEMENTFILE_EXTENSION))
-			return ResourcesPlugin.getWorkspace().getRoot().getFile(resourcePath);
-		if (resourcePath.segmentCount() == 1)
-			return ResourcesPlugin.getWorkspace().getRoot().getProject(resourcePath.lastSegment());
-		return ResourcesPlugin.getWorkspace().getRoot().getFolder(resourcePath);
-	}
-
-	private void save(ModelObject mo, IMemento memento) {
-		if (mo instanceof ModelResource) {
-			ModelResource resource = (ModelResource) mo;
-			memento.putString("resource", resource.getResource().getFullPath().toString());
-			if (mo instanceof ModelObjectElementFile) {
-				ModelObjectElementFile moeFile = (ModelObjectElementFile) mo;
-				ModelObjectDefinitionFile parent = (ModelObjectDefinitionFile)moeFile.getParent();
-				memento.putString("definition", parent.getResource().getFullPath().toString());
-			}
-		}
-	}
-
-	public ModelProvider getProvider() {
-		return provider;
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelMergeActionHandler.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelMergeActionHandler.java
deleted file mode 100644
index eb402e6..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelMergeActionHandler.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.ui.mapping;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.team.core.diff.*;
-import org.eclipse.team.core.mapping.IMergeContext;
-import org.eclipse.team.examples.model.ModelObjectDefinitionFile;
-import org.eclipse.team.examples.model.ModelObjectElementFile;
-import org.eclipse.team.internal.ui.mapping.ResourceModelProviderOperation;
-import org.eclipse.team.ui.mapping.MergeActionHandler;
-import org.eclipse.team.ui.mapping.SynchronizationOperation;
-import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
-
-public class ModelMergeActionHandler extends MergeActionHandler {
-
-	/*
-	 * Operation to merge model elements. We're using an internal superclass to save on copying
-	 * code.
-	 */
-	private final class ModelSynchronizeOperation extends ResourceModelProviderOperation {
-		public ModelSynchronizeOperation(ISynchronizePageConfiguration configuration, IStructuredSelection selection) {
-			super(configuration, selection);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.team.ui.mapping.SynchronizationOperation#execute(org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		protected void execute(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-			// We need to perform special handling for any MOE file whose parent MOD is not included in the merge
-			try {
-				IMergeContext context = (IMergeContext)getContext();
-				IDiff[] diffs = getTargetDiffs();
-				ModelObjectElementFile[] moeMerges = getMoeOnlyMerges();
-				IStatus status = context.merge(diffs, overwrite, monitor);
-				if (!status.isOK())
-					throw new CoreException(status);
-				// For now, just cycle through each lonely MOE and update the parent
-				for (int i = 0; i < moeMerges.length; i++) {
-					ModelObjectElementFile file = moeMerges[i];
-					ModelObjectDefinitionFile modFile = (ModelObjectDefinitionFile)file.getParent();
-					if (file.getResource().exists() && !modFile.hasMoe((IFile)file.getResource()))
-						modFile.addMoe((IFile)file.getResource());
-					else
-						modFile.remove(file);
-				}
-			} catch (CoreException e) {
-				throw new InvocationTargetException(e);
-			}
-		}
-
-		private ModelObjectElementFile[] getMoeOnlyMerges() {
-			List result = new ArrayList();
-			Object[] elements = getElements();
-			for (int i = 0; i < elements.length; i++) {
-				Object object = elements[i];
-				if (object instanceof ModelObjectElementFile) {
-					ModelObjectElementFile moeFile = (ModelObjectElementFile) object;
-					result.add(moeFile);
-				}
-			}
-			return (ModelObjectElementFile[]) result.toArray(new ModelObjectElementFile[result.size()]);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.team.internal.ui.mapping.ResourceModelProviderOperation#getDiffFilter()
-		 */
-		protected FastDiffFilter getDiffFilter() {
-			return new FastDiffFilter() {
-				public boolean select(IDiff node) {
-					if (node instanceof IThreeWayDiff) {
-						IThreeWayDiff twd = (IThreeWayDiff) node;
-						if ((twd.getDirection() == IThreeWayDiff.OUTGOING && overwrite) || twd.getDirection() == IThreeWayDiff.CONFLICTING || twd.getDirection() == IThreeWayDiff.INCOMING) {
-							return true;
-						}
-						return false;
-					}
-					// Overwrite should always be available for two-way diffs
-					return overwrite;
-				}
-			};
-		}
-	}
-
-	final boolean overwrite;
-	private SynchronizationOperation operation;
-
-	public ModelMergeActionHandler(ISynchronizePageConfiguration configuration, boolean overwrite) {
-		super(configuration);
-		this.overwrite = overwrite;
-	}
-
-	protected SynchronizationOperation getOperation() {
-		if (operation == null) {
-			operation = new ModelSynchronizeOperation(getConfiguration(), getStructuredSelection());
-		}
-		return operation;
-	}
-	
-	protected void updateEnablement(IStructuredSelection selection) {
-		synchronized (this) {
-			operation = null;
-		}
-		super.updateEnablement(selection);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncActionProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncActionProvider.java
deleted file mode 100644
index 1ab2e29..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncActionProvider.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.ui.mapping;
-
-import org.eclipse.team.ui.mapping.SynchronizationActionProvider;
-import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
-
-/**
- * The action provider that is used for synchronizations.
- */
-public class ModelSyncActionProvider extends SynchronizationActionProvider {
-	
-	public ModelSyncActionProvider() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationActionProvider#initialize()
-	 */
-	protected void initialize() {
-		super.initialize();
-		final ISynchronizePageConfiguration configuration= getSynchronizePageConfiguration();
-		// We provide custom handlers that ensure that the MOD files get updated properly
-		// when MOE files are merged.
-		registerHandler(MERGE_ACTION_ID, new ModelMergeActionHandler(configuration, false));
-		registerHandler(OVERWRITE_ACTION_ID, new ModelMergeActionHandler(configuration, true));
-		// We can just use the default mark as merged handler
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncContentProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncContentProvider.java
deleted file mode 100644
index 787c654..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncContentProvider.java
+++ /dev/null
@@ -1,392 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.ui.mapping;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.team.core.diff.*;
-import org.eclipse.team.core.mapping.ISynchronizationContext;
-import org.eclipse.team.core.mapping.ISynchronizationScope;
-import org.eclipse.team.core.mapping.provider.ResourceDiffTree;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.model.*;
-import org.eclipse.team.examples.model.mapping.ExampleModelProvider;
-import org.eclipse.team.examples.model.ui.ModelNavigatorContentProvider;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.team.internal.ui.mapping.SynchronizationResourceMappingContext;
-import org.eclipse.team.ui.mapping.SynchronizationContentProvider;
-import org.eclipse.ui.navigator.*;
-
-/**
- * The content provider that is used for synchronizations.
- * It also makes use of the Common Navigator pipeline 
- * to override the resource content extension so that model projects will
- * replace the corresponding resource project in the Synchronize view.
- */
-public class ModelSyncContentProvider extends SynchronizationContentProvider implements IPipelinedTreeContentProvider {
-
-	private ModelNavigatorContentProvider delegate;
-	
-	public ModelSyncContentProvider() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationContentProvider#init(org.eclipse.ui.navigator.ICommonContentExtensionSite)
-	 */
-	public void init(ICommonContentExtensionSite site) {
-		super.init(site);
-		delegate = new ModelNavigatorContentProvider(getContext() != null);
-		delegate.init(site);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationContentProvider#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		if (delegate != null)
-			delegate.dispose();
-	}
-	
-	protected ITreeContentProvider getDelegateContentProvider() {
-		return delegate;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationContentProvider#getModelProviderId()
-	 */
-	protected String getModelProviderId() {
-		return ExampleModelProvider.ID;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationContentProvider#getModelRoot()
-	 */
-	protected Object getModelRoot() {
-		return ModelWorkspace.getRoot();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationContentProvider#getTraversals(org.eclipse.team.core.mapping.ISynchronizationContext, java.lang.Object)
-	 */
-	protected ResourceTraversal[] getTraversals(
-			ISynchronizationContext context, Object object) {
-		if (object instanceof ModelObject) {
-			ModelObject mo = (ModelObject) object;
-			ResourceMapping mapping = (ResourceMapping)mo.getAdapter(ResourceMapping.class);
-			ResourceMappingContext rmc = new SynchronizationResourceMappingContext(context);
-			try {
-				// Technically speaking, this may end up being too long running for this
-				// (i.e. we may end up hitting the server) but it will do for illustration purposes
-				return mapping.getTraversals(rmc, new NullProgressMonitor());
-			} catch (CoreException e) {
-				FileSystemPlugin.log(e);
-			}
-		}
-		return new ResourceTraversal[0];
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationContentProvider#getChildrenInContext(org.eclipse.team.core.mapping.ISynchronizationContext, java.lang.Object, java.lang.Object[])
-	 */
-	protected Object[] getChildrenInContext(ISynchronizationContext context, Object parent, Object[] children) {
-		Set allChildren = new HashSet();
-		allChildren.addAll(Arrays.asList(super.getChildrenInContext(context, parent, children)));
-		// We need to override this method in order to ensure that any elements
-		// that exist in the context but do not exist locally are included
-		if (parent instanceof ModelContainer) {
-			ModelContainer mc = (ModelContainer) parent;
-			IDiff[] diffs = context.getDiffTree().getDiffs(mc.getResource(), IResource.DEPTH_ONE);
-			for (int i = 0; i < diffs.length; i++) {
-				IDiff diff = diffs[i];
-				IResource resource = ResourceDiffTree.getResourceFor(diff);
-				if (!resource.exists() && ModelObjectDefinitionFile.isModFile(resource)) {
-					ModelObject o = ModelObject.create(resource);
-					if (o != null)
-						allChildren.add(o);
-				}
-			}
-		}
-		if (parent instanceof ModelObjectDefinitionFile) {
-			ResourceTraversal[] traversals = getTraversals(context, parent);
-			IDiff[] diffs = context.getDiffTree().getDiffs(traversals);
-			for (int i = 0; i < diffs.length; i++) {
-				IDiff diff = diffs[i];
-				IResource resource = ResourceDiffTree.getResourceFor(diff);
-				if (!resource.exists() && ModelObjectElementFile.isMoeFile(resource)) {
-					ModelObject o = new ModelObjectElementFile((ModelObjectDefinitionFile)parent, (IFile)resource);
-					if (o != null)
-						allChildren.add(o);
-				}
-			}
-		}
-		return allChildren.toArray(new Object[allChildren.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#getPipelinedChildren(java.lang.Object, java.util.Set)
-	 */
-	public void getPipelinedChildren(Object aParent, Set theCurrentChildren) {
-		// Nothing to do
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#getPipelinedElements(java.lang.Object, java.util.Set)
-	 */
-	public void getPipelinedElements(Object anInput, Set theCurrentElements) {
-		// Replace any model projects with a ModelProject if the input
-		// is a synchronization context
-		if (anInput instanceof ISynchronizationContext) {
-			List newProjects = new ArrayList();
-			for (Iterator iter = theCurrentElements.iterator(); iter.hasNext();) {
-				Object element = iter.next();
-				if (element instanceof IProject) {
-					IProject project = (IProject) element;
-					try {
-						if (ModelProject.isModProject(project)) {
-							iter.remove();
-							newProjects.add(ModelObject.create(project));
-						}
-					} catch (CoreException e) {
-						FileSystemPlugin.log(e);
-					}
-				}
-			}
-			theCurrentElements.addAll(newProjects);
-		} else if (anInput instanceof ISynchronizationScope) {
-			// When the root is a scope, we should return
-			// our model provider so all model providers appear
-			// at the root of the viewer.
-			theCurrentElements.add(getModelProvider());
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#getPipelinedParent(java.lang.Object, java.lang.Object)
-	 */
-	public Object getPipelinedParent(Object anObject, Object aSuggestedParent) {
-		// We're not changing the parenting of any resources
-		return aSuggestedParent;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptAdd(org.eclipse.ui.navigator.PipelinedShapeModification)
-	 */
-	public PipelinedShapeModification interceptAdd(PipelinedShapeModification anAddModification) {
-		if (anAddModification.getParent() instanceof ISynchronizationContext) {
-			for (Iterator iter = anAddModification.getChildren().iterator(); iter.hasNext();) {
-				Object element = iter.next();
-				if (element instanceof IProject) {
-					IProject project = (IProject) element;
-					try {
-						if (ModelProject.isModProject(project)) {
-							iter.remove();
-						}
-					} catch (CoreException e) {
-						FileSystemPlugin.log(e);
-					}
-				}
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptRefresh(org.eclipse.ui.navigator.PipelinedViewerUpdate)
-	 */
-	public boolean interceptRefresh(PipelinedViewerUpdate aRefreshSynchronization) {
-		// No need to intercept the refresh
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptRemove(org.eclipse.ui.navigator.PipelinedShapeModification)
-	 */
-	public PipelinedShapeModification interceptRemove(PipelinedShapeModification aRemoveModification) {
-		// No need to intercept the remove
-		return aRemoveModification;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#interceptUpdate(org.eclipse.ui.navigator.PipelinedViewerUpdate)
-	 */
-	public boolean interceptUpdate(PipelinedViewerUpdate anUpdateSynchronization) {
-		// No need to intercept the update
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationContentProvider#diffsChanged(org.eclipse.team.core.diff.IDiffChangeEvent, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void diffsChanged(final IDiffChangeEvent event, IProgressMonitor monitor) {
-		// Override in order to perform custom viewer updates when the diff tree changes
-		Utils.syncExec(new Runnable() {
-			public void run() {
-				handleChange(event);
-			}
-		}, (StructuredViewer)getViewer());
-	}
-
-	void handleChange(IDiffChangeEvent event) {
-		Set existingProjects = getVisibleModelProjects();
-		IProject[] changedProjects = getChangedModelProjects(event);
-		List refreshes = new ArrayList(changedProjects.length);
-		List additions = new ArrayList(changedProjects.length);
-		List removals = new ArrayList(changedProjects.length);
-		for (int i = 0; i < changedProjects.length; i++) {
-			IProject project = changedProjects[i];
-			if (hasVisibleChanges(event.getTree(), project)) {
-				if (existingProjects.contains(project)) {
-					refreshes.add(ModelObject.create(project));
-				} else {
-					additions.add(ModelObject.create(project));
-				}
-			} else if (existingProjects.contains(project)) {
-				removals.add(ModelObject.create(project));
-				
-			}
-		}
-		if (!removals.isEmpty() || !additions.isEmpty() || !refreshes.isEmpty()) {
-			TreeViewer viewer = (TreeViewer)getViewer();
-			Tree tree = viewer.getTree();
-			try {
-				tree.setRedraw(false);
-				if (!additions.isEmpty())
-					viewer.add(viewer.getInput(), additions.toArray());
-				if (!removals.isEmpty())
-					viewer.remove(viewer.getInput(), removals.toArray());
-				if (!refreshes.isEmpty()) {
-					for (Iterator iter = refreshes.iterator(); iter.hasNext();) {
-						Object element = iter.next();
-						viewer.refresh(element);
-					}
-				}
-			} finally {
-				tree.setRedraw(true);
-			}
-		}
-	}
-
-	private boolean hasVisibleChanges(IDiffTree tree, IProject project) {
-		return tree.hasMatchingDiffs(project.getFullPath(), new FastDiffFilter() {
-			public boolean select(IDiff diff) {
-				return isVisible(diff);
-			}
-		});
-	}
-
-	/*
-	 * Return the list of all projects that are model projects
-	 */
-	private IProject[] getChangedModelProjects(IDiffChangeEvent event) {
-		Set result = new HashSet();
-		IDiff[] changes = event.getChanges();
-		for (int i = 0; i < changes.length; i++) {
-			IDiff diff = changes[i];
-			IResource resource = ResourceDiffTree.getResourceFor(diff);
-			if (resource != null && isModProject(resource.getProject())) {
-				result.add(resource.getProject());
-			}
-		}
-		IDiff[] additions = event.getAdditions();
-		for (int i = 0; i < additions.length; i++) {
-			IDiff diff = additions[i];
-			IResource resource = ResourceDiffTree.getResourceFor(diff);
-			if (resource != null && isModProject(resource.getProject())) {
-				result.add(resource.getProject());
-			}
-		}
-		IPath[] removals = event.getRemovals();
-		for (int i = 0; i < removals.length; i++) {
-			IPath path = removals[i];
-			if (path.segmentCount() > 0) {
-				IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(path.segment(0));
-				if (isModProject(project))
-					result.add(project);
-			}
-		}
-		return (IProject[]) result.toArray(new IProject[result.size()]);
-	}
-
-	private boolean isModProject(IProject project) {
-		try {
-			return ModelProject.isModProject(project);
-		} catch (CoreException e) {
-			FileSystemPlugin.log(e);
-		}
-		return false;
-	}
-
-	/*
-	 * Return the set of visible model projects
-	 */
-	private Set getVisibleModelProjects() {
-		TreeViewer viewer = (TreeViewer)getViewer();
-		Tree tree = viewer.getTree();
-		TreeItem[] children = tree.getItems();
-		Set result = new HashSet();
-		for (int i = 0; i < children.length; i++) {
-			TreeItem control = children[i];
-			Object data = control.getData();
-			if (data instanceof ModelProject) {
-				result.add(((ModelProject) data).getProject());
-			}
-		}
-		return result;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationContentProvider#propertyChanged(org.eclipse.team.core.diff.IDiffTree, int, org.eclipse.core.runtime.IPath[])
-	 */
-	public void propertyChanged(IDiffTree tree, int property, IPath[] paths) {
-		// We're overriding this message so that label updates occur for any elements
-		// whose labels may have changed
-		if (getContext() == null)
-			return;
-		final Set updates = new HashSet();
-		boolean refresh = false;
-		for (int i = 0; i < paths.length; i++) {
-			IPath path = paths[i];
-			IDiff diff = tree.getDiff(path);
-			if (diff != null) {
-				IResource resource = ResourceDiffTree.getResourceFor(diff);
-				ModelObject object = ModelObject.create(resource);
-				if (object != null) {
-					updates.add(object);
-				} else {
-					// If the resource is a MOE file, we need to update both the MOE and the MOD file
-					// Unfortunately, there's no good way to find the parent file so we'll just refresh everything
-					refresh = true;
-				}
-			}
-		}
-		if (!updates.isEmpty() || refresh) {
-			final boolean refreshAll = refresh;
-			final StructuredViewer viewer = (StructuredViewer)getViewer();
-			Utils.syncExec(new Runnable() {
-				public void run() {
-					if (refreshAll)
-						viewer.refresh(true);
-					else
-						viewer.update(updates.toArray(new Object[updates.size()]), null);
-				}
-			}, viewer);
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncLabelProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncLabelProvider.java
deleted file mode 100644
index 8194f21..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ModelSyncLabelProvider.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.ui.mapping;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.team.core.diff.IDiff;
-import org.eclipse.team.core.diff.IDiffTree;
-import org.eclipse.team.examples.filesystem.FileSystemPlugin;
-import org.eclipse.team.examples.model.*;
-import org.eclipse.team.examples.model.ui.ModelNavigatorLabelProvider;
-import org.eclipse.team.ui.mapping.SynchronizationLabelProvider;
-import org.eclipse.ui.navigator.ICommonContentExtensionSite;
-
-/**
- * The label provider that is used for synchronizations.
- * It provides a diff for each model element and also provides
- * overlay hints for isBust, conflict propagation and markers.
- */
-public class ModelSyncLabelProvider extends SynchronizationLabelProvider {
-	
-	private ModelNavigatorLabelProvider delegate;
-
-	public ModelSyncLabelProvider() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.mapping.SynchronizationLabelProvider#init(org.eclipse.ui.navigator.ICommonContentExtensionSite)
-	 */
-	public void init(ICommonContentExtensionSite site) {
-		super.init(site);
-		delegate = new ModelNavigatorLabelProvider();
-		delegate.init(site);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.AbstractSynchronizeLabelProvider#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		if (delegate != null)
-			delegate.dispose();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.AbstractSynchronizeLabelProvider#getDelegateLabelProvider()
-	 */
-	protected ILabelProvider getDelegateLabelProvider() {
-		return delegate;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.AbstractSynchronizeLabelProvider#getDiff(java.lang.Object)
-	 */
-	protected IDiff getDiff(Object element) {
-		if (element instanceof ModelResource) {
-			ModelResource mr = (ModelResource) element;
-			return getContext().getDiffTree().getDiff(mr.getResource());
-		}
-		return super.getDiff(element);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.AbstractSynchronizeLabelProvider#isIncludeOverlays()
-	 */
-	protected boolean isIncludeOverlays() {
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.ui.synchronize.AbstractSynchronizeLabelProvider#isBusy(java.lang.Object)
-	 */
-	protected boolean isBusy(Object element) {
-		if (element instanceof ModelResource) {
-			ModelResource mr = (ModelResource) element;
-			boolean busy = getContext().getDiffTree().getProperty(mr.getResource().getFullPath(), IDiffTree.P_BUSY_HINT);
-			if (!busy && mr instanceof ModelObjectDefinitionFile) {
-				ModelObjectDefinitionFile modFile = (ModelObjectDefinitionFile) mr;
-				try {
-					ModelObjectElementFile[] children = modFile.getModelObjectElementFiles();
-					for (int i = 0; i < children.length; i++) {
-						ModelObjectElementFile file = children[i];
-						busy = getContext().getDiffTree().getProperty(file.getResource().getFullPath(), IDiffTree.P_BUSY_HINT);
-						if (busy)
-							break;
-					}
-				} catch (CoreException e) {
-					FileSystemPlugin.log(e);
-				}
-			}
-			return busy;
-		}
-		return super.isBusy(element);
-	}
-	
-	protected boolean hasDecendantConflicts(Object element) {
-		if (element instanceof ModelResource) {
-			ModelResource mr = (ModelResource) element;
-			boolean conflict = getContext().getDiffTree().getProperty(mr.getResource().getFullPath(), IDiffTree.P_HAS_DESCENDANT_CONFLICTS);
-			if (!conflict && mr instanceof ModelObjectDefinitionFile) {
-				ModelObjectDefinitionFile modFile = (ModelObjectDefinitionFile) mr;
-				try {
-					ModelObjectElementFile[] children = modFile.getModelObjectElementFiles();
-					for (int i = 0; i < children.length; i++) {
-						ModelObjectElementFile file = children[i];
-						conflict = getContext().getDiffTree().getProperty(file.getResource().getFullPath(), IDiffTree.P_HAS_DESCENDANT_CONFLICTS);
-						if (conflict)
-							break;
-					}
-				} catch (CoreException e) {
-					FileSystemPlugin.log(e);
-				}
-			}
-			return conflict;
-		}
-		return super.hasDecendantConflicts(element);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ThirdPartyActionProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ThirdPartyActionProvider.java
deleted file mode 100644
index bcaed1c..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/model/ui/mapping/ThirdPartyActionProvider.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.model.ui.mapping;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.mapping.ModelProvider;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.team.core.mapping.ISynchronizationContext;
-import org.eclipse.team.ui.mapping.ISynchronizationCompareAdapter;
-import org.eclipse.team.ui.mapping.ITeamContentProviderManager;
-import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
-import org.eclipse.ui.IContributorResourceAdapter;
-import org.eclipse.ui.ide.IContributorResourceAdapter2;
-import org.eclipse.ui.navigator.*;
-
-public class ThirdPartyActionProvider extends CommonActionProvider {
-
-	private Action exampleAction;
-
-	public ThirdPartyActionProvider() {
-		// Nothing to do
-	}
-	
-	/**
-	 * Return the configuration from the synchronize page that contains
-	 * the common viewer.
-	 * @return the configuration from the synchronize page that contains
-	 * the common viewer
-	 */
-	protected final ISynchronizePageConfiguration getSynchronizePageConfiguration() {
-		return (ISynchronizePageConfiguration)getExtensionStateModel().getProperty(ITeamContentProviderManager.P_SYNCHRONIZATION_PAGE_CONFIGURATION);
-	}
-
-	/**
-	 * Return the extension state model for the content provider associated with
-	 * action provider.
-	 * @return the extension state model for the content provider associated with
-	 * action provider
-	 */
-	protected final IExtensionStateModel getExtensionStateModel() {
-		return getActionSite().getExtensionStateModel();
-	}
-	
-	/**
-	 * Return the synchronization context to which the actions of this provider
-	 * apply.
-	 * @return the synchronization context to which the actions of this provider
-	 * apply
-	 */
-	protected final ISynchronizationContext getSynchronizationContext() {
-		return (ISynchronizationContext)getExtensionStateModel().getProperty(ITeamContentProviderManager.P_SYNCHRONIZATION_CONTEXT);
-	}
-	
-	public void init(ICommonActionExtensionSite aSite) {
-		super.init(aSite);
-		exampleAction = new Action("3rd Party Action") {
-			public void run() {
-				StringBuffer buffer = new StringBuffer();
-				boolean addComma = false;
-				IStructuredSelection selection = (IStructuredSelection)getContext().getSelection();
-				ResourceMapping[] mappings = getResourceMappings(selection.toArray());
-				for (int i = 0; i < mappings.length; i++) {
-					ResourceMapping mapping = mappings[i];
-					ISynchronizationCompareAdapter adapter = getCompareAdpater(mapping);
-					if (adapter != null) {
-						String name = adapter.getName(mapping);
-						if (addComma) {
-							buffer.append(", ");
-						}
-						buffer.append(name);
-						addComma = true;
-					}
-				}
-				MessageDialog.openInformation(getActionSite().getViewSite().getShell(), "Example Action", "You have executed a third party action on the selected elements: " + buffer.toString());
-			}
-		};
-	}
-	
-	protected ISynchronizationCompareAdapter getCompareAdpater(ResourceMapping mapping) {
-		if (mapping != null) {
-			ModelProvider provider = mapping.getModelProvider();
-			if (provider != null) {
-				Object o = provider.getAdapter(ISynchronizationCompareAdapter.class);
-				if (o instanceof ISynchronizationCompareAdapter) {
-					return (ISynchronizationCompareAdapter) o;
-				}
-			}
-		}
-		return null;
-	}
-
-	public void fillContextMenu(IMenuManager menu) {
-		super.fillContextMenu(menu);
-		menu.add(exampleAction);
-	}
-
-	private ResourceMapping[] getResourceMappings(Object[] objects) {
-		List result = new ArrayList();
-		for (int i = 0; i < objects.length; i++) {
-			Object object = objects[i];
-			ResourceMapping mapping = getResourceMapping(object);
-			if (mapping != null)
-				result.add(mapping);
-		}
-		return (ResourceMapping[]) result.toArray(new ResourceMapping[result.size()]);
-	}
-	
-	private ResourceMapping getResourceMapping(Object o) {
-		if (o instanceof ResourceMapping) {
-			return (ResourceMapping) o;
-		}
-		if (o instanceof IAdaptable) {
-			IAdaptable adaptable = (IAdaptable) o;
-			Object adapted = adaptable.getAdapter(ResourceMapping.class);
-			if (adapted instanceof ResourceMapping) {
-				return(ResourceMapping) adapted;
-			}
-			adapted = adaptable.getAdapter(IContributorResourceAdapter.class);
-			if (adapted instanceof IContributorResourceAdapter2) {
-				IContributorResourceAdapter2 cra = (IContributorResourceAdapter2) adapted;
-				return cra.getAdaptedResourceMapping(adaptable);
-			}
-		} else {
-			Object adapted = Platform.getAdapterManager().getAdapter(o, ResourceMapping.class);
-			if (adapted instanceof ResourceMapping) {
-				return(ResourceMapping) adapted;
-			}
-		}
-		return null;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/IPessimisticFilesystemConstants.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/IPessimisticFilesystemConstants.java
deleted file mode 100644
index 387b81e..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/IPessimisticFilesystemConstants.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic;
-
-/**
- * Preference constants for the <code>PessimisticFilesystemProvider</code>.
- */
-public interface IPessimisticFilesystemConstants {	
-	/**
-	 * Preference name's prefix
-	 */
-	String PREFIX = "org.eclipse.team.examples.pessimistic.";
-
-	/**
-	 * Preference name for when checked in files are saved.
-	 */
-	String PREF_CHECKED_IN_FILES_SAVED = PREFIX + "WhenCheckedInFilesAreSaved";
-	/**
-	 * Preference name for when checked in files are edited with a UI context.
-	 */
-	String PREF_CHECKED_IN_FILES_EDITED = PREFIX + "WhenCheckedInFilesAreEdited";
-	/**
-	 * Preference name for when checked in files are edited without a UI context.
-	 */
-	String PREF_CHECKED_IN_FILES_EDITED_NOPROMPT = PREFIX + "WhenCheckedInFilesAreEditedNoPrompt";
-	/**
-	 * Preference name for the option to always fail validate edit.
-	 */
-	String PREF_FAIL_VALIDATE_EDIT= PREFIX + "FailValidateEdit";
-	/**
-	 * Preference name for the option to touch files during validate edit calls
-	 */
-	String PREF_TOUCH_DURING_VALIDATE_EDIT= PREFIX + "ChangeFileContents";
-	/**
-	 * Preference name for the option to add files to the repository provider.
-	 */
-	String PREF_ADD_TO_CONTROL= PREFIX + "AddToControl";
-	
-	/**
-	 * Preference option indicating that the user should be prompted.
-	 */
-	int OPTION_PROMPT = 1;
-	/**
-	 * Preference option indicating that the action should happen automatically.
-	 */
-	int OPTION_AUTOMATIC = 2;
-	/**
-	 * Preference option indicating that the action should not occur.
-	 */
-	int OPTION_DO_NOTHING = 4;
-
-	/**
-	 * Status flag indicating that resources are ready to be edited.
-	 */
-	int STATUS_OK_TO_EDIT = 1;
-	/**
-	 * Status flag indicating that resources need to be reloaded.
-	 */
-	int STATUS_PROMPT_FOR_RELOAD = 2;	
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/IResourceStateListener.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/IResourceStateListener.java
deleted file mode 100644
index a787e37..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/IResourceStateListener.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic;
- 
-import org.eclipse.core.resources.IResource;
-
-/**
- * An <code>IResourceStateListener</code> recieves callbacks
- * when the repository state of resources change, i.e. a file gets checked
- * in, a folder gets checked out, a project is no longer shared, etc.
- */
-public interface IResourceStateListener {
-	/**
-	 * Notifies this listener that the state of the resources has changed.
-	 * @param resources	An array of resources with changed states or an empty array.
-	 */
-	void stateChanged(IResource[] resources);
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticFilesystemProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticFilesystemProvider.java
deleted file mode 100644
index d598bd4..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticFilesystemProvider.java
+++ /dev/null
@@ -1,719 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic;
- 
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.team.FileModificationValidator;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.team.core.RepositoryProvider;
-
-/**
- * The <code>PessimisticFilesystemProvider</code> is a repository provider.
- * 
- * The provider manages a file named ".pessimistic" in each container it
- * controls.  This is where it stores metadata on which files it controls
- * in that container.  This file is considered to be controlled by the
- * provider and may be deleted.
- * 
- * The provider provides very simple checkin/checkout facilities by marking
- * files read-only to check them in and read-write to check them out.  It
- * also supports ignoring derived files.
- */
-public class PessimisticFilesystemProvider extends RepositoryProvider  {
-	/**
-	 * The name of the file used to store metadata on which
-	 * files are controlled by this provider.
-	 */	
-	private static final String CONTROL_FILE_NAME= ".pessimistic";
-	/**
-	 * The file modification validator for this provider.
-	 */
-	private FileModificationValidator validator;
-	/**
-	 * The cache of resources that are currently controlled.
-	 * The cache is a map of parent resource -> set of controlled children.
-	 */
-	private Map fControlledResources;
-	
-	/**
-	 * Creates a new provider, required for team repository extension.
-	 */
-	public PessimisticFilesystemProvider() {
-		validator = new PessimisticModificationValidator(this);
-		fControlledResources= new HashMap(1);
-	}		
-	
-	/**
-	 * Adds the resources to the control of this provider.
-	 */
-	public void addToControl(final IResource[] resources, IProgressMonitor monitor) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Add to control:");
-			if (resources != null) {
-				for (int i= 0; i < resources.length; i++) {
-					System.out.println("\t" + resources[i]);
-				}
-			} else {
-				System.out.println("null resources");
-			}
-		}
-		if (resources == null || resources.length == 0) {
-			return;
-		}
-		final Set toAdd= new HashSet(resources.length);
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				for (int i = 0; i < resources.length; i++) {
-					IResource resource= resources[i];
-					if (!isControlled(resource)) {
-						toAdd.add(resource);
-					}
-				}
-				Map byParent= sortByParent(toAdd);
-
-				monitor.beginTask("Adding to control", 1000);
-				for (Iterator i= byParent.keySet().iterator(); i.hasNext();) {
-					IContainer parent= (IContainer) i.next();
-					Set controlledResources= (Set)fControlledResources.get(parent);
-					if (controlledResources == null) {
-						controlledResources= new HashSet(1);
-						fControlledResources.put(parent, controlledResources);
-					}
-					controlledResources.addAll((Set)byParent.get(parent));
-					writeControlFile(parent, monitor);
-				}
-				monitor.done();				
-			}
-		};
-		run(runnable, monitor);
-		fireStateChanged(toAdd, false);
-	}
-
-	/**
-	 * Removes the resources from the control of this provider.
-	 */
-	public void removeFromControl(final IResource[] resources, IProgressMonitor monitor) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Remove from control:");
-			if (resources != null) {
-				for (int i= 0; i < resources.length; i++) {
-					System.out.println("\t" + resources[i]);
-				}
-			} else {
-				System.out.println("null resources");
-			}
-		}
-		if (resources == null || resources.length == 0) {
-			return;
-		}
-		final Set toRemove= new HashSet(resources.length);
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				for (int i = 0; i < resources.length; i++) {
-					IResource resource= resources[i];
-					if (isControlled(resource)) {	
-						toRemove.add(resource);
-					}
-				}
-				Map byParent= sortByParent(toRemove);
-
-				monitor.beginTask("Removing from control", 1000);
-				for (Iterator i= byParent.keySet().iterator(); i.hasNext();) {
-					IContainer parent= (IContainer) i.next();
-					Set controlledResources= (Set)fControlledResources.get(parent);
-					if (controlledResources == null) {
-						deleteControlFile(parent, monitor);
-					} else {
-						Set toRemove= (Set)byParent.get(parent);
-						controlledResources.removeAll(toRemove);
-						if (controlledResources.isEmpty()) {
-							fControlledResources.remove(parent);
-							deleteControlFile(parent, monitor);
-						} else {
-							writeControlFile(parent, monitor);
-						}
-						for (Iterator j= controlledResources.iterator(); j.hasNext();) {
-							IResource resource= (IResource) j.next();
-							if (!resource.exists()) {
-								j.remove();
-							}
-						}
-					}
-				}
-				monitor.done();
-			}
-		};
-		run(runnable, monitor);
-		fireStateChanged(toRemove, false);
-	}
-
-	/*
-	 * Returns a map of IContainer -> Set of IResource.
-	 */
-	private Map sortByParent(Set resources) {
-		Map byParent= new HashMap(1);
-		for (Iterator i = resources.iterator(); i.hasNext();) {
-			IResource resource= (IResource) i.next();
-			IContainer parent= resource.getParent();
-			Set set= (Set)byParent.get(parent);
-			if (set == null) {
-				set= new HashSet(1);
-				byParent.put(parent, set);
-			}
-			set.add(resource);
-		}
-		return byParent;
-	}	
-
-	/*
-	 * Deletes the control file for the given container.
-	 */
-	private void deleteControlFile(final IContainer container, IProgressMonitor monitor) {
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				IFile controlFile= getControlFile(container, monitor);
-				monitor.beginTask("Deleting control file " + controlFile, 1);
-				if (controlFile.exists()) {
-					controlFile.delete(true, false, monitor);
-				}
-				monitor.done();
-			}
-		};
-		run(runnable, monitor);
-	}
-
-	/*
-	 * Answers the control file for the given container.  If the control
-	 * file exists, but is a directory, it will be deleted!
-	 */
-	private IFile getControlFile(IContainer container, IProgressMonitor monitor) throws CoreException {
-		IResource child= container.findMember(CONTROL_FILE_NAME);
-		if (child != null) {
-			if (child.getType() == IResource.FILE) {
-				return (IFile)child;
-			} else {
-				child.delete(true, monitor);
-			}
-		}
-		IFile controlFile= container.getFile(new Path(CONTROL_FILE_NAME));
-		monitor.beginTask("Creating control file " + controlFile, 2);
-		controlFile.create(new ByteArrayInputStream(new byte[0]), true, monitor);
-		controlFile.setDerived(true);
-		controlFile.setTeamPrivateMember(true);
-		monitor.done();
-		return controlFile;
-	}
-
-	/*
-	 * Reads the contents of a control file, answering the set of
-	 * resources that was specified in the file.
-	 */	
-	private Set readControlFile(IFile controlFile) {
-		Set controlledResources= new HashSet(1);
-		if (controlFile.exists()) {
-			InputStream in= null;
-			try {
-				try {
-					in= ((IFile)controlFile).getContents(true);
-				} catch (CoreException e) {
-					PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Could not open stream on control file: " + controlFile);
-				}
-				DataInputStream dIn= new DataInputStream(in);
-				int count= 0;
-				try {
-					count= dIn.readInt();
-				} catch (IOException e) {
-					// could be empty
-				}
-				if (count > 0) {
-					try {
-						for(int i= 0; i < count; i++) {
-							String name= dIn.readUTF();
-							IResource resource= getProject().findMember(new Path(name));
-							if (resource != null) {
-								controlledResources.add(resource);
-							}
-						}
-					} catch (IOException e) {
-						// corrupt control file
-						try {
-							controlFile.delete(true, null);
-						} catch (CoreException ce) {
-							PessimisticFilesystemProviderPlugin.getInstance().logError(ce, "Could not delete corrupt control file: " + controlFile);
-						}
-					}
-				}
-			} finally {
-				if (in != null) {
-					try {
-						in.close();
-					} catch (IOException e) {
-						PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problems closing input stream on control file: " + controlFile);
-					}
-				}
-			}
-		}		
-		return controlledResources;
-	}
-
-	/*
-	 * Writes the currently controled resources to the control file for the container.
-	 */
-	private void writeControlFile(IContainer container, IProgressMonitor monitor) throws CoreException {
-		IFile controlFile= getControlFile(container, monitor);
-		Set controlledResources= (Set)fControlledResources.get(container);
-		InputStream contents= generateControlFileContents(controlledResources);
-		monitor.beginTask("Writing control file " + controlFile, 1000);
-		if (contents == null) {
-			controlFile.delete(true, false, monitor);
-		} else {
-			controlFile.setContents(contents, true, false, monitor);
-		}
-		monitor.done();
-	}
-
-	/*
-	 * Generates an InputStream on a byte array which specifies 
-	 * the resources given in controlledResources.
-	 */
-	private InputStream generateControlFileContents(Set controlledResources) {
-		if (controlledResources == null || controlledResources.isEmpty()) {
-			return null;
-		}
-		ByteArrayOutputStream byteOut= new ByteArrayOutputStream();
-		DataOutputStream out= new DataOutputStream(byteOut);
-		try {
-			out.writeInt(controlledResources.size());
-			for (Iterator i= controlledResources.iterator(); i.hasNext();) {
-				IResource resource= (IResource) i.next();
-				out.writeUTF(resource.getProjectRelativePath().toString());
-			}
-			out.flush();
-		} catch (IOException e) {
-			PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Unexpected problems during content generation");
-		}
-		return new ByteArrayInputStream(byteOut.toByteArray());
-	}
-
-	/*
-	 * @see IProjectNature#setProject(IProject)
-	 */
-	public void setProject(IProject project) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Set project to " + project);
-		}
-		super.setProject(project);
-		configureProject();		
-	}
-	
-	/*
-	 * @see IRepositoryProvider#getID()
-	 */
-	public String getID() {
-		return PessimisticFilesystemProviderPlugin.NATURE_ID;
-	}
-
-	/*
-	 * @see IRepositoryProvider#getFileModificationValidator()
-	 */
-	public IFileModificationValidator getFileModificationValidator() {
-		return getFileModificationValidator();
-	}
-	
-	public FileModificationValidator getFileModificationValidator2() {
-		return validator;
-	}
-	
-	/*
-	 * @see IRepositoryProvider#deconfigure()
-	 */
-	public void deconfigure() {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Deconfigure " + getProject());
-		}
-		
-		fControlledResources.clear();
-		fireStateChanged(getSubtreeMembers(getProject()), true);
-	}
-
-	/*
-	 * @see IRepositoryProvider#configure()
-	 */
-	public void configureProject() {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Configure " + getProject());
-		}
-		
-		readControlFiles();
-		fireStateChanged(getSubtreeMembers(getProject()), true);
-	}
-
-	/*
-	 * Reads the control files located in the project
-	 */
-	private void readControlFiles() {
-		IProject project= getProject();
-		Set set= new HashSet(1);
-		set.add(project);
-		fControlledResources.put(project.getParent(), set);
-		try {
-			getProject().accept(new IResourceVisitor() {
-				public boolean visit(IResource resource) throws CoreException {
-					if (resource.getType() == IResource.FILE) {
-						if (CONTROL_FILE_NAME.equals(resource.getName())) {
-							Set controlledResources= readControlFile((IFile)resource);
-							fControlledResources.put(resource.getParent(), controlledResources);
-						}
-						return false;
-					}
-					return true;
-				}
-			});
-		} catch (CoreException e) {
-			PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problems traversing resource tree");
-		}
-	}
-
-	/**
-	 * Checks the resources in by marking them read-only.
-	 */	
-	public void checkin(final IResource[] resources, IProgressMonitor monitor) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Check in:");
-			if (resources != null) {
-				for (int i= 0; i < resources.length; i++) {
-					System.out.println("\t" + resources[i]);
-				}
-			} else {
-				System.out.println("null resources");
-			}
-		}
-		if (resources == null || resources.length == 0) {
-			return;
-		}
-		final Set modified= new HashSet(1);
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				monitor.beginTask("Checking in resources", 1000);
-				for(int i= 0; i < resources.length; i++) {
-					IResource resource= resources[i];
-					if (isControlled(resource)) { 
-						if (resource.exists()) {
-							resource.setReadOnly(true);
-							modified.add(resource);
-						}
-					}
-				}
-				monitor.done();
-			}
-		};
-		run(runnable, monitor);
-		fireStateChanged(modified, false);
-	}
-	
-	/**
-	 * Unchecks the resources out.  In this provider this operation is 
-	 * equivalent to checkin.
-	 * 
-	 * @see PessimisticFilesystemProvider#checkin(IResource[], IProgressMonitor)
-	 */
-	public void uncheckout(final IResource[] resources, IProgressMonitor monitor) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Uncheckout:");
-			if (resources != null) {
-				for (int i= 0; i < resources.length; i++) {
-					System.out.println("\t" + resources[i]);
-				}
-			} else {
-				System.out.println("null resources");
-			}
-		}
-		if (resources == null || resources.length == 0) {
-			return;
-		}
-		final Set modified= new HashSet(1);
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				monitor.beginTask("Unchecking in resources", 1000);
-				for(int i= 0; i < resources.length; i++) {
-					IResource resource= resources[i];
-					if (isControlled(resource)) {
-						if (resource.exists()) {
-							resource.setReadOnly(true);
-							modified.add(resource);
-						}
-					}
-				}
-				monitor.done();
-			}
-		};
-		run(runnable, monitor);
-		fireStateChanged(modified, false);
-	}
-
-	/**
-	 * Checks the resources out by marking the resources read-write.
-	 */
-	public void checkout(final IResource[] resources, IProgressMonitor monitor) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Check out:");
-			if (resources != null) {
-				for (int i= 0; i < resources.length; i++) {
-					System.out.println("\t" + resources[i]);
-				}
-			} else {
-				System.out.println("null resources");
-			}
-		}
-		if (resources == null || resources.length == 0) {
-			return;
-		}
-		final Set modified= new HashSet(1);
-		IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				monitor.beginTask("Checking out resources", 1000);
-				for(int i= 0; i < resources.length; i++) {
-					IResource resource= resources[i];
-					if (isControlled(resource)) {
-						if(resource.exists()) {
-							resource.setReadOnly(false);								
-							modified.add(resource);
-						}
-					}
-				}
-				monitor.done();
-			}
-		};
-		run(runnable, monitor);
-		fireStateChanged(modified, false);
-	}	
-
-	/**
-	 * Answers <code>true</code> if and only if the resource is 
-	 * not <code>null</code>, controlled, not ignored, and checked out.
-	 * Otherwise this method answers <code>false</code>.
-	 */
-	public boolean isCheckedout(IResource resource) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Is checked out: " + resource);
-		}
-		if (resource == null) {
-			return false;
-		}
-		if (!isControlled(resource)) {
-			return false;
-		}
-		if (isIgnored(resource)) {
-			return false;
-		}
-		return !resource.isReadOnly();
-	}	
-
-	/**
-	 * Answers <code>true</code> if the resource is not <code>null</code>,
-	 * and is controlled, <code>false</code> otherwise.
-	 */
-	public boolean isControlled(IResource resource) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Is controlled: " + resource);
-		}
-		if (resource == null) {
-			return false;
-		}
-		IProject project= getProject();
-		if (!project.equals(resource.getProject())) {
-			return false;
-		}
-		Set controlled= (Set)fControlledResources.get(resource.getParent());
-		if (controlled == null) {
-			return false;
-		}
-		return controlled.contains(resource);
-	}
-	
-	/**
-	 * Answers <code>true</code> if the resource is ignored.
-	 * Resources are ignored if they are derived.
-	 * Will return <code>false</code> when a resource is derived, but
-	 * has explicitly been added to the control of this provider.
-	 */
-	public boolean isIgnored (IResource resource) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Is ignored: " + resource);
-		}
-		if (resource.isDerived()) {
-			if (isControlled(resource)) {
-				return false;
-			}
-			return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * Answers <code>true</code> if the preference to change the content
-	 * of the file has been set to <code>true</code>, <code>false</code>
-	 * otherwise.
-	 */
-	public boolean hasContentChanged(IResource resource) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging()) {
-			System.out.println("Has content change: " + resource);
-		}
-
-		IPreferenceStore preferences= PessimisticFilesystemProviderPlugin.getInstance().getPreferenceStore();
-		boolean change= preferences.getBoolean(IPessimisticFilesystemConstants.PREF_TOUCH_DURING_VALIDATE_EDIT);
-		if (change) {
-			try {
-				if(resource.getType() == IResource.FILE) {
-					try {
-						appendText((IFile)resource, getRandomSnippet(), false);
-					} catch (IOException e1) {
-					}
-				} else {
-					resource.touch(null);
-				}
-			} catch (CoreException e) {
-				PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problems touching resource: " + resource);
-			}
-		}
-		return change;
-	}
-
-	public void appendText(IFile file, String text, boolean prepend) throws CoreException, IOException {
-		String contents = getFileContents(file);
-		StringBuffer buffer = new StringBuffer();
-		if (prepend) {
-			buffer.append(text);
-		}
-		buffer.append(contents);
-		if (!prepend) {
-			buffer.append(System.getProperty("line.separator") + text);
-		}
-		file.setContents(new ByteArrayInputStream(buffer.toString().getBytes()), false, false, null);
-	}
-	
-	public static String getFileContents(IFile file) throws IOException, CoreException {
-		StringBuffer buf = new StringBuffer();
-		Reader reader = new InputStreamReader(new BufferedInputStream(file.getContents()));
-		try {
-			int c;
-			while ((c = reader.read()) != -1) buf.append((char)c);
-		} finally {
-			reader.close();
-		}
-		return buf.toString();		
-	}
-	
-	public static String getRandomSnippet() {
-		switch ((int) Math.round(Math.random() * 10)) {
-			case 0 :
-				return "este e' o meu conteudo (portuguese)";
-			case 1 :
-				return "Dann brauchen wir aber auch einen deutschen Satz!";
-			case 2 :
-				return "I'll be back";
-			case 3 :
-				return "don't worry, be happy";
-			case 4 :
-				return "there is no imagination for more sentences";
-			case 5 :
-				return "customize yours";
-			case 6 :
-				return "foo";
-			case 7 :
-				return "bar";
-			case 8 :
-				return "foobar";
-			case 9 :
-				return "case 9";
-			default :
-				return "these are my contents";
-		}
-	}
-
-	/*
-	 * Notifies listeners that the state of the resources has changed.
-	 * 
-	 * @param resources	A collection of resources whose state has changed.
-	 * @param queueAfterWorkspaceOperation	If <code>true</code>, indicates that the 
-	 * 						notification should occur after the current workspace runnable
-	 * 						has completed.
-	 */
-	private void fireStateChanged(final Collection resources, boolean queueAfterWorkspaceOperation) {
-		if (resources == null || resources.isEmpty()) {
-			return;
-		}
-
-		if (queueAfterWorkspaceOperation) {
-			Thread t= new Thread(new Runnable() {
-				public void run() {
-					try {
-						ResourcesPlugin.getWorkspace().run(
-							new IWorkspaceRunnable() {
-								public void run(IProgressMonitor monitor) throws CoreException {
-								}
-							}, 
-							null);
-					} catch (CoreException e) {
-						PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problem during empty runnable");
-					}
-					fireStateChanged(resources, false);
-				}
-			});
-			t.start();
-		} else {
-			PessimisticFilesystemProviderPlugin.getInstance().fireResourcesChanged(
-				(IResource[])resources.toArray(new IResource[resources.size()]));
-		}			
-	}
-	
-	/*
-	 * Answers a collection of all of the resources contained below
-	 * the given resource and the resource itself.
-	 */
-	private Collection getSubtreeMembers(IResource resource) {
-		final Set resources= new HashSet(1);
-		IResourceVisitor visitor= new IResourceVisitor() {
-			public boolean visit(IResource resource) throws CoreException {
-				switch (resource.getType()) {
-					case IResource.PROJECT:
-					case IResource.FOLDER:
-					case IResource.FILE:
-						resources.add(resource);
-						return true;
-				}
-				return true;
-			}
-		};
-		try {
-			resource.accept(visitor);
-		} catch (CoreException e) {
-			PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problem during resource visiting");
-		}
-		return resources;
-	}
-
-	/*
-	 * Runs a workspace operation reporting errors to the PessimisticFilesystemProviderPlugin.
-	 */
-	private void run(IWorkspaceRunnable runnable, IProgressMonitor monitor) {
-		try {
-			ResourcesPlugin.getWorkspace().run(runnable, monitor);
-		} catch (CoreException e) {
-			PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problems during workspace operation.");
-		}
-	}
-}
-
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticFilesystemProviderPlugin.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticFilesystemProviderPlugin.java
deleted file mode 100644
index 31404fb..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticFilesystemProviderPlugin.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic;
- 
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The plugin for the <code>PessimisticFilesystemProvider</code>.
- */
-public class PessimisticFilesystemProviderPlugin extends AbstractUIPlugin {
-	/*
-	 * Singleton instance.
-	 */
-	private static PessimisticFilesystemProviderPlugin instance;
-	/*
-	 * The resource change listener which notifies the provider of 
-	 * added and deleted files.
-	 */
-	private ResourceChangeListener fListener;
-	/*
-	 * The provider listeners
-	 */
-	private List fListeners;
-
-	/**
-	 * The plugin identifier
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.team.examples.pessimistic";
-	/**
-	 * The nature identifier.
-	 */
-	public static final String NATURE_ID = PLUGIN_ID + ".pessimisticnature";
-
-	/**
-	 * Contstructor required by plugin lifecycle.
-	 */
-	public PessimisticFilesystemProviderPlugin(IPluginDescriptor pluginDescriptor) {
-		super(pluginDescriptor);
-		instance = this;
-		fListeners= new ArrayList(1);
-		//setDebugging(true);
-	}
-
-	/**
-	 * Answers the singleton instance of this plugin.
-	 */	
-	public static PessimisticFilesystemProviderPlugin getInstance() {
-		return instance;
-	}
-
-	/**
-	 * Initializes the default preferences for this plugin.
-	 */
-	protected void initializeDefaultPreferences() {
-		IPreferenceStore store = getPreferenceStore();
-	
-		store.setDefault(
-			IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED,
-			IPessimisticFilesystemConstants.OPTION_PROMPT);
-		store.setDefault(
-			IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED_NOPROMPT,
-			IPessimisticFilesystemConstants.OPTION_AUTOMATIC);
-		store.setDefault(
-			IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_SAVED,
-			IPessimisticFilesystemConstants.OPTION_DO_NOTHING);
-		store.setDefault(
-			IPessimisticFilesystemConstants.PREF_ADD_TO_CONTROL,
-			IPessimisticFilesystemConstants.OPTION_PROMPT);			
-		store.setDefault(IPessimisticFilesystemConstants.PREF_FAIL_VALIDATE_EDIT, false);
-		store.setDefault(IPessimisticFilesystemConstants.PREF_TOUCH_DURING_VALIDATE_EDIT, true);
-	}
-	
-	/**
-	 * Convenience method for logging errors.
-	 */
-	public void logError(Throwable exception, String message) {
-		String pluginId= getDescriptor().getUniqueIdentifier();
-		Status status= new Status(Status.ERROR, pluginId, Status.OK, message, exception);
-		getLog().log(status);
-		if (isDebugging()) {
-			System.out.println(message);
-			exception.printStackTrace();
-		}			
-	}
-
-	/**
-	 * Starts the resource listener.
-	 * 
-	 * @see Plugin#startup()
-	 */
-	public void startup() throws CoreException {
-		fListener= new ResourceChangeListener();
-		fListener.startup();
-		initializeDefaultPreferences();
-		super.startup();
-	}
-
-	/**
-	 * Stops the resource listener.
-	 * 
-	 * @see Plugin#startup()
-	 */
-	public void shutdown() throws CoreException {
-		fListener.shutdown();
-		fListener= null;
-		super.shutdown();
-	}
-	
-	/**
-	 * Notifies the registered <code>IResourceStateListener</code> objects
-	 * that the repository state for the resources has changed.
-	 * 
-	 * @param resources	Collection of resources that have changed.
-	 */
-	public void fireResourcesChanged(IResource[] resources) {
-		if (resources == null || resources.length == 0 || fListeners.isEmpty())
-			return;
-		for (Iterator i= fListeners.iterator(); i.hasNext();) {
-			IResourceStateListener listener= (IResourceStateListener) i.next();
-			listener.stateChanged(resources);
-		}
-	}
-	
-	/**
-	 * Adds the listener to the list of listeners that are notified when
-	 * the repository state of resources change.
-	 * 
-	 * @param listener
-	 */
-	public void addProviderListener(IResourceStateListener listener) {
-		if (fListeners.contains(listener))
-			return;
-		fListeners.add(listener);
-	}
-	
-	
-	/**
-	 * Removes the listener from the list of listeners that are notified when
-	 * the repository state of resources change.
-	 * 
-	 * @param listener
-	 */
-	public void removeProviderListener(IResourceStateListener listener) {
-		fListeners.remove(listener);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticModificationValidator.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticModificationValidator.java
deleted file mode 100644
index 1df9e52..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/PessimisticModificationValidator.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic;
- 
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFileModificationValidator;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.resources.team.FileModificationValidationContext;
-import org.eclipse.core.resources.team.FileModificationValidator;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.dialogs.CheckedTreeSelectionDialog;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.views.navigator.ResourceSorter;
-
-/**
- * The <code>PessimisticModificationValidator</code> is an
- * implementation of the <code>IFileModificationValidator</code> for the
- * <code>PessimisticFilesystemProvider</code>.
- * 
- * @see PessimiticFilesystemProvider
- * @see IFileModificationValidator
- */
-public class PessimisticModificationValidator
-	extends FileModificationValidator {
-	/*
-	 * The provider for this validator
-	 */
-	private PessimisticFilesystemProvider fProvider;
-	
-	public PessimisticModificationValidator(PessimisticFilesystemProvider provider) {
-		fProvider= provider;
-	}
-
-	/**
-	 * @see IFileModificationValidator#validateEdit(IFile[], Object)
-	 */
- 	public IStatus validateEdit(IFile[] files, FileModificationValidationContext context) {
-    	if (files.length == 0) { 
-	        return new Status( IStatus.OK, getUid(), IStatus.OK, "OK", null);
-	    } 
-	
-	    Set checkOut = new HashSet();
-		int reloadCount = 0;
-	  	int checkoutFailCount = 0;
-	
-		Map validateEditStatusMap= new HashMap(files.length);
-		
-	    for ( int i = 0 ; i < files.length; i++ ) {
-	        IFile file= files[i];	
-	
-	        if (fProvider.isControlled(file) ) {
-	        	if (fProvider.isCheckedout(file)) {
-		            setValidateEditStatus(validateEditStatusMap, file,
-		               IPessimisticFilesystemConstants.STATUS_OK_TO_EDIT );
-	        	} else {
-	        		checkOut.add(file);
-	        	}
-	        } else {
-				setValidateEditStatus(validateEditStatusMap, file, 
-					IPessimisticFilesystemConstants.STATUS_OK_TO_EDIT);
-	        }
-	    }
-	
-	    if (!checkOut.isEmpty()) {
-	     	if (context != null) {
-	     		boolean shouldFail= shouldFailValidateEdit();
-	            int statusCode = checkout(checkOut, IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED, shouldFail, context);
-	            if (shouldFail) {
-					return new Status( IStatus.ERROR, getUid(), IStatus.ERROR, "Fail Validate Edit Preference true", null);
-				}	 
-	            if(statusCode == IStatus.CANCEL) {
-	            	return new Status( IStatus.CANCEL, getUid(), IStatus.ERROR, "Checkout canceled by user", null);
-	            }
-            } else {
-            	if (isAutomaticCheckout()) {
-		            if (shouldFailValidateEdit()) {
-						return new Status( IStatus.ERROR, getUid(), IStatus.ERROR, "Fail Validate Edit Preference true", null);
-					}	                      
-	
-					checkout(checkOut);
-            	}
-            }
-	
-	        for (Iterator i= checkOut.iterator(); i.hasNext(); ) {
-				IFile file = (IFile) i.next();
-	        
-				if ( fProvider.isCheckedout(file) ) {
-			    	if ( !fProvider.hasContentChanged(file) ) {
-						setValidateEditStatus(validateEditStatusMap, file,
-				    		IPessimisticFilesystemConstants.STATUS_OK_TO_EDIT );
-			    	} else {
-	                    reloadCount++;
-						setValidateEditStatus(validateEditStatusMap, file,
-	                        IPessimisticFilesystemConstants.STATUS_PROMPT_FOR_RELOAD );
-			    	}
-				} else { 
-	                checkoutFailCount++;
-				}
-		    }	
-	    }
-	
-	    if (reloadCount + checkoutFailCount == 0) { 
-	        return new Status( IStatus.OK, getUid(), IStatus.OK, "OK", null);
-	    }
-	
-	    if (checkoutFailCount == files.length) {
-	        return new Status( IStatus.ERROR, getUid(), IStatus.ERROR, "No files were checked out.", null);
-	    }
-	
-	    IStatus children[] = new Status[ files.length ];
-	
-	    int mask = IPessimisticFilesystemConstants.STATUS_OK_TO_EDIT |
-	               	IPessimisticFilesystemConstants.STATUS_PROMPT_FOR_RELOAD;
-	
-	    for (int i = 0; i < files.length; i++) { 
-	    	int result = getValidateEditStatus(validateEditStatusMap, files[i]);
-	 		if ((result & mask) != 0) {
-		    	children[i] = new Status( IStatus.OK, getUid(), IStatus.OK, "OK", null);
-	        } else {
-	            children[i] = new Status( IStatus.ERROR, getUid(), IStatus.ERROR, "File " + files[i].getName() + " could not be checked out.", null);
-	        }
-	    }
-	    return new MultiStatus( getUid(), IStatus.OK, children, "Some files were not successfully checked out", null); 
-	}
-
-	/**
-	 * @see IFileModificationValidator#validateSave(IFile)
-	 */
-	public IStatus validateSave(IFile file) {
-		int checkedInFilesSaved = getPreferences().getInt(IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_SAVED);
-		if (checkedInFilesSaved == IPessimisticFilesystemConstants.OPTION_DO_NOTHING) {
-			return new Status( IStatus.OK, getUid(), IStatus.OK, "", null);
-		}
-
-
-		IStatus status = new Status( IStatus.OK, getUid(), IStatus.OK, 
-			                      	"File is writable", null);
-		
-		if (!fProvider.isControlled(file)) {
-			return status;
-		}
-		
-		if (fProvider.isIgnored(file)) {
-			return status;
-		}
-		
-		if (fProvider.isCheckedout(file)) {
-			return status;
-		}
-		Set files= new HashSet(1);
-		files.add(file);
-		
-		checkout(files, IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_SAVED, false, null);
-	
-		if (fProvider.isCheckedout(file)) {
-			return status;
-		}
-		return new Status(
-			IStatus.ERROR, 
-			getUid(), 
-			IStatus.ERROR, 
-			file.getProjectRelativePath() + " could not be checked out", 
-			null);
-	}
-	
-	/*
-	 * Convenience method to get the plugin id
-	 */
-	private String getUid() {
-		return PessimisticFilesystemProviderPlugin.PLUGIN_ID;
-	}
-	
-	/*
-	 * Convenience method to answer if the fail validate edit preference
-	 * has been set.
-	 */
-	private boolean shouldFailValidateEdit() {
-		return getPreferences().getBoolean(IPessimisticFilesystemConstants.PREF_FAIL_VALIDATE_EDIT);
-	}
-
-	/*
-	 * Convenience method to answer if the check out preference is set to automatic.
-	 */
-	private boolean isAutomaticCheckout() {
-		return getPreferences().getInt(IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED_NOPROMPT) == IPessimisticFilesystemConstants.OPTION_AUTOMATIC;
-	}
-
-	/*
-	 * Optionally prompts the user to select which resources should be 
-	 * checked out, and then checks the selected resources.
-	 */
-	private int promptAndCheckout(Set resources, boolean beQuiet, boolean shouldFail, Object context) {
-		if (resources.isEmpty()) {
-			return IStatus.OK;
-		}
-
-		Set temp= new HashSet(resources.size());
-		for(Iterator i= resources.iterator(); i.hasNext(); ) {
-			IFile resource= (IFile)i.next();
-			if (fProvider.isControlled(resource) && !fProvider.isCheckedout(resource))
-				temp.add(resource);
-		}
-		resources= temp;
-		final int[] statusCode = new int[] {IStatus.OK};	
-		if (!beQuiet && !resources.isEmpty()) {
-			final Shell shell= getShell(context);
-			if (shell != null && !shell.isDisposed()) {
-				Display display = shell.getDisplay();
-				final Set[] result = {resources};
-				display.syncExec(new Runnable() {
-					public void run() {
-						ILabelProvider labelProvider= new WorkbenchLabelProvider();
-						Object[] resourceArray= result[0].toArray();
-						ITreeContentProvider contentProvider= new ResourceSetContentProvider(result[0]);
-						CheckedTreeSelectionDialog dialog= new CheckedTreeSelectionDialog(shell, labelProvider, contentProvider);
-						dialog.setMessage("Select resources to be checked out.");
-						dialog.setTitle("Check out resources");
-						dialog.setContainerMode(true);
-						dialog.setBlockOnOpen(true);
-						dialog.setSorter(new ResourceSorter(ResourceSorter.NAME));
-						dialog.setExpandedElements(resourceArray);
-						dialog.setInitialSelections(resourceArray);
-						dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
-						int status= dialog.open();
-						result[0]= null;
-						if (status == Window.OK) {
-							Object[] results= dialog.getResult();
-							result[0] = new HashSet(results.length);
-							for (int i= 0; i < results.length; i++) {
-								result[0].add(results[i]);
-							}
-						} else if(status == Window.CANCEL) {
-							statusCode[0] = IStatus.CANCEL;
-						}
-					}
-				});
-				resources= result[0];			
-			} else {
-				resources= null;
-				PessimisticFilesystemProviderPlugin.getInstance().logError(new RuntimeException(), "Context is invalid: " + context);
-			}
-		}
-
-		if (resources != null && !resources.isEmpty() && !shouldFail) {
-			checkout(resources);
-		}
-		return statusCode[0];
-	}
-
-	/*
-	 * Checks out the files contained in the resources set
-	 */
-	private void checkout(Set resources) {
-		if (resources.isEmpty())
-			return;
-		IFile[] checkOut= new IFile[resources.size()];
-		resources.toArray(checkOut);
-		fProvider.checkout(checkOut, null);
-	}
-
-	/*
-	 * Convenience method to get the plugin preferences.
-	 */
-	private IPreferenceStore getPreferences() {
-		return PessimisticFilesystemProviderPlugin.getInstance().getPreferenceStore();
-	}
-
-	/*
-	 * Checks out the files if necessary and if the preferences allow. 
-	 */
-	private int checkout(Set resources, String itemId, boolean shouldFail, Object context) {
-		if (resources.isEmpty()) {
-			return IStatus.OK;
-		}
-
-		int preference= getPreferences().getInt(itemId);
-		
-		if (preference == IPessimisticFilesystemConstants.OPTION_DO_NOTHING)
-			return IStatus.OK;
-			
-		boolean beQuiet= false;	
-		if (preference == IPessimisticFilesystemConstants.OPTION_AUTOMATIC) {
-			beQuiet= true;
-		}		
-		return promptAndCheckout(resources, beQuiet, shouldFail, context);
-	}
-	
-	/*
-	 * Convenience method to set the validate edit status for the given resource.
-	 */
-	private static void setValidateEditStatus(Map map, IFile resource, int status) {
-		map.put(resource, new Integer(status));
-	}
-	
-	/*
-	 * Convenience method to get the validate edit status for the given resource.
-	 */
-	private static int getValidateEditStatus(Map map, IFile resource) {
-		Integer i= (Integer)map.get(resource);
-		if (i == null)
-			return 0;
-		return i.intValue();
-	}
-
-	/*
-	 * Convenience method to get a shell from an object.
-	 */	
-	private Shell getShell(Object context) {
-		if (context instanceof FileModificationValidationContext) {
-			FileModificationValidationContext fmvc = (FileModificationValidationContext) context;
-			return (Shell)fmvc.getShell();
-		}
-		
-		if (context instanceof Shell) {
-			return (Shell)context;
-		}
-		
-		if (context instanceof Control) {
-			Control control= (Control)context;
-			return control.getShell();
-		}
-		
-		if (context instanceof Widget) {
-			Widget widget= (Widget)context;
-			return widget.getDisplay().getActiveShell();
-		}
-		
-		return null;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceChangeListener.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceChangeListener.java
deleted file mode 100644
index 4c8c6df..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceChangeListener.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic;
- 
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.ui.*;
-import org.eclipse.ui.dialogs.CheckedTreeSelectionDialog;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.views.navigator.ResourceSorter;
-
-/**
- * The <code>ResourceChangeListener</code> listens for resource changes 
- * and (optionally) prompts the user to add the new resources to the 
- * control of the repository provider.
- */
-public class ResourceChangeListener implements IResourceDeltaVisitor, IResourceChangeListener {
-	/*
-	 * Set of added resources
-	 */
-	private Set fAdded;
-	/*
-	 * Set of removed resources
-	 */
-	private Set fRemoved;
-	
-	public ResourceChangeListener() {
-		fAdded= new HashSet(1);
-		fRemoved= new HashSet(1);
-	}
-
-	/**
-	 * Looks for the following changes:
-	 * <ul>
-	 *   <li>Resources that are controlled and are removed</li>
-	 *   <li>Resources that are added under a managed project</li>
-	 * </ul>
-	 * @see org.eclipse.core.resources.IResourceDeltaVisitor#visit(IResourceDelta)
-	 */
-	public boolean visit(IResourceDelta delta) throws CoreException {
-		IResource resource= delta.getResource();
-		if (resource != null) {
-			IProject project= resource.getProject();
-			if (project != null) {
-				PessimisticFilesystemProvider provider= (PessimisticFilesystemProvider)RepositoryProvider.getProvider(project, PessimisticFilesystemProviderPlugin.NATURE_ID);
-				if (provider == null)
-					return false;
-				if (provider.isControlled(resource)) {
-					switch (delta.getKind()) {
-						case IResourceDelta.CHANGED:
-						case IResourceDelta.ADDED:
-							return true;
-						case IResourceDelta.REMOVED:
-							fRemoved.add(resource);
-							return false;						
-					}
-				} else {
-					switch (delta.getKind()) {
-						case IResourceDelta.CHANGED:
-						case IResourceDelta.REMOVED:
-							return true;
-						case IResourceDelta.ADDED:
-							// don't prompt for ignored resources
-							if (!provider.isIgnored(resource)) {
-								fAdded.add(resource);
-							}
-							return true;						
-					}				
-				}
-			} else {
-				return true;
-			}
-		}					
-		return false;
-	}
-
-	/*
-	 * Convenience method to return a resource array from a collection
-	 */
-	private IResource[] toResourceArray(Collection collection) {
-		if (collection.isEmpty()) {
-			return new IResource[0];
-		}
-		IResource[] resources= new IResource[collection.size()];
-		collection.toArray(resources);
-		return resources;
-	}
-
-	/**
-	 * @see IResourceChangeListener#resourceChanged(IResourceChangeEvent)
-	 */
-	public void resourceChanged (IResourceChangeEvent event) {
-		try {
-			event.getDelta().accept(this);
-		} catch (CoreException e) {
-			e.printStackTrace();
-			PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Exceptions during resource callback");
-		}
-
-		if (!fRemoved.isEmpty() || !fAdded.isEmpty()) {
-			final IWorkspaceRunnable workspaceRunnable= new IWorkspaceRunnable() {
-				public void run(final IProgressMonitor monitor) throws CoreException {
-					if (!fRemoved.isEmpty()) {
-						remove(monitor);
-					}
-					
-					if (!fAdded.isEmpty()) {
-						add(monitor);
-					}					
-				}
-			};
-			// must fork since we are in resource callback.
-			Runnable run= new Runnable() {
-				public void run() {
-					try {
-						IWorkspace workspace= ResourcesPlugin.getWorkspace();
-						if (workspace != null) {
-							workspace.run(workspaceRunnable, null);
-						}
-					} catch (CoreException e) {
-						PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problems encountered during attempt to add/remove control.");
-					}
-				}
-			};
-			new Thread(run).start();
-		}
-	}
-
-	/*
-	 * Convenience method to get the preference for what to do
-	 * when new resource have been detected.
-	 */
-	private int getAddToControlPreference() {
-		Preferences preferences= PessimisticFilesystemProviderPlugin.getInstance().getPluginPreferences();
-		return preferences.getInt(IPessimisticFilesystemConstants.PREF_ADD_TO_CONTROL);
-	}
-	
-	/*
-	 * Adds the resources to the control of the provider.
-	 * If the add to control preference is:
-	 *	do nothing - does not add
-	 *  automatic - adds all resources
-	 *  prompt - brings up a prompt which requests that the user
-	 * 				select which resources to add
-	 */
-	private void add(final IProgressMonitor monitor) {
-		switch (getAddToControlPreference()) {
-			case IPessimisticFilesystemConstants.OPTION_DO_NOTHING:
-				break;
-			case IPessimisticFilesystemConstants.OPTION_AUTOMATIC:
-				addToControl(fAdded, monitor);
-				break;
-			case IPessimisticFilesystemConstants.OPTION_PROMPT:
-				final Shell shell= getShell();
-				if (shell != null && !shell.isDisposed()) {
-					final Set resources= new HashSet(fAdded);
-					Runnable run= new Runnable() {
-						public void run() {
-							CheckedTreeSelectionDialog dialog= new CheckedTreeSelectionDialog(shell, new WorkbenchLabelProvider(), new ResourceSetContentProvider(resources));
-							dialog.setMessage("Select the resources to be added to the control of the repository.");
-							dialog.setTitle("Add resources to control");
-							dialog.setContainerMode(true);
-							dialog.setBlockOnOpen(true);
-							dialog.setSorter(new ResourceSorter(ResourceSorter.NAME));
-							Object[] resourceArray= resources.toArray();
-							dialog.setExpandedElements(resourceArray);
-							dialog.setInitialSelections(resourceArray);
-							dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
-							int status= dialog.open();
-							
-							if (status == Window.OK) {
-								Object[] results= dialog.getResult();
-								if (results != null) {
-									Set resources= new HashSet(results.length);
-									for (int i= 0; i < results.length; i++) {
-										resources.add(results[i]);
-									}
-									addToControl(resources, monitor);
-								}
-							}
-						}
-					};
-			
-					Display display= shell.getDisplay();
-					display.asyncExec(run);
-				} else {
-					PessimisticFilesystemProviderPlugin.getInstance().logError(null, "Could not aquire a shell");
-				}
-				break;
-		}
-		fAdded.clear();
-	}
-
-	/*
-	 * Adds the resources to the control of the provider.
-	 */
-	private void addToControl(Collection resources, final IProgressMonitor monitor) {
-		Map byProject= sortByProject(resources);
-		for (Iterator i= byProject.keySet().iterator(); i.hasNext();) {
-			IProject project= (IProject) i.next();
-			PessimisticFilesystemProvider provider= (PessimisticFilesystemProvider)RepositoryProvider.getProvider(project, PessimisticFilesystemProviderPlugin.NATURE_ID);
-			if (provider != null) {
-				provider.addToControl(toResourceArray((Collection)byProject.get(project)), monitor);
-			}
-			
-		}
-	}
-	
-	/*
-	 * Removes the resources from the control of the provider.
-	 */
-	private void remove(IProgressMonitor monitor) {
-		Map byProject= sortByProject(fRemoved);
-		for (Iterator i= byProject.keySet().iterator(); i.hasNext();) {
-			IProject project= (IProject) i.next();
-			PessimisticFilesystemProvider provider= (PessimisticFilesystemProvider)RepositoryProvider.getProvider(project, PessimisticFilesystemProviderPlugin.NATURE_ID);
-			if (provider != null) {
-				provider.removeFromControl(toResourceArray((Collection)byProject.get(project)), monitor);
-			}
-		}
-		fRemoved.clear();
-	}
-
-	/*
-	 * Convenience method to sort the resources by project
-	 */
-	private Map sortByProject(Collection resources) {
-		Map byProject= new HashMap();
-		for (Iterator i= resources.iterator(); i.hasNext();) {
-			IResource resource= (IResource) i.next();
-			IProject project= resource.getProject();
-			Set set= (Set)byProject.get(project);
-			if (set == null) {
-				set= new HashSet(1);
-				byProject.put(project, set);
-			}
-			set.add(resource);
-		}
-		return byProject;
-	}
-
-	/*
-	 * Convenience method which answers a shell with which to prompt.
-	 */
-	private Shell getShell() {
-		IWorkbench workbench= PlatformUI.getWorkbench();
-		if (workbench != null) {
-			IWorkbenchWindow window= workbench.getActiveWorkbenchWindow();
-			if (window == null) {
-				IWorkbenchWindow[] windows= workbench.getWorkbenchWindows();
-				if (windows != null && windows.length > 0) {
-					window= windows[0];
-				}
-			}
-			if (window != null) {
-				Shell shell= window.getShell();
-				if (shell == null)
-					return null;
-				if (shell.isDisposed())
-					return null;
-				return shell;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Starts listening for changes.
-	 */
-	public void startup() {
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE);
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging())
-			System.out.println ("Resource callback registered");
-	}
-	
-	/**
-	 * Stops listening for changes.
-	 */
-	public void shutdown() {
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging())
-			System.out.println ("Resource callback unregistered");	
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceSetContentProvider.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceSetContentProvider.java
deleted file mode 100644
index af85536..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ResourceSetContentProvider.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic;
- 
-import java.util.*;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-public class ResourceSetContentProvider implements ITreeContentProvider {
-	private static final Object[] EMPTY_ARRAY= new Object[0];
-	private Map fResourceTree;
-	private IResource[] fRoots;
-
-	public ResourceSetContentProvider(Set resources) {
-		fResourceTree= new HashMap(1);
-		Set roots= new HashSet(resources);
-		for(Iterator i= resources.iterator(); i.hasNext(); ) {
-			IResource resource= (IResource)i.next();
-			if(resource.getType() == IResource.ROOT) {
-				continue; // root cannot be displayed
-			}
-			IResource parent= resource.getParent();
-			if (roots.contains(parent)) {
-				roots.remove(resource);
-				Set set= (Set)fResourceTree.get(parent);
-				if (set == null) {
-					set= new HashSet(1);
-					fResourceTree.put(parent, set);
-				}
-				set.add(resource);
-			}
-		}
-		fRoots= (IResource[])roots.toArray(new IResource[roots.size()]);
-	}
-
-	public Object[] getChildren(Object parentElement) {
-		Set set= (Set) fResourceTree.get(parentElement);
-		if (set != null) {
-			return set.toArray();
-		}
-		return EMPTY_ARRAY;
-	}
-
-	public Object getParent(Object element) {
-		if (element instanceof IResource) {
-			return ((IResource)element).getParent();
-		}
-		return null;
-	}
-
-	public boolean hasChildren(Object element) {
-		return fResourceTree.get(element) != null;
-	}
-
-	public Object[] getElements(Object inputElement) {
-		return fRoots;
-	}
-
-	public void dispose() {
-		fResourceTree= null;
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/AddToControlAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/AddToControlAction.java
deleted file mode 100644
index 050a990..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/AddToControlAction.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic.ui;
- 
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider;
-
-/**
- * Adds the selected resources and their parent resources to
- * the control of the provider.
- */
-public class AddToControlAction extends PessimisticProviderAction {
-
-	/**
-	 * Collects the selected resources, sorts them by project
-	 * and adds them to their respective repository providers.
-	 * 
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		IResource[] resources= getSelectedResources();
-		if (resources == null || resources.length == 0)
-			return;
-		Set resourceSet= new HashSet(resources.length);
-		for(int i= 0; i < resources.length; i++) {
-			IResource resource= resources[i];
-			while (resource.getType() != IResource.PROJECT && !isControlled(resource)) {
-				resourceSet.add(resource);
-				resource= resource.getParent();
-			}
-		}
-		if (!resourceSet.isEmpty()) {
-			final Map byProject= sortByProject(resourceSet);
-			IRunnableWithProgress runnable= new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor)
-					throws InvocationTargetException, InterruptedException {
-					for (Iterator i= byProject.keySet().iterator(); i.hasNext();) {
-						IProject project= (IProject) i.next();
-						PessimisticFilesystemProvider provider= getProvider(project);
-						if (provider != null) {
-							Set set= (Set)byProject.get(project);
-							IResource[] resources= new IResource[set.size()];
-							set.toArray(resources);
-							provider.addToControl(resources, monitor);
-						}
-					}
-				}
-			};
-			runWithProgressDialog(runnable);
-		}
-	}
-
-	/**
-	 * Answers <code>true</code> if the selected resource is not
-	 * a project (or the workspace root) and is not controlled.
-	 * 
-	 * @see PessimisticProviderAction#shouldEnableFor(IResource)
-	 */
-	protected boolean shouldEnableFor(IResource resource) {
-		if (resource == null) {
-			return false;
-		}
-		if ((resource.getType() & (IResource.ROOT | IResource.PROJECT)) != 0) {
-			return false;
-		}		
-		PessimisticFilesystemProvider provider= getProvider(resource);
-		if (provider == null)
-			return false;
-		return !provider.isControlled(resource);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/BlankPage.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/BlankPage.java
deleted file mode 100644
index 7a021cd..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/BlankPage.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic.ui;
- 
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * A wizard page that is empty to workaround a bug.
- */
-public class BlankPage extends WizardPage {
-
-	/**
-	 * Creates a blank page telling the user what is about to happen.
-	 */
-	public BlankPage() {
-		super("AddPessimisticFilesystemSupport");
-		setTitle("Pessimistic filesystem provider");
-		setDescription("Add pessimistic filesystem provider support to this project");
-		setPageComplete(true);
-	}
-
-	/**
-	 * Creates an empty control.
-	 */
-	public void createControl(Composite parent) {
-		Composite client = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		client.setLayout(layout);
-		setControl(client);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/CheckInAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/CheckInAction.java
deleted file mode 100644
index 299ce1a..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/CheckInAction.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic.ui;
- 
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider;
-
-/**
- * Performs a check in on the selected resources.  If a folder is 
- * selected all of its children are recursively checked in.
- */
-public class CheckInAction extends SourceManagementAction {
-
-	/**
-	 * Answers <code>true</code> if and only if the resource is 
-	 * not null, controlled, not ignored, and is checked out.
-	 * 
-	 * @see PessimisticProviderAction#shouldEnableFor(IResource)
-	 */
-	protected boolean shouldEnableFor(IResource resource) {
-		if (resource == null)
-			return false;
-		PessimisticFilesystemProvider provider= getProvider(resource);
-		if (provider == null)
-			return false;
-		if (!provider.isControlled(resource))
-			return false;
-		if (provider.isIgnored(resource))
-			return false;			
-		return provider.isCheckedout(resource);
-	}
-
-	/*
-	 * @see SourceControlAction#manageResources(PessimisticFilesystemProvider, IResource[], IProgressMonitor)
-	 */
-	protected void manageResources(PessimisticFilesystemProvider provider, IResource[] resources, IProgressMonitor monitor) {
-		provider.checkin(resources, monitor);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/CheckOutAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/CheckOutAction.java
deleted file mode 100644
index 6a302e7..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/CheckOutAction.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic.ui;
- 
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider;
-
-/**
- * Performs a check out on the selected resources.  If a folder is 
- * selected all of its children are recursively checked out.
- */
-public class CheckOutAction extends SourceManagementAction {
-	/**
-	 * Answers <code>true</code> if and only if the <code>resource</code>
-	 * is not <code>null</code>, controlled, not ignored and not checked out.
-	 * 
-	 * @see PessimisticProviderAction#shouldEnableFor(IResource)
-	 */
-	protected boolean shouldEnableFor(IResource resource) {
-		if (resource == null)
-			return false;
-		PessimisticFilesystemProvider provider= getProvider(resource);
-		if (provider == null)
-			return false;
-		if (!provider.isControlled(resource))
-			return false;
-		if (provider.isIgnored(resource))
-			return false;
-		return !provider.isCheckedout(resource);
-	}
-	
-	/*
-	 * @see SourceControlAction#manageResources(PessimisticFilesystemProvider, IResource[], IProgressMonitor)
-	 */
-	protected void manageResources(PessimisticFilesystemProvider provider, IResource[] resources, IProgressMonitor monitor) {
-		provider.checkout(resources, monitor);
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/ConfigurationWizard.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/ConfigurationWizard.java
deleted file mode 100644
index e14722f..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/ConfigurationWizard.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic.ui;
- 
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProviderPlugin;
-import org.eclipse.team.ui.IConfigurationWizard;
-import org.eclipse.ui.IWorkbench;
-
-/**
- * A wizard which adds the <code>PessimisticFilesystemProvider</code> nature
- * to a given project.
- */
-public class ConfigurationWizard extends Wizard implements IConfigurationWizard {
-	/*
-	 * The project in question.
-	 */
-	private IProject project;
-	
-	/*
-	 * @see Wizard#addPages()
-	 */
-	public void addPages() {
-		// workaround the wizard problem
-		addPage(new BlankPage());
-	}
-
-	/*
-	 * @see Wizard#performFinish()
-	 */
-	public boolean performFinish() {
-		try {
-			RepositoryProvider.map(project, PessimisticFilesystemProviderPlugin.NATURE_ID);
-		} catch (TeamException e) {
-			PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Could not set sharing on " + project);
-			return false;
-		}
-		return true;
-	}
-
-	/*
-	 * @see IConfigurationWizard#init(IWorkbench, IProject)
-	 */	
-	public void init(IWorkbench workbench, IProject project) {
-		this.project = project;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/DisconnectAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/DisconnectAction.java
deleted file mode 100644
index 3f1dc12..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/DisconnectAction.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic.ui;
- 
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProviderPlugin;
-
-public class DisconnectAction extends PessimisticProviderAction {
-	/**
-	 * Collects the selected resources, extracts the projects selected
-	 * and disconnects the projects from their respective providers.
-	 * 
-	 * @see IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		if (PessimisticFilesystemProviderPlugin.getInstance().isDebugging())
-			System.out.println("Disconnect");
-		
-		IResource[] resources= getSelectedResources();
-		if (resources == null || resources.length == 0)
-			return;
-		final Set projects= new HashSet(resources.length);
-		for(int i= 0; i < resources.length; i++) {
-			IResource resource= resources[i];
-			if (resource.getType() == IResource.PROJECT) {
-				projects.add(resource.getProject());
-			}
-		}
-		if (!projects.isEmpty()) {
-			IRunnableWithProgress runnable= new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor)
-					throws InvocationTargetException, InterruptedException {
-					IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
-						public void run(IProgressMonitor monitor)
-							throws CoreException {
-							for (Iterator i= projects.iterator(); i.hasNext();) {
-								IProject project= (IProject) i.next();
-								PessimisticFilesystemProvider provider= getProvider(project);
-								if (provider != null) {
-									try {
-										RepositoryProvider.unmap(project);	
-									} catch (TeamException e) {
-										PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Could not unmap " + project);
-									}						
-								}
-							}
-						}				
-					};
-					try {
-						ResourcesPlugin.getWorkspace().run(runnable, monitor);
-					} catch (CoreException e) {
-						PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problem during unmap runnable");	
-					}
-					
-				}
-			};
-			runWithProgressDialog(runnable);
-		}
-	}
-	
-	/**
-	 * Answers <code>true</code> if and only if the resource is a 
-	 * project and is controlled by the pessimistic filesystem provider.
-	 * 
-	 * @see PessimisticProviderAction#shouldEnableFor(IResource)
-	 */
-	protected boolean shouldEnableFor(IResource resource) {
-		if (resource.getType() == IResource.PROJECT) {
-			PessimisticFilesystemProvider provider= getProvider(resource);
-			if (provider == null)
-				return false;
-			return true;
-		}
-		return false;
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticDecorator.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticDecorator.java
deleted file mode 100644
index 25dc2b1..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticDecorator.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic.ui;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.examples.pessimistic.*;
-
-/**
- * The <code>PessimisticDecorator</code> is a label provider
- * that decorates resources controlled by a <code>PessimisticFilesystemProvider</code>.
- */
-public class PessimisticDecorator extends LabelProvider implements ILabelDecorator, IResourceStateListener {
-
-	/**
-	 * Constructor needed for extension
-	 */
-	public PessimisticDecorator() {
-		PessimisticFilesystemProviderPlugin.getInstance().addProviderListener(this);
-	}
-
-	/*
-	 * @see org.eclipse.jface.viewers.ILabelDecorator#decorateText(String, Object)
-	 */
-	public String decorateText(String text, Object element) {
-		IResource resource= getResource(element);
-		if (resource == null)
-			return text;
-		PessimisticFilesystemProvider provider= getProvider(resource);
-		if (provider == null) {
-			return text;
-		}
-		if (provider.isControlled(resource)) {
-			if (provider.isCheckedout(resource)) {
-				return ">" + text;
-			} else {
-				return text;
-			}
-		} else {
-			if (provider.isIgnored(resource)) {
-				return "[ignored] " + text;
-			} else {
-				return "(not controlled) " + text;
-			}
-		}
-	}
-
-	/*
-	 * @see org.eclipse.jface.viewers.ILabelDecorator#decorateImage(Image, Object)
-	 */
-	public Image decorateImage(Image image, Object element) {
-		return image;
-	}
-
-	/*
-	 * Convenience method to get the provider of a resource
-	 */
-	private PessimisticFilesystemProvider getProvider(IResource resource) {
-		IProject project= resource.getProject();
-		if (project != null) {
-			return (PessimisticFilesystemProvider) RepositoryProvider.getProvider(project, PessimisticFilesystemProviderPlugin.NATURE_ID);
-		}
-		return null;
-	}
-
-	/*
-	 * Convenience method to get a resource from an object
-	 */
-	private IResource getResource(Object object) {
-		if (object instanceof IResource) {
-			return (IResource) object;
-		}
-		if (object instanceof IAdaptable) {
-			return (IResource) ((IAdaptable) object).getAdapter(IResource.class);
-		}
-		return null;
-	}
-
-	/*
-	 * Fires label events
-	 */
-	private void postLabelEvents(final LabelProviderChangedEvent[] events) {
-		if (events != null && events.length > 0) {
-			Display.getDefault().asyncExec(new Runnable() {
-				public void run() {
-					for (int i= 0; i < events.length; i++) {
-						fireLabelProviderChanged(events[i]);
-					}
-				}
-			});
-		}
-	}
-
-	/*
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-		PessimisticFilesystemProviderPlugin.getInstance().removeProviderListener(this);
-		super.dispose();
-	}
-
-	/*
-	 * @see org.eclipse.team.examples.pessimistic.IResourceStateListener#resourcesChanged(IResource[])
-	 */
-	public void stateChanged(IResource[] resources) {
-		if (resources.length > 0) {
-			LabelProviderChangedEvent[] events= new LabelProviderChangedEvent[resources.length];
-			for (int i= 0; i < resources.length; i++) {
-				events[i]= new LabelProviderChangedEvent(this, resources[i]);
-			}
-			postLabelEvents(events);
-		}
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticPreferencesPage.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticPreferencesPage.java
deleted file mode 100644
index c16a3a4..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticPreferencesPage.java
+++ /dev/null
@@ -1,363 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic.ui;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.team.examples.pessimistic.IPessimisticFilesystemConstants;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProviderPlugin;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-/**
- * A preference page for the <code>PessimisticFilesystemProviderPlugin</code>.
- */
-public class PessimisticPreferencesPage
-	extends PreferencePage
-	implements IWorkbenchPreferencePage {
-
-	/*
-	 * Widget for the files are edited preference
-	 */
-	private Combo filesAreEditedCombo;
-	/*
-	 * Widget for the files are edited without a context preference
-	 */
-	private Combo filesAreEditedNoPromptCombo;	
-	/*
-	 * Widget for the files are saved preference
-	 */
-	private Combo filesAreSavedCombo;
-	/*
-	 * Widget for the files are edited preference
-	 */
-	private Combo addToControlCombo;
-	/*
-	 * Widget for the change file contents preference
-	 */
-	private Button changeFileContents;
-	/*
-	 * Widget for the fail validate edit preference
-	 */
-	private Button failValidateEdit;
-	
-	/*
-	 * Option strings for the files are edited preference.
-	 */
-	private static final String[] EDIT_OPTION_STRINGS= 
-		new String[] { 
-			"Prompt to checkout", 
-			"Checkout", 
-			"Do nothing", };
-	/*
-	 * Option values for the files are edited preference.
-	 */
-	private static final int[] EDIT_OPTION_KEYS=
-		new int[] { 
-			IPessimisticFilesystemConstants.OPTION_PROMPT,
-			IPessimisticFilesystemConstants.OPTION_AUTOMATIC,
-			IPessimisticFilesystemConstants.OPTION_DO_NOTHING, };
-			
-	/*
-	 * Option strings for the files are edited without a context preference.
-	 */
-	private static final String[] EDIT_NO_PROMPT_OPTION_STRINGS= 
-		new String[] { 
-			"Checkout", 
-			"Do nothing", };		
-
-	/*
-	 * Option strings for the files are saved preference.
-	 */
-	private static final String[] SAVE_OPTION_STRINGS= 
-		new String[] { 
-			"Checkout", 
-			"Do nothing", };
-	/*
-	 * Option values for the files are saved preference.
-	 */
-	private static final int[] SAVE_OPTION_KEYS=
-		new int[] { 
-			IPessimisticFilesystemConstants.OPTION_AUTOMATIC,
-			IPessimisticFilesystemConstants.OPTION_DO_NOTHING, };
-			
-	/*
-	 * Option strings for the add to control preference.
-	 */
-	private static final String[] ADD_TO_CONTROL_OPTION_STRINGS=
-		new String[] {
-			"Prompt to add to control",
-			"Add to control",
-			"Do nothing", };
-	/*
-	 * Option values for the add to control preference.
-	 */
-	private static final int[] ADD_TO_CONTROL_OPTION_KEYS=
-		new int[] { 
-			IPessimisticFilesystemConstants.OPTION_PROMPT,
-			IPessimisticFilesystemConstants.OPTION_AUTOMATIC,
-			IPessimisticFilesystemConstants.OPTION_DO_NOTHING, };		
-	
-
-	/*
-	 * @see org.eclipse.jface.preference.PreferencePage#doGetPreferenceStore()
-	 */
-	protected IPreferenceStore doGetPreferenceStore() {
-		return PessimisticFilesystemProviderPlugin.getInstance().getPreferenceStore();
-	}
-
-
-	/*
-	 * Sets the layout to be a grid layout with the given number of columns.
-	 */
-	protected void setDefaultLayout(Composite group, int columns) {
-		GridLayout layout = new GridLayout();
-		group.setLayout(layout);
-
-		GridData data =
-			new GridData(
-				GridData.VERTICAL_ALIGN_FILL
-					| GridData.HORIZONTAL_ALIGN_FILL
-					| GridData.GRAB_HORIZONTAL);
-
-		layout.numColumns = columns;
-		group.setLayoutData(data);
-	}
-
-	/*
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		setDefaultLayout(composite, 1);
-
-		Composite options = new Composite(composite, SWT.NULL);
-		setDefaultLayout(options, 2);
-
-		Label label = new Label(options, SWT.NONE);
-		label.setText("File handling:");
-		GridData gridData = new GridData();
-		gridData.horizontalSpan = 2;
-		gridData.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(gridData);
-
-		label = new Label(options, SWT.NONE);
-		label.setText("When checked in files are edited:");
-		gridData = new GridData();
-		gridData.horizontalSpan = 1;
-		gridData.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(gridData);		
-
-		filesAreEditedCombo= new Combo(options, SWT.BORDER | SWT.READ_ONLY);
-		gridData = new GridData();
-		gridData.horizontalSpan= 1;
-		gridData.horizontalAlignment = GridData.FILL;
-		filesAreEditedCombo.setLayoutData(gridData);	
-		filesAreEditedCombo.setItems(EDIT_OPTION_STRINGS);
-
-		label = new Label(options, SWT.NONE);
-		label.setText("When checked in files are edited programmatically:");
-		gridData = new GridData();
-		gridData.horizontalSpan = 1;
-		gridData.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(gridData);		
-
-		filesAreEditedNoPromptCombo= new Combo(options, SWT.BORDER | SWT.READ_ONLY);
-		gridData = new GridData();
-		gridData.horizontalSpan= 1;
-		gridData.horizontalAlignment = GridData.FILL;
-		filesAreEditedNoPromptCombo.setLayoutData(gridData);	
-		filesAreEditedNoPromptCombo.setItems(EDIT_NO_PROMPT_OPTION_STRINGS);
-		
-		label = new Label(options, SWT.NONE);
-		label.setText("When checked in files are saved:");
-		gridData = new GridData();
-		gridData.horizontalSpan = 1;
-		gridData.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(gridData);
-		
-		filesAreSavedCombo= new Combo(options, SWT.BORDER | SWT.READ_ONLY);
-		gridData = new GridData();
-		gridData.horizontalSpan = 1;
-		gridData.horizontalAlignment = GridData.FILL;
-		filesAreSavedCombo.setLayoutData(gridData);
-		filesAreSavedCombo.setItems(SAVE_OPTION_STRINGS);
-
-		label = new Label(options, SWT.NONE);
-		label.setText("When files are created:");
-		gridData = new GridData();
-		gridData.horizontalSpan = 1;
-		gridData.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(gridData);
-		
-		addToControlCombo= new Combo(options, SWT.BORDER | SWT.READ_ONLY);
-		gridData = new GridData();
-		gridData.horizontalSpan = 1;
-		gridData.horizontalAlignment = GridData.FILL;
-		addToControlCombo.setLayoutData(gridData);
-		addToControlCombo.setItems(ADD_TO_CONTROL_OPTION_STRINGS);
-
-		options = new Composite(composite, SWT.NULL);
-		setDefaultLayout(options, 1);
-
-		label = new Label(options, SWT.NONE);
-		label.setText("Error cases:");
-		gridData = new GridData();
-		gridData.horizontalSpan = 1;
-		gridData.horizontalAlignment = GridData.FILL;
-		label.setLayoutData(gridData);
-
-		failValidateEdit= new Button(options, SWT.CHECK | SWT.LEFT);
-		failValidateEdit.setText("Fail validate edit");
-		gridData = new GridData();
-		failValidateEdit.setLayoutData(gridData);
-
-		changeFileContents= new Button(options, SWT.CHECK | SWT.LEFT);
-		changeFileContents.setText("Touch files during validate edit");
-		gridData = new GridData();
-		changeFileContents.setLayoutData(gridData);
-
-		updatePreferencePage();
-
-		return composite;
-	}
-
-	/*
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-
-	/*
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		IPreferenceStore store = getPreferenceStore();
-
-		filesAreEditedCombo.select(
-			getEditOptionIndex(store.getDefaultInt(IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED)));
-		filesAreEditedNoPromptCombo.select(
-			getEditNoPromptOptionIndex(store.getDefaultInt(IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED_NOPROMPT)));
-		filesAreSavedCombo.select(
-			getSaveOptionIndex(store.getDefaultInt(IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_SAVED)));
-		addToControlCombo.select(
-			getAddToControlOptionIndex(store.getDefaultInt(IPessimisticFilesystemConstants.PREF_ADD_TO_CONTROL)));			
-		failValidateEdit.setSelection(
-			store.getDefaultBoolean(IPessimisticFilesystemConstants.PREF_FAIL_VALIDATE_EDIT));
-		changeFileContents.setSelection(
-			store.getDefaultBoolean(IPessimisticFilesystemConstants.PREF_TOUCH_DURING_VALIDATE_EDIT));
-		super.performDefaults();
-	}
-
-	/*
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		IPreferenceStore store = getPreferenceStore();
-
-		int selectionIndex = filesAreEditedCombo.getSelectionIndex();
-		if (selectionIndex != -1)
-	        store.setValue(
-				IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED,
-				EDIT_OPTION_KEYS[selectionIndex]);
-		selectionIndex = filesAreEditedNoPromptCombo.getSelectionIndex();
-		if (selectionIndex != -1)
-			store.setValue(
-				IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED_NOPROMPT,
-				SAVE_OPTION_KEYS[selectionIndex]);
-		selectionIndex = filesAreSavedCombo.getSelectionIndex();
-		if (selectionIndex != -1)
-			store.setValue(
-				IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_SAVED,
-				SAVE_OPTION_KEYS[selectionIndex]);
-		selectionIndex = addToControlCombo.getSelectionIndex();
-		if (selectionIndex != -1)
-			store.setValue(
-				IPessimisticFilesystemConstants.PREF_ADD_TO_CONTROL,
-				ADD_TO_CONTROL_OPTION_KEYS[selectionIndex]);
-		store.setValue(
-			IPessimisticFilesystemConstants.PREF_FAIL_VALIDATE_EDIT, 
-			failValidateEdit.getSelection());		
-		store.setValue(
-			IPessimisticFilesystemConstants.PREF_TOUCH_DURING_VALIDATE_EDIT,
-			changeFileContents.getSelection());
-		return true;
-	}
-
-	/*
-	 * Sets the widgets to have the state stored in the preferences.
-	 */
-	protected void updatePreferencePage() {
-		IPreferenceStore store = getPreferenceStore();
-
-		filesAreEditedCombo.select(
-			getEditOptionIndex(store.getInt(IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED)));
-		filesAreEditedNoPromptCombo.select(
-			getEditNoPromptOptionIndex(store.getInt(IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_EDITED_NOPROMPT)));			
-		filesAreSavedCombo.select(
-			getSaveOptionIndex(store.getInt(IPessimisticFilesystemConstants.PREF_CHECKED_IN_FILES_SAVED)));
-		addToControlCombo.select(
-			getAddToControlOptionIndex(store.getInt(IPessimisticFilesystemConstants.PREF_ADD_TO_CONTROL)));
-		failValidateEdit.setSelection(
-			store.getBoolean(IPessimisticFilesystemConstants.PREF_FAIL_VALIDATE_EDIT));
-		changeFileContents.setSelection(
-			store.getBoolean(IPessimisticFilesystemConstants.PREF_TOUCH_DURING_VALIDATE_EDIT));
-	}
-	
-	/*
-	 * Answers the index of the given key.
-	 */	
-	protected int getEditOptionIndex(int key) {
-		for(int i= 0; i < EDIT_OPTION_KEYS.length; i++) {
-			if (EDIT_OPTION_KEYS[i] == key)
-				return i;
-		}
-		return -1;
-	}
-	
-	/*
-	 * Answers the index of the given key.
-	 */	
-	protected int getSaveOptionIndex(int key) {
-		for(int i= 0; i < SAVE_OPTION_KEYS.length; i++) {
-			if (SAVE_OPTION_KEYS[i] == key)
-				return i;
-		}
-		return -1;
-	}
-	
-	/*
-	 * Answers the index of the given key.
-	 */	
-	protected int getEditNoPromptOptionIndex(int key) {
-		for(int i= 0; i < SAVE_OPTION_KEYS.length; i++) {
-			if (SAVE_OPTION_KEYS[i] == key)
-				return i;
-		}
-		return -1;
-	}			
-	
-	/*
-	 * Answers the index of the given key.
-	 */	
-	protected int getAddToControlOptionIndex(int key) {
-		for(int i= 0; i < ADD_TO_CONTROL_OPTION_KEYS.length; i++) {
-			if (ADD_TO_CONTROL_OPTION_KEYS[i] == key)
-				return i;
-		}
-		return -1;
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticProviderAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticProviderAction.java
deleted file mode 100644
index 16aab89..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/PessimisticProviderAction.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProviderPlugin;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-
-/**
- * Abstract base action implementation for all pessimistic provider actions.
- * Provides convenience methods an abstractions.
- */
-public abstract class PessimisticProviderAction
-	implements IObjectActionDelegate {
-
-	/*
-	 * The current selection.
-	 */
-	protected ISelection fSelection;
-	/*
-	 * The current shell.
-	 */
-	protected Shell fShell;
-
-	/*
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(IAction, ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		fSelection = selection;
-		
-		boolean enabled= action.isEnabled();
-		if (enabled != checkEnablement()) {
-			action.setEnabled(!enabled);
-		}
-	}
-	
-	/*
-	 * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart part) {
-		fShell= part.getSite().getShell();
-	}	
-
-	/**
-	 * Answers <code>true</code> if this action should be enabled
-	 * for the given <code>resource</code>.
-	 */
-	protected abstract boolean shouldEnableFor(IResource resource);
-	
-	/*
-	 * Checks to see if this action should be enabled.
-	 */
-	protected boolean checkEnablement() {
-		IResource[] resources= getSelectedResources();
-		if (resources == null || resources.length == 0) {
-			return false;
-		} else {
-			boolean enabled= false;
-			for(int i= 0; !enabled && i < resources.length; i++) {
-				if (shouldEnableFor(resources[i])) {
-					enabled= true;
-				}
-			}
-			return enabled;
-		}
-	}
-	
-	/**
-	 * Convenience method to get an array of resources from the selection.
-	 */
-	protected IResource[] getSelectedResources() {
-		ArrayList resources = null;
-		if (!fSelection.isEmpty()) {
-			resources = new ArrayList();
-			Iterator elements = ((IStructuredSelection) fSelection).iterator();
-			while (elements.hasNext()) {
-				Object next = elements.next();
-				if (next instanceof IResource) {
-					resources.add(next);
-					continue;
-				}
-				if (next instanceof IAdaptable) {
-					IAdaptable a = (IAdaptable) next;
-					Object adapter = a.getAdapter(IResource.class);
-					if (adapter instanceof IResource) {
-						resources.add(adapter);
-						continue;
-					}
-				}
-			}
-		}
-		if (resources != null && !resources.isEmpty()) {
-			IResource[] result = new IResource[resources.size()];
-			resources.toArray(result);
-			return result;
-		}
-		return new IResource[0];		
-	}
-	
-	/**
-	 * Convenience method which answers <code>true</code> if the
-	 * resource is controlled by a <code>PessimisticFilesystemProvider</code>.
-	 */
-	protected boolean isControlled(IResource resource) {
-		PessimisticFilesystemProvider provider= getProvider(resource);
-		if (provider == null)
-			return false;
-		return provider.isControlled(resource);
-	}
-	
-	/**
-	 * Convenience method which answers <code>true</code> if and only if the
-	 * resource is controlled by a <code>PessimisticFilesystemProvider</code>
-	 * and is checked out.
-	 */
-	protected boolean isCheckedOut(IResource resource) {
-		PessimisticFilesystemProvider provider= getProvider(resource);
-		if (provider == null)
-			return false;
-		return provider.isCheckedout(resource);
-	}
-
-	/**
-	 * Convenience method which answers <code>true</code> if and only if the
-	 * resource is controlled by a <code>PessimisticFilesystemProvider</code>
-	 * and the resource is ignored.
-	 */
-	protected boolean isIgnored(IResource resource) {
-		PessimisticFilesystemProvider provider= getProvider(resource);
-		if (provider == null)
-			return false;
-		return provider.isIgnored(resource);
-	}
-
-	/**
-	 * Convenience method which answers the <code>PessimisticFilesystemProvider</code>
-	 * for the given <code>resource</code> or <code>null</code> if the 
-	 * <code>resource</code> is not associated with a <code>PessimisticFilesystemProvider</code>.
-	 */
-	protected PessimisticFilesystemProvider getProvider(IResource resource) {
-		if (resource == null) {
-			return null;
-		}
-		IProject project= resource.getProject();
-		if (project == null) {
-			return null;
-		}
-		return (PessimisticFilesystemProvider)RepositoryProvider.getProvider(project, PessimisticFilesystemProviderPlugin.NATURE_ID);
-	}
-
-	/**
-	 * Convenience method which walks a resource tree and collects the
-	 * resources that this action would enable for.
-	 */
-	protected void recursivelyAdd(IResource resource, Set resources) {
-		if (isControlled(resource) && !isIgnored(resource)) {
-			if (shouldEnableFor(resource)) {
-				resources.add(resource);
-			}
-
-			if (resource instanceof IContainer) {
-				IContainer container = (IContainer) resource;
-				IResource[] members= null;
-				try {
-					members = container.members();
-				} catch (CoreException e) {
-					PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Exception traversing members");
-				}
-				if (members != null) {
-					for (int i = 0; i < members.length; i++) {
-						recursivelyAdd(members[i], resources);
-					}
-				}
-			}
-		}		
-	}
-
-	/**
-	 * Convenience method which sorts the given <code>resources</code>
-	 * into a map of IProject -> Set of IResource objects.
-	 */
-	protected Map sortByProject(Set resources) {
-		Map byProject= new HashMap();
-		if (resources != null) {
-			for (Iterator i= resources.iterator(); i.hasNext();) {
-				IResource resource= (IResource) i.next();
-				IProject project= resource.getProject();
-				Set set= (Set)byProject.get(project);
-				if (set == null) {
-					set= new HashSet(1);
-					byProject.put(project, set);
-				}
-				set.add(resource);
-			}
-		}
-		return byProject;
-	}
-	
-	/**
-	 * Convenience method for displaying runnable progress
-	 * with a <code>ProgressMonitorDialog</code>.
-	 */
-	protected void runWithProgressDialog(IRunnableWithProgress runnable) {
-		try {
-			new ProgressMonitorDialog(fShell).run(true, false, runnable);
-		} catch (InvocationTargetException e) {
-			PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problems running action " + this);
-		} catch (InterruptedException e) {
-			PessimisticFilesystemProviderPlugin.getInstance().logError(e, "Problems running action " + this);
-		}
-	}
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/RemoveFromControlAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/RemoveFromControlAction.java
deleted file mode 100644
index de5c5d9..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/RemoveFromControlAction.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider;
-
-/**
- * Removes the selected resources and their children resources from
- * the control of the provider.
- */
-public class RemoveFromControlAction extends PessimisticProviderAction {
-	
-	/**
-	 * Collects the selected resources into sets by project,
-	 * then removes the resources from the provider associated
-	 * with their containing project.
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		IResource[] resources= getSelectedResources();
-		if (resources == null || resources.length == 0)
-			return;
-		Set resourceSet= new HashSet(resources.length);
-		for(int i= 0; i < resources.length; i++) {
-			IResource resource= resources[i];
-			recursivelyAdd(resource, resourceSet);
-		}
-		if (!resourceSet.isEmpty()) {
-			final Map byProject= sortByProject(resourceSet);			
-			IRunnableWithProgress runnable= new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor)
-					throws InvocationTargetException, InterruptedException {
-					for (Iterator i= byProject.keySet().iterator(); i.hasNext();) {
-						IProject project= (IProject) i.next();
-						PessimisticFilesystemProvider provider= getProvider(project);
-						if (provider != null) {
-							Set set= (Set)byProject.get(project);
-							IResource[] resources= new IResource[set.size()];
-							set.toArray(resources);
-							provider.removeFromControl(resources, monitor);
-						}
-					}
-				}
-			};
-			runWithProgressDialog(runnable);
-		}
-	}
-
-	/**
-	 * Answers <code>true</code> if and only if the resource is not <code>null</code>,
-	 * not a project or the workspace root, and is controlled by the provider.
-	 * 
-	 * @see org.eclipse.team.examples.pessimistic.ui.PessimisticProviderAction#shouldEnableFor(IResource)
-	 */
-	protected boolean shouldEnableFor(IResource resource) {
-		if (resource == null) {
-			return false;
-		}
-		if ((resource.getType() & (IResource.ROOT | IResource.PROJECT)) != 0) {
-			return false;
-		}
-		PessimisticFilesystemProvider provider= getProvider(resource);
-		if (provider == null)
-			return false;
-		return provider.isControlled(resource);
-	}
-
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/SourceManagementAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/SourceManagementAction.java
deleted file mode 100644
index 46e895a..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/SourceManagementAction.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider;
-
-/**
- * An abstract action used to centralize the implementation of
- * source management actions.
- */
-public abstract class SourceManagementAction extends PessimisticProviderAction {
-
-	/**
-	 * Collects the selected resources by project, then iterates
-	 * over the projects finding the associated provider.  If a 
-	 * provider is found it requests that this action manage the resources
-	 * using the found provider.
-	 * 
-	 * @see org.eclipse.ui.IActionDelegate#run(IAction)
-	 */
-	public void run(IAction action) {
-		IResource[] resources= getSelectedResources();
-		if (resources == null || resources.length == 0)
-			return;
-		Set resourceSet= new HashSet(resources.length);
-		for(int i= 0; i < resources.length; i++) {
-			IResource resource= resources[i];
-			recursivelyAdd(resource, resourceSet);
-		}
-		if (!resourceSet.isEmpty()) {
-			final Map byProject= sortByProject(resourceSet);
-			IRunnableWithProgress runnable= new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor)
-					throws InvocationTargetException, InterruptedException {
-					for (Iterator i= byProject.keySet().iterator(); i.hasNext();) {
-						IProject project= (IProject) i.next();
-						PessimisticFilesystemProvider provider= getProvider(project);
-						if (provider != null) {
-							Set set= (Set)byProject.get(project);
-							IResource[] resources= new IResource[set.size()];
-							set.toArray(resources);
-							manageResources(provider, resources, monitor);
-						}
-					}
-				}
-			};
-			runWithProgressDialog(runnable);
-		}		
-	}
-
-	/**
-	 * Manages the <code>resources</code> using the given <code>provider</code>.
-	 * 
-	 * @param provider		The provider associated with the resources.
-	 * @param resources	The resources to be managed.
-	 * @param monitor		A progress monitor to give feedback.
-	 */
-	protected abstract void manageResources(PessimisticFilesystemProvider provider, IResource[] resources, IProgressMonitor monitor);
-}
diff --git a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/UncheckOutAction.java b/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/UncheckOutAction.java
deleted file mode 100644
index bb97a47..0000000
--- a/examples/org.eclipse.team.examples.filesystem/src/org/eclipse/team/examples/pessimistic/ui/UncheckOutAction.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.examples.pessimistic.ui;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.examples.pessimistic.PessimisticFilesystemProvider;
-
-/**
- * Performs an uncheck out on the selected resources.  If a folder is 
- * selected all of its children are recursively unchecked out.
- */
-public class UncheckOutAction extends CheckInAction {
-	/**
-	 * @see org.eclipse.team.examples.pessimistic.ui.SourceManagementAction#manageResources(PessimisticFilesystemProvider, IResource[], IProgressMonitor)
-	 */
-	protected void manageResources(PessimisticFilesystemProvider provider, IResource[] resources, IProgressMonitor monitor) {
-		provider.uncheckout(resources, monitor);
-	}
-
-}
diff --git a/features/org.eclipse.cvs-feature/.project b/features/org.eclipse.cvs-feature/.project
deleted file mode 100644
index 5108649..0000000
--- a/features/org.eclipse.cvs-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.cvs-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.cvs-feature/build.properties b/features/org.eclipse.cvs-feature/build.properties
deleted file mode 100644
index ce791ec..0000000
--- a/features/org.eclipse.cvs-feature/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = feature.xml,\
-               feature.properties,\
-               license.html,\
-               epl-v10.html,\
-               eclipse_update_120.jpg
-               
-root=rootfiles
diff --git a/features/org.eclipse.cvs-feature/eclipse_update_120.jpg b/features/org.eclipse.cvs-feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.cvs-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.cvs-feature/epl-v10.html b/features/org.eclipse.cvs-feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.cvs-feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.cvs-feature/feature.properties b/features/org.eclipse.cvs-feature/feature.properties
deleted file mode 100644
index 3c73eab..0000000
--- a/features/org.eclipse.cvs-feature/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse CVS Client
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=Eclipse CVS Client. (Binary runtime and user documentation.)
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2008 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
\ No newline at end of file
diff --git a/features/org.eclipse.cvs-feature/feature.xml b/features/org.eclipse.cvs-feature/feature.xml
deleted file mode 100644
index 4cb3117..0000000
--- a/features/org.eclipse.cvs-feature/feature.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.cvs"
-      label="%featureName"
-      version="1.1.0.qualifier"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/eclipse/updates/3.4"/>
-      <discovery label="%updateSiteName" url="http://download.eclipse.org/eclipse/updates/3.4"/>
-   </url>
-
-   <requires>
-      <import feature="org.eclipse.platform" version="3.3.0" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.cvs"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.ssh"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.ssh2"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.cvs-feature/license.html b/features/org.eclipse.cvs-feature/license.html
deleted file mode 100644
index c6af966..0000000
--- a/features/org.eclipse.cvs-feature/license.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/features/org.eclipse.cvs-feature/rootfiles/epl-v10.html b/features/org.eclipse.cvs-feature/rootfiles/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.cvs-feature/rootfiles/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.cvs-feature/rootfiles/notice.html b/features/org.eclipse.cvs-feature/rootfiles/notice.html
deleted file mode 100644
index c6af966..0000000
--- a/features/org.eclipse.cvs-feature/rootfiles/notice.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/features/org.eclipse.cvs-feature/sourceTemplateFeature/eclipse_update_120.jpg b/features/org.eclipse.cvs-feature/sourceTemplateFeature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplateFeature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.cvs-feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.cvs-feature/sourceTemplateFeature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplateFeature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.cvs-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.cvs-feature/sourceTemplateFeature/feature.properties
deleted file mode 100644
index 9159541..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplateFeature/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse CVS Client Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Project Updates
-
-# "description" property - description of the feature
-description=API documentation and source code zips for Eclipse CVS client.
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-March 17, 2005\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
-########### end of license property ##########################################
diff --git a/features/org.eclipse.cvs-feature/sourceTemplateFeature/license.html b/features/org.eclipse.cvs-feature/sourceTemplateFeature/license.html
deleted file mode 100644
index c6af966..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplateFeature/license.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>March 17, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
-<ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
-</body>
-</html>
diff --git a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.html b/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.html
deleted file mode 100644
index c207d05..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>May 10, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-<h3>Source Code</h3>
-<p>This plug-in contains source code zip files (&quot;Source Zips&quot;) that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license
-agreements and/or notices. Details about these license agreements and notices are contained in &quot;about.html&quot; files (&quot;Abouts&quot;) located in sub-directories in the
-src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.ini
deleted file mode 100644
index 2143c4c..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.ini
+++ /dev/null
@@ -1,29 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.png
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (not translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
diff --git a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.properties
deleted file mode 100644
index e89b360..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/about.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Eclipse CVS Client\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2000, 2007.  All rights reserved.\n\
-Visit http://www.eclipse.org/eclipse/platform-cvs/
-
diff --git a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.cvs-feature/sourceTemplatePlugin/build.properties
deleted file mode 100644
index f770cd8..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = about.html, about.ini, about.mappings, about.properties, eclipse32.png, plugin.properties, plugin.xml, src/**, META-INF/
-sourcePlugin = true
diff --git a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/eclipse32.gif b/features/org.eclipse.cvs-feature/sourceTemplatePlugin/eclipse32.gif
deleted file mode 100644
index e6ad7cc..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/eclipse32.png b/features/org.eclipse.cvs-feature/sourceTemplatePlugin/eclipse32.png
deleted file mode 100644
index 568fac1..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/eclipse32.png
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.cvs-feature/sourceTemplatePlugin/plugin.properties
deleted file mode 100644
index 3b3e6bf..0000000
--- a/features/org.eclipse.cvs-feature/sourceTemplatePlugin/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Eclipse CVS Client SDK
-providerName=Eclipse.org
diff --git a/tests/org.eclipse.core.tests.net/.classpath b/tests/org.eclipse.core.tests.net/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/tests/org.eclipse.core.tests.net/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/tests/org.eclipse.core.tests.net/.cvsignore b/tests/org.eclipse.core.tests.net/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/tests/org.eclipse.core.tests.net/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/tests/org.eclipse.core.tests.net/.project b/tests/org.eclipse.core.tests.net/.project
deleted file mode 100644
index bb53ef7..0000000
--- a/tests/org.eclipse.core.tests.net/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.core.tests.net</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/tests/org.eclipse.core.tests.net/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.core.tests.net/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c0a53cb..0000000
--- a/tests/org.eclipse.core.tests.net/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,53 +0,0 @@
-#Mon Feb 19 16:17:33 EST 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
diff --git a/tests/org.eclipse.core.tests.net/META-INF/MANIFEST.MF b/tests/org.eclipse.core.tests.net/META-INF/MANIFEST.MF
deleted file mode 100644
index bc41efb..0000000
--- a/tests/org.eclipse.core.tests.net/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Net Tests Plug-in
-Bundle-SymbolicName: org.eclipse.core.tests.net
-Bundle-Version: 1.0.0
-Bundle-Activator: org.eclipse.core.tests.net.Activator
-Bundle-Vendor: Eclipse.org
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.core.net;bundle-version="[1.0.0,2.0.0)",
- org.junit
-Eclipse-LazyStart: true
diff --git a/tests/org.eclipse.core.tests.net/about.html b/tests/org.eclipse.core.tests.net/about.html
deleted file mode 100644
index 4602330..0000000
--- a/tests/org.eclipse.core.tests.net/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.net/build.properties b/tests/org.eclipse.core.tests.net/build.properties
deleted file mode 100644
index fba4c19..0000000
--- a/tests/org.eclipse.core.tests.net/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               about.html,\
-               test.xml
diff --git a/tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/Activator.java b/tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/Activator.java
deleted file mode 100644
index 7e219ed..0000000
--- a/tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/Activator.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.tests.net;
-
-import org.eclipse.core.net.proxy.IProxyService;
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.net.tests";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	public IProxyService getProxyService() {
-		ServiceReference serviceReference = getBundle().getBundleContext().getServiceReference(IProxyService.class.getName());
-		if (serviceReference != null)
-			return (IProxyService)getBundle().getBundleContext().getService(serviceReference);
-		return null;
-	}
-
-}
diff --git a/tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/AllNetTests.java b/tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/AllNetTests.java
deleted file mode 100644
index 3d24419..0000000
--- a/tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/AllNetTests.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.tests.net;
-
-import junit.framework.*;
-
-public class AllNetTests extends TestCase {
-	
-	public AllNetTests() {
-		super();
-	}
-
-	public AllNetTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTest(NetTest.suite());
-		return suite;
-	}
-}
diff --git a/tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/NetTest.java b/tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/NetTest.java
deleted file mode 100644
index ee8903d..0000000
--- a/tests/org.eclipse.core.tests.net/src/org/eclipse/core/tests/net/NetTest.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.tests.net;
-
-import java.util.*;
-
-import junit.framework.*;
-
-import org.eclipse.core.internal.net.ProxyType;
-import org.eclipse.core.net.proxy.IProxyData;
-import org.eclipse.core.net.proxy.IProxyService;
-import org.eclipse.core.runtime.CoreException;
-
-public class NetTest extends TestCase {
-	
-	private boolean isSetEnabled;
-	private Map dataCache = new HashMap();
-
-	public NetTest() {
-		super();
-	}
-
-	public NetTest(String name) {
-		super(name);
-	}
-	
-	public static Test suite() {
-		return new TestSuite(NetTest.class);
-	}
-
-	protected void setUp() throws Exception {
-		super.setUp();
-		setProxiesEnabled(true);
-		isSetEnabled = true;
-		dataCache.clear();
-		ProxyType.socksSystemPropertySetting = ProxyType.ALWAYS_SET;
-	}
-	
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		setProxiesEnabled(false);
-		IProxyData[] data = getProxyManager().getProxyData();
-		for (int i = 0; i < data.length; i++) {
-			IProxyData proxyData = data[i];
-			proxyData.disable();
-		}
-		getProxyManager().setProxyData(data);
-	}
-	
-	private IProxyService getProxyManager() {
-		return Activator.getDefault().getProxyService();
-	}
-
-	private void assertProxyDataEqual(IProxyData expectedData) {
-		IProxyData data = getProxyManager().getProxyData(expectedData.getType());
-		assertEquals(expectedData.getType(), data.getType());
-		assertEquals(expectedData.getHost(), data.getHost());
-		assertEquals(expectedData.getPort(), data.getPort());
-		assertEquals(expectedData.getUserId(), data.getUserId());
-		assertEquals(expectedData.getPassword(), data.getPassword());
-		assertEquals(expectedData.isRequiresAuthentication(), data.isRequiresAuthentication());
-		assertSystemPropertiesMatch(data);
-	}
-	
-	public void assertSystemPropertiesMatch(IProxyData proxyData) {
-		if (proxyData.getType().equals(IProxyData.HTTP_PROXY_TYPE)) {
-			assertHttpSystemProperties(proxyData, "http");
-		} else if (proxyData.getType().equals(IProxyData.HTTPS_PROXY_TYPE)) {
-			assertHttpSystemProperties(proxyData, "https");
-		} else if (proxyData.getType().equals(IProxyData.SOCKS_PROXY_TYPE)) {
-			assertSocksSystemProperties(proxyData);
-		}
-	}
-
-	private void assertHttpSystemProperties(IProxyData proxyData, String keyPrefix) {
-		Properties sysProps = System.getProperties();
-		
-		if (this.getProxyManager().isProxiesEnabled()) {
-			boolean isSet = Boolean.getBoolean(keyPrefix + ".proxySet");
-			assertEquals(proxyData.getHost() != null, isSet); //$NON-NLS-1$
-			assertEquals(proxyData.getHost(), sysProps.get(keyPrefix + ".proxyHost")); //$NON-NLS-1$
-			String portString = (String)sysProps.get(keyPrefix + ".proxyPort"); //$NON-NLS-1$
-			int port = -1;
-			if (portString != null)
-				port = Integer.parseInt(portString);
-			assertEquals(proxyData.getPort(), port);
-			if (isSet)
-				assertEquals(ProxyType.convertHostsToPropertyString(this.getProxyManager().getNonProxiedHosts()), sysProps.get(keyPrefix + ".nonProxyHosts")); //$NON-NLS-1$
-			else 
-				assertNull(sysProps.get(keyPrefix + ".nonProxyHosts"));
-			assertEquals(proxyData.getUserId(), sysProps.get(keyPrefix + ".proxyUser")); //$NON-NLS-1$
-			assertEquals(proxyData.getUserId(), sysProps.get(keyPrefix + ".proxyUserName")); //$NON-NLS-1$
-			assertEquals(proxyData.getPassword(), sysProps.get(keyPrefix + ".proxyPassword")); //$NON-NLS-1$
-		} else {
-			assertNull(sysProps.get(keyPrefix + ".proxySet"));
-			assertNull(sysProps.get(keyPrefix + ".proxyHost"));
-			assertNull(sysProps.get(keyPrefix + ".proxyPort"));
-			assertNull(sysProps.get(keyPrefix + ".nonProxyHosts"));
-			assertNull(sysProps.get(keyPrefix + ".proxyUser"));
-			assertNull(sysProps.get(keyPrefix + ".proxyUserName"));
-			assertNull(sysProps.get(keyPrefix + ".proxyPassword"));
-		}
-	}
-
-	private void assertSocksSystemProperties(IProxyData proxyData) {
-		Properties sysProps = System.getProperties();
-		if (this.getProxyManager().isProxiesEnabled()) {
-			assertEquals(proxyData.getHost(), sysProps.get("socksProxyHost")); //$NON-NLS-1$
-			String portString = (String)sysProps.get("socksProxyPort"); //$NON-NLS-1$
-			int port = -1;
-			if (portString != null)
-				port = Integer.parseInt(portString);
-			assertEquals(proxyData.getPort(), port);
-		} else {
-			assertNull(sysProps.get("socksProxyHost"));
-			assertNull(sysProps.get("socksProxyPort"));
-		}
-	}
-	
-	private IProxyData getProxyData(String type) {
-		IProxyData data = (IProxyData)dataCache.get(type);
-		if (data == null) {
-			data = this.getProxyManager().getProxyData(type);
-			assertProxyDataEqual(data);
-		}
-		return data;
-	}
-	
-	private void setProxyData(IProxyData data) throws CoreException {
-		if (isSetEnabled) {
-			this.getProxyManager().setProxyData(new IProxyData[] { data });
-			assertProxyDataEqual(data);
-		} else {
-			dataCache.put(data.getType(), data);
-		}
-	}
-	
-	private void disableProxy(IProxyData proxyData) throws CoreException {
-		proxyData.disable();
-		setProxyData(proxyData);
-	}
-	
-	private void changeProxyData(IProxyData oldData, IProxyData data)
-			throws CoreException {
-		// Make sure that setting the host doesn't change the persisted settings
-		if (isSetEnabled)
-			assertProxyDataEqual(oldData);
-		// Now set it in the manager and assert that it is set
-		setProxyData(data);
-	}
-	
-	private void setHost(String type) throws CoreException {
-		String host = "www.eclipse.org";
-		setHost(type, host);
-	}
-
-	private void setHost(String type, String host) throws CoreException {
-		IProxyData data = getProxyData(type);
-		IProxyData oldData = getProxyData(type);
-		data.setHost(host);
-		changeProxyData(oldData, data);
-	}
-	
-	private void setPort(String type, int port) throws CoreException {
-		IProxyData data = getProxyData(type);
-		IProxyData oldData = getProxyData(type);
-		data.setPort(port);
-		changeProxyData(oldData, data);
-	}
-	
-	private void setUser(String type, String user, String password) throws CoreException {
-		IProxyData data = getProxyData(type);
-		IProxyData oldData = getProxyData(type);
-		data.setUserid(user);
-		data.setPassword(password);
-		changeProxyData(oldData, data);
-	}
-	
-	private void setDataTest(String type) throws CoreException {
-		setHost(type, "www.eclipse.org");
-		setPort(type, 1024);
-		setUser(type, "me", "passw0rd");
-	}
-	
-	private void setProxiesEnabled(boolean enabled) {
-		this.getProxyManager().setProxiesEnabled(enabled);
-		assertEquals(enabled, this.getProxyManager().isProxiesEnabled());
-	}
-	
-	private void delaySettingData() {
-		isSetEnabled = false;
-	}
-	
-	private void performSettingData() throws CoreException {
-		IProxyData[] data = (IProxyData[]) dataCache.values().toArray(new IProxyData[dataCache.size()]);
-		this.getProxyManager().setProxyData(data);
-		for (int i = 0; i < data.length; i++) {
-			IProxyData proxyData = data[i];
-			assertProxyDataEqual(proxyData);
-		}
-		isSetEnabled = true;
-		dataCache.clear();
-	}
-	
-	public void testIndividualSetAndClear() throws CoreException {
-		setDataTest(IProxyData.HTTP_PROXY_TYPE);
-		setDataTest(IProxyData.HTTPS_PROXY_TYPE);
-		setDataTest(IProxyData.SOCKS_PROXY_TYPE);
-		IProxyData[] data = this.getProxyManager().getProxyData();
-		for (int i = 0; i < data.length; i++) {
-			IProxyData proxyData = data[i];
-			disableProxy(proxyData);
-		}
-	}
-	
-	public void testAllSetAndClear() throws CoreException {
-		delaySettingData();
-		setDataTest(IProxyData.HTTP_PROXY_TYPE);
-		setDataTest(IProxyData.HTTPS_PROXY_TYPE);
-		setDataTest(IProxyData.SOCKS_PROXY_TYPE);
-		performSettingData();
-		
-		delaySettingData();
-		IProxyData[] data = this.getProxyManager().getProxyData();
-		for (int i = 0; i < data.length; i++) {
-			IProxyData proxyData = data[i];
-			disableProxy(proxyData);
-		}
-		performSettingData();
-	}
-
-	public void testSetWhenDisabled() throws CoreException {
-		setProxiesEnabled(false);
-		String type = IProxyData.HTTP_PROXY_TYPE;
-		setHost(type);
-	}
-
-	public void testDisableAfterSet() throws CoreException {
-		String type = IProxyData.HTTP_PROXY_TYPE;
-		setHost(type);
-		IProxyData data = this.getProxyManager().getProxyData(type);
-		setProxiesEnabled(false);
-		assertProxyDataEqual(data);
-	}
-	
-	public void testSimpleHost() throws CoreException {
-		setDataTest(IProxyData.HTTP_PROXY_TYPE);
-		setDataTest(IProxyData.HTTPS_PROXY_TYPE);
-		setDataTest(IProxyData.SOCKS_PROXY_TYPE);
-		
-		IProxyData[] allData = this.getProxyManager().getProxyDataForHost("www.randomhot.com");
-		assertEquals(3, allData.length);
-		
-		IProxyData data = this.getProxyManager().getProxyDataForHost("www.randomhot.com", IProxyData.HTTP_PROXY_TYPE);
-		assertNotNull(data);
-		
-		allData = this.getProxyManager().getProxyDataForHost("localhost");
-		assertEquals(0, allData.length);
-		
-		data = this.getProxyManager().getProxyDataForHost("localhost", IProxyData.HTTP_PROXY_TYPE);
-		assertNull(data);
-	}
-	
-	public void testHostPattern() throws CoreException {
-		setDataTest(IProxyData.HTTP_PROXY_TYPE);
-		setDataTest(IProxyData.HTTPS_PROXY_TYPE);
-		setDataTest(IProxyData.SOCKS_PROXY_TYPE);
-		
-		String[] oldHosts = this.getProxyManager().getNonProxiedHosts();
-		this.getProxyManager().setNonProxiedHosts(new String[] { "*ignore.com" });
-		
-		IProxyData[] allData = this.getProxyManager().getProxyDataForHost("www.randomhot.com");
-		assertEquals(3, allData.length);
-		
-		IProxyData data = this.getProxyManager().getProxyDataForHost("www.randomhot.com", IProxyData.HTTP_PROXY_TYPE);
-		assertNotNull(data);
-		
-		allData = this.getProxyManager().getProxyDataForHost("www.ignore.com");
-		assertEquals(0, allData.length);
-		
-		data = this.getProxyManager().getProxyDataForHost("www.ignore.com", IProxyData.HTTP_PROXY_TYPE);
-		assertNull(data);
-		
-		allData = this.getProxyManager().getProxyDataForHost("ignore.com");
-		assertEquals(0, allData.length);
-		
-		data = this.getProxyManager().getProxyDataForHost("ignore.com", IProxyData.HTTP_PROXY_TYPE);
-		assertNull(data);
-		
-		this.getProxyManager().setNonProxiedHosts(oldHosts);
-	}
-
-}
diff --git a/tests/org.eclipse.core.tests.net/test.xml b/tests/org.eclipse.core.tests.net/test.xml
deleted file mode 100644
index 96b5b35..0000000
--- a/tests/org.eclipse.core.tests.net/test.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Net Automated Tests" default="run" basedir=".">
-
-  <!-- The property ${eclipse-home} should be passed into this script -->
-  
-  <!-- sets the properties eclipse-home, and library-file -->
-  <property name="eclipse-home" value="${basedir}/../../"/>
-  <property name="plugin-name" value="org.eclipse.core.tests.net"/>
-  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>
-  <property name="org.eclipse.net.tests" value="org.eclipse.net.tests"/>
-  <property name="net-home" value="${eclipse-home}/plugins/${org.eclipse.net.tests}"/>
-
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-  <delete>
-      <fileset dir="${eclipse-home}" includes="org*.xml"/>
-    </delete>
-  </target>
-
-  <!-- This target defines the tests that need to be run. -->
-  <target name="suite">
-    <property name="location" value="${eclipse-home}/net_test_workspace"/>
-    <delete dir="${location}" quiet="true"/>
-
-    <!-- Session Test ** Team Core ** -->
-    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${location}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" value="org.eclipse.core.tests.net.AllNetTests"/>
-    </ant>
-    
-  </target>
-  
-  <!-- This target holds code to cleanup the testing environment after the tests -->
-  <!-- have been run. You can use this to delete temporary files that are created. -->
-  <target name="cleanup">
-  </target>
-
-  <!-- This target runs the test suite. Any actions that need to happen after all -->
-  <!-- the tests have been run should go here. -->
-  <target name="run" depends="init,suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-  </target>
-
-  <!-- This target runs the performance test suites. -->
-  <target name="performance">
-  </target>
-
-</project>
diff --git a/tests/org.eclipse.jsch.tests/.classpath b/tests/org.eclipse.jsch.tests/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/tests/org.eclipse.jsch.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/tests/org.eclipse.jsch.tests/.cvsignore b/tests/org.eclipse.jsch.tests/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/tests/org.eclipse.jsch.tests/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/tests/org.eclipse.jsch.tests/.project b/tests/org.eclipse.jsch.tests/.project
deleted file mode 100644
index 19cda45..0000000
--- a/tests/org.eclipse.jsch.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jsch.tests</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/tests/org.eclipse.jsch.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.jsch.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 7f24500..0000000
--- a/tests/org.eclipse.jsch.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: JSch Tests Plug-in
-Bundle-SymbolicName: org.eclipse.jsch.tests
-Bundle-Version: 1.0.0
-Bundle-Activator: org.eclipse.jsch.tests.Activator
-Bundle-Vendor: Eclipse.org
-Require-Bundle: org.eclipse.core.runtime
-Eclipse-LazyStart: true
diff --git a/tests/org.eclipse.jsch.tests/build.properties b/tests/org.eclipse.jsch.tests/build.properties
deleted file mode 100644
index 34d2e4d..0000000
--- a/tests/org.eclipse.jsch.tests/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .
diff --git a/tests/org.eclipse.jsch.tests/src/org/eclipse/jsch/tests/Activator.java b/tests/org.eclipse.jsch.tests/src/org/eclipse/jsch/tests/Activator.java
deleted file mode 100644
index bb43ab1..0000000
--- a/tests/org.eclipse.jsch.tests/src/org/eclipse/jsch/tests/Activator.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.jsch.tests;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.jsch.tests";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.core/.classpath b/tests/org.eclipse.team.tests.core/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/tests/org.eclipse.team.tests.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/tests/org.eclipse.team.tests.core/.cvsignore b/tests/org.eclipse.team.tests.core/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/tests/org.eclipse.team.tests.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/tests/org.eclipse.team.tests.core/.project b/tests/org.eclipse.team.tests.core/.project
deleted file mode 100644
index 587dbe1..0000000
--- a/tests/org.eclipse.team.tests.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.team.tests.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/tests/org.eclipse.team.tests.core/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.team.tests.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 8e416cd..0000000
--- a/tests/org.eclipse.team.tests.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,49 +0,0 @@
-#Thu Aug 24 12:01:59 EDT 2006
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
diff --git a/tests/org.eclipse.team.tests.core/about.html b/tests/org.eclipse.team.tests.core/about.html
deleted file mode 100644
index 4602330..0000000
--- a/tests/org.eclipse.team.tests.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.core/build-tests.xml b/tests/org.eclipse.team.tests.core/build-tests.xml
deleted file mode 100644
index 9a16b11..0000000
--- a/tests/org.eclipse.team.tests.core/build-tests.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-<project name="Build Team Sniff" basedir="." default="init">
-
-  <property name="root" value="${basedir}/.."/>
-  <property name="temp" value="${root}/__temp"/>
-  <property name="plugins" value="${temp}/eclipse/plugins"/>
-
-  <target name="init">
-    <tstamp/>
-
-    <delete dir="${temp}"/>
-    <mkdir dir="${plugins}"/>
-
-    <antcall target="buildPlugin">
-      <param name="pluginName" value="org.eclipse.core.tests.harness" />
-      <param name="jarName" value="testharness.jar" />
-    </antcall>
-    
-    <antcall target="buildPlugin">
-      <param name="pluginName" value="org.eclipse.team.tests.core" />
-      <param name="jarName" value="teamtests.jar" />
-    </antcall>
-
-    <zip zipfile="${basedir}/teamSniff${DSTAMP}.zip"
-       basedir="${temp}"
-    />
-
-    <delete dir="${temp}"/>
-    <eclipse.refreshLocal resource="org.eclipse.team.tests.core"/>
-  </target>
-
-  <target name="buildPlugin">
-    <copy todir="${plugins}/${pluginName}">
-      <fileset dir="${root}/${pluginName}"/>
-    </copy>
-    <jar jarfile="${plugins}/${pluginName}/${jarName}"
-         basedir="${plugins}/${pluginName}/bin"
-    />
-    <delete dir="${plugins}/${pluginName}/bin"/>
-  </target>
-
-</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.core/build.properties b/tests/org.eclipse.team.tests.core/build.properties
deleted file mode 100644
index ccf9dab..0000000
--- a/tests/org.eclipse.team.tests.core/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.teamtests.jar=src/
-bin.includes=about.html,plugin.xml,*.jar,test.xml
diff --git a/tests/org.eclipse.team.tests.core/plugin.xml b/tests/org.eclipse.team.tests.core/plugin.xml
deleted file mode 100644
index 6ecf81c..0000000
--- a/tests/org.eclipse.team.tests.core/plugin.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.team.tests.core"
-   name="Eclipse Team Core Tests"
-   version="3.1.0"
-   provider-name="Eclipse.org">
-
-   <runtime>
-      <library name="teamtests.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui.ide" optional="true"/>
-      <import plugin="org.eclipse.ui.views" optional="true"/>
-      <import plugin="org.eclipse.jface.text" optional="true"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor" optional="true"/>
-      <import plugin="org.eclipse.ui.editors" optional="true"/>
-      <import plugin="org.eclipse.core.tests.harness"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.team.core"/>
-      <import plugin="org.eclipse.team.cvs.core"/>
-      <import plugin="org.eclipse.team.ui"/>
-      <import plugin="org.eclipse.team.cvs.ui"/>
-      <import plugin="org.eclipse.compare"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.junit"/>
-      <import plugin="org.eclipse.core.tests.resources"/>
-      <import plugin="org.eclipse.ui.navigator"/>
-      <import plugin="org.eclipse.core.filesystem"/>
-      <import plugin="org.eclipse.compare.tests"/>
-   </requires>
-
-<!-- *************** Repository Providers **************** -->
-   <extension
-         point="org.eclipse.team.core.repository">
-      <repository
-            class="org.eclipse.team.tests.core.RepositoryProviderBic"
-            id="org.eclipse.team.tests.core.bic-provider">
-      </repository>
-   </extension>
-   <extension
-         point="org.eclipse.team.core.repository">
-      <repository
-            class="org.eclipse.team.tests.core.RepositoryProviderNaish"
-            id="org.eclipse.team.tests.core.naish-provider">
-      </repository>
-   </extension>
-<!-- *************** Bad provider that is not registered **************** 
-	<extension
-         point="org.eclipse.team.core.repository">
-      <repository
-      		id="org.eclipse.team.tests.core.other"
-            class="org.eclipse.team.tests.core.RepositoryProviderOtherSport">
-      </repository>
-	</extension>
-	-->
-   <extension
-         point="org.eclipse.team.core.repository">
-      <repository
-            class="org.eclipse.team.tests.core.RepositoryProviderWithLinking"
-            id="org.eclipse.team.tests.core.linking">
-      </repository>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="Team Test Views"
-            id="org.eclipse.team.tests.core">
-      </category>
-      <view
-            name="Content Provider Test View"
-            category="org.eclipse.team.tests.core"
-            class="org.eclipse.team.tests.ui.views.ContentProviderTestView"
-            id="org.eclipse.team.tests.ui.views.ContentProviderTestView">
-      </view>
-   </extension>
-   <extension
-         point="org.eclipse.team.core.storageMergers">
-      <storageMerger
-            class="org.eclipse.team.tests.core.TestStorageMerger"
-            extensions="blah"
-            id="org.eclipse.team.tests.core.storageMerger1"/>
-      <contentTypeBinding
-            contentTypeId="org.eclipse.team.tests.core.content-type1"
-            storageMergerId="org.eclipse.team.tests.core.storageMerger1"/>
-   </extension>
-   <extension
-         point="org.eclipse.core.runtime.contentTypes">
-      <content-type
-            id="org.eclipse.team.tests.core.content-type1"
-            name="org.eclipse.team.tests.core.content-type1"
-            priority="normal"/>
-   </extension>
-</plugin>
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamTests.java
deleted file mode 100644
index 5ff47c6..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamTests.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.tests.resources.ResourceTest;
-
-public class AllTeamTests extends ResourceTest {
-
-	/**
-	 * Constructor for CVSClientTest.
-	 */
-	public AllTeamTests() {
-		super();
-	}
-
-	/**
-	 * Constructor for CVSClientTest.
-	 * @param name
-	 */
-	public AllTeamTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTest(RepositoryProviderTests.suite());
-		suite.addTest(StreamTests.suite());
-		suite.addTest(StorageMergerTests.suite());
-		return suite;
-	}
-}
-
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamUITests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamUITests.java
deleted file mode 100644
index 198465f..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/AllTeamUITests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.tests.resources.ResourceTest;
-import org.eclipse.team.tests.core.mapping.ScopeTests;
-
-public class AllTeamUITests extends ResourceTest {
-
-	public AllTeamUITests() {
-		super();
-	}
-
-	public AllTeamUITests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTest(ScopeTests.suite());
-		return suite;
-	}
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderBic.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderBic.java
deleted file mode 100644
index eefcb1c..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderBic.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core;
-
-import org.eclipse.core.resources.IFileModificationValidator;
-import org.eclipse.core.resources.team.IMoveDeleteHook;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.RepositoryProvider;
-
-public class RepositoryProviderBic extends RepositoryProvider {
-	
-	final public static String NATURE_ID = "org.eclipse.team.tests.core.bic-provider";
-	
-	private IMoveDeleteHook mdh;
-	private IFileModificationValidator mv;
-	
-	/*
-	 * @see RepositoryProvider#configureProject()
-	 */
-	public void configureProject() throws CoreException {
-	}
-
-	/*
-	 * @see RepositoryProvider#getID()
-	 */
-	public String getID() {
-		return NATURE_ID;
-	}
-	/*
-	 * @see IProjectNature#deconfigure()
-	 */
-	public void deconfigure() throws CoreException {
-	}
-	
-	/*
-	 * @see RepositoryProvider#getFileModificationValidator()
-	 */
-	public IFileModificationValidator getFileModificationValidator() {
-		return mv;
-	}
-
-	/*
-	 * @see RepositoryProvider#getMoveDeleteHook()
-	 */
-	public IMoveDeleteHook getMoveDeleteHook() {
-		return mdh;
-	}
-	
-	public void setModificationValidator(IFileModificationValidator mv) {
-		this.mv = mv;
-	}
-	
-	public void setMoveDeleteHook(IMoveDeleteHook mdh) {
-		this.mdh = mdh;
-	}
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderNaish.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderNaish.java
deleted file mode 100644
index 768d63c..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderNaish.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core;
-
-import org.eclipse.core.resources.IFileModificationValidator;
-import org.eclipse.core.resources.team.IMoveDeleteHook;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.RepositoryProvider;
-
-public class RepositoryProviderNaish extends RepositoryProvider {
-	
-	final public static String NATURE_ID = "org.eclipse.team.tests.core.naish-provider";
-	private IMoveDeleteHook mdh;
-	private IFileModificationValidator mv;
-	/*
-	 * @see RepositoryProvider#configureProject()
-	 */
-	public void configureProject() throws CoreException {
-	}
-
-	/*
-	 * @see RepositoryProvider#getID()
-	 */
-	public String getID() {
-		return NATURE_ID;
-	}
-	/*
-	 * @see IProjectNature#deconfigure()
-	 */
-	public void deconfigure() throws CoreException {
-	}
-	
-	public void setModificationValidator(IFileModificationValidator mv) {
-		this.mv = mv;
-	}
-	
-	public void setMoveDeleteHook(IMoveDeleteHook mdh) {
-		this.mdh = mdh;
-	}
-	/*
-	 * @see RepositoryProvider#getFileModificationValidator()
-	 */
-	public IFileModificationValidator getFileModificationValidator() {
-		return mv;
-	}
-
-	/*
-	 * @see RepositoryProvider#getMoveDeleteHook()
-	 */
-	public IMoveDeleteHook getMoveDeleteHook() {
-		return mdh;
-	}
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderOtherSport.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderOtherSport.java
deleted file mode 100644
index 19ff714..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderOtherSport.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.RepositoryProvider;
-
-public class RepositoryProviderOtherSport extends RepositoryProvider {
-	
-	final public static String NATURE_ID = "org.eclipse.team.tests.core.other";
-
-	/*
-	 * @see RepositoryProvider#configureProject()
-	 */
-	public void configureProject() throws CoreException {
-	}
-
-	/*
-	 * @see RepositoryProvider#getID()
-	 */
-	public String getID() {
-		return NATURE_ID;
-	}
-	/*
-	 * @see IProjectNature#deconfigure()
-	 */
-	public void deconfigure() throws CoreException {
-	}
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTests.java
deleted file mode 100644
index 6ba6cb8..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTests.java
+++ /dev/null
@@ -1,471 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core;
-
-import java.io.ByteArrayInputStream;
-import java.util.*;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.team.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-
-public class RepositoryProviderTests extends TeamTest {
-	public RepositoryProviderTests() {
-		super();
-	}
-	
-	public RepositoryProviderTests(String name) {
-		super(name);
-	}
-	
-	public static Test suite() {
-		TestSuite suite = new TestSuite(RepositoryProviderTests.class);
-		return new TestSetup(suite);
-		//return new testSetup(new RepositoryProviderTests("test"));
-	}
-	
-	public void testProvidersRegistered() throws CoreException, TeamException {
-		List repoProviderIds = new ArrayList(Arrays.asList(RepositoryProvider.getAllProviderTypeIds()));
-		assertEquals(true, repoProviderIds.contains(RepositoryProviderBic.NATURE_ID));
-		assertEquals(true, repoProviderIds.contains(RepositoryProviderNaish.NATURE_ID));
-		assertEquals(false, repoProviderIds.contains(RepositoryProviderOtherSport.NATURE_ID));
-	}
-	
-	public void testGetProviderGeneric() throws CoreException, TeamException {
-		IProject project = getUniqueTestProject("testGetProviderGeneric1");
-		IProject project2 = getUniqueTestProject("testGetProviderGeneric2");
-		
-		// test that adding a non registered provider doesn't work
-		boolean good = false;
-		try {
-			RepositoryProvider.map(project, RepositoryProviderOtherSport.NATURE_ID);
-		} catch (TeamException e) {
-			good = true;
-		}
-		assertTrue(good);
-		
-		// adding a valid team provider should be fine
-		RepositoryProvider.map(project, RepositoryProviderNaish.NATURE_ID);
-		RepositoryProvider.map(project2, RepositoryProviderNaish.NATURE_ID);
-		RepositoryProvider provider1 = RepositoryProvider.getProvider(project);
-		RepositoryProvider provider2 = RepositoryProvider.getProvider(project2);
-		assertTrue(provider1 != null && provider1.getID().equals(RepositoryProviderNaish.NATURE_ID));
-		assertTrue(provider2 != null && provider2.getID().equals(RepositoryProviderNaish.NATURE_ID));
-		assertTrue(provider1.getProject().equals(project) && provider2.getProject().equals(project2));
-		
-		// remapping a provider is allowed
-		RepositoryProvider.map(project, RepositoryProviderBic.NATURE_ID);	
-		provider1 = RepositoryProvider.getProvider(project);
-		assertTrue(provider1 != null && provider1.getID().equals(RepositoryProviderBic.NATURE_ID));
-				
-		// closed or non-existant projects cannot be associated with a provider
-		IProject closedProject = getUniqueTestProject("testGetProviderGenericClosed");
-		IProject nonExistantProject = ResourcesPlugin.getWorkspace().getRoot().getProject("nonExistant");
-		closedProject.close(null);
-		assertTrue(RepositoryProvider.getProvider(closedProject) == null);
-		assertTrue(RepositoryProvider.getProvider(nonExistantProject) == null);
-		
-		// removing the nature removes the provider association
-		RepositoryProvider.unmap(project);
-		RepositoryProvider.unmap(project2);
-		assertTrue(RepositoryProvider.getProvider(project)==null);
-		assertTrue(RepositoryProvider.getProvider(project2)==null);
-	}
-	
-	public void testGetProviderById() throws CoreException, TeamException {
-		IProject project1 = getUniqueTestProject("testGetProviderById_1");
-		IProject project2 = getUniqueTestProject("testGetProviderById_2");
-		
-		// adding a valid team provider should be fine
-		RepositoryProvider.map(project1, RepositoryProviderBic.NATURE_ID);
-		RepositoryProvider.map(project2, RepositoryProviderNaish.NATURE_ID);
-		assertTrue(RepositoryProvider.getProvider(project1, RepositoryProviderBic.NATURE_ID)!=null);
-		assertTrue(RepositoryProvider.getProvider(project2, RepositoryProviderNaish.NATURE_ID)!=null);
-		
-		// closed or non-existant projects cannot be associated with a provider
-		IProject closedProject = getUniqueTestProject("testGetProviderGenericClosed");
-		IProject nonExistantProject = ResourcesPlugin.getWorkspace().getRoot().getProject("nonExistant");
-		closedProject.close(null);
-		assertTrue(RepositoryProvider.getProvider(closedProject, "id") == null);
-		assertTrue(RepositoryProvider.getProvider(nonExistantProject, "id") == null);
-		
-		// removing the nature removes the provider association
-		RepositoryProvider.unmap(project1);
-		RepositoryProvider.unmap(project2);
-		assertTrue(RepositoryProvider.getProvider(project1, RepositoryProviderBic.NATURE_ID)==null);
-		assertTrue(RepositoryProvider.getProvider(project2, RepositoryProviderNaish.NATURE_ID)==null);
-	}
-	
-	public void testFileModificationValidator() throws CoreException, TeamException {
-		IProject project = getUniqueTestProject("testFileModificationValidator");
-		
-		// adding a valid team provider should be fine
-		RepositoryProvider.map(project, RepositoryProviderBic.NATURE_ID);
-		RepositoryProviderBic bicProvider = (RepositoryProviderBic)RepositoryProvider.getProvider(project, RepositoryProviderBic.NATURE_ID);
-		assertTrue(bicProvider!=null);
-		
-		// test that validator gets called by team core dispatching
-		final boolean[] called = new boolean[] {false};
-		bicProvider.setModificationValidator(new FileModificationValidator() {
-			// can't test validate edit here because it is only called from editors
-			public IStatus validateEdit(IFile[] files, FileModificationValidationContext context) {
-				return null;
-			}
-			public IStatus validateSave(IFile file) {
-				called[0] = true;
-				return getTeamTestStatus(IStatus.OK);
-			}
-		});
-		IFile file = project.getFile("test.txt");
-		file.create(new ByteArrayInputStream("test".getBytes()), true, null);
-		file.setContents(new ByteArrayInputStream("test2".getBytes()), true, false, null);
-		assertTrue(called[0] == true);
-		
-		// test that validator can veto a setContents
-		called[0] = false;
-		bicProvider.setModificationValidator(new FileModificationValidator() {
-			// can't test validate edit here because it is only called from editors
-			public IStatus validateEdit(IFile[] files, FileModificationValidationContext context) {
-				return null;
-			}
-			public IStatus validateSave(IFile file) {
-				called[0] = true;
-				return getTeamTestStatus(IStatus.ERROR);
-			}
-		});
-		try {
-			file.setContents(new ByteArrayInputStream("test3".getBytes()), true, false, null);
-			fail("validate hook should veto this setContents");
-		} catch(CoreException e) {
-			assertTrue(called[0] == true);
-		}
-		
-		// test that default validator allows the modification
-		bicProvider.setModificationValidator(null);
-		file.setContents(new ByteArrayInputStream("test4".getBytes()), true, false, null);	
-	}
-	
-	public void testMoveDeleteHook() throws CoreException, TeamException {
-		final IProject project = getUniqueTestProject("testMoveDeleteHook");
-		
-		// adding a valid team provider should be fine
-		RepositoryProvider.map(project, RepositoryProviderBic.NATURE_ID);
-		RepositoryProviderBic bicProvider = (RepositoryProviderBic)RepositoryProvider.getProvider(project, RepositoryProviderBic.NATURE_ID);
-		assertTrue(bicProvider!=null);
-		
-		// only testing that dispatching works, resources plugin is testing the rest of the API
-		final boolean[] called = new boolean[] {false, false, false, false, false, false};
-		IMoveDeleteHook hook = new IMoveDeleteHook() {
-			public boolean deleteFile(IResourceTree tree,	IFile file,	int updateFlags, IProgressMonitor monitor) {
-				called[0] = true;
-				return false;
-			}
-			public boolean deleteFolder(IResourceTree tree, IFolder folder, int updateFlags, IProgressMonitor monitor) {
-				called[1] = true;
-				return false;
-			}
-			public boolean deleteProject(IResourceTree tree, IProject project, int updateFlags, IProgressMonitor monitor) {
-				called[2] = true;
-				return false;
-			}
-			public boolean moveFile(IResourceTree tree, IFile source, IFile destination, int updateFlags, IProgressMonitor monitor) {
-				called[3] = true;
-				return false;
-			}
-			public boolean moveFolder(IResourceTree tree,	IFolder source,	IFolder destination, int updateFlags, IProgressMonitor monitor) {
-				called[4] = true;
-				return false;
-			}
-			public boolean moveProject(IResourceTree tree, IProject source, IProjectDescription description, int updateFlags, IProgressMonitor monitor) {
-				called[5] = true;
-				return false;
-			}
-		};
-		bicProvider.setMoveDeleteHook(hook);
-		
-		IResource[] resources = buildResources(project, new String[] {"deleteFile.txt", "moveFile.txt", "deletedFolder/", "moveFolder/"});
-		ensureExistsInWorkspace(resources, true);
-		resources[0].delete(false, null);
-		resources[1].move(resources[1].getFullPath().removeLastSegments(1).append("movedFile_NEW"), false, null);
-		resources[2].delete(false, null);
-		resources[3].move(resources[3].getFullPath().removeLastSegments(1).append("movedFolder"), false, null);
-		// moving using the description allows the moved project to have natures ids or origination
-		IProjectDescription desc = project.getDescription();
-		desc.setName("movedProject");
-		project.move(desc, false, null);
-		IProject newProject = ResourcesPlugin.getWorkspace().getRoot().getProject("movedProject");
-		bicProvider = (RepositoryProviderBic)RepositoryProvider.getProvider(newProject);
-		bicProvider.setMoveDeleteHook(hook);
-		newProject.delete(true, null);
-		for (int i = 0; i < called.length; i++) {
-			assertTrue(called[i]);
-		}
-	}
-	
-	public void testMoveDeleteHookBetweenProjects() throws CoreException, TeamException {
-		final IProject projectA = getUniqueTestProject("testMoveDeleteHookBetweenProjects_A");
-		final IProject projectB = getUniqueTestProject("testMoveDeleteHookBetweenProjects_B");
-		final IProject projectC = getUniqueTestProject("testMoveDeleteHookBetweenProjects_C");
-		
-		// adding a valid team provider should be fine
-		RepositoryProvider.map(projectA, RepositoryProviderBic.NATURE_ID);
-		final RepositoryProviderBic bicProvider = (RepositoryProviderBic)RepositoryProvider.getProvider(projectA, RepositoryProviderBic.NATURE_ID);
-		RepositoryProvider.map(projectB, RepositoryProviderNaish.NATURE_ID);
-		final RepositoryProviderNaish naishProvider = (RepositoryProviderNaish)RepositoryProvider.getProvider(projectB, RepositoryProviderNaish.NATURE_ID);
-		assertTrue(bicProvider!=null && naishProvider!=null);
-		
-		// only testing that dispatching works, resources plugin is testing the rest of the API
-		final boolean[] calledProjectA = new boolean[] {false, false};
-		bicProvider.setMoveDeleteHook(new IMoveDeleteHook() {
-			public boolean deleteFile(IResourceTree tree,	IFile file,	int updateFlags, IProgressMonitor monitor) {
-				return false;
-			}
-			public boolean deleteFolder(IResourceTree tree, IFolder folder, int updateFlags, IProgressMonitor monitor) {
-				return false;
-			}
-			public boolean deleteProject(IResourceTree tree, IProject project, int updateFlags, IProgressMonitor monitor) {				
-				return false;
-			}
-			public boolean moveFile(IResourceTree tree, IFile source, IFile destination, int updateFlags, IProgressMonitor monitor) {
-				assertTrue(bicProvider.getProject().equals(source.getProject()));
-				calledProjectA[0] = true;
-				return false;
-			}
-			public boolean moveFolder(IResourceTree tree,	IFolder source,	IFolder destination, int updateFlags, IProgressMonitor monitor) {
-				assertTrue(bicProvider.getProject().equals(source.getProject()));
-				calledProjectA[1] = true;
-				return false;
-			}
-			public boolean moveProject(IResourceTree tree, IProject source, IProjectDescription description, int updateFlags, IProgressMonitor monitor) {
-				return false;
-			}
-		});
-		
-		final boolean[] calledProjectB = new boolean[] {false, false};
-		naishProvider.setMoveDeleteHook(new IMoveDeleteHook() {
-			public boolean deleteFile(IResourceTree tree,	IFile file,	int updateFlags, IProgressMonitor monitor) {
-				return false;
-			}
-			public boolean deleteFolder(IResourceTree tree, IFolder folder, int updateFlags, IProgressMonitor monitor) {
-				return false;
-			}
-			public boolean deleteProject(IResourceTree tree, IProject project, int updateFlags, IProgressMonitor monitor) {				
-				return false;
-			}
-			public boolean moveFile(IResourceTree tree, IFile source, IFile destination, int updateFlags, IProgressMonitor monitor) {
-				assertTrue(bicProvider.getProject().equals(destination.getProject()));
-				calledProjectB[0] = true;
-				return false;
-			}
-			public boolean moveFolder(IResourceTree tree, IFolder source,	IFolder destination, int updateFlags, IProgressMonitor monitor) {
-				assertTrue(bicProvider.getProject().equals(destination.getProject()));
-				calledProjectB[1] = true;
-				return false;
-			}
-			public boolean moveProject(IResourceTree tree, IProject source, IProjectDescription description, int updateFlags, IProgressMonitor monitor) {
-				return false;
-			}
-		});
-		
-		// test that moving files/folders between two projects with providers calls the destination
-		IResource[] resources = buildResources(projectA, new String[] {"moveFile.txt", "moveFolder/"});
-		ensureExistsInWorkspace(resources, true);
-		resources[0].move(projectB.getFullPath().append("moveFile_new.txt"), false, null);
-		resources[1].move(projectB.getFullPath().append("movedFolder"), false, null);
-		for (int i = 0; i < calledProjectA.length; i++) {
-			assertTrue(calledProjectA[i]  && calledProjectB[i]==false);
-		}
-		
-		// test that moving files/folders from a project with a provider to a project without a provider calls the
-		// hooks for the source
-		calledProjectA[0] = false; calledProjectA[1] = false;
-		calledProjectB[0] = false; calledProjectB[1] = false;
-		resources = buildResources(projectA, new String[] {"anotherMovedFiled.txt", "anotherMovedFolder/"});
-		ensureExistsInWorkspace(resources, true);
-		resources[0].move(projectC.getFullPath().append("moveFileOther_new.txt"), false, null);
-		resources[1].move(projectC.getFullPath().append("movedFolderOther"), false, null);
-		for (int i = 0; i < calledProjectA.length; i++) {
-			assertTrue(calledProjectA[i] && calledProjectB[i]==false);
-		}
-	}
-	
-	public void testMapSuccess() throws CoreException, TeamException {
-		IProject project = getUniqueTestProject("testLinkSuccess");
-		buildResources(project, new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" }, true);
-		
-		// Test shallow link when URI not allowed
-		IFolder folder = project.getFolder("link");
-		folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		RepositoryProviderWithLinking.setCanHandleLinking(true);
-		RepositoryProviderWithLinking.setCanHandleLinkedURI(false);
-		RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID);
-		
-		// Test shallow link when URI is allowed
-		RepositoryProvider.unmap(project);
-		folder.delete(false, null);
-		folder = project.getFolder("link");
-		folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		RepositoryProviderWithLinking.setCanHandleLinking(true);
-		RepositoryProviderWithLinking.setCanHandleLinkedURI(true);
-		RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID);
-		
-		// Test deep link when URI is allowed
-		RepositoryProvider.unmap(project);
-		folder.delete(false, null);
-		folder = project.getFolder("folder1/folder2");
-		folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		RepositoryProviderWithLinking.setCanHandleLinking(true);
-		RepositoryProviderWithLinking.setCanHandleLinkedURI(true);
-		RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID);
-	}
-	
-	public void testLinkSuccess() throws CoreException, TeamException {
-		IProject project = getUniqueTestProject("testLinkSuccess");
-		buildResources(project, new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" }, true);
-		RepositoryProviderWithLinking.setCanHandleLinking(true);
-		RepositoryProviderWithLinking.setCanHandleLinkedURI(false);
-		RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID);
-		// Test shallow link when URI not allowed
-		IFolder folder = project.getFolder("link");
-		folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		// Test shallow link when URI is allowed
-		RepositoryProviderWithLinking.setCanHandleLinkedURI(true);
-		folder.delete(false, null);
-		folder = project.getFolder("link");
-		folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		// Test deep link
-		RepositoryProviderWithLinking.setCanHandleLinkedURI(true);
-		folder = project.getFolder("folder1/folder2");
-		folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-	}
-
-	public void testMapFailure() throws CoreException, TeamException {
-		IProject project = getUniqueTestProject("testMapFailure");
-		buildResources(project, new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" }, true);
-		IFolder folder = project.getFolder("link");
-		folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		RepositoryProviderWithLinking.setCanHandleLinking(false);
-		RepositoryProviderWithLinking.setCanHandleLinkedURI(false);
-		// Test shallow link
-		boolean fail = true;
-		try {
-			RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID);
-		} catch (TeamException e) {
-			if (e.getStatus().getCode() != IResourceStatus.LINKING_NOT_ALLOWED) {
-				throw e;
-			}
-			fail = false;
-		}
-		if (fail)
-			fail("Link should be disallowed");
-		// Test deep link
-		folder.delete(false, null);
-		folder = project.getFolder("folder1/folder2");
-		folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		fail = true;
-		try {
-			RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID);
-		} catch (TeamException e) {
-			if (e.getStatus().getCode() != IResourceStatus.LINKING_NOT_ALLOWED) {
-				throw e;
-			}
-			fail = false;
-		}
-		if (fail)
-			fail("Link should be disallowed");
-		
-		// Test deep failure when shallow is allowed
-		folder.delete(false, null);
-		RepositoryProviderWithLinking.setCanHandleLinking(true);
-		folder = project.getFolder("folder1/folder2");
-		folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		fail = true;
-		try {
-			RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID);
-		} catch (TeamException e) {
-			if (e.getStatus().getCode() != IResourceStatus.LINKING_NOT_ALLOWED) {
-				throw e;
-			}
-			fail = false;
-		}
-		if (fail)
-			fail("Link should be disallowed");
-	}
-	
-
-	public void testLinkFailure() throws CoreException, TeamException {
-		IProject project = getUniqueTestProject("testLinkFailure");
-		buildResources(project, new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" }, true);
-		RepositoryProviderWithLinking.setCanHandleLinking(false);
-		RepositoryProviderWithLinking.setCanHandleLinkedURI(false);
-		RepositoryProvider.map(project, RepositoryProviderWithLinking.TYPE_ID);
-		IFolder folder = project.getFolder("link");
-		// Test shallow link
-		boolean fail = true;
-		try {
-			folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		} catch (CoreException e) {
-			if (e.getStatus().getCode() != IResourceStatus.LINKING_NOT_ALLOWED) {
-				throw e;
-			}
-			fail = false;
-		}
-		if (fail)
-			fail("Link should be disallowed");
-		// Test deep link
-		folder = project.getFolder("folder1/folder2");
-		fail = true;
-		try {
-			folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		} catch (CoreException e) {
-			if (e.getStatus().getCode() != IResourceStatus.LINKING_NOT_ALLOWED) {
-				throw e;
-			}
-			fail = false;
-		}
-		if (fail)
-			fail("Link should be disallowed");
-		
-		// Test deep link when shallow allowed
-		RepositoryProviderWithLinking.setCanHandleLinking(true);
-		folder = project.getFolder("folder1/folder2");
-		fail = true;
-		try {
-			folder.createLink(getRandomLocation(), IResource.ALLOW_MISSING_LOCAL, null);
-		} catch (CoreException e) {
-			if (e.getStatus().getCode() != IResourceStatus.LINKING_NOT_ALLOWED) {
-				throw e;
-			}
-			fail = false;
-		}
-		if (fail)
-			fail("Link should be disallowed");
-	}
-	
-	public void testIsShared() throws CoreException, TeamException {
-		IProject project1 = getUniqueTestProject("testGetProviderById_1");
-		RepositoryProvider.map(project1, RepositoryProviderBic.NATURE_ID);
-		assertTrue(RepositoryProvider.isShared(project1));
-		project1.close(null);
-		assertTrue(!RepositoryProvider.isShared(project1));
-		project1.open(null);
-		assertTrue(RepositoryProvider.isShared(project1));
-		RepositoryProvider.unmap(project1);
-		assertTrue(!RepositoryProvider.isShared(project1));
-	}
-	
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTypeBic.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTypeBic.java
deleted file mode 100644
index 0e46678..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderTypeBic.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.*;
-
-public class RepositoryProviderTypeBic extends RepositoryProviderType {
-	File createdFile;
-	/**
-	 * @see org.eclipse.team.core.RepositoryProviderType#getProjectSetCapability()
-	 */
-	public ProjectSetCapability getProjectSetCapability() {
-		return new ProjectSetCapability() {
-			public IProject[] addToWorkspace(String[] referenceStrings,
-					ProjectSetSerializationContext context,
-					IProgressMonitor monitor) throws TeamException {
-				return new IProject[0];
-			}
-
-			public void projectSetCreated(File file,
-					ProjectSetSerializationContext context,
-					IProgressMonitor monitor) {
-				createdFile = file;
-			}
-		};
-	}
-
-	/**
-	 * @return File
-	 */
-	public File getCreatedFile() {
-		return createdFile;
-	}
-
-	/**
-	 * Sets the createdFile.
-	 * @param createdFile The createdFile to set
-	 */
-	public void setCreatedFile(File createdFile) {
-		this.createdFile = createdFile;
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderWithLinking.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderWithLinking.java
deleted file mode 100644
index 8038d5b..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/RepositoryProviderWithLinking.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.RepositoryProvider;
-
-/**
- * This class is used to text resource linking
- */
-public class RepositoryProviderWithLinking extends RepositoryProvider {
-	
-	final public static String TYPE_ID = "org.eclipse.team.tests.core.linking";
-	
-	private static boolean canHandleLinking = false;
-
-	private static boolean canHandleLinkedURI;
-	
-	/**
-	 * @see org.eclipse.team.core.RepositoryProvider#configureProject()
-	 */
-	public void configureProject() throws CoreException {
-	}
-	/**
-	 * @see org.eclipse.team.core.RepositoryProvider#getID()
-	 */
-	public String getID() {
-		return TYPE_ID;
-	}
-	/**
-	 * @see org.eclipse.core.resources.IProjectNature#deconfigure()
-	 */
-	public void deconfigure() throws CoreException {
-	}
-
-	public static void setCanHandleLinking(boolean canHandleLinking) {
-		RepositoryProviderWithLinking.canHandleLinking = canHandleLinking;
-	}
-
-	/**
-	 * @see org.eclipse.team.core.RepositoryProvider#canHandleLinkedResources()
-	 */
-	public boolean canHandleLinkedResources() {
-		return canHandleLinking;
-	}
-	
-	public static void setCanHandleLinkedURI(boolean canHandleLinkedURI) {
-		RepositoryProviderWithLinking.canHandleLinkedURI = canHandleLinkedURI;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.core.RepositoryProvider#canHandleLinkedResourceURI()
-	 */
-	public boolean canHandleLinkedResourceURI() {
-		return RepositoryProviderWithLinking.canHandleLinkedURI;
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StorageMergerTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StorageMergerTests.java
deleted file mode 100644
index a45bbf4..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StorageMergerTests.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core;
-
-import junit.framework.Test;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.team.core.Team;
-import org.eclipse.team.core.mapping.IStorageMerger;
-
-public class StorageMergerTests extends TeamTest {
-
-	public StorageMergerTests() {
-		super();
-	}
-	
-	public StorageMergerTests(String name) {
-		super(name);
-	}
-	
-	public static Test suite() {
-		return suite(StorageMergerTests.class);
-	}
-	
-	public void testGetByExtension() {
-		IStorageMerger merger = new Team().createStorageMerger("blah");
-		assertNotNull("Merger for extension is missing", merger);
-	}
-	
-	public void testGetByContentType() {
-		IStorageMerger merger = new Team().createStorageMerger(Platform.getContentTypeManager().getContentType("org.eclipse.team.tests.core.content-type1"));
-		assertNotNull("Merger for extension is missing", merger);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StreamTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StreamTests.java
deleted file mode 100644
index 3dbe2b7..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/StreamTests.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import org.eclipse.team.internal.core.streams.CRLFtoLFInputStream;
-import org.eclipse.team.internal.core.streams.LFtoCRLFInputStream;
-
-public class StreamTests extends TestCase {
-
-	public StreamTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		return new TestSuite(StreamTests.class);
-	}
-
-	public void testCRLFtoLFInputStream() throws IOException {
-		testCRLFtoLFTranslation("", "");
-		testCRLFtoLFTranslation("a", "a");
-		testCRLFtoLFTranslation("abc", "abc");
-		testCRLFtoLFTranslation("\n", "\n");
-		testCRLFtoLFTranslation("\r", "\r");
-		testCRLFtoLFTranslation("\r\n", "\n");
-		testCRLFtoLFTranslation("x\r\r\n\rx", "x\r\n\rx");
-		testCRLFtoLFTranslation("The \r\n quick brown \n fox \r\n\n\r\r\n jumped \n\n over \r\n the \n lazy dog.\r\n",
-			"The \n quick brown \n fox \n\n\r\n jumped \n\n over \n the \n lazy dog.\n");
-	}
-
-	private void testCRLFtoLFTranslation(String pre, String post) throws IOException {
-		ByteArrayInputStream bin = new ByteArrayInputStream(pre.getBytes());
-		InputStream in = new CRLFtoLFInputStream(bin);
-		InputStream inExpected = new ByteArrayInputStream(post.getBytes());
-		assertStreamEquals(inExpected, in);
-	}
-
-	public void testLFtoCRLFInputStream() throws IOException {
-		testLFtoCRLFTranslation("", "");
-		testLFtoCRLFTranslation("a", "a");
-		testLFtoCRLFTranslation("abc", "abc");
-		testLFtoCRLFTranslation("\n", "\r\n");
-		testLFtoCRLFTranslation("\r", "\r");
-		testLFtoCRLFTranslation("\r\n", "\r\r\n");
-		testLFtoCRLFTranslation("x\r\r\n\rx", "x\r\r\r\n\rx");
-		testLFtoCRLFTranslation("The \r\n quick brown \n fox \r\n\n\r\r\n jumped \n\n over \r\n the \n lazy dog.\r\n",
-			"The \r\r\n quick brown \r\n fox \r\r\n\r\n\r\r\r\n jumped \r\n\r\n over \r\r\n the \r\n lazy dog.\r\r\n");
-	}
-	
-	private void testLFtoCRLFTranslation(String pre, String post) throws IOException {
-		ByteArrayInputStream bin = new ByteArrayInputStream(pre.getBytes());
-		InputStream in = new LFtoCRLFInputStream(bin);
-		InputStream inExpected = new ByteArrayInputStream(post.getBytes());
-		assertStreamEquals(inExpected, in);
-	}
-
-	private void assertStreamEquals(InputStream in1, InputStream in2) throws IOException {
-		try {
-			for (;;) {
-				int byte1 = in1.read();
-				int byte2 = in2.read();
-				assertEquals("Streams not equal", byte1, byte2);
-				if (byte1 == -1) break;
-			}
-		} finally {
-			in1.close();
-			in2.close();
-		}
-	}
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TeamTest.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TeamTest.java
deleted file mode 100644
index d335261..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TeamTest.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core;
-
-import org.eclipse.compare.tests.WorkspaceTest;
-
-public class TeamTest extends WorkspaceTest {
-
-	public TeamTest() {
-		super();
-	}
-	public TeamTest(String name) {
-		super(name);
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TestStorageMerger.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TestStorageMerger.java
deleted file mode 100644
index 6a1a1cd..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/TestStorageMerger.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core;
-
-import java.io.OutputStream;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.mapping.IStorageMerger;
-
-public class TestStorageMerger implements IStorageMerger {
-	
-	public static final String MERGE_FAILURE = "merge failed";
-
-	public boolean canMergeWithoutAncestor() {
-		return false;
-	}
-
-	public IStatus merge(OutputStream output, String outputEncoding,
-			IStorage ancestor, IStorage target, IStorage other,
-			IProgressMonitor monitor) throws CoreException {
-		return new Status(IStatus.ERROR, "org.eclipse.team.tests.core", CONFLICT, MERGE_FAILURE, null);
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeBuildingTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeBuildingTests.java
deleted file mode 100644
index 692c5d0..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeBuildingTests.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core.mapping;
-
-import java.lang.reflect.InvocationTargetException;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.mapping.ISynchronizationScopeManager;
-import org.eclipse.team.core.mapping.provider.SynchronizationScopeManager;
-import org.eclipse.team.internal.core.mapping.ResourceMappingScope;
-import org.eclipse.team.tests.core.TeamTest;
-import org.eclipse.team.ui.synchronize.ModelOperation;
-
-public class ScopeBuildingTests extends TeamTest {
-
-	private static final RuntimeException PROMPT_EXCEPTION = new RuntimeException();
-	protected static final String TEST_MODEL_PROVIDER_ID = "id1";
-
-	private class TestResourceMappingOperation extends ModelOperation {
-
-		protected TestResourceMappingOperation(ResourceMapping[] selectedMappings, final ResourceMapping[] additionalMappings) {
-			super(null, new SynchronizationScopeManager("", selectedMappings, ResourceMappingContext.LOCAL_CONTEXT, false) {	
-				public void initialize(
-						IProgressMonitor monitor) throws CoreException {
-					super.initialize(monitor);
-					// Add the additional test mappings to the scope
-					for (int i = 0; i < additionalMappings.length; i++) {
-						ResourceMapping mapping = additionalMappings[i];
-						ResourceTraversal[] traversals = mapping.getTraversals(getContext(), monitor);
-						((ResourceMappingScope)getScope()).addMapping(mapping, traversals);
-						// TODO: The additional mappings and additional resources boolean will not be set
-						// TODO: This may bring in mappings from the resources model provider
-					}
-				}
-			});
-		}
-		protected void endOperation(IProgressMonitor monitor) throws InvocationTargetException {
-			ISynchronizationScopeManager manager= getScopeManager();
-			manager.dispose();
-			super.endOperation(monitor);
-		}
-
-		protected void execute(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-			// Do nothing since we're just testing the scope build
-		}
-		
-		protected void promptForInputChange(IProgressMonitor monitor) {
-			// Throw an exception to indicate that a prompt was requested
-			throw PROMPT_EXCEPTION;
-		}
-	}
-	
-	public static Test suite() {
-		return suite(ScopeBuildingTests.class);
-	}
-	
-	public ScopeBuildingTests() {
-		super();
-	}
-
-	public ScopeBuildingTests(String name) {
-		super(name);
-	}
-	
-	private void expectPrompt(TestResourceMappingOperation op) {
-		try {
-			op.run(new NullProgressMonitor());
-		} catch (InvocationTargetException e) {
-			fail("Unexpected exception: " + e.getTargetException().getMessage());
-		} catch (InterruptedException e) {
-			fail("Unexpected interupt");
-		} catch (RuntimeException e) {
-			if (e == PROMPT_EXCEPTION)
-				return;
-			throw e;
-		}
-		fail("Expected prompt did not occur");
-	}
-	
-	private ResourceMapping getMapping(final IProject project, final IResource[] resources, final int depth) {
-		return new ResourceMapping() {
-		
-			public ResourceTraversal[] getTraversals(ResourceMappingContext context,
-					IProgressMonitor monitor) throws CoreException {
-				return new ResourceTraversal[] { new ResourceTraversal(resources, depth, IResource.NONE)};
-			}
-		
-			public IProject[] getProjects() {
-				return new IProject[] { project };
-			}
-		
-			public Object getModelObject() {
-				return new Object();
-			}
-			
-			public String getModelProviderId() {
-				return TEST_MODEL_PROVIDER_ID;
-			}
-		    public boolean contains(ResourceMapping mapping) {
-		    	return false;
-		    }
-		
-		};
-	}
-	
-	public void testAdditionalResources() throws CoreException {
-		IProject project = createProject(new String[]{"file.txt", "folder1/file2.txt", "folder1/folder2/file3.txt", "folder3/"});
-		ResourceMapping[] mappings = new ResourceMapping[] { 
-				getMapping(project, new IResource[] { project.getFolder("folder1") }, IResource.DEPTH_INFINITE)
-		};
-		ResourceMapping[] additionalMappings = new ResourceMapping[] { 
-				getMapping(project, new IResource[] { project.getFile("file.txt")}, IResource.DEPTH_INFINITE)
-		};
-		TestResourceMappingOperation op = new TestResourceMappingOperation(mappings, additionalMappings);
-		expectPrompt(op);
-	}
-
-
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeTestSubscriber.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeTestSubscriber.java
deleted file mode 100644
index 04fd888..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeTestSubscriber.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core.mapping;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.core.variants.IResourceVariantComparator;
-
-public class ScopeTestSubscriber extends Subscriber {
-
-	public String getName() {
-		return "Scope Tests";
-	}
-
-	public IResourceVariantComparator getResourceComparator() {
-		return new IResourceVariantComparator() {
-			public boolean isThreeWay() {
-				return false;
-			}
-			public boolean compare(IResourceVariant base, IResourceVariant remote) {
-				return false;
-			}
-			public boolean compare(IResource local, IResourceVariant remote) {
-				return false;
-			}
-		
-		};
-	}
-
-	public SyncInfo getSyncInfo(IResource resource) throws TeamException {
-		return null;
-	}
-
-	public boolean isSupervised(IResource resource) throws TeamException {
-		return false;
-	}
-
-	public IResource[] members(IResource resource) throws TeamException {
-		if (resource instanceof IContainer) {
-			IContainer c = (IContainer) resource;
-			try {
-				return c.members();
-			} catch (CoreException e) {
-				throw TeamException.asTeamException(e);
-			}
-		}
-		return  new IResource[0];
-	}
-
-	public void refresh(IResource[] resources, int depth,
-			IProgressMonitor monitor) throws TeamException {
-		// Nothing to do
-	}
-
-	public IResource[] roots() {
-		return ResourcesPlugin.getWorkspace().getRoot().getProjects();
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeTests.java
deleted file mode 100644
index 9e53219..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/core/mapping/ScopeTests.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.core.mapping;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.team.core.mapping.ISynchronizationScopeManager;
-import org.eclipse.team.core.subscribers.SubscriberScopeManager;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.team.tests.core.TeamTest;
-import org.eclipse.ui.*;
-
-public class ScopeTests extends TeamTest {
-
-	public static Test suite() {
-		return suite(ScopeTests.class);
-	}
-	private IProject project1, project2, project3;
-	private IWorkingSet workingSet;
-	private SubscriberScopeManager manager;
-	
-	public ScopeTests() {
-		super();
-	}
-
-	public ScopeTests(String name) {
-		super(name);
-	}
-	
-	protected void setUp() throws Exception {
-		super.setUp();
-		project1 = createProject("p1", new String[]{"file.txt"});
-		project2 = createProject("p2", new String[]{"file.txt"});
-		project3 = createProject("p3", new String[]{"file.txt"});
-		IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager();
-		workingSet = manager.createWorkingSet("TestWS", new IProject[] { project1 });
-		manager.addWorkingSet(workingSet);
-	}
-	
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		this.manager.dispose();
-		project1.delete(true, null);
-		project2.delete(true, null);
-		IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager();
-		manager.removeWorkingSet(workingSet);
-	}
-	
-	private void assertProperContainment(ISynchronizationScopeManager sm) throws OperationCanceledException, InterruptedException {
-		waitForManager(sm);
-		testProjectContainment(sm, project1);
-		testProjectContainment(sm, project2);
-		testProjectContainment(sm, project3);
-	}
-
-	private void waitForManager(ISynchronizationScopeManager sm) throws OperationCanceledException, InterruptedException {
-		Job.getJobManager().join(sm, null);
-	}
-
-	private void testProjectContainment(ISynchronizationScopeManager sm, IProject project) {
-		if (isInWorkingSet(project) && !isInScope(sm, project))
-			fail(project.getName() + " is in the working set but not in the scope");
-		if (!isInWorkingSet(project) && isInScope(sm, project))
-			fail(project.getName() + " is in scope but not in the working set");
-	}
-
-	private boolean isInScope(ISynchronizationScopeManager sm, IProject project) {
-		return sm.getScope().contains(project);
-	}
-
-	private boolean isInWorkingSet(IProject project) {
-		IAdaptable[] elements = workingSet.getElements();
-		for (int i = 0; i < elements.length; i++) {
-			IAdaptable adaptable = elements[i];
-			if (adaptable.equals(project))
-				return true;
-		}
-		return false;
-	}
-
-	private ISynchronizationScopeManager createScopeManager() throws CoreException, OperationCanceledException, InterruptedException {
-		ScopeTestSubscriber subscriber = new ScopeTestSubscriber();
-		manager = new SubscriberScopeManager(subscriber.getName(), new ResourceMapping[] { Utils.getResourceMapping(workingSet) }, subscriber, true);
-		manager.initialize(new NullProgressMonitor());
-		waitForManager(manager);
-		return manager;
-	}
-	
-	public void testScopeExpansion() throws CoreException, OperationCanceledException, InterruptedException {
-		ISynchronizationScopeManager sm = createScopeManager();
-		assertProperContainment(sm);
-		workingSet.setElements( new IProject[] { project1, project2 });
-		assertProperContainment(sm);
-	}
-
-//	public void testScopeContraction() throws OperationCanceledException, InterruptedException, CoreException {
-//		workingSet.setElements( new IProject[] { project1, project2 });
-//		ISynchronizationScopeManager sm = createScopeManager();
-//		assertProperContainment(sm);
-//		workingSet.setElements( new IProject[] { project1 });
-//		assertProperContainment(sm);
-//	}
-
-}
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/AllTeamSynchronizeTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/AllTeamSynchronizeTests.java
deleted file mode 100644
index 2b0eb01..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/AllTeamSynchronizeTests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ui.synchronize;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.tests.resources.ResourceTest;
-
-public class AllTeamSynchronizeTests extends ResourceTest {
-
-	public AllTeamSynchronizeTests() {
-		super();
-	}
-
-	public AllTeamSynchronizeTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTest(ResourceContentTests.suite());
-		return suite;
-	}
-}
-
diff --git a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/ResourceContentTests.java b/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/ResourceContentTests.java
deleted file mode 100644
index 360d989..0000000
--- a/tests/org.eclipse.team.tests.core/src/org/eclipse/team/tests/ui/synchronize/ResourceContentTests.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ui.synchronize;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.team.core.mapping.ISynchronizationContext;
-import org.eclipse.team.core.mapping.ISynchronizationScope;
-import org.eclipse.team.internal.ui.mapping.ResourceModelContentProvider;
-import org.eclipse.team.tests.core.TeamTest;
-import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
-
-public class ResourceContentTests extends TeamTest {
-
-	public static class TestableResourceModelContentProvider extends ResourceModelContentProvider {
-		
-		private final ISynchronizationScope scope;
-		private final ISynchronizationContext context;
-		private final ISynchronizePageConfiguration configuration;
-
-		public TestableResourceModelContentProvider(ISynchronizationScope scope, ISynchronizationContext context, ISynchronizePageConfiguration configuration) {
-			this.scope = scope;
-			this.context = context;
-			this.configuration = configuration;
-		}
-
-		public ISynchronizePageConfiguration getConfiguration() {
-			return configuration;
-		}
-
-		public ISynchronizationContext getContext() {
-			return context;
-		}
-
-		public ISynchronizationScope getScope() {
-			return scope;
-		}
-	}
-	
-	public static Test suite() {
-		return suite(ResourceContentTests.class);
-	}
-
-	private ResourceModelContentProvider provider;
-	
-	public ResourceContentTests() {
-		super();
-	}
-
-	public ResourceContentTests(String name) {
-		super(name);
-	}
-	
-	protected void setUp() throws Exception {
-		initializeProvider(null, null, null);
-		super.setUp();
-	}
-	
-	protected void tearDown() throws Exception {
-		cleanupProvider();
-		super.tearDown();
-	}
-
-	private void initializeProvider(ISynchronizationScope scope, ISynchronizationContext context, ISynchronizePageConfiguration configuration) {
-		cleanupProvider();
-		provider = new TestableResourceModelContentProvider(scope, context, configuration);
-	}
-	
-	private void cleanupProvider() {
-		if (provider != null)
-			provider.dispose();
-		provider = null;
-	}
-	
-	private void assertContentMatches(IProject project, String[] leaves) {
-		assertContentsMatch(asResources(project, leaves));
-	}
-	
-	private void assertContentsMatch(IResource[] resources) {
-		Set paths = getPaths(ResourcesPlugin.getWorkspace().getRoot());
-		Set resourceSet = new HashSet();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			resourceSet.add(resource);
-		}
-		for (Iterator iterator = paths.iterator(); iterator.hasNext();) {
-			TreePath path = (TreePath) iterator.next();
-			Object o = path.getLastSegment();
-			// Just remove the object, we'll check for any remaining resources below
-			if (resourceSet.remove(o)) {
-				iterator.remove();
-			}
-		}
-		if (!resourceSet.isEmpty()) {
-			fail("Tree entries were missing for " + toString(resourceSet));
-		}
-		if (!paths.isEmpty()) {
-			fail("Tree entries were found for " + toString(paths));
-		}
-	}
-
-	private Set getPaths(Object root) {
-		Set result = new HashSet();
-		Object[] elements = provider.getElements(root);
-		for (int i = 0; i < elements.length; i++) {
-			Object object = elements[i];
-			TreePath path = new TreePath(new Object[] { object });
-			Set childPaths = getPaths(provider, path);
-			result.addAll(childPaths);
-		}
-		return result;
-	}
-	
-	private Set getPaths(ResourceModelContentProvider provider, TreePath path) {
-		Object[] children = provider.getChildren(path);	
-		Set result = new HashSet();
-		if (children.length == 0)
-			result.add(path);
-		for (int i = 0; i < children.length; i++) {
-			Object object = children[i];
-			TreePath childPath = path.createChildPath(object);
-			Set childPaths = getPaths(provider, childPath);
-			result.addAll(childPaths);
-		}
-		return result;
-	}
-
-	private String toString(Set set) {
-		StringBuffer buffer = new StringBuffer();
-		boolean addComma = false;
-		for (Iterator iterator = set.iterator(); iterator.hasNext();) {
-			Object resource = iterator.next();
-			buffer.append(toString(resource));
-			if (addComma)
-				buffer.append(", ");
-			addComma = true;
-		}
-		return buffer.toString();
-	}
-
-	private String toString(Object object) {
-		if (object instanceof IResource) {
-			return ((IResource)object).getFullPath().toString();
-		}
-		if (object instanceof TreePath) {
-			return toString(((TreePath)object).getLastSegment());
-		}
-		return object.toString();
-	}
-
-	private IResource[] asResources(IProject project, String[] resourcePaths) {
-		List resources = new ArrayList();
-		for (int i = 0; i < resourcePaths.length; i++) {
-			String path = resourcePaths[i];
-			if (path.endsWith("/")) {
-				resources.add(project.getFolder(path));
-			} else {
-				resources.add(project.getFile(path));
-			}
-		}
-		return (IResource[]) resources.toArray(new IResource[resources.size()]);
-	}
-
-	public void testFileContent() throws CoreException {
-		String[] files = new String[] {"file.txt", "file2.txt", "folder1/file3.txt", "folder1/folder2/file4.txt"};
-		IProject project = createProject(files);
-		files = new String[] {".project", "file.txt", "file2.txt", "folder1/file3.txt", "folder1/folder2/file4.txt"};
-		assertContentMatches(project, files);
-	}
-	
-	public void testFileChange() throws CoreException {
-//		String[] files = new String[] {"file.txt", "file2.txt", "folder1/file3.txt", "folder1/folder2/file4.txt"};
-//		IProject project = createProject(files);
-		
-	}
-
-
-
-}
diff --git a/tests/org.eclipse.team.tests.core/test.xml b/tests/org.eclipse.team.tests.core/test.xml
deleted file mode 100644
index 4abe51d..0000000
--- a/tests/org.eclipse.team.tests.core/test.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Team Automated Tests" default="run" basedir=".">
-
-  <!-- The property ${eclipse-home} should be passed into this script -->
-  
-  <!-- sets the properties eclipse-home, and library-file -->
-  <property name="eclipse-home" value="${basedir}/../../"/>
-  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>
-  <property name="org.eclipse.team.tests.core" value="org.eclipse.team.tests.core"/>
-  <property name="team-home" value="${eclipse-home}/plugins/${org.eclipse.team.tests.core}"/>
-
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-  </target>
-
-  <!-- This target defines the tests that need to be run. -->
-  <target name="suite">
-    <property name="location" value="${eclipse-home}/team_test_workspace"/>
-    <delete dir="${location}" quiet="true"/>
-
-    <!-- Session Test ** Team Core ** -->
-    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${location}"/>
-      <property name="plugin-name" value="org.eclipse.team.tests.core"/>
-      <property name="classname" value="org.eclipse.team.tests.core.AllTeamTests"/>
-    </ant>
-  	
-    <!-- Session Test ** Team UI ** -->
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${location}"/>
-      <property name="plugin-name" value="org.eclipse.team.tests.core"/>
-      <property name="classname" value="org.eclipse.team.tests.core.AllTeamUITests"/>
-    </ant>
-    
-  </target>
-  
-  <!-- This target holds code to cleanup the testing environment after the tests -->
-  <!-- have been run. You can use this to delete temporary files that are created. -->
-  <target name="cleanup">
-  </target>
-
-  <!-- This target runs the test suite. Any actions that need to happen after all -->
-  <!-- the tests have been run should go here. -->
-  <target name="run" depends="init,suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="org.eclipse.team.tests.core.xml"/>
-    </ant>
-  </target>
-
-  <!-- This target runs the performance test suites. -->
-  <target name="performance">
-  </target>
-
-</project>
diff --git a/tests/org.eclipse.team.tests.cvs.core/.classpath b/tests/org.eclipse.team.tests.cvs.core/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/tests/org.eclipse.team.tests.cvs.core/.cvsignore b/tests/org.eclipse.team.tests.cvs.core/.cvsignore
deleted file mode 100644
index 77c5177..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-selfhost*
-cvsSniff*.zip
diff --git a/tests/org.eclipse.team.tests.cvs.core/.project b/tests/org.eclipse.team.tests.cvs.core/.project
deleted file mode 100644
index e8769c4..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.team.tests.cvs.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/tests/org.eclipse.team.tests.cvs.core/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.team.tests.cvs.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 773dd72..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,65 +0,0 @@
-#Thu Aug 24 12:06:10 EDT 2006

-eclipse.preferences.version=1

-org.eclipse.jdt.core.builder.cleanOutputFolder=clean

-org.eclipse.jdt.core.builder.duplicateResourceTask=warning

-org.eclipse.jdt.core.builder.invalidClasspath=abort

-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch

-org.eclipse.jdt.core.circularClasspath=error

-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled

-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled

-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2

-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

-org.eclipse.jdt.core.compiler.compliance=1.4

-org.eclipse.jdt.core.compiler.debug.lineNumber=generate

-org.eclipse.jdt.core.compiler.debug.localVariable=generate

-org.eclipse.jdt.core.compiler.debug.sourceFile=generate

-org.eclipse.jdt.core.compiler.doc.comment.support=enabled

-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100

-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.deprecation=warning

-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled

-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled

-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore

-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore

-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore

-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore

-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning

-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning

-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning

-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore

-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private

-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore

-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning

-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public

-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private

-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning

-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning

-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning

-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore

-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning

-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore

-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled

-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning

-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore

-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore

-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore

-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning

-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore

-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled

-org.eclipse.jdt.core.compiler.problem.unusedImport=error

-org.eclipse.jdt.core.compiler.problem.unusedLocal=error

-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled

-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error

-org.eclipse.jdt.core.compiler.source=1.3

-org.eclipse.jdt.core.incompatibleJDKLevel=ignore

-org.eclipse.jdt.core.incompleteClasspath=error

diff --git a/tests/org.eclipse.team.tests.cvs.core/about.html b/tests/org.eclipse.team.tests.cvs.core/about.html
deleted file mode 100644
index 4602330..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/benchmark/cvsui_benchmark.bat b/tests/org.eclipse.team.tests.cvs.core/benchmark/cvsui_benchmark.bat
deleted file mode 100644
index 2e3f73e..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/benchmark/cvsui_benchmark.bat
+++ /dev/null
@@ -1,42 +0,0 @@
-@echo off

-rem Team UI benchmark script

-rem Expects the following plugins to be installed:

-rem   org.eclipse.core.tests.harness

-rem   org.eclipse.team.core

-rem   org.eclipse.team.cvs.core

-rem   org.eclipse.team.cvs.ui

-rem   org.eclipse.team.tests.cvs

-rem   org.eclipse.team.tests.cvs.core

-rem   org.eclipse.team.ui

-rem   org.junit

-

-set ROOT=D:\PerformanceTesting

-

-set ECLIPSE=%ROOT%\eclipse

-set REPOSITORY_PROPERTIES=%ROOT%\repository.properties

-

-rem set TEST=cvsui.benchmark.all

-rem set REPEAT=25

-rem set IGNOREFIRST=-ignorefirst

-

-set TEST=cvsui.benchmark.command

-set REPEAT=25

-set IGNOREFIRST=-ignorefirst

-

-set LOG=%ROOT%\%TEST%.xml

-set WORKSPACE=%ECLIPSE%\workspace

-set JRE=%ROOT%\jre

-set JAVA=%JRE%\bin\java.exe

-set HARNESS=org.eclipse.team.tests.cvs.core.harness

-

-set VMARGS=-Declipse.cvs.properties=%REPOSITORY_PROPERTIES%

-set PROGARGS=-dev bin -noupdate -application %HARNESS% -test %TEST% -log %LOG% -purge -repeat %REPEAT% %IGNOREFIRST%

-

-pushd %ECLIPSE%

-echo Purging the workspace: %WORKSPACE%

-del /S /F /Q %WORKSPACE% >NUL:

-@echo on

-@echo Running Team UI benchmark test

-%JAVA% -cp startup.jar %VMARGS% org.eclipse.core.launcher.Main %PROGARGS%

-@echo off

-popd
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/benchmark/readme.txt b/tests/org.eclipse.team.tests.cvs.core/benchmark/readme.txt
deleted file mode 100644
index 6f64e0e..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/benchmark/readme.txt
+++ /dev/null
@@ -1,180 +0,0 @@
-README Benchmark Tests
-======================
-
-This plugin provides automated benchmark tests and related support
-programs to locate regressions or improvements between different versions
-of the CVS Team Provider.
-
-For now, all of the tests are targeted towards typical UI workflows.
-This need not be the case.  Should it be necessary, benchmark tests can
-easily be written for lower level core components as well.
-
-
-
-Deploying the Tests
-===================
-
-1. If you have a pre-built plugin available, then you do not need to rebuild
-   the org.eclipse.team.* plugins.  Otherwise you must build these as usual,
-   but you do not need to create a JAR file.  Having all of the compiled
-   classes in the 'bin' directory of each plugin is sufficient.
-
-2. Checkout the matching version of the org.eclipse.team.tests.cvs.core source
-   for your org.eclipse.team.* plugins.  Ensure all dependencies have been
-   satisfied.  Compile as usual.
-   
-3. Checkout and compile org.eclipse.core.tests.harness.
-   
-4. On the target machine, install a matching version of Eclipse in a dedicated
-   test directory.  Also install a suitable JRE for the platform into that
-   directory (should always choose the same one).  
-
-   If you are using Windows, then copy the "teamui_benchmark.bat" script to the
-   directory.  For other platforms, you will need to cook up your own script.
-   You will probably want to change the definition of the "ROOT" variable and
-   other options before running the tests.
-   
-   Copy the template "repository.properties" file to the test directory.  Fill it in.
-   
-   Replace the existing org.eclipse.team.* plugins in the eclipse/plugins
-   directory with the new ones.  Also install org.eclipse.core.tests.harness
-   there.  In the typical case, this just means copying or exporting the projects
-   directly from the workspace where you compiled them to the new location.
-   
-   The test directory structure should look like this:
-     + mytestdirectory/
-       - teamui_benchmark.bat
-       - repository.properties
-         + jre/
-           ... a suitable java runtime ...
-         + eclipse/
-           - install/
-           - readme/
-           - splash/
-           - buildmanifest.properties
-           - startup.jar
-           + plugins/
-             - org.eclipse.core.tests.harness/
-             - org.eclipse.team.core/
-             - org.eclipse.team.ui/
-             - org.eclipse.team.cvs.core/
-             - org.eclipse.team.cvs.ui/
-             - org.eclipse.team.tests.core/
-             - org.eclipse.team.tests.cvs.core/
-             - org.junit/
-             ... and all of the other required Eclipse plugins ...
-            
-5. From a command shell, run the script.  Grab a coffee.
-
-
-
-Running or Debugging the Tests from within Eclipse
-==================================================
-
-1. Checkout and compile the necessary projects (see above).
-
-2. Using the PDE launcher, run the "org.eclipse.team.tests.cvs.core.harness"
-   application with the following arguments:
-   
-   VM Arguments:
-     -Declipse.cvs.properties=<location of your repository.properties file>
-     
-   Program arguments:
-     -test <suite>   : id of suite to run (must be plugged into extension point)
-                       [see plugin.xml file for the list of available tests]
-     -log <file>     : specify a file for logging
-     -nolog          : do not write a log file
-     -repeat <n>     : number of iterations to run
-     -ignorefirst    : ignore (do not record) results from first iteration
-     -purge          : purge all projects from the workspace before each iteration
-     <anything else> : passed verbatim to the org.eclipse.ui.workbench application
-
-
-
-Inspecting the Output
-=====================
-
-1. Checkout and compile the org.eclipse.team.tests.cvs.core project.
-
-2. Note that the log formatting tools require org.apache.xerces to be on the
-   classpath when they are run.  They do not require any other Eclipse
-   components, however.
-   
-3. Run any of the following Java programs:
-
-   org.eclipse.team.tests.ccvs.ui.logformatter.PrintSummaryMain
-   ------------------------------------------------------------
-   
-   Synopsis:
-     Prints a summary of the output of all runs contained in a particular
-     XML log file.  It is not possible to average runs in multiple log files
-     at once without merging the files together on disk.  [Strip the closing
-     tag of the first file, and the opening tag of the second file, then
-     append the second file to the first]
-   
-   Program arguments:
-     <log>       : the path of the log file to print
-     -out <file> : specify an output file, otherwise sends to stdout
-     -csv        : writes the data in comma separated values format
-     -raw        : prints a raw dump without collating or averaging results
-
-
-   org.eclipse.team.tests.ccvs.ui.logformatter.PrintDiffMain
-   ---------------------------------------------------------
-
-   Synopsis:
-     Prints the difference between the average of all runs contained
-     in one XML log file (the newer one) and the average of all runs
-     contained in another XML log file (the older one).  This makes it
-     possible to locate regressions or improvements between versions.
-     
-   Program arguments:
-     <newer log> : the path of the "newer" log file
-     <older log> : the path of the "older" log file
-     -out <file> : specify an output file, otherwise sends to stdout
-     -csv        : writes the data in comma separated values format
-     -t <thresh> : specify the minimum non-negligible absolute % change
-     -i          : ignore negligible changes in results [filter them out]
-
-
-   org.eclipse.team.tests.ccvs.ui.logformatter.LogFormatterUIMain
-   ---------------------------------------------------------
-
-   Synopsis:
-     Provides a GUI frontend to the log formatting tools.  To run this,
-     you must ensure that the SWT DLL is on the java library path.
-
-
-
-What is Being Logged
-====================
-
-At the present date the following information is logged for each test run:
-  - current time
-  - current SDK build number
-  - for JUnit test cases:
-    - test name
-    - fully qualified class name
-  - for groups of benchmark tasks:
-    - name
-  - for benchmark tasks:
-    - name
-    - elapsed time
-  - for exceptions and errors:
-    - type of error (warning, error, failure)
-    - error message
-    - stack trace, if applicable
-    - printout of IStatus contents, if applicable
-
-
-
-NOTES
-=====
-
-Exceptions and errors are not reported through the log formatting tools yet
-since it is difficult to determine automatically which benchmark tasks are
-affected (directly or indirectly) by the error.  For this reason, you should
-MANUALLY INSPECT the generated XML log files and search for elements with
-the name "abort".  Since running the test cases is time consuming, it
-may be better to trim out any affected cases from the log rather than to run
-the whole suite over once again.
diff --git a/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_02_26.integration.all.xml b/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_02_26.integration.all.xml
deleted file mode 100644
index f5e8da2..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_02_26.integration.all.xml
+++ /dev/null
@@ -1,6027 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<log timestamp="01/Mar/2002 15:35:24" sdkbuild="20020226">
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="16221"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="61422"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5367"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="18236"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10725"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="18825"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="9834"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="18957"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6039"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="23454"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="8001"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="25236"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5297"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5718"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4597"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1833"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5077"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1973"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5147"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4877"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2854"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4712"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2253"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4766"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4947"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4687"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4987"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4877"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1142"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4577"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4286"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1662"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="691"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1282"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="591"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1722"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1012"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7174"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1903"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="260"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3194"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1112"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1972"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="400"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="832"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="901"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1121"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="4697"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3605"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="35922"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="7361"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5437"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3005"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5639"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2323"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="12849"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6369"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5348"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4266"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5167"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2404"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6339"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="6088"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5438"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3742"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2603"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4797"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4527"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5698"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="19189"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="16654"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="267841"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="54836"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="31911"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9243"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27680"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="8152"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="42611"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2123"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26728"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1683"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27019"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="11853"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26783"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="9934"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="28531"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="41088"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26799"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="24823"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="13650"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="31375"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="28209"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="32381"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="16013"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="61878"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5441"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="18217"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10933"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="18867"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="9604"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="19047"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6008"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="23544"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7771"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="25477"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5298"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5638"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4686"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1823"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5178"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2003"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5208"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1973"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4987"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2754"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4697"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2253"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4667"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4717"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4486"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4857"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="752"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5067"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1141"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4577"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4276"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1432"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="731"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1242"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="601"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1873"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="952"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7450"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="260"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3284"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1092"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1695"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1983"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1241"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="501"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="801"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="922"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1122"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="4626"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3666"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="36091"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="7542"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5468"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3105"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5688"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1943"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11466"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6239"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5387"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4166"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5378"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2544"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6259"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="6209"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5428"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3765"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2504"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4787"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4556"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5718"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="18807"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="16895"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="275863"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="54629"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="30604"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9092"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26327"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="8112"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="47008"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2042"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26899"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1662"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27009"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="11814"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26508"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="10104"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="28064"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="41940"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26625"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="24546"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="13439"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="31708"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="28331"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="32177"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="16213"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="61383"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5518"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="18107"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10926"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="18717"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="9363"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="19025"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6139"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="23455"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7761"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="25056"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5624"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5708"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4487"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1832"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5297"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1953"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4967"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1953"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4607"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2854"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4596"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2264"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4576"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5028"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="550"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4577"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="781"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5027"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4968"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1141"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4535"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4186"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1432"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="761"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1212"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="581"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1222"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1883"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1259"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="942"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7491"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="410"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1803"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="260"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3104"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1862"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="441"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="841"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="921"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1112"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="4686"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3636"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="36032"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="7451"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5358"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2954"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5588"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2073"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="12108"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6279"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5277"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4156"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5278"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2454"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6520"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5988"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5438"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4056"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2433"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4807"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4496"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5688"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="18727"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="16604"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="277001"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="54932"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="29342"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9364"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26524"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="8082"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="42573"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2063"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26832"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27062"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="12538"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27009"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="9874"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="28388"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="41239"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26940"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="25086"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="13510"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="31443"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="28330"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="32858"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="16401"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="61600"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5167"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="18236"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10795"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="18707"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="9183"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="19098"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5979"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="23534"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7751"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="25493"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5327"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5688"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4617"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1803"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5295"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2063"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5638"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4797"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2834"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4727"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2263"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4817"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4637"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4446"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5128"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4877"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1041"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4476"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4256"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1412"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="711"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1171"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="571"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1021"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="992"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7651"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1913"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="260"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3084"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1862"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1943"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="430"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="811"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="861"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1112"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="4646"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3725"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="35763"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="7691"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5307"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3125"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5568"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1903"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="16341"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6078"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5317"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4357"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6078"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2414"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6609"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="6069"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5388"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3765"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2391"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4797"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4816"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5788"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="19347"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="16614"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="276274"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="55511"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="29107"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9113"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26418"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="8141"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="41845"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2042"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27336"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1662"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27079"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="11817"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27215"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="10054"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="28199"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="41084"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27169"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="24648"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="13970"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="31746"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="28422"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="32233"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="15824"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="61333"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5458"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="18226"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11396"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="19010"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="9383"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="19010"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6489"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="23353"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7835"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="25056"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5228"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5688"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4637"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1822"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5177"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2083"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5147"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4637"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2754"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4768"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2263"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4648"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4847"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4557"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5017"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4872"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4586"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4226"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1592"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="701"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1172"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="591"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1863"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1251"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="972"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7751"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1942"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="271"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3055"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1191"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1853"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2033"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1261"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1423"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="410"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="821"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="941"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1092"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="4577"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3615"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="35531"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="7640"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5338"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3044"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5559"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2133"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="12819"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="620"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6079"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5308"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4156"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5468"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2363"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6389"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5919"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5297"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3845"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2483"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4797"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4727"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5778"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="18735"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="16794"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="274659"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="54602"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="29688"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9153"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26368"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="8092"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="46032"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2043"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27008"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1662"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26788"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="11907"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26514"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="9844"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="28020"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="41551"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26618"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="24454"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="13544"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="31125"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="28398"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="32581"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="15971"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="61589"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5498"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="18216"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11157"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="18787"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="9724"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="18967"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5998"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="23279"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7771"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="25136"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5568"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5678"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4637"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1833"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5097"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2183"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5175"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4897"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2844"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4607"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2233"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4887"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4586"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4587"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4767"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4877"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1041"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4577"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4216"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1432"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="711"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1252"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="651"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1843"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1091"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="922"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7801"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2023"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="271"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2975"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1291"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1122"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1782"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2276"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1371"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="471"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="831"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="902"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1092"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="4577"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3687"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="36031"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="7405"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5428"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3055"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5728"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2113"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="12378"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6399"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5248"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4166"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5377"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2304"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6500"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="6108"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5508"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3816"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2684"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4787"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5087"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5679"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="18897"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="16554"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="273155"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="54258"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="29472"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9153"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26378"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="8176"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="43873"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2063"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27182"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1672"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27129"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="11897"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26973"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="10132"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="28561"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="40892"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26855"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="24675"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="14221"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="31199"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="28291"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="32907"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="16294"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="61574"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5168"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="18130"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11196"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="18746"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="9444"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="18997"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6138"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="23564"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7811"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="25417"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5217"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5719"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4647"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1813"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5207"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1993"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4927"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5398"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2854"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4607"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2243"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4697"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4777"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4586"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4867"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5158"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1051"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4467"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4346"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1442"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="701"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1072"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="621"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1892"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="410"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1793"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="270"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3314"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1192"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1632"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2023"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="471"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="831"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="901"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1081"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="4686"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3735"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="35777"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="7260"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5467"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2975"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5898"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1913"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="13900"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6489"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5438"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4176"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5358"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2554"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6239"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="6009"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5408"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3826"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2663"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4807"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4536"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5698"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="19188"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="16584"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="271816"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="54534"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="29112"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9273"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26477"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="8150"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="43313"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2083"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26698"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1663"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26799"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="12106"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26528"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="9794"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="28387"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="41280"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26888"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="24869"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="13449"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="30916"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="28311"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="32407"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="16163"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="61373"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5278"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="18203"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11326"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="18657"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10405"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="19054"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6089"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="23474"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7691"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="25396"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5207"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5628"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4597"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1833"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5027"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2093"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5127"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5098"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2864"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4696"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2234"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4707"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4746"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4517"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4967"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4947"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1132"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4576"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4246"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1332"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="720"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1202"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="631"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1892"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="922"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7942"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1923"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="270"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3188"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1102"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2023"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1082"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1241"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="481"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="921"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="901"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1112"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="4547"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3645"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="36104"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="7330"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5498"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3064"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5588"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1973"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="12648"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6077"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5378"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4176"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5357"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2334"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6720"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5969"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5387"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3776"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2423"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4797"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4877"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5759"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="18817"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="16980"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="275423"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="54065"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="30004"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9331"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26668"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="8112"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="42638"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2083"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="28111"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1662"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27177"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="11715"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26428"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="10024"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="28133"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="41498"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26658"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="24546"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="13654"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="31576"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="28466"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="32437"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="16299"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="61604"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5258"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="18271"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10935"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="18912"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="9063"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="19117"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6169"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="23393"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7626"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="25427"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5318"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5688"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4727"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1842"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5358"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4867"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4797"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2844"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4791"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2273"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4628"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4667"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4486"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4687"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5678"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1142"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4476"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4426"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1563"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="681"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1201"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="621"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1863"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1051"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="982"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="9363"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1953"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="280"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1331"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3065"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1092"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1813"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2333"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="481"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="831"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1071"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="4666"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3766"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="35972"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="7410"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5398"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3044"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5799"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="12448"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6340"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5348"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4176"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5478"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2313"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6469"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="6019"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5397"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4523"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3155"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5698"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5048"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6019"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="18735"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="16634"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="274940"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="54349"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="30464"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="10043"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26187"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="8392"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="42380"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2073"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27248"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1713"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27420"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="11927"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26706"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="9874"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="28531"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="42284"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26869"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="24629"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="13470"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="31755"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="28401"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="32336"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="16134"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="61968"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5297"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="18257"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11113"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="18747"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="9593"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="19108"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6109"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="23866"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7744"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="25316"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5548"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5719"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4746"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1760"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5188"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2093"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5137"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1993"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5147"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2864"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4607"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2253"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4647"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4666"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4907"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4887"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4867"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1142"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4577"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4266"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1482"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="691"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1072"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="712"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1092"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2193"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1191"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1022"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11373"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1932"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="261"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2974"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1132"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1582"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2023"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="460"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="832"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1181"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1122"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="4587"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3685"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="35682"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="7311"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5328"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2864"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5999"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2012"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="14141"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6629"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5307"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3972"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5197"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2364"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6570"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="6139"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5588"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3775"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2704"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4837"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4547"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5826"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="19205"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="16634"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="275210"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="54323"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="29562"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9133"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26498"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="8071"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="43133"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2083"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26927"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1663"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27510"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="12246"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26628"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="9864"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="28117"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="41109"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27043"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="24926"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="13489"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="31511"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="28396"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="32487"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="16284"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="61600"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5278"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="18296"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11186"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="18777"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10405"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="18954"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5969"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="23364"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7691"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="25752"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5267"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5678"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4867"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1823"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5226"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2083"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4847"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2283"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4777"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2844"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4606"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2264"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4607"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4767"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="580"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4507"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5006"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4887"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1032"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4476"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4306"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1342"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="711"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1172"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="631"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1872"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7751"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1813"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="290"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3485"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1583"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1912"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="400"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="821"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1122"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="4617"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3655"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="36547"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="7441"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5608"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3045"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5507"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2173"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="16604"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="610"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6209"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5257"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4096"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5638"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2334"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6560"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5948"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5388"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3755"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2424"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4787"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4857"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5748"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="19478"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="16581"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="276868"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="54378"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="29308"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9253"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26478"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="8122"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="46595"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2123"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27310"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1672"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27331"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="11867"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26718"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="9769"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="28530"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="41232"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26918"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="24715"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="13770"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="31395"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="28608"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="32304"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="16373"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="62119"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5458"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="18517"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10755"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="18616"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="9664"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="19043"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5989"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="23598"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="8121"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="25257"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5438"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5588"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4546"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1803"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5198"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1972"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5449"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1973"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4797"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2854"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4707"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2263"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4687"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4737"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4576"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4890"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5277"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1042"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4577"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="630"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4296"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1482"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="771"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1082"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="621"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1852"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1032"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10284"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1923"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="260"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2974"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1101"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1673"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2014"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="461"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="831"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="921"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="4827"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3606"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="35641"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="7275"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5738"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3005"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5648"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2003"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="12237"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6429"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5187"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4166"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5388"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2313"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6654"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="6118"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5809"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3875"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2414"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4817"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4586"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5779"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="19148"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="16574"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="271635"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="54669"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="29392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9124"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26598"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="8231"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="45686"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2103"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26959"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1672"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27720"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="11807"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="26733"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="9814"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="28692"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="41231"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27069"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="24841"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="14647"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="31704"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="28632"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="32818"/>
-        </task>
-      </group>
-    </group>
-  </case>
-</log>
diff --git a/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_03_19.integration.all.xml b/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_03_19.integration.all.xml
deleted file mode 100644
index d783a1f..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_03_19.integration.all.xml
+++ /dev/null
@@ -1,4577 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<log timestamp="20/Mar/2002 14:30:14" sdkbuild="20020319">
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2674"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="15162"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2193"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4426"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4817"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4967"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3875"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5361"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1923"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9303"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1793"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="7831"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1483"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1882"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1623"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1683"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1703"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1241"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="992"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="831"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1222"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="290"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1423"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="390"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1663"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="520"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1291"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="701"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1302"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="611"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1222"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="601"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2313"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1201"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1012"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="9444"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1572"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2173"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="831"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2694"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="461"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1032"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1852"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="961"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32442"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="10405"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1552"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2834"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1693"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7561"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2524"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1762"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2384"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1642"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1002"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2114"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2904"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1683"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="4146"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2073"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4436"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3525"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2301"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="207531"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="72365"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3666"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3224"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4135"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="20872"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4086"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4096"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2844"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3986"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1081"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4687"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4306"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4387"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2543"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="26942"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11076"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="10675"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="14451"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2894"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="14922"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4476"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4697"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4706"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3666"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5714"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1783"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9473"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1842"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="7521"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1613"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1882"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1301"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="782"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1742"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="841"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="931"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="801"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1622"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1753"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="591"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1232"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="611"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1132"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="571"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2314"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1031"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6169"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="480"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2526"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2734"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="861"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="440"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1041"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1782"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="932"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32715"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="10425"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1572"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2744"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7931"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2503"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2393"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1543"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="981"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2085"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2904"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1493"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1692"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="4206"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2023"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4477"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3936"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2207"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="217383"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="72154"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3605"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3245"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4216"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="22829"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4046"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3945"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2845"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4176"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1051"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4747"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4176"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3946"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2513"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="26406"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11908"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="10646"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="14140"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2754"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="14862"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4256"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5147"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4708"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3795"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5057"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1922"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9544"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="7881"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1572"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1903"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1703"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="831"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1542"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1533"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="620"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1542"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1542"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="792"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1533"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1553"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="510"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="561"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1312"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="611"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1322"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="561"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2633"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1071"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6465"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="500"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2093"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2674"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1712"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="391"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1052"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1743"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1011"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32568"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="10375"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2744"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1603"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1181"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7921"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2844"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1923"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2350"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1552"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2264"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2844"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1572"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1703"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="4186"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2003"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4827"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3639"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2243"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="218974"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="72604"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3835"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3415"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4218"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1141"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="21791"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3956"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4136"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2794"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4035"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1212"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4637"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4266"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3936"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2583"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="26569"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="12047"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="10655"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="14561"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2734"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="15001"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1952"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4667"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5348"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4797"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4126"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5127"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2033"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9694"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1833"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="7581"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1632"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2033"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="841"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1552"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1260"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="821"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1493"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="540"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1131"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1663"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="510"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="591"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1322"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="611"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1122"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="551"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1042"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2323"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1042"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="8072"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="460"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1483"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2233"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="841"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2744"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="932"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="420"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1857"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="881"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32217"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="10675"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1602"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2724"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1723"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1161"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="8519"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2423"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1772"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2303"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2333"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2854"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1633"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1732"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="4116"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1532"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2043"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4477"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3295"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2233"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="216834"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="74733"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3615"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3595"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4086"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1212"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="20910"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3996"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3895"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2794"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4136"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1070"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4687"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4246"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4457"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2583"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="27639"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="10986"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="10670"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="14561"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2734"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="15342"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1862"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4327"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4497"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4717"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4546"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5138"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2263"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9644"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="7776"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1643"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1802"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="772"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1643"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1612"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1732"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="981"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="972"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="390"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1663"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="490"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1091"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="731"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1322"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="581"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1222"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="541"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2324"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="971"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7210"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1101"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2144"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1181"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="822"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2703"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1692"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="421"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="992"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1603"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1021"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32727"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="10355"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1497"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2674"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1753"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7851"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2724"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1713"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2343"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1663"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="921"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2283"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3105"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1663"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="4156"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2033"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4396"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3255"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2143"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="216621"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="72830"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3786"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3394"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4065"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1102"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="22031"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4086"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4053"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2824"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3986"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1532"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4286"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4166"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3725"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2624"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="27980"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="10964"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11216"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="14601"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2774"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="15325"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1792"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4246"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4757"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5237"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3525"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4867"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1912"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9744"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2022"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="7712"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1582"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2033"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="841"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1803"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="941"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1723"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="290"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1543"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="510"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1201"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="681"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1302"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="651"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1182"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="571"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1081"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2363"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1161"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="982"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6940"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1091"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2183"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3124"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="735"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="431"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1082"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1742"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="911"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32577"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="10385"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2694"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1632"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1172"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="8242"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2854"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1663"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2443"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1663"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2373"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2915"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1673"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="4176"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1505"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4476"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3154"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2133"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="218973"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="73744"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3745"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3415"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4446"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1162"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="22942"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4075"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3956"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2874"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4647"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1102"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4556"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4226"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3876"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2524"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="28050"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11036"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="10905"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="14733"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2604"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="15522"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2133"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4166"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4927"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5087"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3465"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4920"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1953"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9684"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1752"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="7581"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1803"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1703"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="851"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1703"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="630"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1101"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="581"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1262"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="651"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1122"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="611"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1051"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2334"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6569"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1061"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2184"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="852"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2714"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="431"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1522"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="991"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32618"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="10425"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2604"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2263"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1162"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7812"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2574"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1783"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2313"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1593"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2122"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2804"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1602"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1672"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="4096"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1983"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4366"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3014"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2201"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="221419"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="77876"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3786"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3775"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4466"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1271"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="20630"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="410"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4026"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4086"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2854"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4367"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1151"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4727"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4186"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4254"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2554"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="28561"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11056"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11366"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="14371"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2724"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="14981"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2073"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4226"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5257"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4807"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4166"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5829"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2273"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="10025"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="7801"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1643"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1802"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1602"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="841"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1642"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="822"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1407"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="510"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1111"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="291"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1572"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1091"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="731"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1222"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="601"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1232"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="601"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2314"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="981"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6719"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1101"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2624"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="811"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2744"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="451"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1042"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1678"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="982"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32917"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="10345"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1542"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3255"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1793"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1191"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="13009"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2423"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1712"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2394"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1712"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="942"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2313"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2744"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1552"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1683"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="4647"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1993"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4286"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3736"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3795"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="220088"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="74941"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4266"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3124"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4237"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1141"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="21802"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4166"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3866"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2834"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4397"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1101"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4447"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4176"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3945"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2704"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="29052"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11037"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11217"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="14561"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2584"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="15588"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2002"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4186"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4827"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5177"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3776"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5227"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9829"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1812"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="7481"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1642"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1892"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1583"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="851"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1562"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3335"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1483"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1311"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1201"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="932"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1633"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="530"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1221"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="301"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="301"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1342"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1231"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="630"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1122"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="621"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1042"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2303"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="992"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7861"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1091"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2123"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1061"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="851"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1270"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2774"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="390"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1602"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1732"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="981"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32609"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="10367"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2724"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1613"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1171"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7921"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2353"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2283"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2293"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="942"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2273"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2784"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1622"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1703"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="4133"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1552"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1983"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4296"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3575"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2143"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="222856"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="74203"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3635"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3795"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4176"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="23106"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="410"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4176"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4036"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3375"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4266"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1162"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4466"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4216"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3955"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2524"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="28879"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11617"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="10605"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="14991"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2704"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="14631"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4226"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5498"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="5065"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3465"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5438"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9394"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1842"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="7431"/>
-        </task>
-      </group>
-    </group>
-  </case>
-</log>
diff --git a/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_04_24.milestone5.all.xml b/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_04_24.milestone5.all.xml
deleted file mode 100644
index 04fd661..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_04_24.milestone5.all.xml
+++ /dev/null
@@ -1,12053 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<log timestamp="24/Apr/2002 15:53:15" sdkbuild="20020416">
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2564"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3625"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2744"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3806"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6019"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4547"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4536"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2784"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2564"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5638"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1902"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="962"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1853"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1922"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="400"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1702"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2113"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="641"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1282"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="601"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1152"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="531"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1524"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1141"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1673"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="941"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10094"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1782"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1302"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1131"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1161"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1072"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="320"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="912"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1672"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="922"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="10177"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5118"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1603"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1061"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10034"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2764"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1663"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2183"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2177"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="611"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1172"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3024"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3304"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2163"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="81915"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="36993"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4817"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4467"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1087"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="18637"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4847"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4327"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4937"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5047"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2383"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4436"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1953"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2924"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6800"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6431"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7511"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2564"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3675"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2644"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3505"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6109"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1212"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4797"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4837"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2592"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2303"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5749"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1922"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="962"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1993"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1993"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1488"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1993"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1463"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1793"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2183"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="590"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="410"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="591"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1227"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="571"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1212"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="531"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1453"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1251"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1692"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="871"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10234"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1081"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1142"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="310"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1012"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1632"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="811"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="10315"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5207"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1012"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10295"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3118"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2123"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2344"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1192"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="641"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1161"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3145"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3205"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2133"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="83384"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="37044"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4347"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4797"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="981"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="18497"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4977"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4316"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1503"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1483"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4977"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2434"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4486"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1933"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2604"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6930"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6619"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7451"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2424"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3625"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2674"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3565"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6168"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4363"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4526"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3085"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1292"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2473"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5899"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1833"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1061"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2052"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1853"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1922"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1882"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="315"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1833"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1853"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="761"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1272"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="851"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="952"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="481"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1652"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10312"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1763"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1192"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1131"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1051"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="230"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="390"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1602"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1022"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="10535"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5113"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2223"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1162"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10577"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3024"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="291"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2043"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1652"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2454"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1622"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="811"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3135"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3224"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2113"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="82936"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="37477"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4577"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4486"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="992"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="18468"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="470"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5017"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="355"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4356"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4507"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5218"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2674"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4436"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1933"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2954"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6920"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7784"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7310"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2604"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3435"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2814"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3505"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6208"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1493"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4697"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4446"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2844"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1553"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2403"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5668"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1832"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="972"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1872"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2033"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="550"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1543"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1872"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="812"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1642"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="390"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1692"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="811"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1212"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="581"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1141"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="550"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1032"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1692"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="872"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10445"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1782"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1092"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1021"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1182"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1141"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="991"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="270"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="971"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1583"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="851"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="10205"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5197"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2314"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1191"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10325"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3355"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2032"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1583"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2353"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2474"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2103"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="601"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3105"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3355"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2183"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="81434"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="36983"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4457"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1081"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5168"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="971"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="23705"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4727"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4467"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4917"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5368"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2473"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4537"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2003"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2864"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7311"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6529"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7271"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2513"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3525"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2964"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3725"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6019"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1292"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5217"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4787"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2614"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2283"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5598"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2299"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2294"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="480"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1793"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="640"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1882"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1715"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="390"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="540"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="771"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1241"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="651"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1081"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="530"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1663"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="921"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="8633"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1773"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1023"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1181"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1022"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="240"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="942"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1532"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="941"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="10065"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5207"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1872"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1693"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2143"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1212"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="8502"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3054"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2063"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1662"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2143"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2424"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2223"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="611"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3114"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3005"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2163"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="85754"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="37565"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4817"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2313"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4657"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="921"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="24043"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="470"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4566"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4216"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1603"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5117"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5217"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2684"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4948"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2423"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3595"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6823"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9404"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7361"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2554"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3936"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2513"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3716"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5699"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4767"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4486"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2864"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2594"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5798"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1843"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1051"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2063"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1853"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="811"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1703"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="400"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1902"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="751"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1112"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="591"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1031"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="500"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1673"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="811"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="8462"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1201"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1231"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1072"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="260"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="781"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1792"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="882"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="9894"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5117"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2213"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="972"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="9263"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3256"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="460"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2133"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1563"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2423"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2514"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1602"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2203"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="701"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3134"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3284"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2113"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="77276"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38450"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4256"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1662"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4316"/>
-        </task>
-        <task name="Sync View Update action">
-          <abort type="warning" message="Encountered error dialog with title: Problem Occurred">
-          </abort>
-          <result elapsed="8483"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="23183"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4276"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="811"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4528"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5047"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4917"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2493"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4917"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1883"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2814"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7471"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6720"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7070"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2673"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3526"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2643"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3656"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5939"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5248"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4296"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2864"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2393"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5678"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1862"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="962"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1903"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2043"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2194"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2093"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1742"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2013"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="400"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="812"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1282"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="631"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1101"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="560"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1135"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1702"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="851"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="8412"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1713"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="300"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1241"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1122"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1032"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="220"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1502"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="932"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="10167"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5178"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2133"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="9093"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3304"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1672"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2243"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1453"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2524"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2103"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1513"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="711"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3145"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3495"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2123"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="83951"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="37704"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4957"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1692"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4740"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1022"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="22382"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4697"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4366"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4366"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5288"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2454"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5227"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1943"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2534"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6950"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8482"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7260"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2764"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3635"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2703"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3796"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6360"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1261"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4637"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4517"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2874"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2494"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6249"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2033"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1061"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2073"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1892"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1763"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2113"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1802"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2363"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1378"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="611"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1312"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="621"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1092"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="521"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1172"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1652"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="932"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11056"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1793"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1424"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1221"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="260"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1562"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="821"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="10315"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5198"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1972"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1570"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2043"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1111"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10755"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3114"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2694"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2343"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1523"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2674"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2203"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="691"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1221"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3135"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3295"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2093"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="82859"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="37092"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4567"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4567"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1031"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="22386"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4707"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4386"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5028"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5118"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3184"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4437"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1832"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2544"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7010"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7083"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7150"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2593"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3545"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2593"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3616"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6540"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1151"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5267"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4567"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2704"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1281"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2473"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5761"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2013"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="922"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1933"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2023"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1823"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="530"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1992"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="301"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1692"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1853"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="621"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1321"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="621"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1001"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="521"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1663"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="811"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11426"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="301"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1221"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1212"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1292"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1222"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1041"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="321"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="697"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1602"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="891"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="10295"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5087"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1081"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11156"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2739"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2063"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2914"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="701"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1052"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3135"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3185"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2133"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="86872"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="37017"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4627"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4747"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="22663"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4396"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4437"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5328"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5708"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2273"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4537"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1892"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2563"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6930"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6700"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7271"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2604"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3525"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2772"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3555"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6790"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4507"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4917"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2854"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2304"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6379"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1823"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1873"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1903"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1773"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1913"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="566"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1572"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1792"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1993"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="581"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1262"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="711"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1111"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="570"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1673"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="871"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11707"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1923"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1102"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1192"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1062"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="220"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1642"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="871"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="9984"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5178"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1762"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2043"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1032"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11377"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="390"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2834"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2273"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2263"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1593"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="611"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1211"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3165"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3505"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2153"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="77430"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="36673"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4327"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1291"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4998"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="22983"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4587"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4537"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4326"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1713"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5468"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2715"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4757"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1943"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2603"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7000"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6530"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7401"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2764"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3625"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2544"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3685"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6540"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4492"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4777"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2844"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2504"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6159"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1913"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1041"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1873"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="590"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="781"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1542"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="390"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1911"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="301"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1933"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="530"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="611"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1251"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="620"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1122"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="561"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="902"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="12064"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="290"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1122"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1170"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1082"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1061"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="331"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1012"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1802"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="841"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="9754"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5160"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2303"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1041"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11416"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2914"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2885"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2253"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1552"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2594"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1602"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2093"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1331"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="601"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1061"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1532"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3154"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3475"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2163"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="83943"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="36912"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4617"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4576"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="962"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="20821"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5218"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4286"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4536"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5137"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2484"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4767"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1932"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2463"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6846"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8732"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7300"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2534"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3515"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2774"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3515"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6610"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4697"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4416"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2879"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2383"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5438"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2063"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1912"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2043"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1948"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1903"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1682"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1933"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="300"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="731"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1161"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="631"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="991"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="571"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1052"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="972"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11346"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1292"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1932"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1562"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="971"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="301"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1612"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="891"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="10095"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5177"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1913"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2243"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="10936"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3445"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1553"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2384"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2043"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="691"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1172"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3154"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3215"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2203"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="79820"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="36618"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4597"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4446"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1022"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="23138"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4597"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4486"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5338"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5117"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2584"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4556"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1853"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2694"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6940"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8783"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7230"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2503"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3425"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2995"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3455"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6690"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4587"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4436"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2694"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3115"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5658"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1862"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="952"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1873"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2344"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2013"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2063"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1752"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2193"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="721"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1282"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="601"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1001"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="520"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1142"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1683"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="871"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6680"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2693"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="301"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1131"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1221"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1201"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="972"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="290"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="640"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1613"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="881"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="9954"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5128"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1932"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1573"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2263"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1102"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="9123"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3595"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2062"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1503"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2313"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2373"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2204"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1321"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="601"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1151"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3055"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3415"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2093"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="83238"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="36995"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4396"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5538"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="931"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="21781"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4707"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4613"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5638"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4877"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2714"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4647"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2534"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7611"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6450"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7145"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2703"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3646"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2807"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3735"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6930"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4477"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4656"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2694"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2404"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6099"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1852"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1052"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2303"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="550"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2113"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1812"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1953"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="591"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1282"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="601"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1021"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="540"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1042"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1662"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="932"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6597"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2654"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="290"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="971"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="981"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="300"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1031"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1642"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="881"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="10164"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5138"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2013"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2223"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1022"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="9313"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3886"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2203"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1653"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1651"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2514"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="721"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1483"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3124"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3415"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2117"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="82778"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="37043"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4507"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4927"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="841"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="20739"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4447"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1181"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4326"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1603"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4827"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1532"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5148"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2583"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4536"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2003"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2644"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6920"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6659"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8021"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2604"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3425"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2443"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3876"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6498"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4577"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4827"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2694"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2304"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6409"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1923"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1051"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1793"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1853"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1933"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="437"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1812"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2033"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="641"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1342"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="641"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1001"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="510"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1062"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1662"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="872"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="12017"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1752"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1292"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1092"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1181"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1002"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="270"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1002"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1772"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="882"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="10091"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5247"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2373"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="971"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11086"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3816"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2263"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1673"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2243"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1532"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2834"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1623"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2172"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1261"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="661"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1211"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3125"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3465"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2143"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="85400"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38275"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4718"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1553"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4837"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="21242"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4666"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5277"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1623"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4516"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5193"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2614"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4657"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2133"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3525"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6900"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9053"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7381"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2794"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3625"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2804"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3746"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6435"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4747"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4467"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2904"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2404"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5508"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2063"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1998"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1953"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="600"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1882"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2076"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="420"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1713"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="390"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1892"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1603"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="711"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1161"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="590"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="922"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="571"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1662"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="912"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11917"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1752"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1101"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1192"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1021"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1052"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="210"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="921"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1652"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="932"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="9980"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5097"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1953"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2514"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1162"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11016"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="390"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3535"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2113"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2424"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2914"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2103"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="671"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1172"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3174"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2864"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2103"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="86353"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="37765"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4577"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4427"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="981"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="21221"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="420"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4646"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4416"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4626"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4962"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2494"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4727"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1862"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2614"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6844"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7221"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8312"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2764"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3425"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2774"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3635"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6589"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1423"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4406"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4416"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2794"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1241"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2413"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5398"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1051"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1962"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="742"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1853"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1843"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2133"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="571"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1562"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="551"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1122"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="491"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1682"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="12107"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1652"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1161"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="982"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1181"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1081"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="982"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="320"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1593"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="931"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="10481"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5058"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1972"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1593"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1082"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11486"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3786"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2113"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2244"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2334"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2041"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="631"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1191"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3255"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2914"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2083"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="87017"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38426"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4263"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1612"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4847"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="921"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="21350"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5648"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4316"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4727"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5273"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2574"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4546"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1913"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2654"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6900"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6469"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7141"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2604"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3415"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2874"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3655"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6783"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4206"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4527"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2664"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2403"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5558"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2033"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1052"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2073"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2072"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1873"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="650"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1982"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="301"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1813"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="400"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2184"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="570"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="611"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1292"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="610"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1032"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="541"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1051"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="901"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="12588"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="410"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1753"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="300"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1349"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1151"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1211"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1041"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="351"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="962"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1712"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="901"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="10437"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5107"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2124"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1201"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11146"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3786"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="290"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2434"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2393"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1632"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2199"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1292"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="621"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1201"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3065"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2884"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2113"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="86620"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38155"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4759"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4887"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="942"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="21531"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5488"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4326"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4527"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5252"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2564"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4536"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1983"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2494"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6940"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8853"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7301"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2544"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3425"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2514"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3835"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6669"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4587"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4817"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2744"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1552"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2423"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5608"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1172"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1843"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1953"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1902"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1913"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1888"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1523"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1683"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1493"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="671"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1202"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="631"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1102"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="531"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="932"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="12918"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1653"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1121"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1241"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1192"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="311"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1692"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="831"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="10365"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5097"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="981"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11677"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4036"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1583"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2681"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1722"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1872"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="651"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3164"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3755"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2133"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="84818"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="37264"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4536"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1533"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6048"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1062"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="29856"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4426"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4296"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5418"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2504"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4977"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2574"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4547"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2023"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2814"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6960"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6339"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7117"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2634"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3435"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2634"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3524"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6660"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4386"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4427"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2854"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2424"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5257"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1803"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1168"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2063"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2363"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2183"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1873"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1862"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1783"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2274"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="691"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1241"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="611"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1011"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="501"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1662"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="912"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="13379"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1172"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1081"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="941"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="301"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="971"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1683"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="801"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="10094"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5208"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1953"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2123"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="18246"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3213"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="301"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2634"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2153"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2523"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2173"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="841"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1162"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1453"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4146"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3104"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2104"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="86283"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="37226"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6048"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1122"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4517"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="931"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="21661"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5558"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="408"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4277"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1281"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4566"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1532"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4890"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2504"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4526"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1893"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2574"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6960"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9884"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7161"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2643"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3427"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2664"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3475"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6890"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4386"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4537"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2704"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2303"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5628"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="851"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1873"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="290"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2223"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="640"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="470"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1813"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="400"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1892"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="651"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1141"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="570"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1102"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="501"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1132"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="801"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11356"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2964"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="300"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1192"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="271"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="972"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1662"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="921"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="9784"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5187"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2063"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2183"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1031"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="15672"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2734"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2183"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2253"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2383"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2103"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="691"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1192"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3135"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3475"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2163"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="88852"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38703"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4557"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4827"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27958"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4476"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4377"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5498"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5168"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2273"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4757"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1853"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2604"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7610"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7040"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7280"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2434"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3635"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2975"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3645"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6890"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4416"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4416"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2784"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2345"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5658"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="962"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1852"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1813"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2063"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1712"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1913"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1803"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2022"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="641"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1483"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="661"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1001"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="520"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1663"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11487"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="390"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2914"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="290"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1007"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1131"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1112"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="250"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1692"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="851"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="10104"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5148"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1942"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1643"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2393"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1032"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="15392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2904"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2033"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2343"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2133"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="611"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1192"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3114"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2924"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2033"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="84497"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38375"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4727"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4637"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="931"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27961"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4447"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4376"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5729"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4988"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2293"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4647"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1892"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2764"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7090"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8041"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8422"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2464"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3625"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2754"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3646"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6889"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4617"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4620"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2834"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2503"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5508"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2453"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="957"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1953"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="650"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2073"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1952"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1433"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1792"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1873"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1882"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="751"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1212"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="621"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1121"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="510"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1673"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="901"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="11541"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="400"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2955"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1222"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1311"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1061"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1182"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1092"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="271"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1002"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1562"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="932"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="10081"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5197"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2243"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1081"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="15742"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3035"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1853"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2313"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2504"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2223"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="661"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1172"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2854"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3035"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2974"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2023"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="90482"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="37553"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5738"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5047"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1092"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27540"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4476"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5498"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1731"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7230"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2574"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5128"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2734"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4627"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1952"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2733"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6940"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7681"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7270"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2464"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3435"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2983"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3505"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6880"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1403"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4287"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4736"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2884"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2514"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5598"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2013"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2073"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1723"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1463"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1922"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1692"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="561"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1372"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="571"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1102"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="471"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1513"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1151"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1673"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="18297"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2484"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1032"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="260"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="992"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1592"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="872"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="16704"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5188"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1912"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1523"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2133"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1081"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="15572"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="420"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3034"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2123"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1593"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2343"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2384"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2013"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3095"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="1542"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3871"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2904"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="2093"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="92536"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="37614"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4446"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4477"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="27782"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4447"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4526"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1603"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4526"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1683"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5118"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2313"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4901"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1873"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3084"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7501"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7982"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7140"/>
-        </task>
-      </group>
-    </group>
-  </case>
-</log>
diff --git a/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_04_25.integration.commandline.xml b/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_04_25.integration.commandline.xml
deleted file mode 100644
index 30732a9..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_04_25.integration.commandline.xml
+++ /dev/null
@@ -1,1731 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<log timestamp="25/Apr/2002 20:33:05" sdkbuild="20020425">
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1503"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="250"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="29011"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3159"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="25647"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="19908"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="321"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="380"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="12708"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="401"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3395"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="17435"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="4136"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2434"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="86209"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="62141"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37433"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="37614"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1492"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="251"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="28808"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3124"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="25427"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="19192"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="250"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="691"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="12057"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="1352"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="4076"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="18221"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="4286"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2403"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="86083"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="57382"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36864"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="38094"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1422"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="250"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="29182"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3185"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="25236"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="21721"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="842"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="400"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="12600"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="731"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3615"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="25166"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="4086"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2344"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="87421"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="60794"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36242"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="37632"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1462"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="250"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="28100"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3094"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="25277"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="19776"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="641"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="451"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="13430"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="560"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3806"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="17292"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="4216"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2593"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="83964"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="57667"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36996"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="37213"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1513"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="240"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="29112"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3115"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="26306"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="21380"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="200"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="691"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="13094"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="340"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3585"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="26669"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="4246"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2343"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="85953"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="61323"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36492"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="38175"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1362"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="251"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="29763"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3135"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="26157"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="20744"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="541"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="681"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="11817"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="381"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3965"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="17216"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="3965"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2603"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="87050"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="56480"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37263"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="37655"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1523"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="250"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="29382"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3184"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="25348"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="18837"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="1292"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="381"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="13809"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="331"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3905"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="26509"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="4116"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2394"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="82816"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="56078"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37504"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="37912"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1412"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="261"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="29293"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3245"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="25456"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="18880"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="701"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="530"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="11998"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="661"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3875"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="18697"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="3856"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2794"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="87661"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="62389"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="35718"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="37504"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1412"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="251"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="28010"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3155"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="25533"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="20830"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="561"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="691"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="11613"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="1011"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="4166"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="18908"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="3876"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2424"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="86023"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="57220"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36663"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="37844"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1412"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="250"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="29696"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3144"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="25957"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="21113"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="190"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="420"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="12858"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="641"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3666"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="24375"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="3716"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2283"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="86743"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="56769"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36062"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="38656"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1412"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="260"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="28751"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3335"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="26335"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="23264"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="471"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="480"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="11929"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="561"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3854"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="19448"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="4086"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2493"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="85859"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="55258"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37294"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="37560"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1442"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="260"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="29233"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3125"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="25356"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="19052"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="551"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="691"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="13169"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="230"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3685"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="24356"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="4136"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2373"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="85132"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="57800"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36543"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="37964"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1482"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="250"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="29012"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3155"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="25481"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="19498"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="751"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="791"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="11296"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="711"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3841"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="18166"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="3925"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2393"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="87924"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="58657"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36144"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="38401"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1483"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="260"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="29456"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3615"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="25426"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="19729"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="520"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="761"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="12498"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="381"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3405"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="17715"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="3850"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2423"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="88090"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="56919"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36640"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="37484"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1412"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="241"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="29282"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3184"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="25812"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="22623"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="380"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="391"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="12468"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="210"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="4367"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="25881"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="4196"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2524"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="90149"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="58906"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="35802"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="38389"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1472"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="250"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="28564"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3325"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="25226"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="19796"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="711"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="391"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="11988"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="851"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3905"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="17906"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="3996"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2414"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="84735"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="57404"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37424"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="37714"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1482"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="251"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="29493"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3134"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="25513"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="19428"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="290"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="391"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="11937"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="921"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3786"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="24500"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="3956"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2173"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="88117"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="60098"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36352"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="39014"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1503"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="250"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="29535"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3104"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="24655"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="19308"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="501"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="751"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="13549"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="411"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3395"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="18306"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="3946"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2514"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="89268"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="56708"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36704"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="36943"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1472"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="250"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="30504"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3145"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="25552"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="21220"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="250"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="380"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="12227"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="1332"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3545"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="24931"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="4256"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2314"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="86129"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="57120"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36323"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="37950"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1492"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="251"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="28863"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3144"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="26088"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="20680"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="715"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="480"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="12929"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="330"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3866"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="17765"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="3635"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2563"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="85332"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="56362"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37586"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="37634"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1132"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="261"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="29312"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3124"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="25486"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="21034"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="370"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="381"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="13489"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="331"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="4286"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="25614"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="3705"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2554"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="84866"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="59926"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36064"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="38515"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1422"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="260"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="29009"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3115"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="26278"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="20950"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="190"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="391"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="11486"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="521"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="4817"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="17986"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="3825"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2604"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="90460"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="57177"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36804"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="36994"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1452"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="250"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="29242"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3135"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="25231"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="23203"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="210"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="400"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="13409"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="591"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3989"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="24556"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="3886"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2183"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="84166"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="61291"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36792"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="38382"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="1483"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="260"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="28448"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="3095"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="25727"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="19569"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="581"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="600"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="11907"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="1072"/>
-        </task>
-        <task name="add files (Text)">
-          <result elapsed="3886"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="17685"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="3855"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="2404"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="84858"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="59224"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36755"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="37403"/>
-        </task>
-      </group>
-    </group>
-  </case>
-</log>
diff --git a/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_07_10.release2_0.commandline.xml b/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_07_10.release2_0.commandline.xml
deleted file mode 100644
index ae9310b..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_07_10.release2_0.commandline.xml
+++ /dev/null
@@ -1,1731 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<log timestamp="10/Jul/2002 16:06:24" sdkbuild="unknown">
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2924"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1773"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="45245"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4531"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31646"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="29645"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="231"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="400"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="33318"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="281"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3345"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="27536"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="7411"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5258"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="69165"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="58609"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="38180"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="40253"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2914"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1772"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="45458"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4497"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31425"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="29899"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="230"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="351"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="34316"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="191"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3735"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="30213"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="7361"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5217"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="71321"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="60656"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36837"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="39542"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2944"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1783"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="45585"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4507"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31580"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="28040"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="231"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="441"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="34900"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="351"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3385"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="25298"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="7030"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5277"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="72259"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="58270"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37224"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="39501"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2935"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1782"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="44749"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4496"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31536"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="27880"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="220"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="441"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="31986"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="561"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3655"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="32341"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="7171"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5177"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="71423"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="59846"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37113"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="39341"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2864"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1783"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="45160"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4506"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31426"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="27870"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="240"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="471"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="33449"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="310"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3385"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="27139"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="6966"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5337"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="64343"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="58589"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37223"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="40037"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2924"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1783"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="45751"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4486"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31746"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="30343"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="151"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="350"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="33008"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="311"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3976"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="31791"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="7241"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5157"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="71835"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="62697"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36462"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="40059"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2945"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1782"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="44371"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4507"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31650"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="27856"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="141"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="340"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="32787"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="431"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3374"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="26398"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="6950"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5208"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="72428"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="58011"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37394"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="39255"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2924"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1773"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="45074"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4506"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31375"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="27329"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="441"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="341"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="32922"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="290"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3575"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="32307"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="6930"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5238"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="64476"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="59893"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36803"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="39308"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2924"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1782"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="45325"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4487"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="30427"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="27870"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="430"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="341"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="33739"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="330"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3505"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="26953"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="7120"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5127"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="73988"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="59365"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37768"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="39605"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2894"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1783"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="46246"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4546"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31466"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="27477"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="150"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="471"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="35110"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="571"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3625"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="30563"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="7080"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5338"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="71060"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="62410"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36893"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="40041"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2945"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1782"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="44953"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4757"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31519"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="28711"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="241"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="350"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="32420"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="391"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3755"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="25166"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="6980"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5187"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="72190"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="58971"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37585"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="39617"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2944"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1783"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="44373"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4546"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31417"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="30104"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="160"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="451"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="32637"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="461"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3465"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="33690"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="6239"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5218"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="70415"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="62978"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36821"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="39766"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2924"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1773"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="45492"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4486"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31604"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="26505"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="230"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="441"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="35755"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="321"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="4166"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="26658"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="7028"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5267"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="72965"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="58407"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37895"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="38876"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2914"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1783"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="44645"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4516"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31803"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="29569"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="241"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="440"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="34871"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="330"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3655"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="32519"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="7090"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5268"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="65070"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="65319"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36692"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="40485"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2904"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1783"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="45514"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4507"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31545"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="27346"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="550"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="331"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="32423"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="661"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3882"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="26859"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="6970"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5108"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="72129"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="57853"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37313"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="39338"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2914"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1783"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="45171"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4597"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31444"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="29002"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="210"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="361"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="33998"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="180"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3635"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="29605"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="6780"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5177"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="65142"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="62367"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36863"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="40288"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2894"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1782"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="44063"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4527"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31605"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="28090"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="261"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="440"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="31555"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="330"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3876"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="27871"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="7230"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5137"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="72124"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="59752"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37077"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="39106"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2553"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1783"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="46538"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4527"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31595"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="26348"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="210"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="451"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="33408"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="430"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3896"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="29560"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="7110"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5157"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="66904"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="59406"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36999"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="39853"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2964"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1783"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="45902"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4507"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31819"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="28481"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="220"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="441"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="31768"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="210"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="4006"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="25346"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="7132"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5117"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="69586"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="58515"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37333"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="39832"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2874"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1783"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="44616"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4507"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31522"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="27870"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="240"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="351"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="33109"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="791"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3746"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="29412"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="7070"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5238"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="72938"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="62720"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37010"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="39657"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2924"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1782"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="44519"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4516"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="32056"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="28273"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="160"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="451"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="32670"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="290"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3665"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="25186"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="7000"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5227"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="72266"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="59035"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37351"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="39086"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2944"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1782"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="45943"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4496"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31722"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="27650"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="140"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="451"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="31870"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="340"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="4096"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="32139"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="7020"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5068"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="70785"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="63116"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36908"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="39937"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2944"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1782"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="45796"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4827"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="49358"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="28011"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="220"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="361"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="33609"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="290"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3667"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="25547"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="6731"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5187"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="72401"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="59461"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="37274"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="39208"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.CommandTests" name="testImportAddCommitCheckout">
-    <group name="import/add/commit big project">
-      <group name="command line client">
-        <task name="import empty module">
-          <result elapsed="2955"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="1782"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="45546"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="4497"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="31394"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="27680"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="import empty module">
-          <result elapsed="240"/>
-        </task>
-        <task name="checkout module">
-          <result elapsed="441"/>
-        </task>
-        <task name="add folders">
-          <result elapsed="33862"/>
-        </task>
-        <task name="add files (Binary)">
-          <result elapsed="351"/>
-        </task>
-        <task name="add files (ASCII -ko)">
-          <result elapsed="3585"/>
-        </task>
-        <task name="commit module">
-          <result elapsed="31515"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="set sharing, pop up sync viewer">
-          <result elapsed="6669"/>
-        </task>
-        <task name="Synchronize with Repository action">
-          <result elapsed="5198"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="70959"/>
-        </task>
-      </group>
-    </group>
-    <group name="checkout big project">
-      <group name="command line client">
-        <task name="checkout module">
-          <result elapsed="63231"/>
-        </task>
-      </group>
-      <group name="eclipse client">
-        <task name="checkout module">
-          <result elapsed="36697"/>
-        </task>
-      </group>
-      <group name="user interface">
-        <task name="Repository View Checkout action">
-          <result elapsed="38996"/>
-        </task>
-      </group>
-    </group>
-  </case>
-</log>
diff --git a/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_07_11.release2_0.all.xml b/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_07_11.release2_0.all.xml
deleted file mode 100644
index b53f09f..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.0/2002_07_11.release2_0.all.xml
+++ /dev/null
@@ -1,12051 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<log timestamp="11/Jul/2002 15:00:30" sdkbuild="unknown">
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1762"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3616"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1852"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4083"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2694"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2344"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5658"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1702"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2314"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6349"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1062"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="781"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1101"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1418"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="972"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="812"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1282"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="420"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="902"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="531"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1783"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="902"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1802"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1301"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1526"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="410"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1131"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2023"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1469"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7781"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5678"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1341"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1803"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1803"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1201"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1702"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2203"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1523"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1702"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1892"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1503"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1702"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="681"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1803"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3826"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="6458"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="5047"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="72415"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="40173"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4217"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1712"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4406"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1022"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3966"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3887"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4196"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1923"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4196"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4687"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2523"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4220"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2073"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3064"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7942"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7821"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="10375"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3726"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1862"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4016"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2594"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2293"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5458"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1892"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1623"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2343"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5989"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1092"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1582"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1191"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="851"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1191"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="520"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="942"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="531"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1722"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1221"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1032"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="301"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1612"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="630"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="852"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="330"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="801"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1192"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2283"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1302"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7761"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5588"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1813"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1682"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1132"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1271"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1612"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2043"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1733"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1632"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1803"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="651"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1792"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3715"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="7100"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4957"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="74447"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38926"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4106"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1933"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4326"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1052"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3555"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3850"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4447"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1782"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4116"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1923"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4476"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2524"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4927"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2143"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2794"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8131"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7862"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9233"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1652"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3706"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4176"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2644"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2474"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5239"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1662"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1783"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1993"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5999"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1012"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1413"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1101"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="912"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1177"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1201"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="811"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1342"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="491"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1001"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="531"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1161"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1052"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1633"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1211"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="310"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="802"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1151"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2093"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1542"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7381"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5448"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1582"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1763"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1146"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1593"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1813"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1812"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2053"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1583"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1802"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="671"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1812"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3986"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="6189"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="5197"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="73584"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39664"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4837"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4176"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1192"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4216"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3865"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4236"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1803"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4396"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4516"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2443"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4737"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2233"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3105"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8132"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7744"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9423"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1872"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3515"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2183"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3495"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3125"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2274"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5458"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1613"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1933"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6389"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="782"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1221"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1360"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1061"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1091"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="952"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="811"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1312"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="451"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="891"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="580"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1302"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1091"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="922"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="922"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="300"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1702"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="260"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1213"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2023"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1572"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7541"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5608"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1702"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1603"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1091"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1261"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1812"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1893"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1803"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1772"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1292"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1813"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="681"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1993"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3906"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="6249"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="5087"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="75105"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38235"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5027"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1733"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4259"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3726"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3875"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4767"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1833"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4186"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1973"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4656"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2404"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4737"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2153"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2884"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8212"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7845"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9204"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3555"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1803"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4006"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2954"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2223"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5558"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1763"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2063"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5989"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="952"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="821"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1082"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1361"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="802"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="621"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1252"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="501"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1081"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="581"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="909"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1702"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="280"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="782"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1131"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2093"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1372"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7421"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5526"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1903"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1692"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1002"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="480"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1563"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1912"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1513"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1792"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1783"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="711"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1783"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3635"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="6410"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4947"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="71611"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39636"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4197"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4767"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="971"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3905"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3665"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4136"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2193"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3986"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1557"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4416"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2494"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4166"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2163"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3014"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8162"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8151"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9479"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1762"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3545"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2564"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3515"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2534"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2043"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6009"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1903"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2184"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6239"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1022"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1111"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="781"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="802"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="911"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1342"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="461"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="901"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="591"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="792"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1131"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="862"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="621"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="281"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="798"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2023"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1282"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7551"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5807"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1762"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1603"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1463"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="540"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1722"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2244"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1542"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1554"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1572"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1813"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="681"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1221"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1793"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4446"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="5969"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="5024"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="78825"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39493"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4237"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2673"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4196"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3906"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3665"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4139"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1732"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4196"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1752"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4797"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2313"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4817"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2153"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2922"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8072"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8492"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9253"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1913"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3445"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1953"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4106"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3024"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2174"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5588"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2023"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1588"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2183"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6229"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1161"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1131"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1141"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="801"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1051"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="892"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="332"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1081"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="291"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="731"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1272"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="491"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1091"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="550"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="792"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1111"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="942"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1803"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1212"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="310"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="772"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1141"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1933"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1362"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7437"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5718"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1773"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1833"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1101"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1662"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1913"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1523"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1792"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="691"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2053"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3796"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="6640"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="5047"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="70360"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38723"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3855"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1763"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4507"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3596"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="851"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3765"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4456"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1702"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3915"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1853"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4486"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2534"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4536"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2164"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2784"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8051"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7962"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9293"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2013"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3575"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3926"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2644"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1302"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2153"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5628"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2156"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1693"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6359"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="871"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="991"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1091"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1215"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="530"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="621"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1262"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="461"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="991"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="521"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="941"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="291"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1612"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1572"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1162"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="260"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1112"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2264"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1302"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7500"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5478"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1622"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1593"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1251"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1367"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1832"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1703"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1712"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1733"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="601"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1772"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3595"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="5888"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="5077"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="75090"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39047"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4206"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3174"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4085"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3956"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3765"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4336"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1732"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4186"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2053"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4697"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2403"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4579"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2534"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2623"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7852"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7601"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9243"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3395"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1763"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3915"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2464"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2453"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5659"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1993"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6459"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="460"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="781"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1231"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1542"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1101"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="982"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="841"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1492"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="490"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="882"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="521"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="772"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="862"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1873"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="661"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1231"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="280"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="811"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1111"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2223"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1252"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7621"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5538"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1742"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1793"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1082"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1703"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1702"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1302"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="638"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2093"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4106"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="6089"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4797"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="70171"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39369"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4136"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4376"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4745"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3665"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4286"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1723"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4296"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1563"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4817"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2534"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4196"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2553"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2804"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8191"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7952"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="10154"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1752"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3615"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4086"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2834"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1473"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2143"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5878"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1983"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6509"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1311"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="922"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="705"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="611"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1222"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="481"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="891"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="581"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="961"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1503"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1101"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="912"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="412"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="611"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1212"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="281"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1131"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1112"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2183"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1272"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7661"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5829"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1443"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1932"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1693"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1071"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1281"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1663"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1802"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1832"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1743"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1241"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1682"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="701"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1683"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1833"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3745"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="7270"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4827"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="74534"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39008"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4726"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1653"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4206"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1022"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3736"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4867"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4046"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2123"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3882"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1503"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4466"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2404"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4426"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2123"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2674"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8302"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7601"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9255"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2353"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3635"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3585"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2533"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1773"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2253"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5388"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1622"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1593"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1923"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6269"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1160"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1122"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1222"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="721"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1241"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="470"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="902"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="541"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="791"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="901"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="301"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="642"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="340"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="782"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1081"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2183"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1191"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7826"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5568"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1703"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1792"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1602"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1091"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1938"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2003"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1912"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1413"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2093"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="701"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1812"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3585"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="6843"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="5198"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="70700"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38415"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3815"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3985"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4035"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4877"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4085"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1826"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4397"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4747"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2433"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4146"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2514"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2916"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7931"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7631"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9283"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1903"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3946"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1772"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3595"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2564"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2163"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5959"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1972"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1663"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2323"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6199"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="971"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1221"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1052"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1091"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="290"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="781"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1322"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="460"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1002"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="621"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="941"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="872"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="300"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1602"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="291"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2113"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1172"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7611"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5548"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1702"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1703"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1101"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1602"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1572"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1783"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1602"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1523"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1291"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="841"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1732"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3525"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="6099"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4857"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="75595"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39396"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4006"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1672"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4396"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3685"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3764"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4046"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1813"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4306"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2093"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4457"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2303"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4316"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2224"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2724"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7971"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7541"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9474"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1709"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3925"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2023"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3645"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2874"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2173"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5772"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1933"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6409"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="982"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="971"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1222"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="470"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1732"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="540"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1181"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="681"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1222"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="521"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="901"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="601"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="941"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="883"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1281"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="290"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1622"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2124"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1352"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7571"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5558"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1167"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1602"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1602"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1151"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1762"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1893"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1713"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1350"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="641"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2173"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3615"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="6149"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4877"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="72955"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="37991"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3966"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4296"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3635"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3766"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4086"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1732"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4397"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1852"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4306"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2314"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5117"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2133"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2784"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8422"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7581"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9464"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1602"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3846"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1782"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3686"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3129"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2363"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5187"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1942"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6380"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="821"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1112"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1111"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="751"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1252"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="481"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="891"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="580"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1483"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1131"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1331"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="320"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="921"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1563"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2243"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1352"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7590"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5528"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1712"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1703"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1061"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1812"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1723"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2003"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1508"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1712"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="641"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1752"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3665"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="6489"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4907"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="71527"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38557"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4293"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2293"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4076"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1012"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3685"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4176"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4206"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3225"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3695"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1603"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4957"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2344"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4386"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2183"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2764"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8254"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8212"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9063"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1733"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3545"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4116"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2603"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2924"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5468"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2013"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1973"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1967"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5838"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1122"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1301"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="470"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1171"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1232"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1221"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="480"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="882"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="531"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="281"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1702"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="630"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1903"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="611"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="310"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="781"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1132"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2073"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1379"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7821"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5418"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1813"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1052"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1092"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2223"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1903"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2093"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1302"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1612"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="641"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1793"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1812"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3565"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="6396"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4917"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="72707"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39256"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3906"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1902"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4326"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3706"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="470"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3773"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4226"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1733"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4386"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1602"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4927"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2524"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4306"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2033"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2724"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8482"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8062"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9764"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1722"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3946"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3695"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3044"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2194"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5337"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2033"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1953"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6530"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1112"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="480"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1042"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1042"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1171"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="791"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="681"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1312"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="460"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="892"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="561"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="931"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1231"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1281"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1172"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="291"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1132"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2033"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1182"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7962"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5438"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1753"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1101"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1703"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1923"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1562"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1903"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1513"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1713"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="781"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1762"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3715"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="6219"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4947"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="72469"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38966"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4516"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1453"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4472"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4296"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3756"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4076"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2333"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3986"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1651"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6529"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2554"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4576"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2104"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2864"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8332"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7561"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9583"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1662"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3556"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1993"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4085"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2473"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1453"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2874"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5297"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2043"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1902"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1952"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6069"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1071"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="500"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1464"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1102"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1151"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="481"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="1092"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="541"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1101"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="931"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="972"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1222"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1861"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="320"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="801"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1132"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2133"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1152"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7761"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5467"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1703"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1702"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1072"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2073"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1802"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1463"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1543"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1702"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="641"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1863"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1732"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4216"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="6638"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4977"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="77380"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38910"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4006"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2544"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4126"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3835"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4166"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4196"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1723"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4296"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2103"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4556"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2474"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4276"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2614"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2824"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8072"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8282"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9203"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1792"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3661"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3595"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2454"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6035"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1793"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6299"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="961"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="962"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="871"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="972"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="961"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="821"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1251"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="530"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="882"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="591"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1042"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1642"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="601"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1271"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1803"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="210"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="802"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1042"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2073"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1292"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7391"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5968"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1902"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1702"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1072"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="300"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1643"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2483"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1503"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1926"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1302"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1703"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1301"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="661"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1301"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1783"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3635"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="6730"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4947"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="71250"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39107"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3855"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1693"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4366"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4306"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3665"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4005"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1753"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4777"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4586"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2414"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4316"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2794"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2885"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7944"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8212"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9524"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1773"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3345"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3775"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3055"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2273"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5638"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1732"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2473"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6770"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1021"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1733"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1191"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1092"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="811"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="702"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1171"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="821"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1472"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="471"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="901"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="540"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="892"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="301"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1151"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2083"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1199"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7611"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5638"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1813"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1872"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1582"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1071"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1573"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1783"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1662"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1562"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1513"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2193"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="741"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1813"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3665"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="5438"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="5018"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="75128"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38906"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4096"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1762"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4306"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1012"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4206"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3757"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4256"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2343"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3986"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1683"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4426"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2534"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3986"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2143"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3425"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7961"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8232"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9714"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1642"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3565"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3705"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2603"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1443"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2363"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5582"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1762"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1932"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6049"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="981"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1221"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="801"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="842"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1562"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1191"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="942"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="610"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1202"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="450"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="902"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="551"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1131"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1182"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="320"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1122"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2023"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1181"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7211"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6166"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1802"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1702"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1102"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1703"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1773"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1523"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="721"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1752"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4286"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="6700"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4526"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="75452"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39752"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3905"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1823"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4076"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3715"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3745"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4797"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1704"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3965"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1713"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4436"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2414"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4006"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2684"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2894"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7940"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8232"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8922"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1712"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3556"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1892"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3611"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2593"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2254"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6038"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1842"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1942"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6470"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1061"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1062"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="781"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1191"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1082"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="480"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="631"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1201"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="530"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="992"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="501"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1092"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="941"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="762"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="842"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1101"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1603"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1221"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="270"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1111"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2233"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1162"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7230"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6079"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1662"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1703"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1101"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1612"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2133"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1823"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="701"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1762"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3605"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="6179"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="5077"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="74384"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39200"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3895"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1713"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4146"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1041"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4366"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3765"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4226"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2143"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3966"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1702"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4565"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2604"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5127"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2134"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2664"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8011"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7641"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8953"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2314"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3415"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1692"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3786"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2614"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2068"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2373"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5298"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1773"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1652"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1942"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6410"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1301"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1542"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1082"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1712"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="972"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="631"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1162"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="461"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="911"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="500"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1191"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="932"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="791"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1222"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1693"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1302"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="301"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="811"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1201"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2153"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1392"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7401"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5558"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2413"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1773"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1061"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="300"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1643"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1872"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1532"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1301"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1732"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="1232"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1812"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3555"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="5563"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="5108"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="74438"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38343"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4877"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1612"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4246"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="942"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3765"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4376"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4266"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1692"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4627"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2063"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4466"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2413"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4827"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4161"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3385"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7811"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8221"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9523"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1722"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3505"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1932"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3545"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3264"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2554"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5248"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1722"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2183"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1972"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5699"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1783"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1141"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="801"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1086"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="942"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="792"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1302"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="460"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="902"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="561"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1111"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1261"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="650"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="251"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="801"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1176"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2133"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1312"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7521"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5458"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1622"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1582"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1101"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1662"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1903"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1533"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1763"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1702"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="741"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1803"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3576"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="5618"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="5137"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="75846"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39095"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4046"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2454"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4207"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3696"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4367"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3986"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1822"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4006"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1683"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4306"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2564"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5228"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2223"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2844"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8108"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11306"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="10495"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1773"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3515"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1793"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3535"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2674"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1403"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2163"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5278"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1762"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1693"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5778"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1051"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1042"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1101"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1291"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="791"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1222"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="461"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="881"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="511"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1612"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1302"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1092"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1292"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="320"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1161"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2033"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1152"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7180"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6169"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1602"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1603"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1071"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1653"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1890"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1533"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2313"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1562"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1703"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="671"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1802"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="3725"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="6373"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4456"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="74153"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39056"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3966"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1702"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4206"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1132"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3565"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4377"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4046"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1832"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4287"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4507"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2413"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4126"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2184"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2764"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8732"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="7531"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9253"/>
-        </task>
-      </group>
-    </group>
-  </case>
-</log>
diff --git a/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.1/I20021127.all.xml b/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.1/I20021127.all.xml
deleted file mode 100644
index f34ca51..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.1/I20021127.all.xml
+++ /dev/null
@@ -1,12069 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<log timestamp="27/Nov/2002 15:20:14" sdkbuild="unknown">
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2123"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="8522"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1613"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4326"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3355"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4417"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1912"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5849"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2063"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1603"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2223"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6800"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2412"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="861"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1803"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="921"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="952"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1021"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1663"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="400"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1261"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="982"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="400"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="721"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1202"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="501"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="881"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="530"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="611"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1633"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="570"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2293"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1823"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1613"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2513"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="300"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2564"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1242"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6750"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5638"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2503"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1211"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1292"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3052"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1983"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1712"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1653"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1572"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="752"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2143"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5368"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8483"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4056"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="60052"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38876"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4297"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1952"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4217"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1231"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4116"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3986"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="390"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4607"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2183"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4437"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2022"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5938"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3215"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4466"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3055"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3535"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9794"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="10976"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11937"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2113"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="7501"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4497"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6189"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4176"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2464"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5558"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1773"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1612"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2524"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6639"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1843"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="792"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="390"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="731"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1142"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="471"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="881"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="531"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="561"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1752"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1052"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2313"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="822"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1623"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2344"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="551"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1913"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="240"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2634"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1342"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6199"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6008"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1602"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2804"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1652"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="460"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2524"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2033"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5108"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1712"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1813"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="861"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2173"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4546"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="9003"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4687"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="56873"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="40067"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4156"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2345"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4196"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4026"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5868"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5939"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2143"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4536"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1903"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5809"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2473"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4716"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2975"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2994"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9524"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8822"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11597"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2183"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="7331"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4276"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5157"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4216"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2344"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5317"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5758"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2224"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6639"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1091"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2384"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1112"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="560"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1291"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="772"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="841"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1171"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="671"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1162"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="501"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="891"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="550"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1102"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1623"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2313"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="882"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2344"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="301"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1051"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1662"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3214"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1291"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6189"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6089"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1612"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1493"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1583"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2503"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2273"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1713"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1231"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1231"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1633"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="761"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1642"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2384"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4537"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8833"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4196"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="59355"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="41540"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4487"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1872"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4196"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1112"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4297"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="530"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4026"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4767"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1772"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4206"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1922"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5648"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2724"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4246"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3411"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3885"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9694"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9684"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="12117"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2193"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="8142"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4606"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3985"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2955"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2113"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5408"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2103"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1632"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2304"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6529"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1042"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2684"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1752"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="781"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1021"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="972"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="821"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1171"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="480"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="902"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="521"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2234"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1101"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1131"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2384"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1660"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2463"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="540"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="350"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="832"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2503"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1372"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6639"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5979"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1932"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1552"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1101"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1333"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="460"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3114"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1623"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1642"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1633"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2042"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="791"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1673"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2353"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5027"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="9805"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4066"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="59005"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="40263"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4647"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2834"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4086"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1091"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3775"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4136"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4406"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2273"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3995"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2063"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5758"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2393"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4416"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3825"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2954"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9524"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9153"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11526"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="8413"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1742"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3872"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3285"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3395"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5077"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1822"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1703"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2163"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6730"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1061"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2945"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1091"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="912"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1051"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1111"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="490"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="972"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="941"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="982"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1221"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="781"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1132"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="521"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="871"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="481"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="561"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1302"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2319"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="782"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2543"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="540"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1633"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="320"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="821"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2754"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1122"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6439"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6249"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2824"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1353"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1652"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1201"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1582"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2614"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1833"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1562"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1953"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="771"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2043"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2594"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4917"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8672"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4146"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="57580"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="40498"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4216"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1902"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4666"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3955"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4146"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4407"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2253"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4006"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3375"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5268"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3295"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4346"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2934"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3235"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9534"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9323"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="12097"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2454"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="8733"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1722"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3856"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4667"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2914"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1993"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5799"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1722"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2313"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2002"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6670"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3124"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1151"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="410"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1311"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="742"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="520"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1433"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1351"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1081"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="962"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="942"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1322"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="491"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="871"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="521"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="541"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1632"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1082"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="892"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="470"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1933"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2063"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2244"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="540"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1673"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="280"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2614"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1201"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7071"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5868"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2904"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1241"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1331"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2052"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1972"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1773"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2033"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1733"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1853"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="921"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1532"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2254"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4887"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8652"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4346"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="55158"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="40345"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3946"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2894"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4286"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1182"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4116"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3735"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4477"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2724"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4026"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2263"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5237"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2864"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4217"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3384"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3374"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9334"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9013"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11647"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2313"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="8332"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2023"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4326"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4256"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3395"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2694"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5147"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2133"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="7141"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1022"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2754"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1061"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1171"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="762"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1081"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1248"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1022"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="530"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1281"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="972"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="852"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1182"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="491"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="871"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="481"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="571"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2063"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="981"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1151"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2303"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1632"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1613"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2653"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="530"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1563"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="280"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="892"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2624"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1162"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7010"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6369"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2826"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1321"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1892"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2454"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1733"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2023"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2043"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1642"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1613"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="701"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1552"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2103"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5397"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8993"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4146"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="57322"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="40568"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4436"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2203"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4106"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1643"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4967"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3735"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4146"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2493"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4466"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1773"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6104"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2744"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4496"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2864"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3105"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9564"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9824"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11637"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2073"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9332"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1622"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4356"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6429"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2544"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1882"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5579"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1662"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1833"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2133"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6459"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1101"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2604"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="811"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1191"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1593"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="550"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1082"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="781"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="991"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1172"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1312"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="440"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="802"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="511"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2724"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="921"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1271"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2374"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1723"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1883"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="531"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1622"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="311"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="841"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2494"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1412"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6489"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6181"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2313"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1883"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2023"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1843"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1653"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1912"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2263"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="811"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2043"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4723"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8702"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4056"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="54668"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="40449"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4196"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1753"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3955"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1423"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4016"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4737"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4857"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2012"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4266"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2153"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5634"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2584"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4076"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4026"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3405"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9613"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9444"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="12457"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2273"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="8714"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1572"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3986"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6900"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2855"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1832"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5328"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1633"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1532"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2994"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6390"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2774"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="982"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1642"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1061"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="712"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1201"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="301"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="852"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1152"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="491"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="881"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="490"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="531"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2083"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1132"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="491"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2313"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1643"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1622"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1663"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="521"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1792"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="261"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1361"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2844"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1101"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7301"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6715"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2714"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1523"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1291"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="410"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1191"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1923"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1732"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1733"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="972"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1622"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2163"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4807"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="9244"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4316"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="57091"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="42338"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3876"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2504"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4236"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4166"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4196"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4236"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3395"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4065"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1883"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5318"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2283"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5087"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3305"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3085"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9664"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9143"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="12027"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2070"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="8062"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1602"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4146"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4757"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3505"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2393"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5558"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2183"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1513"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2013"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="7831"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <abort type="warning" message="Encountered error dialog with title: Problem Occurred">
-    </abort>
-    <abort type="warning" message="Encountered error dialog with title: Unable to Synchronize">
-    </abort>
-    <abort type="warning" message="Encountered error dialog with title: Problems encountered performing checkout">
-    </abort>
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <abort type="warning" message="Encountered error dialog with title: Unable to Synchronize">
-          </abort>
-          <result elapsed="8342"/>
-        </task>
-        <task name="Nothing to Commit">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <abort type="warning" message="Encountered error dialog with title: Unable to Synchronize">
-          </abort>
-          <result elapsed="8512"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <abort type="warning" message="Encountered error dialog with title: Unable to Synchronize">
-          </abort>
-          <result elapsed="8019"/>
-        </task>
-        <task name="Nothing to Commit">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <abort type="warning" message="Encountered error dialog with title: Unable to Synchronize">
-          </abort>
-          <result elapsed="8502"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <abort type="warning" message="Encountered error dialog with title: Unable to Synchronize">
-          </abort>
-          <result elapsed="8473"/>
-        </task>
-        <task name="Nothing to Commit">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <abort type="warning" message="Encountered error dialog with title: Unable to Synchronize">
-          </abort>
-          <result elapsed="8512"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1181"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="722"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1171"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="540"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="821"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1292"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="501"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="851"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="471"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="571"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="862"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1071"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="591"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2754"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2123"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="571"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="300"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1292"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2724"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1492"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6870"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5929"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2533"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1469"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1161"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1111"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1923"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1843"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1742"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2293"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1212"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="1012"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2144"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4606"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8923"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4206"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="54848"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="41225"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3996"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2193"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4366"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4096"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="520"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4136"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4096"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3575"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4096"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1773"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5658"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3044"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4557"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3245"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2994"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9694"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9173"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="13339"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="7511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4035"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4186"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2694"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2314"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5387"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1823"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1942"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2113"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6279"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3375"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1423"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="781"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1161"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1191"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1061"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="770"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="991"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="972"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="691"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1152"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="501"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="761"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="501"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1862"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="892"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1131"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="550"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="812"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2173"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1853"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2063"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="531"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1822"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="331"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="831"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2434"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1512"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6990"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5879"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1812"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2724"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1663"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2804"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1802"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1693"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2223"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1763"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1572"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1602"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="731"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1722"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2393"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4817"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="9063"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3936"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="55066"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="40418"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3866"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2473"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4436"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4887"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4126"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4536"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3385"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4086"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2073"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5478"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2514"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4205"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3505"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3415"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9444"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9323"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="12135"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2574"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="8183"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4406"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4917"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3164"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1993"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5197"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1552"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1742"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6790"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2664"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1513"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="550"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1141"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1361"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="801"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="991"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="400"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="520"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="791"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1352"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="501"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="871"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="611"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="551"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1602"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="922"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="531"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2313"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="862"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1722"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="290"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="932"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2343"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1141"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7651"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6139"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1723"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1862"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1302"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1542"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2414"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1722"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2444"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1652"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1552"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="892"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1532"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2213"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4807"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8552"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4096"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="57823"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="41065"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3965"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1913"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4096"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1773"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4306"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3946"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4046"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2273"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5027"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1762"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5209"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3114"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4317"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2744"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3174"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9704"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9374"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11276"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2523"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="8819"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1903"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4356"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4997"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2874"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5888"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1783"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1532"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2093"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6770"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2383"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="862"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1642"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1211"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1603"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="400"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="290"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="300"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1091"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="972"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="671"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1142"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="501"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="901"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="521"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="601"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1268"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="901"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="601"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1251"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="942"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1552"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="791"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2584"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="541"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="251"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1212"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2313"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1522"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6029"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6960"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1622"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2925"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1862"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2344"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1782"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2083"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1842"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1863"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1712"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="691"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1822"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2153"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5188"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="9174"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3976"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="56681"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39756"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4126"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1943"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4707"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3846"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4356"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4236"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2153"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5625"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1863"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6429"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2644"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4206"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3214"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3465"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9233"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9313"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="12228"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2434"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="7621"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1552"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4437"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4857"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4697"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2354"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5898"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1642"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2513"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6406"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2553"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1251"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1062"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1061"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1042"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1191"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="661"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1192"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="471"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="801"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="561"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="551"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1952"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1071"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="791"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="762"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2062"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1241"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2554"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="531"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1532"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="321"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2343"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1202"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6970"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5958"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2263"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1081"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2183"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2303"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1552"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2274"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1612"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="701"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1643"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2144"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4657"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8622"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4126"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="59372"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39345"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4036"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2664"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4296"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3926"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4356"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4166"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3945"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4426"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2003"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6149"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2784"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4086"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2994"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3015"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9784"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9984"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11567"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2223"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="8612"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1802"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4276"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5618"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2984"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2283"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5348"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1842"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2012"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6470"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2684"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1111"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1157"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="772"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1291"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="500"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1443"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="771"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1091"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="470"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="811"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="480"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="561"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1793"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="561"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1271"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="792"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1983"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="892"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1222"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2724"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1752"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1833"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="421"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="831"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2433"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1112"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6679"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5959"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1813"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2113"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2614"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1111"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2464"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1812"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1833"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1593"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1562"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1633"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="811"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2053"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5007"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8833"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4165"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="57983"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39957"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4477"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2143"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4106"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3986"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4356"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4096"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2113"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5137"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1702"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6009"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2593"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6099"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2914"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2974"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="10225"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9193"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11887"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2013"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="8933"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1622"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4537"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4847"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2824"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2424"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5648"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2042"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6630"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1081"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2664"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1159"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="811"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="560"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1052"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1022"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1191"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="510"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="842"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1292"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="491"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="791"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="491"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="561"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1862"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1062"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="611"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2363"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1493"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2434"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1302"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="260"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2263"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1192"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6619"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6380"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1291"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2604"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1933"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2442"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2624"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1813"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1602"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="972"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2133"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4576"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8112"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3936"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="54738"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38325"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4467"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2073"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4637"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1129"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4526"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3735"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4045"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1703"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4016"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3665"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4977"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3265"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4006"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3976"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2994"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9374"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9363"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11607"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="8142"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2173"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3816"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4825"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2543"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6129"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1792"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6960"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1014"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2834"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1172"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="301"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1201"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1299"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="290"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="831"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1192"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="491"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="891"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="521"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="621"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="981"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1171"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="942"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2273"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1573"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1702"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2474"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="511"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="321"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2644"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1182"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7721"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6139"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2373"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1453"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1292"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2143"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1743"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1952"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1913"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1623"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1672"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="741"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2514"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4647"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8161"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4015"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="55781"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="41079"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4085"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2384"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4767"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1291"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4266"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3935"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4206"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2524"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4026"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1952"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5668"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3045"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4106"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3211"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3616"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9473"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9444"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11657"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2073"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9213"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3908"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4907"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3665"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2514"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5418"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1673"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6249"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1051"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2584"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="801"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1212"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="701"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1422"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="501"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="891"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="491"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="561"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1022"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="521"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="460"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2314"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1593"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2173"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="511"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="270"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="942"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2383"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1182"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6990"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6259"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2403"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1251"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1952"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2493"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1702"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1943"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1632"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="741"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2103"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4577"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8342"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4066"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="53193"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39777"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4717"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4266"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4026"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4496"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4186"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2253"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4116"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2174"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5678"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2613"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4176"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3154"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="4777"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9284"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8872"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="12335"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="8824"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1642"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3706"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5658"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3375"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5458"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1602"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1543"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1993"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6489"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2764"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2043"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1953"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="912"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="410"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1181"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="961"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1402"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1192"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="470"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="691"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="520"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1763"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="560"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="812"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2314"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="791"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1873"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2494"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="260"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2484"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1142"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6256"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6209"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2724"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1211"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1552"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1823"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1813"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2503"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1603"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1081"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1603"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="661"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2093"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5368"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8242"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4076"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="58604"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38400"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4016"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1943"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4727"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1182"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3785"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3956"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4998"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2653"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4247"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1802"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5909"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3855"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3945"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3205"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3385"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11196"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8803"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="12428"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1822"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="8963"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3785"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4577"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4466"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2294"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5207"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1653"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2584"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6379"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2634"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1061"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1693"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1762"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1131"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1463"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1211"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1161"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="841"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1171"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="491"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="881"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="530"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="591"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="941"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="861"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1613"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2273"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="241"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2303"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1161"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7131"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6719"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2123"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1182"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1833"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2143"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2183"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1953"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1752"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="701"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1662"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2213"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4716"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8392"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4166"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="54458"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="40568"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4276"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1892"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4176"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4747"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="480"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3945"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4496"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2794"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4606"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2003"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5447"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2764"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4266"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3755"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="4296"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9444"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9783"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="14371"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2153"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="8212"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1652"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4216"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6098"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2764"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2494"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5207"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2114"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2654"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6419"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2774"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4086"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1207"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1732"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1141"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="961"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1182"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="311"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="961"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="851"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1112"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="491"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="891"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="501"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="611"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1753"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2323"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1081"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2474"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="531"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="310"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="858"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2293"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1091"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7140"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6820"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1813"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2103"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1712"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1853"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1723"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1892"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1622"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1552"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="591"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2354"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4467"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="9033"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3495"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="59013"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="37874"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4717"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1803"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4196"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1221"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4657"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2794"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4586"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4647"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2553"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4015"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1833"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6570"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3174"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4116"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2965"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3024"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="10195"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9333"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11366"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9213"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4637"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5368"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4316"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5027"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2123"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="7000"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1712"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2564"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="831"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1733"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1111"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1622"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="961"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="691"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1162"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="451"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="881"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="521"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="581"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1953"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1793"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1533"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2193"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="550"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="331"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="882"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1902"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2463"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1122"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7341"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6419"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1151"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1583"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1351"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1092"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1231"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2344"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1803"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1882"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1702"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2043"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1582"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2204"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="741"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2113"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4576"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="7771"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4156"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="56621"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="40515"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4547"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1983"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4727"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4046"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="520"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4015"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4947"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2263"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4016"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5218"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3084"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5000"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3024"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3375"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9283"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="8873"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="11606"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1853"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="8852"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1479"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3885"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4637"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3275"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2403"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5909"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2073"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2113"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6319"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2383"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1773"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1792"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1061"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="732"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1171"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="530"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="871"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1142"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="501"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="781"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="521"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="581"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="872"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="300"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="932"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2303"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1553"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2454"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="531"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="300"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1762"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2734"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1162"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6729"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5689"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2023"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2594"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1633"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="410"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2553"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1682"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1823"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1542"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1993"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1602"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="782"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1612"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2844"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4574"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="7831"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4145"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="59145"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="41660"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4106"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1933"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4797"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1172"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4356"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3936"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5087"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1903"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4657"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1872"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6086"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2243"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5297"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3115"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3174"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9354"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9644"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="12146"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2063"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="7241"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1993"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3845"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6159"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3906"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5268"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2123"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1533"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2113"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="6979"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1812"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2374"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="812"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="530"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="690"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1763"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="520"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1091"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="301"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="530"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="961"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="841"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1181"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="471"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="881"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="500"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="581"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1843"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="931"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="861"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2254"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2243"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="221"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="400"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="921"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1231"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2654"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1152"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6719"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5839"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1582"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2624"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1653"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="390"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2243"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1793"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1832"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1872"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2434"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="771"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1552"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2141"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4447"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8172"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4256"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="58001"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38616"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4086"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4797"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1141"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4236"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="490"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3825"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4266"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2463"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4737"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2093"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5889"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2493"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4115"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2935"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3355"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="10194"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="9023"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="12008"/>
-        </task>
-      </group>
-    </group>
-  </case>
-</log>
diff --git a/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.1/I20030129.all.xml b/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.1/I20030129.all.xml
deleted file mode 100644
index d289b4e..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.1/I20030129.all.xml
+++ /dev/null
@@ -1,12195 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<log timestamp="29/Jan/2003 17:16:34" sdkbuild="unknown">
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2032"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9815"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1892"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4657"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4937"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1563"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="190"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="812"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3064"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1803"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="551"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2133"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="661"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="420"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="791"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="862"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="821"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1212"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="471"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="821"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="581"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="611"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2113"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="611"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="360"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="942"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1872"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1923"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2543"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1923"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="321"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="992"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1513"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2834"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1142"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7290"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6460"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2654"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1521"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1171"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2323"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1792"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1953"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2373"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1993"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="771"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1773"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4666"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="7871"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3985"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="49942"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="40318"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2952"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2123"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3345"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3044"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="151"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2634"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3285"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2213"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3295"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2493"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4857"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2934"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3275"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4066"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2534"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5738"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7811"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="12257"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1762"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="11627"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5238"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5037"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2023"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="180"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="852"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2604"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2574"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1742"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="501"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1021"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="772"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="761"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1252"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="401"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="731"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="611"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="621"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2373"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="992"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="551"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="371"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2293"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1983"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2013"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1853"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1782"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="440"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="931"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2543"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1282"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7291"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6049"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1742"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2063"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1562"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2334"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2513"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1953"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="932"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1902"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="711"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1593"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4256"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8402"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3735"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="55519"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="43473"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3525"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2233"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3294"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6199"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="220"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2664"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3605"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2574"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3305"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2864"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4817"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3405"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3505"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4516"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2824"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="8001"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7772"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="10626"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1923"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="11076"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1602"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4968"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5868"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="861"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1630"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2644"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1752"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2223"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="121"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="611"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="952"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="640"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="501"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="641"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1122"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="470"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="802"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="661"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="561"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1993"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1071"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="590"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="300"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1702"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1792"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1463"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1762"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="271"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1082"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1762"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2443"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1262"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6630"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6105"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2514"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="530"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2203"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2393"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1713"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1812"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="601"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1873"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4596"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8111"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3876"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="53996"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="42730"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3034"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2193"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3896"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3185"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="140"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2744"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3134"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2394"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3185"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2473"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3976"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3293"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3365"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4246"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2713"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11597"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7792"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="10873"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1833"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="8592"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1602"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4937"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5237"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="191"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="892"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2914"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="971"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="131"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="510"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="892"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1021"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="141"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="861"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="711"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1301"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="470"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="832"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="641"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="601"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="510"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="360"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="621"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="832"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1782"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1692"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2043"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1733"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="300"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1081"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1593"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2574"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1242"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="5738"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6329"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2323"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="912"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1280"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2624"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2363"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1533"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2483"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="601"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1673"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4346"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8079"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4056"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="55180"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="43723"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2964"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2484"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3856"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1652"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3065"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2954"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3394"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1583"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3395"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2764"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4527"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4015"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3405"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4196"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2714"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="10421"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7701"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11476"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1802"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="10525"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4867"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5878"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1573"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3154"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1251"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="852"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1652"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="640"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2173"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1022"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="791"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="961"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="511"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="911"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1282"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="461"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="851"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="631"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="661"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2003"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="942"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="511"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="361"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1151"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2194"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1852"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1662"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2854"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1732"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="241"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1012"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1629"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2664"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1152"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6309"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6750"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2133"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1653"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1231"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1782"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2274"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2254"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="721"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4697"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8031"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4025"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="54616"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39937"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2924"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1732"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3294"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1513"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2814"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="140"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2694"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3024"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2033"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3385"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2634"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4787"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2593"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3145"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3926"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2774"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="9834"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7761"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="14110"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="10325"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4787"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5428"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1142"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="931"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1713"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="931"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3275"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="962"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1682"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="121"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2283"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="121"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="661"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="661"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1241"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1022"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="661"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="591"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="861"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="661"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1262"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="471"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="831"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="621"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="501"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1873"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="941"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="581"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="380"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2003"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1813"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1653"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1632"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="310"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="992"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2514"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1112"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7210"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6316"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1602"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2033"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1712"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2032"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1602"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2223"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1822"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2032"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="651"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="650"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4256"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8072"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4156"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="56868"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38535"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2964"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1663"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3164"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2033"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3685"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2404"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3775"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2123"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3105"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2684"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4113"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2784"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3886"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4366"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2594"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="9353"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7792"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11056"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1873"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="10765"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4707"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5628"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="460"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="861"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="931"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3465"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1261"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="852"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1082"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1593"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="491"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="892"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="842"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="641"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1101"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="541"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="791"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="590"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1653"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="971"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="350"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="861"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="791"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2093"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1763"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2293"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1713"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="320"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1081"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1702"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2654"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1082"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6469"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6289"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3065"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="822"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1091"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2524"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2113"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3655"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1503"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="931"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1993"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="761"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1833"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5288"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8031"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3846"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="53947"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="43621"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3004"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1813"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3415"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1693"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3014"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2633"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3084"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2293"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3095"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3495"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4376"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2784"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3676"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4375"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2574"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11557"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7351"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="12438"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2043"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9554"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4513"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6029"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="460"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1582"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2604"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1192"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="791"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="531"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="641"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1272"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="480"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="922"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="651"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="531"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2413"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2824"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="962"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="361"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="961"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2144"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2183"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1902"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1992"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="310"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1052"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1733"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2294"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1312"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7200"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6179"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1692"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2133"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1983"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="111"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2743"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1042"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2043"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1051"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2273"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="571"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1713"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4307"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8167"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3806"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="54852"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="42882"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2834"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3174"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3765"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="141"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2453"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3455"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2303"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3174"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2514"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4977"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3064"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3175"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4486"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2513"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11566"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7731"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11076"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="10065"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1813"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4246"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5378"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2554"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1092"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1813"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2123"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="137"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="500"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="521"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="521"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="991"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1252"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="491"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="811"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="701"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="601"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1612"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="792"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1281"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="571"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="361"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1793"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2003"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1693"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1642"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1683"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="240"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1091"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2433"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1352"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7441"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6259"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2143"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1291"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="140"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="551"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2033"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2594"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1572"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1852"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1061"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1893"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="591"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1793"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4596"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8011"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3986"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="52786"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="43349"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3124"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1943"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3134"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1443"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3115"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2484"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3305"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2143"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3165"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2523"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4667"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3675"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3495"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4226"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2534"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="10575"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7802"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11577"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="10785"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4417"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6188"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2524"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="961"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="842"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2013"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="561"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2214"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="841"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="842"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="531"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="500"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1382"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="411"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="811"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="641"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="621"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1704"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="971"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="360"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1792"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1903"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1783"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1612"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2314"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="220"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1041"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1633"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2254"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1412"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6525"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6409"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2914"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1612"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="541"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2434"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2654"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1923"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2073"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="751"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2133"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5197"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="7972"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3955"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="55893"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="42099"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2954"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2253"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3195"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3475"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2644"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3074"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3124"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2774"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4457"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4096"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3114"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3996"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2794"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11767"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7731"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="10315"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2134"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="10885"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4807"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4707"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1533"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="180"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2834"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="902"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="821"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1733"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1622"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="822"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1051"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="961"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="561"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1152"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="501"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="821"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="611"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="521"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1723"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1261"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="340"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1903"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1563"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1713"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="220"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1111"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2394"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1432"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7481"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6505"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2834"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="111"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2333"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2324"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2303"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1211"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2023"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="661"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1783"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4516"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="7951"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3665"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="53427"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="41241"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3215"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3525"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1633"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3195"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2504"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3054"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1863"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3395"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2894"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4290"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2945"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3485"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4336"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2604"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="2594"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7751"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="12037"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1792"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9444"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2153"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5788"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5748"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="200"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2704"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="821"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="180"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1882"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="510"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="812"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1231"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="511"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="521"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1212"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="461"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="861"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="711"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2364"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="371"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2273"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1983"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1562"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2573"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1021"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1723"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="250"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2313"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1482"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7531"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6900"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="932"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1943"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1261"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="649"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1942"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2804"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1863"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1222"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1973"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="611"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="480"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1733"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4837"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="7561"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4106"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="58220"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="41581"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2824"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2513"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3155"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3125"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2844"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3295"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1602"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3465"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2233"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4106"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3375"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4216"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3645"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2489"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="3746"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7711"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="12157"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="8622"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1783"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4577"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7270"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1542"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="161"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="982"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2764"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1682"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="270"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="500"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="872"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="621"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="771"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1332"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="481"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="831"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="581"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="511"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1793"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="971"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="601"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="340"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1773"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1893"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1783"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2053"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1743"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="280"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1071"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2043"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2394"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1462"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7260"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6159"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2724"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1292"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="661"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2223"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1171"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2384"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1672"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2033"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="641"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1683"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5168"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8442"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3725"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="55540"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="44734"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2835"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2733"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3525"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3185"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="140"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2464"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3175"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3184"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2514"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5639"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3665"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3465"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4086"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2514"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="10741"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7791"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="12118"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2333"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9644"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1593"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4586"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4847"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="470"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="161"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2263"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="902"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1852"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="151"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="658"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="661"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1311"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="490"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="912"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="651"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="551"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1973"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1041"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="360"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1913"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1973"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2624"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1783"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="240"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1112"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1678"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2343"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1071"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7221"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6299"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1022"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3044"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1772"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="541"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1141"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2544"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2334"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1682"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2053"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="631"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1883"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5709"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="7771"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3856"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="52256"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="41820"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2945"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2493"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3245"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3195"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2875"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3365"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1923"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3175"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2704"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4206"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4337"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3304"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4126"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2543"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="10555"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7778"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="12057"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1843"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="11997"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4687"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5489"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="480"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="922"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2033"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="181"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2214"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="931"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="781"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="541"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1962"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="111"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="490"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1042"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1051"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="691"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1252"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="481"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="821"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="650"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="500"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1703"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="621"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2153"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="540"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2083"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1612"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1783"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="351"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1121"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1603"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2354"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1042"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7380"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6820"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3245"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2743"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2183"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1652"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2172"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="1022"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="490"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1882"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5969"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="7931"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3806"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="61515"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="45085"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2914"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2804"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3325"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1713"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2924"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3975"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3305"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2133"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4286"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2284"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4937"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3535"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3394"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4036"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3025"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="8157"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7721"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="10846"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2253"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9153"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5007"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5077"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2113"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3014"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="981"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1702"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2102"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="942"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="691"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1342"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="471"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="731"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="601"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2274"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="190"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="361"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2214"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="791"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1923"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1823"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="230"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1952"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2324"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1111"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6600"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6039"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3045"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="521"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1222"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2774"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2384"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2012"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2073"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="561"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1782"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4677"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="7721"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4304"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="55459"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="41289"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2984"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3175"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2915"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2663"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3214"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4706"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2504"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4326"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4066"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3576"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4736"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2624"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="3816"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7761"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="12177"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1993"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9463"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4526"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6229"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="942"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2503"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="902"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1773"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1812"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="842"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="510"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="661"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="711"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1211"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="401"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="851"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="620"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="530"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2384"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="351"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="962"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1893"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1552"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1883"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="241"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1122"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1803"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2300"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1122"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6980"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6449"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2544"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1602"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="611"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2433"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2243"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1201"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1913"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="912"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1972"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="831"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1521"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5198"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="7631"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3715"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="56860"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39708"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2924"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2684"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3185"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2854"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="151"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2553"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3505"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1869"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3154"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2194"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4377"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3064"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3465"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4907"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2484"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="8773"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7771"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11376"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1833"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="10495"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5378"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4416"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3255"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="931"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="781"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1712"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="791"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="722"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="791"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="531"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="521"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1171"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="481"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="831"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="640"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1533"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="611"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="121"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="340"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1662"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="822"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1892"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1882"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1693"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1863"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="290"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1061"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1532"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2504"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1132"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6656"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6209"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1151"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2614"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1622"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="611"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1231"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2744"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2664"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2063"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2143"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="681"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1893"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4877"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="7841"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3745"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="54878"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="38867"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2794"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3185"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1762"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2814"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="140"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2874"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3165"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3275"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2440"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4036"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3775"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3775"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4066"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3034"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="8382"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7291"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11527"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1743"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="10264"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1291"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5508"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4687"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2183"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="861"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="882"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3174"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2173"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="861"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="480"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="511"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="111"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="500"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="550"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1302"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="460"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="832"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="681"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="541"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1892"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="611"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="151"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="380"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2143"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="861"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1883"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1822"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2544"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1923"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="320"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1031"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2053"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2353"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1052"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6909"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6399"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1042"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2523"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1161"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1633"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="531"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2694"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1802"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2464"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1822"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2043"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="611"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4827"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8032"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3775"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="54206"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="41460"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2714"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1912"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3155"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3145"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2454"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3074"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1703"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3194"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2714"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4386"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3375"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3756"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4777"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2814"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="10996"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7761"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="12197"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="10865"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="5317"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5117"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1953"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="842"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="852"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2824"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1192"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2524"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="601"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1553"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="661"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="521"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1022"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="621"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1191"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="460"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="841"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="641"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2404"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="992"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="601"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="411"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2213"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1883"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1723"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="280"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1102"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1763"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2404"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1061"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6865"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6269"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1812"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2023"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1473"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="621"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1743"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1642"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2293"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2614"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2273"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="822"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4947"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="7771"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3775"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="56222"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="40003"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3545"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1792"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3365"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1563"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3135"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2654"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3025"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1802"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3716"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2183"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4457"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2703"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3344"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3886"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2504"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="10174"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="6049"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="13469"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1763"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="10275"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4416"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5478"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="490"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1542"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1082"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2564"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="982"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1683"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="991"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="531"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="511"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="791"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1242"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="571"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="851"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="611"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="471"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2233"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1762"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1290"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="571"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="330"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="931"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1793"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1913"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1712"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2484"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2003"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="231"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1082"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1752"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2333"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1131"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="7418"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6159"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3014"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2163"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2263"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1111"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2033"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1082"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1953"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="601"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="520"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4827"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8181"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3945"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="53207"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="40697"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3025"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3205"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3094"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2694"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3055"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3175"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2173"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4557"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4456"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3395"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4126"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2454"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="8011"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7821"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="13620"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1853"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9564"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4937"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4376"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="902"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1683"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3044"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="902"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="801"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1582"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1763"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="822"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1211"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1051"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="500"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="681"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1222"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="500"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="822"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="601"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="501"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2694"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="571"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="350"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2003"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1913"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1923"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2273"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1873"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="370"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1302"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1632"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2283"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1031"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6760"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6339"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2303"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2564"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1051"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2324"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2563"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2203"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="581"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1663"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4797"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="7881"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3285"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="55820"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39285"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2915"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3174"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2954"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2444"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3415"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1702"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4366"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2744"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4256"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3325"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3395"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3966"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2423"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="9724"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7131"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11356"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1943"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="10745"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4577"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="7791"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3455"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="921"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="882"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="490"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="832"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="501"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1202"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="390"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="731"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="610"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="510"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1573"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1162"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="551"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="371"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2093"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1882"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1692"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2404"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1843"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="290"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2304"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2413"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1102"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6679"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6450"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2944"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2333"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1533"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2844"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2223"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="761"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1773"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5203"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="7781"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3926"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="49374"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="39443"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2914"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1632"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3135"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3405"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2533"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3285"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2423"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3255"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2433"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4256"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2674"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3996"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3926"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2554"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="9744"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7200"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="10144"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="9490"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4546"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4156"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="942"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="832"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2763"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1231"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2073"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="530"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1652"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="811"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="882"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1042"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="550"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1172"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="430"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="812"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="711"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="541"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2003"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="550"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="360"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2003"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="902"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1889"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1542"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1863"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="270"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1823"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2173"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1101"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6860"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6339"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2434"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3434"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1061"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2464"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1692"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2754"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="661"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="650"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1602"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4817"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8072"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3805"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="57503"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="40229"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3004"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2474"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3004"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1453"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3445"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2564"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3054"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1893"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3194"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2334"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4316"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2244"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4433"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3816"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2463"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="9824"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7150"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="10435"/>
-        </task>
-      </group>
-    </group>
-  </case>
-</log>
diff --git a/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.1/RC1.all.xml b/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.1/RC1.all.xml
deleted file mode 100644
index 13c0e27..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/benchmark/team2.1/RC1.all.xml
+++ /dev/null
@@ -1,12195 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<log timestamp="25/Feb/2003 16:40:59" sdkbuild="unknown">
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2124"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3765"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1582"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4637"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2984"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="180"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="781"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="831"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="140"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1051"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="961"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1141"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="111"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="620"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1231"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="460"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="822"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="541"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="610"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1171"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="611"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="370"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1251"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="931"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1762"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="551"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1712"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="340"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1563"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2904"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1462"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="4507"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6088"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1221"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1670"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1281"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="111"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1222"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1732"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2243"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1042"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1732"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="851"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1672"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4676"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8773"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4326"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="33548"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="36891"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3796"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4757"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1321"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3164"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="151"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3074"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3455"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1552"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3385"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2363"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3716"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1983"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3565"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3535"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2974"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11337"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7631"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="4797"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2023"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3776"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="7540"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2704"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1061"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1552"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1161"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="922"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="801"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1022"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="991"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="681"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1452"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="481"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="821"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="541"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="591"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="570"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1182"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1893"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1813"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="311"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1031"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2754"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1342"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="4827"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6159"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1603"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="161"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1251"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2143"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1041"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1853"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="651"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="861"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1493"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4456"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="9233"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4417"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="33227"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="35958"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3886"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4146"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3224"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3044"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3265"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3575"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2884"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3926"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1783"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3957"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3575"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2634"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11186"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7601"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="13529"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2103"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3876"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1642"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4557"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3134"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1201"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="822"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="812"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="550"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1311"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="832"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="932"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="661"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1272"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="470"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="822"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="551"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="560"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="922"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="561"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="341"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="822"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1882"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="661"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1652"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="280"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2734"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1322"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="4686"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6049"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1582"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="882"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1662"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1563"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2123"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2002"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="610"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4595"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="10095"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4416"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32207"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="35291"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3876"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3775"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3292"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="151"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3174"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3274"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1733"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3415"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3825"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1843"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4026"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3185"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2533"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="2834"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7641"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5088"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3876"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1652"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4337"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2824"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1552"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1022"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="601"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1021"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="140"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="742"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="490"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="812"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="551"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="802"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1062"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="491"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="911"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="551"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1192"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="540"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="131"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="430"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="611"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1823"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="892"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1271"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="590"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1553"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="260"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1241"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2594"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1352"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="4656"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6079"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1602"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="932"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1623"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2093"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1061"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2093"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="621"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1713"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4586"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="9393"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4256"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="33527"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="35598"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3906"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4076"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1642"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3405"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="161"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2974"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3645"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1433"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3475"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3004"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4016"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1852"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3716"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3204"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2543"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11727"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7571"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="4867"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3695"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1743"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4586"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3465"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1742"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1903"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="831"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1082"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="912"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="902"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="620"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1141"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="751"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1262"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="480"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="822"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="511"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="630"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1162"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1072"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="511"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="371"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1071"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1853"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="261"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1762"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2794"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1352"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="4617"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6310"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1091"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1662"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="140"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1022"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1552"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2233"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1131"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1803"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="631"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4246"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8842"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4346"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32236"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="35691"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3946"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5187"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3595"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2945"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3723"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1803"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3425"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2133"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3816"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1792"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4467"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3335"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2503"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11247"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7791"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5588"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2221"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3686"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1552"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4717"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2794"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="912"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="922"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1061"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1091"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="922"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="902"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="460"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="551"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="621"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1212"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="481"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="911"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="541"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="601"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2754"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3064"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="511"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="330"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1632"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="762"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1752"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="932"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1271"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1612"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="371"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="300"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="901"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1642"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="3004"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1392"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="4846"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6149"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2033"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2163"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="631"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4406"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8903"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4376"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="30511"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="36229"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3935"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4036"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1813"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3285"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3135"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3806"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3405"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2253"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3876"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1842"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3956"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3245"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2584"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11907"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7831"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5338"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2103"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3665"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1842"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4717"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2583"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1792"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="181"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="861"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="922"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="861"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1131"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="151"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="862"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="140"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="932"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="520"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1141"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="560"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="882"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1572"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="531"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="771"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="581"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="832"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="611"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="350"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1281"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1953"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1693"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="330"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1241"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1723"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2884"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="3165"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="4686"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5987"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1022"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="591"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1722"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2153"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1682"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1873"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="681"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1833"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4386"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="9113"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4206"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="31005"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="36102"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4026"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3996"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3385"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="141"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3164"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3536"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1291"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3455"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2563"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4025"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3856"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3215"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2804"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11466"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="9443"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5227"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3775"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1972"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4827"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2594"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1523"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1773"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="821"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="490"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="561"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1082"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="881"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1432"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="511"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="891"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="531"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="591"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="500"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="340"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="610"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2163"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1092"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1833"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="310"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="301"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1042"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2904"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1182"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="4827"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6219"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1493"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1171"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1782"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2123"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1140"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1151"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1261"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="651"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1523"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4736"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8953"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4526"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="31475"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="35549"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3705"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1503"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4056"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3064"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="161"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3054"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3526"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1351"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3645"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2133"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3595"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2003"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3384"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4005"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2614"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="2393"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7781"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5248"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2384"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3715"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4547"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3015"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="931"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="872"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="931"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1091"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1021"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1251"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="982"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="781"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1232"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="451"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="921"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="521"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="581"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1072"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="540"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="470"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1281"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1792"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="591"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1883"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="320"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1543"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2674"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1162"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="4637"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5889"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1469"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2143"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1642"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1892"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="721"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="550"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4867"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8893"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4246"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32166"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="36060"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3966"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3956"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2533"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3014"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3254"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4576"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3676"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2093"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4156"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1742"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3666"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3945"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2874"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="10695"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7841"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5588"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2253"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3775"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1542"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4556"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3645"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="912"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1732"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="912"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="922"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="490"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="922"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="541"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="661"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1281"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="470"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="892"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="490"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="551"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="932"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="571"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="351"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="822"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1772"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="591"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1642"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="261"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1051"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1632"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2454"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1482"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="4637"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5838"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="581"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1593"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2133"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1241"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1141"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1843"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="971"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1623"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4507"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8913"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4306"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32476"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="34658"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4086"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5047"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1192"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3395"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3065"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3155"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3735"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2163"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3565"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1733"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3945"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3726"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2904"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="12137"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7881"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5859"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3786"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1732"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4757"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2964"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="180"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="892"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1051"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="861"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="871"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="972"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="661"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="931"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1152"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1121"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="501"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="811"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="520"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="601"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1059"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="501"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="361"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2033"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1182"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="591"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="270"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2694"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1462"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="4457"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5569"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1331"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1211"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1051"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2103"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1141"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1953"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="651"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4827"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="10255"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4296"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32046"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="36172"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4176"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3806"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2593"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2984"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3245"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3646"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3345"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2834"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3616"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2113"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3885"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3495"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2934"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11336"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7742"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5798"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3635"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4717"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2774"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="831"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="161"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="952"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="842"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1021"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="191"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1022"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1051"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="480"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1131"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="121"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="651"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1211"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="461"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="901"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="571"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="600"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1051"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="490"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="360"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="802"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1191"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1793"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1663"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="270"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1943"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2414"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1512"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="4367"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="6159"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1222"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1493"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1341"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="892"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2163"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1198"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1652"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1863"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="701"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4897"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8793"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4027"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="33538"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="35208"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3825"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1142"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4727"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1201"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4196"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2824"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3315"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4437"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2123"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4266"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1622"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3795"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3385"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2854"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11417"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7821"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5518"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2023"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3665"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4457"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2854"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="791"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1623"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="962"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="892"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="862"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="991"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="470"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="862"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1042"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="541"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="661"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1102"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="480"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="912"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="521"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="931"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="600"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="320"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1792"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="931"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1632"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="340"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1061"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1593"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2404"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1502"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="4563"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5859"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1111"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1933"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2193"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1102"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1151"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1833"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="661"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1062"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1632"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4856"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="9163"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4006"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="33086"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="36342"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3705"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1192"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4136"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1531"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3014"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3114"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3325"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3636"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2243"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4126"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1782"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4536"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3385"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2514"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="10685"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7421"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5538"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2414"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3855"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4676"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2854"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="490"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1663"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="180"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1583"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="131"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1022"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="962"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="500"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1622"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="791"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1182"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="461"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="811"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="491"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="661"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1261"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="981"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="560"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="121"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="350"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1953"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="581"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2193"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="321"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="932"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2723"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1582"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="4597"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5949"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1642"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1221"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="931"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2093"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1281"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1863"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="751"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2033"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4757"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8813"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4576"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="31706"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="36412"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4036"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3836"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3475"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2845"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4486"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3773"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2383"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3505"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2123"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3766"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3355"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2584"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11746"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7871"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5353"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2524"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3806"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1682"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4396"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2554"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="180"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1042"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1131"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1021"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="912"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="872"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="962"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1111"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="801"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1262"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="490"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="902"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="541"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="561"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="330"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="621"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="571"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1633"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="320"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1032"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1597"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2514"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1092"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="4877"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5909"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1782"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1553"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2103"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1151"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2023"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="591"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="530"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5218"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8923"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4637"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="30557"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="35410"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3696"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1271"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4176"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1762"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3094"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="140"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4236"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3315"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1231"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3745"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2203"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4236"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1753"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3775"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3525"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2974"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11236"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7671"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5027"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2363"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3746"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4447"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3155"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="500"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="200"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1021"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="981"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1211"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="832"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="610"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1131"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1101"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="230"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="530"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="661"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1352"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="531"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="791"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="551"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="611"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="729"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="571"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="361"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="661"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1853"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1302"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="571"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="331"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1603"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2474"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1112"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="4897"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5698"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1803"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1603"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2233"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1723"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1151"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="610"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1633"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4576"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8672"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4286"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32598"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="35591"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3706"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4316"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1402"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2985"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4286"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3895"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1543"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3234"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2073"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4176"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1812"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3866"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3755"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2593"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11096"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7808"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5669"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="4436"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1613"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4827"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2794"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1032"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="872"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="121"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="922"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="510"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="781"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1583"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="481"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="701"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="541"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="611"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1271"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1051"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="540"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="101"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="340"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1271"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1772"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="962"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1292"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="581"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1632"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="260"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2503"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1131"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="6840"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5838"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1493"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1341"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="862"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2223"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1182"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1662"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2013"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="691"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1662"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="6109"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8922"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4226"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32286"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="36243"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3595"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4456"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3114"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3254"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5538"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1447"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3215"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2403"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4357"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1792"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4467"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3685"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="3095"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5768"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7731"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="14021"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1842"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3846"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1913"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4366"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3105"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="510"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1822"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1552"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="991"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="972"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="872"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="541"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="500"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="942"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="661"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1312"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="480"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="812"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="531"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="600"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1052"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="541"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="440"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1292"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1632"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="300"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1072"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1622"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2473"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1101"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="4717"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5898"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1503"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="111"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1081"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2139"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1012"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1993"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="911"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1622"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4616"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="9074"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4947"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="31786"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="36790"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3725"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4296"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1312"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3055"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4507"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3285"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1582"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4046"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2173"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3614"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2163"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3254"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3425"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2534"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="12208"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7721"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="4987"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3636"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4877"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2674"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1742"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1222"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="972"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1042"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="972"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="460"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="872"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="791"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1252"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="551"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="811"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="531"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="541"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1091"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="480"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="161"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="290"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1212"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1813"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="320"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="932"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2584"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1132"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="5037"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5788"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="892"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2244"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1051"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2063"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="852"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="520"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="2165"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4697"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8352"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4817"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32934"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="35741"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3726"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4336"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1162"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3054"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="161"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3244"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3345"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5217"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2233"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3895"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1883"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="6049"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3405"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2534"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="2614"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7712"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5678"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1913"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3815"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1562"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4516"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2714"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1642"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1082"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="861"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="111"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="991"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="111"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="661"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="540"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="851"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1432"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="481"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="801"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="541"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="621"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1191"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="941"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="521"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="350"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1773"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1802"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="321"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1022"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1592"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2724"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1131"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="5007"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5728"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1171"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1262"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1513"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2123"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2193"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="701"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1563"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4647"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8332"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4176"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32506"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="35832"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3685"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4526"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2994"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="140"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2754"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3345"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5357"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2364"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3475"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1733"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3996"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4106"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2573"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11206"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7771"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5678"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1933"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3855"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1602"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4436"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2784"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2203"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="180"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="821"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="180"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="611"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1192"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="481"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="811"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="541"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="531"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1221"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="921"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="530"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="350"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1111"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="762"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1902"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="952"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="581"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1772"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="341"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1102"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2373"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1201"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="5178"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5889"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1151"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="752"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="2113"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2033"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1072"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1111"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2203"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="801"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1662"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4757"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8961"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4116"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="31656"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="36549"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3816"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1181"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4246"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1842"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3034"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3055"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3355"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3996"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2173"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3595"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1722"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4005"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3355"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2844"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11637"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7802"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5257"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2013"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3686"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4596"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2764"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="922"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="180"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1022"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="851"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="831"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="161"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="531"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="861"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1102"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="481"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="901"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="531"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="571"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="921"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="601"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="390"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1882"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1251"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1602"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="301"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2534"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1192"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="5027"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5828"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1292"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="852"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="591"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1612"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2764"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="641"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1683"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="4757"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="8643"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4166"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="32653"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="35401"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3865"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1212"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4847"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3075"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3335"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3305"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5327"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2254"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3585"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1732"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4066"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3354"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2885"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="11766"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7791"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5408"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2103"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3685"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4476"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2724"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="922"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1022"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="821"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="932"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="130"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1091"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="822"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1272"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1092"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="491"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="811"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="531"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="621"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1131"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="762"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1041"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="611"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="420"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1321"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1812"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="591"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="331"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1082"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2573"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1101"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="5118"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5919"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="110"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="872"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1082"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2133"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1061"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2123"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="701"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5328"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="10004"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4186"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="31435"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="36283"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4456"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3806"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1271"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3565"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2955"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3936"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3144"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2203"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5768"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1652"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3495"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3576"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2543"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="10435"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7811"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5438"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2033"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="3555"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="4437"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="2764"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="851"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1051"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="120"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="902"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1007"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="111"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1352"/>
-      </task>
-      <task name="Nothing to Commit">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="1172"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="491"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="811"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="541"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="581"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1272"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="741"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="571"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="100"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="410"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2023"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1362"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1693"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="260"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1101"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1492"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="2463"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="1141"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="4417"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="5879"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1502"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1302"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="151"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="711"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1042"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1580"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2093"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2113"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="691"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="1682"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <result elapsed="5178"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="set sharing, pop up sync viewer">
-        <result elapsed="9445"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Repository action">
-        <result elapsed="4176"/>
-      </task>
-      <task name="Sync View Commit action">
-        <result elapsed="31505"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="35479"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="4466"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1302"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3825"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3676"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="150"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3185"/>
-        </task>
-        <task name="Nothing to Update">
-          <result elapsed="0"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3275"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3956"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="2583"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="3785"/>
-        </task>
-        <task name="Sync View Commit action">
-          <result elapsed="1773"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Repository action">
-          <result elapsed="5868"/>
-        </task>
-        <task name="Sync View Update action">
-          <result elapsed="3706"/>
-        </task>
-      </group>
-    </group>
-    <group name="tag project">
-      <task name="CVS Tag action">
-        <result elapsed="2533"/>
-      </task>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="9404"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="7791"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Remote action">
-          <abort type="warning" message="Encountered error dialog with title: Error Replacing With Latest From Repository">
-          </abort>
-          <result elapsed="5728"/>
-        </task>
-      </group>
-    </group>
-  </case>
-</log>
diff --git a/tests/org.eclipse.team.tests.cvs.core/benchmark/teamui_benchmark.bat b/tests/org.eclipse.team.tests.cvs.core/benchmark/teamui_benchmark.bat
deleted file mode 100644
index a2c69b9..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/benchmark/teamui_benchmark.bat
+++ /dev/null
@@ -1,38 +0,0 @@
-@echo off
-rem Team UI benchmark script
-rem Expects the following plugins to be installed:
-rem   org.eclipse.core.tests.harness
-rem   org.eclipse.team.core
-rem   org.eclipse.team.cvs.core
-rem   org.eclipse.team.cvs.ui
-rem   org.eclipse.team.tests.core
-rem   org.eclipse.team.tests.cvs.core
-rem   org.eclipse.team.ui
-rem   org.junit
-
-set ROOT=D:\PerformanceTesting
-
-set ECLIPSE=%ROOT%\eclipse
-set REPOSITORY_PROPERTIES=%ROOT%\repository.properties
-set TEST=cvsui.benchmark.all
-set LOG=%ROOT%\%TEST%.xml
-set REPEAT=6
-set IGNOREFIRST=-ignorefirst
-
-set PLUGINS=%ECLIPSE%\plugins
-set WORKSPACE=%ECLIPSE%\workspace
-set JRE=%ROOT%\jre
-set JAVA=%JRE%\bin\java.exe
-set HARNESS=org.eclipse.team.tests.cvs.core.harness
-
-set VMARGS=-Declipse.cvs.properties=%REPOSITORY_PROPERTIES%
-set PROGARGS=-dev bin -application %HARNESS% -test %TEST% -log %LOG% -purge -repeat %REPEAT% %IGNOREFIRST%
-
-pushd %ECLIPSE%
-echo Purging the workspace: %WORKSPACE%
-del /S /F /Q %WORKSPACE% >NUL:
-@echo on
-@echo Running Team UI benchmark test
-%JAVA% -cp startup.jar %VMARGS% org.eclipse.core.launcher.UIMain %PROGARGS%
-@echo off
-popd
diff --git a/tests/org.eclipse.team.tests.cvs.core/benchmark/vcm1.0/2002_02_26.integration.all.xml b/tests/org.eclipse.team.tests.cvs.core/benchmark/vcm1.0/2002_02_26.integration.all.xml
deleted file mode 100644
index 922e0ef..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/benchmark/vcm1.0/2002_02_26.integration.all.xml
+++ /dev/null
@@ -1,10960 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<log timestamp="01/Mar/2002 19:54:44" sdkbuild="20020226">
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1873"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1873"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1802"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1792"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1012"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1081"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1612"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2694"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="550"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2253"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1962"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1530"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="281"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1092"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1632"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1161"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="291"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="611"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="841"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="691"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="601"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="471"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="862"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="822"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1593"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1081"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1290"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="160"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1221"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="892"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="2543"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="2133"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3726"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1161"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4356"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3284"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2274"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1151"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2113"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1942"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1162"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1863"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1812"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2063"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1072"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2103"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="901"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2042"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1042"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1483"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="520"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="390"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2173"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2443"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1251"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="291"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="600"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1067"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="281"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="711"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="822"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="711"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="570"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="481"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1082"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="721"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1172"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="170"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1111"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="801"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="2534"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="2203"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3785"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="952"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3706"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="630"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3134"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2043"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2173"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1623"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="821"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="981"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2033"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1553"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1912"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1953"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1482"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1683"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1041"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="931"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2273"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1022"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1553"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="540"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1011"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1032"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1483"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="410"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2734"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2073"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1792"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="300"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="962"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1111"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1593"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="500"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="510"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1231"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="291"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="570"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="861"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="661"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="631"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="450"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="962"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="842"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="630"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1693"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="861"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1032"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="922"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="861"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="792"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="852"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="530"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1111"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="751"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="2364"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="2114"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3495"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1101"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3545"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3205"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="410"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1191"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2504"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1703"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="811"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1052"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2113"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1793"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1643"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1512"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1992"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1052"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2273"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1092"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1563"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="530"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1149"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="400"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2273"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1902"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1843"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="301"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1161"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1612"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="651"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="851"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="691"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="538"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="430"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="922"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1161"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="982"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1061"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="651"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="801"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="190"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1151"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="801"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="2414"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="2108"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3345"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3765"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2944"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="400"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2376"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1142"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2314"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="932"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="781"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1141"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1712"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1792"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1782"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1953"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1753"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2093"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1122"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1623"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="540"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1072"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2163"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2133"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1952"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="300"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="360"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1146"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="671"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="941"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="651"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="601"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="440"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="912"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="771"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="831"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1613"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="600"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="812"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="691"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1272"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="921"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="2564"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="2003"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4084"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1031"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3505"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2974"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2193"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1978"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1071"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1843"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="2854"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="1041"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="12558"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="17485"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3875"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="801"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3696"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4367"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3976"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3705"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1192"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3965"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3545"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1181"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3435"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1191"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2704"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3094"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="4186"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1583"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1882"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1472"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2123"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1031"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1752"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="932"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="972"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2263"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2113"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1823"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="291"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="550"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="540"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1191"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="300"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="691"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="951"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="591"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="641"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="471"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1623"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="640"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="825"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1002"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="811"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="991"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1161"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="812"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="2283"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="1993"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3315"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1131"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3355"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="570"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1572"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3154"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2173"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1092"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2153"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1972"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="872"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1285"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1853"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="3075"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="1101"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="20199"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="16639"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3696"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3725"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4316"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="673"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3926"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="470"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3635"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3905"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3585"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1073"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3365"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1192"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2734"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3194"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="4036"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1552"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1863"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1953"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1572"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1773"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1061"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1963"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="915"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2224"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1131"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1652"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1101"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="892"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1973"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2123"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="390"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="350"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1131"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="290"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="691"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="841"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="641"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="601"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="471"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="912"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1623"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="992"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="832"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1042"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1122"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="911"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="2584"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="1923"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4446"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3615"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1301"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3234"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2454"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1121"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2223"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1843"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1542"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1151"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1922"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1703"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1832"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1602"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1532"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1031"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1722"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1122"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1562"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1261"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2633"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2032"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="290"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1223"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1572"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1472"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="271"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="621"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="892"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="711"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="590"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="421"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="701"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1722"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="490"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="560"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="627"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="831"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="982"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="161"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="801"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1111"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="901"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="2474"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="2063"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4036"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1072"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3435"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1241"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2804"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2383"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2464"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2213"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="852"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="861"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1873"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="2925"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="981"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="12949"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="17124"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3755"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1012"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3425"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4036"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3936"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3695"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1182"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4036"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3575"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1102"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3395"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1051"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2714"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2974"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="4186"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1923"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1953"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1031"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1742"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="901"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1142"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1545"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="500"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1051"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2304"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="580"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2163"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1603"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="280"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1562"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1095"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="270"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="520"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="902"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="701"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="561"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="441"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="871"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="580"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1553"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="530"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="928"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1011"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="821"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="782"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1061"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="440"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1221"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="1042"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="1843"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="1963"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3935"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="982"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3485"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="550"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2844"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="400"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2093"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1172"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2073"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1812"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="2334"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="1081"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="8315"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="15482"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4016"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3435"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3695"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3705"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3736"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3885"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3556"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1071"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3201"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1032"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2875"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3095"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3765"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1282"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1782"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2184"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1853"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1012"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1562"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="580"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2043"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2263"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1913"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="410"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1043"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1021"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1352"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="270"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="551"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="821"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="571"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="851"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="431"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="871"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1753"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="540"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1201"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1002"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="500"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="201"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="670"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="580"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1112"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="801"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="1723"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="2051"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3665"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3195"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2804"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2403"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2384"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1873"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1552"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1131"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1542"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="3364"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="1262"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="17385"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="16744"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3615"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1042"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3274"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3945"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="852"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3765"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3807"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1211"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3776"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3345"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1062"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3435"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2611"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3295"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3606"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1633"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1141"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1812"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1462"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2063"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1031"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1933"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="912"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1162"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2784"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="600"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2093"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1793"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="280"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1082"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="520"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="290"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1131"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="821"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="2694"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="1983"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3525"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="931"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3526"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="560"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1682"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2884"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="400"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2032"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1182"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2154"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1993"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="841"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1643"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="981"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="2494"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="1152"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="8101"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="19878"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3335"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3545"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4006"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3625"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3756"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1231"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3946"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3395"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="971"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3315"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="931"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2784"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2954"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3675"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1762"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1692"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1893"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1031"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2020"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2153"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1042"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1071"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1072"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1456"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2043"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2103"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1892"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="291"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="991"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="912"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="590"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="280"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="802"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="821"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="711"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="561"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="451"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="791"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1002"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="752"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1022"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="811"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1131"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="811"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="1843"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="1982"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3962"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3485"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="560"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2965"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="480"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2264"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1051"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2293"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1833"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1172"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1432"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="2573"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="1152"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="8402"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="17324"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4537"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3655"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4076"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3916"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="470"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3535"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1212"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3766"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="630"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3515"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1102"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3214"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="742"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2673"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3265"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3725"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1292"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1692"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1452"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1032"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1642"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2093"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1222"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="380"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2223"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1783"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="560"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1277"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="290"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1151"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1792"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="290"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="701"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="911"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="651"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="621"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="440"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1752"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="982"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="410"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="882"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="510"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="181"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="520"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1111"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="812"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="1582"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="2023"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3946"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3315"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="590"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2975"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="420"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2303"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1162"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2143"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="600"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1853"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1101"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="2704"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="1031"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="17055"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="17114"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3736"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="941"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3655"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4176"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3905"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3605"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3825"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3385"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1072"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3415"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2704"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3245"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3605"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1572"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1322"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1762"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1553"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1703"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2133"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1151"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="490"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2313"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1703"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="480"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="280"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="972"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1092"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="291"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="701"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="841"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="591"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="674"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="441"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="901"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="862"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="520"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1713"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1032"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="390"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="811"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1162"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="671"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="180"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1171"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="751"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="1803"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="1943"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3735"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1001"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3214"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2714"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2043"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1141"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2233"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1792"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1132"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1963"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="2564"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="1101"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="12568"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="15813"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3936"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3635"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4204"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4156"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3665"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1212"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3916"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3401"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1212"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3295"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="931"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2694"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2875"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3675"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1842"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1082"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1732"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1042"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1722"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="921"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1022"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="841"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="510"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="410"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2123"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1942"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="341"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1903"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1473"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="280"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1492"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="280"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="631"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="842"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="721"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="570"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="401"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="961"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="892"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="882"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="550"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1643"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="560"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="982"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="570"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1041"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="922"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="570"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="621"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="550"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1091"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="811"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="1743"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="1962"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3135"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="971"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3618"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="560"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2734"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1191"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1922"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1852"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="802"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="751"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1051"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="2444"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="1072"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="16163"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="17325"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3615"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1032"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3485"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4216"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3896"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="460"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3675"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3605"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3605"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1062"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3305"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1032"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2653"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3095"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3705"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1702"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1852"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1642"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1022"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1853"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="901"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1912"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1142"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="610"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2424"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2103"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1341"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="271"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1021"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1562"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1151"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1432"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1112"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="300"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="791"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="811"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="681"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="531"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="391"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="902"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="510"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="520"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="731"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1121"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="832"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="1602"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="1923"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3876"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="921"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3455"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1372"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2904"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2153"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1122"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="781"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1041"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1712"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="2614"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="1071"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="8005"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="15863"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3826"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3895"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3966"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3665"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3575"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1122"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3826"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3475"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1112"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3365"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="851"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2714"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2984"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3835"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1512"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1692"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1422"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1822"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1012"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2239"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1101"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1171"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="390"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2273"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2243"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="580"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="300"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1202"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1021"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1151"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="281"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="701"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="871"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="661"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="701"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="421"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="931"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="871"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="911"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="791"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="982"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="751"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="941"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="290"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="570"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1222"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="811"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="1963"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="1912"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4086"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="981"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3535"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2984"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2363"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2253"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="709"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2033"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="570"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1392"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="2274"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="1071"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="8182"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="16790"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3665"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="912"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3525"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="822"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4045"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4086"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3876"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1222"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3805"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3615"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1072"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3404"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="782"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2574"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3175"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="4056"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1463"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1372"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1732"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1483"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2093"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1031"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2173"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="892"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2213"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1182"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1563"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="490"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1242"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2764"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1962"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="600"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1232"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="280"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="931"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1222"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="320"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="495"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="270"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="711"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="871"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="721"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="561"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="621"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="962"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="891"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1673"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="540"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1292"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="381"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="951"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="681"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="510"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="271"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="480"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="852"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1051"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="801"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="1733"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="2093"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4356"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="982"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3425"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="540"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3164"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="441"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2093"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1052"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2243"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1612"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="741"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1022"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="2283"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="1092"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="8455"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="16544"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3665"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="932"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3575"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3986"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3875"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3976"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4106"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3636"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1091"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3625"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="821"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3255"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3144"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3515"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1872"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1182"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1752"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1901"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="992"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1853"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="901"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1031"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1412"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1052"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="611"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="400"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1993"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2183"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="370"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1602"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1312"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="270"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1092"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1662"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1332"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="490"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1121"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="261"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="661"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="811"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="681"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="591"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="390"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="901"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1148"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1532"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1182"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="430"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="731"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1181"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="530"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="230"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1091"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="871"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="1930"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="1883"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3515"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="872"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3195"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1572"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3275"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="390"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2284"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1051"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2134"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="620"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2013"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="801"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1923"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1042"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1342"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="3215"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="1031"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="17966"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="17415"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3725"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="972"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3716"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="620"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3995"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3946"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3706"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1231"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4186"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3625"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1082"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3255"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="771"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2414"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2914"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="4176"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1562"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2013"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1042"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1852"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="902"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1002"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1362"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1071"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1321"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2744"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="570"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2153"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1833"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1452"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="921"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1282"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="340"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1302"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1212"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="270"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="661"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="832"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="611"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="711"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="401"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="981"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="887"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="992"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1652"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1101"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1513"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="952"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="641"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="781"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="861"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="290"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="491"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1091"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="741"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="1883"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="1893"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3635"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3395"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3115"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="450"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="812"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="861"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="972"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="2484"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="1152"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="8021"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="16192"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3595"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1031"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3656"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3975"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4376"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3606"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1191"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3945"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3646"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3295"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2674"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2866"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3445"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1502"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1292"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1883"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1382"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1823"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1061"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1662"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="841"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2053"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1232"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1431"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="481"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="972"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="460"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1722"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2103"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2203"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="351"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2003"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1442"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="281"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="961"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1002"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1462"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1343"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="270"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="530"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="992"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="621"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="741"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="401"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1062"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="761"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="852"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="500"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2023"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1582"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="801"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1021"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="871"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="702"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1041"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="200"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="811"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="762"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1152"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="811"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="1703"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="2404"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4026"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="971"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3655"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1568"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2754"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2313"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1863"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2093"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="570"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="681"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1302"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1652"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="2503"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="1172"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="8103"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="16524"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3635"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="942"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3875"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4186"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3675"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3615"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1122"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3886"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3375"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3716"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="791"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2844"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3314"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="4056"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1683"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1782"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1862"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1352"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1870"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1032"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2604"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2134"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1412"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1752"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1031"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1342"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="401"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2073"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="580"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="330"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1813"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="410"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1272"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="300"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1061"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="541"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1122"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="310"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1151"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="471"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1262"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="500"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1211"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="801"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="881"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="621"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="561"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="410"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1101"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="942"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="872"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="490"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1172"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1632"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="841"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="972"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="781"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="691"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1012"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="520"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="610"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="581"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1151"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="811"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="1878"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="1962"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3565"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3175"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1592"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2854"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="400"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2234"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1151"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2313"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1983"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="811"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1242"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1612"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="2764"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="1032"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="8262"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="17798"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3726"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="911"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3556"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4086"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3826"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="451"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3605"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1202"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3816"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="621"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3485"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1051"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3385"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="881"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2724"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3205"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3565"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1723"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1702"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1463"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2083"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1031"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1682"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="882"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2123"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1132"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1482"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1803"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="701"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="421"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2123"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="550"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2018"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1833"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="271"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="881"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="561"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1252"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="331"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1092"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="530"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1522"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="470"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="511"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="280"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="801"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="871"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="721"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="571"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="431"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="891"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="942"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1192"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1102"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="510"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="461"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="851"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="989"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="550"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="631"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="961"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="521"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="281"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1232"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="721"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="1873"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="1903"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3545"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3365"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="560"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1152"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="651"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3405"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="400"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2133"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1152"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2193"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1853"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="811"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1493"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="570"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="777"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1102"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1442"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync100">
-    <group name="synchronize 100 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1623"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1251"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1872"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="1332"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2384"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1041"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1783"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="941"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 100 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2163"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="941"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync10">
-    <group name="synchronize 10 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1142"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="661"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1622"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="391"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2143"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="590"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2353"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="371"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 10 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1672"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="431"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1422"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="281"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync1">
-    <group name="synchronize 1 added file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1001"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1322"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="321"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 modified file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1082"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="510"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1402"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="470"/>
-        </task>
-      </group>
-    </group>
-    <group name="synchronize 1 removed file(s)">
-      <group name="as outgoing changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1392"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-      <group name="as incoming changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1132"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="280"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.SyncTests" name="testSync0">
-    <group name="test sync with no changes">
-      <task name="Synchronize with Stream action">
-        <result elapsed="691"/>
-      </task>
-      <task name="Nothing to Release">
-        <result elapsed="0"/>
-      </task>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testTinyWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="801"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="871"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="701"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="381"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="971"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="851"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="761"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1878"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="641"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1382"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="411"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="962"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="991"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="951"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="531"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="661"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="711"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="952"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="490"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="361"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="540"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testSmallWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="1142"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="821"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="2383"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="1862"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3505"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1142"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3375"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="551"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1632"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="601"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3155"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="460"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2404"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1081"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="2123"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="591"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1909"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="1653"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="571"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="721"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1142"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="1522"/>
-        </task>
-      </group>
-    </group>
-  </case>
-  <case class="org.eclipse.vcm.tests.ui.benchmark.WorkflowTests" name="testBigWorkflow">
-    <group name="test project sharing">
-      <task name="Synchronize with Stream action (share project)">
-        <result elapsed="2965"/>
-      </task>
-    </group>
-    <group name="test initial project commit">
-      <task name="Synchronize with Stream action">
-        <result elapsed="1041"/>
-      </task>
-      <task name="Sync View Release action">
-        <result elapsed="16794"/>
-      </task>
-    </group>
-    <group name="test initial project checkout">
-      <task name="Repository View Checkout action">
-        <result elapsed="16263"/>
-      </task>
-    </group>
-    <group name="test incoming and outgoing change scenarios">
-      <group name="adding a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3595"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1091"/>
-        </task>
-      </group>
-      <group name="catching up to a new component - localized additions and some changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3715"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="631"/>
-        </task>
-      </group>
-      <group name="fixing a bug - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4400"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="671"/>
-        </task>
-      </group>
-      <group name="catching up to a bug fix - localized changes">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4196"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="501"/>
-        </task>
-      </group>
-      <group name="moving a package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3715"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1252"/>
-        </task>
-      </group>
-      <group name="catching up to a moved package - scattered changes, files moved">
-        <task name="Synchronize with Stream action">
-          <result elapsed="4186"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="802"/>
-        </task>
-      </group>
-      <group name="big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3545"/>
-        </task>
-        <task name="Sync View Release action">
-          <result elapsed="1091"/>
-        </task>
-      </group>
-      <group name="catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions">
-        <task name="Synchronize with Stream action">
-          <result elapsed="3335"/>
-        </task>
-        <task name="Sync View Catchup action">
-          <result elapsed="961"/>
-        </task>
-      </group>
-    </group>
-    <group name="test replace with remote contents scenarios">
-      <group name="no local dirty files, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="2754"/>
-        </task>
-      </group>
-      <group name="abandoning some local work, no remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3064"/>
-        </task>
-      </group>
-      <group name="no local dirty files, many remote changes">
-        <task name="Replace with Team Stream action">
-          <result elapsed="3645"/>
-        </task>
-      </group>
-    </group>
-  </case>
-</log>
diff --git a/tests/org.eclipse.team.tests.cvs.core/benchmark/vcmui_benchmark.bat b/tests/org.eclipse.team.tests.cvs.core/benchmark/vcmui_benchmark.bat
deleted file mode 100644
index c92dab1..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/benchmark/vcmui_benchmark.bat
+++ /dev/null
@@ -1,43 +0,0 @@
-@echo off
-rem VCM UI benchmark script
-rem Expects the following plugins to be installed:
-rem   org.eclipse.core.tests.harness
-rem   org.eclipse.team.core
-rem   org.eclipse.team.cvs.core
-rem   org.eclipse.team.cvs.ui
-rem   org.eclipse.team.tests.cvs.core
-rem   org.eclipse.team.ui
-rem   org.eclipse.vcm.core
-rem   org.eclipse.vcm.core.cvs
-rem   org.eclipse.vcm.tests.core
-rem   org.eclipse.vcm.tests.ui
-rem   org.eclipse.vcm.ui
-rem   org.eclipse.vcm.ui.cvs
-rem   org.junit
-
-set ROOT=D:\PerformanceTesting
-
-set ECLIPSE=%ROOT%\eclipse
-set REPOSITORY_PROPERTIES=%ROOT%\repository.properties
-set TEST=vcmui.benchmark.all
-set LOG=%ROOT%\%TEST%.xml
-set REPEAT=21
-set IGNOREFIRST=
-
-set PLUGINS=%ECLIPSE%\plugins
-set WORKSPACE=%ECLIPSE%\workspace
-set JRE=%ROOT%\jre
-set JAVA=%JRE%\bin\java.exe
-set HARNESS=org.eclipse.team.tests.cvs.core.harness
-
-set VMARGS=-Declipse.tests.vcm.properties=%REPOSITORY_PROPERTIES%
-set PROGARGS=-dev bin -application %HARNESS% -test %TEST% -log %LOG% -purge -repeat %REPEAT% %IGNOREFIRST%
-
-pushd %ECLIPSE%
-echo Purging the workspace: %WORKSPACE%
-del /S /F /Q %WORKSPACE% >NUL:
-@echo on
-@echo Running VCM UI benchmark test
-%JAVA% -cp startup.jar %VMARGS% org.eclipse.core.launcher.UIMain %PROGARGS%
-@echo off
-popd
diff --git a/tests/org.eclipse.team.tests.cvs.core/book.css b/tests/org.eclipse.team.tests.cvs.core/book.css
deleted file mode 100644
index 139eb28..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/book.css
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.team.tests.cvs.core/build-tests.xml b/tests/org.eclipse.team.tests.cvs.core/build-tests.xml
deleted file mode 100644
index ef6cbe5..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/build-tests.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0"?>
-<project name="Build CVS Sniff" basedir="." default="init">
-
-  <property name="root" value="${basedir}/.."/>
-  <property name="temp" value="${root}/__temp"/>
-  <property name="plugins" value="${temp}/eclipse/plugins"/>
-
-  <target name="init">
-    <tstamp/>
-
-    <delete dir="${temp}"/>
-    <mkdir dir="${plugins}"/>
-
-    <antcall target="buildPlugin">
-      <param name="pluginName" value="org.eclipse.core.tests.harness" />
-      <param name="jarName" value="testharness.jar" />
-    </antcall>
-    
-    <antcall target="buildPlugin">
-      <param name="pluginName" value="org.eclipse.team.tests.core" />
-      <param name="jarName" value="teamtests.jar" />
-    </antcall>
- 
-    <antcall target="buildPlugin">
-      <param name="pluginName" value="org.eclipse.team.tests.cvs.core" />
-      <param name="jarName" value="cvstests.jar" />
-    </antcall>
-
-    <zip zipfile="${basedir}/cvsSniff${DSTAMP}.zip"
-       basedir="${temp}"
-    />
-
-    <delete dir="${temp}"/>
-    <eclipse.refreshLocal resource="org.eclipse.team.tests.cvs.core"/>
-  </target>
-
-  <target name="buildPlugin">
-    <copy todir="${plugins}/${pluginName}">
-      <fileset dir="${root}/${pluginName}"/>
-    </copy>
-    <jar jarfile="${plugins}/${pluginName}/${jarName}"
-         basedir="${plugins}/${pluginName}/bin"
-    />
-    <delete dir="${plugins}/${pluginName}/bin"/>
-  </target>
-
-</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/build.properties b/tests/org.eclipse.team.tests.cvs.core/build.properties
deleted file mode 100644
index 38dc93e..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.cvstests.jar=src/
-bin.includes = about.html,\
-               plugin.xml,\
-               *.jar,\
-               test.xml,\
-               repository.properties,\
-               resources/,\
-               icons/
-src.includes = resources/
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00004.html b/tests/org.eclipse.team.tests.cvs.core/html/00004.html
deleted file mode 100644
index 73d4585..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00004.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html>
-<head>
-<title>Repositories View</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-</head>
-<body>
-<h2>Repositories View</h2>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00007.html b/tests/org.eclipse.team.tests.cvs.core/html/00007.html
deleted file mode 100644
index f108c9b..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00007.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<html>
-<head>
-<title>Check Out - prompts</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Check Out - prompts</h2>
-<p>Since: 3.0 M5<br>
-Last Modified: $Date: 2004/06/01 19:14:48 $</p>
-
-<h3>Scenario 1</h3>
-<ol>
-	<li>Select a project in HEAD</li>
-	<li>Perform a Checkout</li>
-	<li>Ensure project was checked out properly</li>
-	<li>Select the same project and choose Checkout As</li>
-	<li>Use the same name and specify a custom location</li>
-	<li>Ensure that the user is prompted to overwrite</li>
-	<li>Ensure OK and Cancel have proper behavior</li>
-</ol>
-
-<h3>Scenario 2</h3>
-<ol>
-	<li>Select a project in HEAD</li>
-	<li>Perform a Checkout</li>
-	<li>Ensure project was checked out properly</li>
-	<li>Delete the project but leave the contents on disk</li>
-	<li>Perform a Checkout of the same project again</li>
-	<li>Ensure that the user is prompted to overwrite</li>
-	<li>Ensure OK and Cancel have proper behavior</li>
-</ol>
-
-<h3>Scenario 3</h3>
-<ol>
-	<li>Select a project in HEAD</li>
-	<li>Perform a Checkout As</li>
-	<li>Use the same name and specify a custom location</li>
-	<li>Ensure project was checked out properly</li>
-	<li>Delete the project but leave the contents on disk</li>
-	<li>Perform a Checkout As of the same project to the same location
-	as in step 3</li>
-	<li>Ensure that the user is prompted to overwrite</li>
-	<li>Ensure OK and Cancel have proper behavior</li>
-</ol>
-
-<h3>Scenario 4</h3>
-<ol>
-	<li>Select a project in HEAD</li>
-	<li>Perform a Checkout As</li>
-	<li>Use the same name and specify a custom location</li>
-	<li>Ensure project was checked out properly</li>
-	<li>Delete the project but leave the contents on disk</li>
-	<li>Perform a Checkout on the project</li>
-	<li>Ensure project was checked out properly</li>
-	<li>Perform a Checkout As of the same project to the same location
-	as in step 3</li>
-	<li>Ensure that the user is prompted twice: once to overwrite
-	project and once to overwrite custom location</li>
-	<li>Ensure OK and Cancel have proper behavior</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00008.html b/tests/org.eclipse.team.tests.cvs.core/html/00008.html
deleted file mode 100644
index e326310..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00008.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<html>
-<head>
-<title>Comparing</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Comparing</h2>
-
-The CVS plugin supports comparing of resources in the workspace with
-revision in the repository. You can also compare between two remote
-elements.
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00009.html b/tests/org.eclipse.team.tests.cvs.core/html/00009.html
deleted file mode 100644
index fae15e6..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00009.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<html>
-<head>
-<title>Remote resources</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Remote resources</h2>
-<p>Since: 3.0 M5<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-<h4>Compare With... in Repositories view</h4>
-<p>Perform the following steps:</p>
-<ol>
-	<li>Select a project in HEAD and choose Compare With... from
-	context menu</li>
-	<li>Select a branch tag</li>
-	<li>Ensure result of comparison is correct</li>
-	<li>Repeat and in step 2) use a version tag</li>
-</ol>
-<p>Repeat the above steps for a project in a branch and a project
-version.</p>
-<p>Repeat the above steps for a selected folder and a selected file.</p>
-<h4>Compare on two selections in Repositories view</h4>
-<p>Perform the following steps:</p>
-<ol>
-	<li>Select a project in HEAD</li>
-	<li>CTRL-select a project in a branch</li>
-	<li>Choose Compare from context menu</li>
-	<li>Ensure result of comparison is correct</li>
-</ol>
-<p>Repeat the above for various combinations (branch + version,
-version + branch, branch + branch, version + version).</p>
-<p>Repeat the above steps for a selected folder and a selected file.</p>
-<h4>Compare on two selections in Resource History view.</h4>
-<p>Perform the following steps:</p>
-<ul>
-	<li>Open Resource History view on a file with multiple revisions</li>
-	<li>Select 2 and choose Compare from the context menu</li>
-	<li>Ensure result of comparison is correct</li>
-</ul>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00010.html b/tests/org.eclipse.team.tests.cvs.core/html/00010.html
deleted file mode 100644
index 7e02c4c..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00010.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<html>
-<head>
-<title>Synchronizing</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Synchronizing</h2>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00011.html b/tests/org.eclipse.team.tests.cvs.core/html/00011.html
deleted file mode 100644
index 6ae9432..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00011.html
+++ /dev/null
@@ -1,212 +0,0 @@
-<html>
-<head>
-<title>Synchronize View</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Synchronize View</h2>
-<p>Since: 3.0<br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<h3>Synchronize View Modes</h3>
-
-<p>Ensure that choosing direction modes result in proper filtering.</p>
-
-<ul>
-	<li>Incoming mode contains incoming changes and conflicts.</li>
-	<li>Outgoing mode contains outgoing changes and conflicts.</li>
-	<li>Both mode contains all change types.</li>
-	<li>Conflict mode contains only conflicts.</li>
-</ul>
-
-<p>Also ensure that there are no empty containers (e.g folders or
-projects) in any of the modes.</p>
-
-<h3>Synchronize View Models</h3>
-
-<p>Ensure that each model contains the appropriate output. Models to
-test include:</p>
-<ul>
-	<li>All Models: Projects should contain content from the highest
-	level model (e.g. Java projects contains Java content like packages
-	while non-Java projects contains folders).</li>
-	<li>Workspace: All projects are shown and contain folders. For
-	this model, also test the presentation types (Flat, Hierarchical and
-	Compressed Folders).</li>
-	<li>Java: Only Java projects are present and contain Java content
-	(e.g. packages). Also ensure that any resource content is present (e.g.
-	non-source folders).</li>
-	<li>Change Sets: All changes are grouped by change set.</li>
-</ul>
-
-<p>Also ensure that mode switching works properly for each model
-type.</p>
-
-<h3>Synchronize View Operations</h3>
-<p>Ensure Commit and Update buttons:</p>
-<ul>
-	<li>operate on all applicable changes</li>
-	<li>prompt in some form before executing</li>
-</ul>
-<p>Ensure Update menu action:</p>
-<ul>
-	<li>is enabled when selection contains incoming or conflicting
-	changes</li>
-	<li>operates only on selected changes</li>
-	<li>silently handles mergable conflicts</li>
-	<li>will prompt if conflicts are not mergable</li>
-</ul>
-<p>Ensure Commit menu action</p>
-<ul>
-	<li>is enable when selection contains outgoing changes</li>
-	<li>prompts for unadded resources</li>
-	<li>operates only on selected changes</li>
-</ul>
-<p>Ensure Override and Update</p>
-<ul>
-	<li>is enabled for outgoing and conflicting changes</li>
-	<li>prompts to confirm</li>
-	<li>operates only on selected changes</li>
-</ul>
-<p>Ensure Mark as Merged</p>
-<ul>
-	<li>is enabled for incoming and conflicting changes</li>
-	<li>operates only on selected changes</li>
-</ul>
-
-<p>Ensure Refresh button refreshes all projects regardless of mode,
-selection or working set.</p>
-<p>Ensure Refresh menu action refreshes only the selection</p>
-
-<p>All actions on large sets</p>
-
-The following table can be used to determine what operations are
-appropriate and what result to expect.
-
-<table height="124" border="1" width="99%">
-	<tbody>
-		<tr>
-			<td width="25%"><b>Change Type</b></td>
-			<td width="25%"><b>Action</b></td>
-			<td width="50%"><b>Result</b></td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Incoming File Change</b></td>
-			<td width="25%">Update</td>
-			<td width="50%">Remote contents become local. Try with both Text
-			and Binary files.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Incoming File Change</b></td>
-			<td width="25%">Mark as Merged</td>
-			<td width="50%">File becomes an outgoing change.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Incoming File Addition</b></td>
-			<td width="25%">Update</td>
-			<td width="50%">Remote contents become local. Try with both Text
-			and Binary files.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Incoming File Addition</b></td>
-			<td width="25%">Mark as Merged</td>
-			<td width="50%">File becomes an outgoing deletion.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Incoming File Deletion</b></td>
-			<td width="25%">Update</td>
-			<td width="50%">Local file is deleted.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Incoming File Deletion</b></td>
-			<td width="25%">Mark as Merged</td>
-			<td width="50%">File becomes an outgoing addition.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Outgoing File Change</b></td>
-			<td width="25%">Commit</td>
-			<td width="50%">Prompt for release comment. Cancel aborts, OK
-			commits local file to server.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Outgoing File Change</b></td>
-			<td width="25%">Override and Update</td>
-			<td width="50%">Remote contents become local. Try with both Text
-			and Binary files.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Outgoing File Addition</b></td>
-			<td width="25%">Add to Version Control</td>
-			<td width="50%">Adds the file to version control. The icon
-			should change in the sync view, and Commit should now be enabled.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Outgoing File Addition</b></td>
-			<td width="25%">Add to .cvsignore</td>
-			<td width="50%">Adds the file to .cvsignore. The file should
-			disappear from the sync view. The .cvsignore file should appear (if
-			it wasn't visible already). The file should not appear in subsequent
-			syncs.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Outgoing File Addition</b></td>
-			<td width="25%">Commit</td>
-			<td width="50%">Prompt for release comment should also include
-			prompt for file type if the type of the new file is not known. Cancel
-			aborts, OK commits local file to server.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Outgoing File Addition</b></td>
-			<td width="25%">Override and Update</td>
-			<td width="50%">Local file is deleted.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Outgoing File Deletion</b></td>
-			<td width="25%">Commit</td>
-			<td width="50%">Prompt for release comment. Cancel aborts, OK
-			commits deletion to server.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Outgoing File Deletion</b></td>
-			<td width="25%">Override and Update</td>
-			<td width="50%">File is re-created, remote contents become
-			local.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Conflicting File Change</b></td>
-			<td width="25%">Update</td>
-			<td width="50%">If the change is auto-mergable, the file becomes
-			an outgoing change and includes the remote changes and the local
-			changes. Otherwise, the user is prompted to indicate that a merge was
-			not possible.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Conflicting File Change</b></td>
-			<td width="25%">Mark As Merged</td>
-			<td width="50%">File becomes an outgoing change.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Conflicting File Change</b></td>
-			<td width="25%">Override and Update</td>
-			<td width="50%">Dialog prompts user to replace local changes. If
-			user cancels nothing happens. If user chooses OK, then local changes
-			are discarded and remote contents replace local. No .# files created,
-			no CVS markup, and the file is not dirty as a result.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Conflicting File Addition</b></td>
-			<td width="25%">Mark as Merged</td>
-			<td width="50%">File becomes an outgoing change.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Conflicting File Addition</b></td>
-			<td width="25%">Override and Update</td>
-			<td width="50%">Remote contents become local.</td>
-		</tr>
-	</tbody>
-</table>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00012.html b/tests/org.eclipse.team.tests.cvs.core/html/00012.html
deleted file mode 100644
index 8976859..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00012.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<html>
-<head>
-<title>Branch/Merge</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Branch/Merge</h2>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00013.html b/tests/org.eclipse.team.tests.cvs.core/html/00013.html
deleted file mode 100644
index 92d5f39..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00013.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<html>
-<head>
-<title>Synchronize View</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Synchronize View</h2>
-<p>Since: 3.0 M5<br>
-Last Modified: $Date: 2007/09/19 14:01:34 $</p>
-<ul>
-	<li>Same scenarios as <a href="#00011.html">Synchronizing &gt; Synchronize
-	View</a> except you can't commit.</li>
-	<li>Test mark as merged (ensure that it can work on large data
-	sets)</li>
-</ul>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00014.html b/tests/org.eclipse.team.tests.cvs.core/html/00014.html
deleted file mode 100644
index 21d57a6..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00014.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html>
-<head>
-<title>History View</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>History View</h2>
-<p>Since: 3.2 RC2<br>
-Last Modified: $Date: 2006/04/25 20:40:39 $</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00018.html b/tests/org.eclipse.team.tests.cvs.core/html/00018.html
deleted file mode 100644
index 20622f5..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00018.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<html>
-<head>
-<title>Editor Linking</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Editor Linking</h2>
-<p>Since: 3.0 M5<br>
-Last Modified: $Date: 2007/05/23 13:19:15 $</p>
-
-<ol>
-	<li>Open the Resource History view and enable editor linking.</li>
-	<li>Open a compare editor from the sync view (on a resource that
-	exists remotely) and ensure that the history view updates.</li>
-	<li>Open an editor from the Repositories view and ensure that the
-	history view updates.</li>
-	<li>Open an editor on a local file and ensure that the history
-	view updates.</li>
-</ol>
-<p>Repeat the above with the Resource History view hidden and ensure
-that no revision history is fetched (i.e. no jobs appear in progress
-view).</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00019.html b/tests/org.eclipse.team.tests.cvs.core/html/00019.html
deleted file mode 100644
index 38c31ee..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00019.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<html>
-<head>
-<title>Crash Recovery</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Crash Recovery</h2>
-<p>Since: 3.0 M5<br>
-Last Modified: $Date: 2007/05/23 13:19:15 $</p>
-
-<h3>Scenario 1</h3>
-<ol>
-	<li>Turn on deep dirty decoration</li>
-	<li>Dirty a file and ensure that the file and it's parents are
-	dirty</li>
-	<li>Quit Eclipse so dirty state is persisted</li>
-	<li>Restart and perform an override and update or commit and
-	ensure file and parents are clean</li>
-	<li>Kill Eclipse</li>
-	<li>Restart and ensure parents and file are clean</li>
-</ol>
-
-<h3>Scenario 2</h3>
-<ol>
-	<li>Check out two copies of the same project</li>
-	<li>Dirty the same file in both projects, commit one and refresh
-	the other in the sync view so a conflict is visible</li>
-	<li>Quit Eclipse so that the sync state is persisted</li>
-	<li>Restart Eclipse and perform an Override and Commit on the
-	conflict</li>
-	<li>Kill Eclipse</li>
-	<li>Restart Eclipse and ensure that the sync view doesn't show the
-	file (i.e the file is in-sync).</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00020.html b/tests/org.eclipse.team.tests.cvs.core/html/00020.html
deleted file mode 100644
index 1b3acdf..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00020.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<html>
-<head>
-<title>Concurrency</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Concurrency</h2>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00021.html b/tests/org.eclipse.team.tests.cvs.core/html/00021.html
deleted file mode 100644
index 143702d..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00021.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<html>
-<head>
-<title>Close and disconnect</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Close and disconnect</h2>
-<p>Since: 3.0 M5<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<h4>Background refresh and disconnect</h4>
-<ol>
-	<li>Load several projects from the repository</li>
-	<li>Ensure that several have outgoing and incoming changes</li>
-	<li>Choose one project to disconnect. The project should have
-	incoming and outgoing changes and be one of the later ones in the
-	refresh order (alphabetical).</li>
-	<li>Perform a refresh on all the projects</li>
-	<li>While the refresh is occurring, disconnect the project chosen
-	in step 3) and leave CVS folders.</li>
-	<li>Ensure that the project is removed from the sync view and no
-	errors occur</li>
-</ol>
-<p>Repeat the steps and purge the CVS meta-data in step 5).</p>
-<p>Repeat the above steps but change the operation in step 5) to the
-following:</p>
-<ul>
-	<li>close project</li>
-	<li>project where server is unreachable</li>
-	<li>delete project</li>
-	<li>binary project import over source project with outgoing
-	changes</li>
-</ul>
-<h4>Decoration and disconnect</h4>
-<ul>
-	<li>Load several projects from the repository</li>
-	<li>Ensure that several have outgoing and incoming changes</li>
-	<li>Choose one project to disconnect. The project should have
-	incoming and outgoing changes and be one of the later ones in the
-	refresh order (alphabetical).</li>
-	<li>Turn on CVS decorators</li>
-	<li>As the decorations are being calculated, disconnect all
-	projects from CVS control.</li>
-	<li>Ensure that the project is removed from the sync view and no
-	errors occur</li>
-</ul>
-<p>Repeat the above steps but change the operation in step 5) to the
-following:</p>
-<ul>
-	<li>close project</li>
-	<li>project where server is unreachable</li>
-	<li>delete project</li>
-	<li>binary project import over source project with outgoing
-	changes</li>
-	<li>delete or move files and folders (to test move/delete hook)</li>
-</ul>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00022.html b/tests/org.eclipse.team.tests.cvs.core/html/00022.html
deleted file mode 100644
index d67aa7f..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00022.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<html>
-<head>
-<title>Performing a Merge</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Performing a Merge</h2>
-<p>Since: 3.1<br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<h3>Scenario 1: One Time Merge</h3>
-
-<p>Using Team>Merge, merge the changes from a branch into HEAD. Once
-completed, in the synchronize view, update the incoming changes, resolve
-any conflicts and ensure they worked, After updating, redo the same
-merge. A no-changes dialog should be presented since the local contents
-match the end-point.
-<p>Things to try:
-<ul>
-	<li>Use content assist to select an existing branch for the end
-	tag. A root versions should be automatically found if it exists.</li>
-	<li>Choose to perform the merge into the local workspace. Ensure
-	it works with and without a start tag.</li>
-</ul>
-
-<h3>Scenario 2: Ongoing Merge</h3>
-
-After performing a one-time merge, pin the entry in the synchronize
-view. Release changes to the end point (branch) and synchronize the
-merge. The new changes should appear in the synchronize view. Update to
-these changes as appropriate.
-
-<h3>Scenario 3: Direct Merge</h3>
-
-Perform a Team>Merge and choose to merge directly into the workspace.
-Try both the case with a base tag and without it.
-
-<h3>Removing a Merge</h3>
-
-<p>Delete the merge from the synchronize view using the remove
-toolbar button. The merge subscriber should be removed from the view.
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00023.html b/tests/org.eclipse.team.tests.cvs.core/html/00023.html
deleted file mode 100644
index 4d783c2..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00023.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
-<head>
-<title>Restarting Workbench</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Restarting Workbench</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/02/25 20:34:42 $</p>
-Answer comes here.
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00024.html b/tests/org.eclipse.team.tests.cvs.core/html/00024.html
deleted file mode 100644
index 194c60f..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00024.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<html>
-<head>
-<title>Annotate</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Annotate</h2>
-<p>Since: 3.0 M6<br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-
-<h4>Annotate action should be available from</h4>
-<ul>
-	<li>history view, repo explorer, resource/packages view</li>
-</ul>
-
-<h4>Annotate java files</h4>
-<ul>
-	<li>should show the java editor</li>
-	<li>you should be able to step through changes in the annotate
-	view and the java editor should stay in sync (e.g. highlight) the
-	changes associated with the selected change in the annotate view.</li>
-	<li>you should also be able to select a line in the java file and
-	the annotate view should select the change that is associated with that
-	line.</li>
-	<li>the history view should show the history for the opened file
-	and highlight the revision of the currently selected change in the
-	annotate view.</li>
-</ul>
-
-<h4>Annotate non-text editor files</h4>
-<ul>
-	<li>annotate plugin.xml file</li>
-	<li>the default text editor should be shown</li>
-	<li>you should also be able to select a line in the text file and
-	the annotate view should select the change that is associated with that
-	line.</li>
-	<li>the history view should show the history for the opened file
-	and highlight the revision of the currently selected change in the
-	annotate view.</li>
-</ul>
-
-<h4>Annotate binary files</h4>
-<ul>
-	<li>annotate a file marked as binary</li>
-	<li>the server should report an error that annotations cannot be
-	shown for binary files.</li>
-</ul>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00025.html b/tests/org.eclipse.team.tests.cvs.core/html/00025.html
deleted file mode 100644
index 74558dd..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00025.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<html>
-<head>
-<title>Synchronize View Settings</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Synchronize View Settings</h2>
-<p>Since: 3.0 M6<br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-
-<h4>Saved between sessions</h4>
-<p>The following GUI preferences in the Synchronize View are
-persisted between workbench sessions. Also they are persisted for each
-participant. You should be able to create a merge and workspace
-participant, then change the settings on each. Restart Eclipse and the
-settings should be maintained for each participant. The persisted
-settings are:</p>
-<ul>
-	<li>mode</li>
-	<li>layout</li>
-	<li>working set</li>
-</ul>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00026.html b/tests/org.eclipse.team.tests.cvs.core/html/00026.html
deleted file mode 100644
index 3f9ac74..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00026.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
-<head>
-<title>Sharing</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Sharing</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/02/25 20:34:42 $</p>
-Answer comes here.
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00027.html b/tests/org.eclipse.team.tests.cvs.core/html/00027.html
deleted file mode 100644
index 232bda1..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00027.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<html>
-<head>
-<title>Sharing as a subfolder</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Sharing as a subfolder</h2>
-<p>Since: 3.0 M6<br>
-Last Modified: $Date: 2007/05/23 13:19:15 $</p>
-
-<p>Perform the following steps:</p>
-<ol>
-	<li>Create a new project</li>
-	<li>Select Team>Share</li>
-	<li>Select a repository and click Next</li>
-	<li>Enter a path with at least two segments as the remote module
-	name</li>
-	<li>Click Finish</li>
-</ol>
-<p>Ensure that the project was shared properly (i.e. remote folders
-were created).</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00028.html b/tests/org.eclipse.team.tests.cvs.core/html/00028.html
deleted file mode 100644
index 34cc450..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00028.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<html>
-<head>
-<title>Reconnecting an existing project</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Reconnecting an existing project</h2>
-<p>Since: 3.0 M6<br>
-Last Modified: $Date: 2007/05/23 13:19:15 $</p>
-<p>The following scenario represents how a user would reconnect a
-project that does not contain CVS meta-data to it's remote counterpart.
-It is assumed that the local project was derived from a previous version
-of the remote project but both the local project and the remote may have
-been modified since then.</p>
-<h3>Scenario 1: Existing location using project name</h3>
-<p>Perform the following steps:</p>
-<ol>
-	<li>Load an existing project (using Checkout or you could import a
-	plug-in project from the target area).</li>
-	<li>Disconnect the project and indicate that CVS meta-data is to
-	be deleted.</li>
-	<li>Modify some local resources.</li>
-	<li>Optionally, modify the remote contents of some resources using
-	a separate checkout.</li>
-	<li>Perform a Team>Share Project and select CVS (if there is more
-	than one repository provider available).</li>
-	<li>Select the repository the project was loaded from and click
-	Next.</li>
-	<li>Use the project name as the module name. Click Next.</li>
-	<li>In the tag page, select HEAD as the branch to share with and
-	click Next.</li>
-	<li>In the sharing page, only the files that do not have the same
-	contents as the server should appear. Perform a Mark as Merged or
-	Commit on these files.</li>
-	<li>Click Finish.</li>
-</ol>
-
-<h3>Scenario 1: New location using custom module name</h3>
-<p>Perform the following steps:</p>
-<ol>
-	<li>Load an existing project using Checkout As and a different
-	name.</li>
-	<li>Disconnect the project and indicate that CVS meta-data is to
-	be deleted.</li>
-	<li>Discard the repository location.</li>
-	<li>Modify some local resources.</li>
-	<li>Optionally, modify the remote contents of some resources using
-	a separate checkout</li>
-	<li>Perform a Team>Share Project and select CVS (if there is more
-	than one repository provider available).</li>
-	<li>Select to create a new repository and click Next.</li>
-	<li>Enter the repository information for the repository and click
-	Next.</li>
-	<li>Enter the name of the module that the project was loaded from.
-	Click Next.</li>
-	<li>In the tag page, select HEAD as the branch to share with and
-	click Next.</li>
-	<li>In the sharing page, only the files that do not have the same
-	contents as the server should appear. Perform a Mark as Merged or
-	Commit on these files.</li>
-	<li>Click Finish.</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00028a.html b/tests/org.eclipse.team.tests.cvs.core/html/00028a.html
deleted file mode 100644
index 23828b1..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00028a.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html>
-<head>
-<title>SSH2</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>SSH2</h2>
-<p>Tests for the ssh2 connection method.<br>
-UNDER CONSTRUCTION</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00029.html b/tests/org.eclipse.team.tests.cvs.core/html/00029.html
deleted file mode 100644
index b6fe173..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00029.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
-<head>
-<title>Patching</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Patching</h2>
-<p>Since: 3.0 M6<br>
-Last Modified: $Date: 2004/02/25 20:34:42 $</p>
-Answer comes here.
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00029a.html b/tests/org.eclipse.team.tests.cvs.core/html/00029a.html
deleted file mode 100644
index f4e4955..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00029a.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html>
-<head>
-<title>Server version compatibiliity</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Server version compatibiliity</h2>
-<p>Since: M6<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-This test is to ensure that the ssh2 connection method properly
-delegates to ssh1 when the server only supports ssh1.
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00030.html b/tests/org.eclipse.team.tests.cvs.core/html/00030.html
deleted file mode 100644
index 101ea88..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00030.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<html><head><title>Importing a zip over a shared project</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head><body><h2>Importing a zip over a shared project</h2>
-<p>Since: 3.0 M6<br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<p>This scenario captures one means of patching. It assumes that a zip file contains 
-a previous version of a project that has been modified in some way and added to
-a zip archive (without CVS directories).</p>
-
-<p>Perform the following steps:</p>
-<ol>
-  <li>Load the project from CVS (using Checkout or some other means).</li>
-  <li>Import the zip over the loaded project.</li>
-  <li>Ensure that the sync states are Outgoing for all resources from the zip file.</li>
-  <li>Ensure that all folders from the zip file (except new ones)
-  are marked as in-sync and all files (except new ones) are outgoing changes.</li>
-  <li>Changing the comparison criteria to compare contents should not contact the server
-  and should leave only the resources that differ in the sync view. Perform a 
-  Mark As Merged and a Commit on these resources.</li>
-  <li>Changing the comparison criteria back to revision number will
-	reveal all the files whose content did not change, perform a Mark as
-	merged on these resources followed by a Team>Update on the project in
-	the Navigator (Note: This could be handled better).</li>
-  <li>After the update, ensure the project has no out-of-sync resources.</li>
-</ol>
-
-</body></html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00030a.html b/tests/org.eclipse.team.tests.cvs.core/html/00030a.html
deleted file mode 100644
index 236477f..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00030a.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
-<head>
-<title>Proxies</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Proxies</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/09/19 14:01:35 $</p>
-<p>Using HTTP and SOCKS5 proxies.</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00031.html b/tests/org.eclipse.team.tests.cvs.core/html/00031.html
deleted file mode 100644
index 042a15d..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00031.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<html>
-<head>
-<title>Key Generation</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Key Generation</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/09/19 14:01:33 $</p>
-
-<p>You should be able to generate private/public keys in the SSH2
-preference page. Here are some scenarios for testing:</p>
-<ul>
-	<li>Generate keys and save private key without password. You
-	should be prompted.</li>
-	<li>Generate keys and save private key with password. You
-	shouldn't be prompted.</li>
-	<li>Generate keys and install using the sftp button.</li>
-</ul>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00032.html b/tests/org.eclipse.team.tests.cvs.core/html/00032.html
deleted file mode 100644
index 98e9880..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00032.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<html>
-<head>
-<title>General use</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>General use</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-
-This tests the prompting and usage of the SSH2 connection method:
-<ul>
-	<li>Delete all files in your SSH_HOME directory. You can find this
-	directory by opening the SSH2 preference page</li>
-	<li>Create a CVS repository connection of type 'extssh'. You will
-	be prompting about the server id not being in your known_hosts file.</li>
-	<li>Select cancel, and error should be shown indicating that the
-	location was not validated do you want to keep it.</li>
-</ul>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00033.html b/tests/org.eclipse.team.tests.cvs.core/html/00033.html
deleted file mode 100644
index 8a0b1db..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00033.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
-<head>
-<title>Annotate</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Annotate</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/02/25 20:34:42 $</p>
-Answer comes here.
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00034.html b/tests/org.eclipse.team.tests.cvs.core/html/00034.html
deleted file mode 100644
index 4521238..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00034.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<html>
-<head>
-<title>Show Annotation Action</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Show Annotation Action</h2>
-<p>Since: 3.0 M3<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-<p>Annotate a non-managed file, binary file, plugin.xml file... Be
-creative.</p>
-<p>Ensure that the annotate view, editor, and history view stay
-synchronized.</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00035.html b/tests/org.eclipse.team.tests.cvs.core/html/00035.html
deleted file mode 100644
index 206ac27..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00035.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
-<head>
-<title>Label Decorations</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Label Decorations</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/02/25 20:34:42 $</p>
-Answer comes here.
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00036.html b/tests/org.eclipse.team.tests.cvs.core/html/00036.html
deleted file mode 100644
index 3f802f1..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00036.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<html>
-<head>
-<title>Enablement at startup</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Enablement at startup</h2>
-<p>Since: 3.0 M7<br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<p>The CVS decorators should not be enabled at start-up. Verify the
-label decorator preference page.</p>
-Here are some scenarios for testing:
-<ul>
-	<li>When sharing or checking out a project, the decorators will be
-	enabled automatically.</li>
-	<li>Disabling after they have been enabled and restarting. The
-	decorators should be disabled. Checkout should not enable them again.</li>
-	<li>Enable the decorations again, then disconnecting a project
-	should clear the decorators on the project.</li>
-</ul>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00037.html b/tests/org.eclipse.team.tests.cvs.core/html/00037.html
deleted file mode 100644
index 8c8e5b3..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00037.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<html>
-<head>
-<title>Customizations</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Customizations</h2>
-<p>Since: 3.1 <br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<p>You can customize the label decorations via the preference page.
-The customizations will take effect when apply is pressed. Resetting the
-defaults should work.</p>
-<p>You can also configure the font and color used for various
-resources states. There should be a link from the CVS label decorations
-preference page to the general colors and fonts preference page.</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00038.html b/tests/org.eclipse.team.tests.cvs.core/html/00038.html
deleted file mode 100644
index edbde23..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00038.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<html>
-<head>
-<title>Decorations in the Synchronize pages</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Decorations in the Synchronize pages</h2>
-<p>Since: 3.0 M8<br>
-Last Modified: $Date: 2007/05/23 13:19:15 $</p>
-
-<p>CVS text label decorations should be visible in the CVS
-synchronize participants. We don't bother to show the images because the
-sync view already shows the state images. The labels should also update
-if the 'show change in label' preference is changed.</p>
-<p>Also, in the CVS synchronize view the revisions shown are the
-&lt;local&gt; - &lt;remote&gt;. So ensure that the correct remote is
-shown.</p>
-<p>Ensure that when the local tag changes the decorators in the sync
-view and navigator get updated.</p>
-<p>Ensure that there is no flicker in packages view when CVS
-decorator updated on commit, update.</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00039.html b/tests/org.eclipse.team.tests.cvs.core/html/00039.html
deleted file mode 100644
index b73be3a..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00039.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<html>
-<head>
-<title>Compare with another branch or version</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Compare with another branch or version</h2>
-<p>Since: M8<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<p>You should be able to select a project/folder/resource and
-compare against another branch or version. Multi-select should work
-across projects in different repositories. Once the comparison is shown
-it should be possible to merge changes into the local workspace. It
-should also be possible to remember the comparison, which will cause it
-to appear in the synchronize view.</p>
-<p>We should support multi-selection of files, but I'm not sure what
-should be shown to the user in those cases.</p>
-<h3>On file selected</h3>
-<ul>
-	<li>If the file has differences open a compare editor and show
-	otherwise a message is shown to indicate that the file is the same.</li>
-	<li>should be able to open the history view and link in to the
-	opened compare editor</li>
-	<li>the compare editor should update when changes are made to the
-	local file in some other context (e.g other editor, refactoring).</li>
-</ul>
-
-<h3>Multiple selection</h3>
-<p>Entire contents of the folder are compared deep. If changes are
-found the user is notified and they are shown in a dialog. If no changes
-are found the user is notified. The dialog should allow the user to
-browse the changes and merge anything into his workspace. If the user
-wants to keep the comparison non-model, he can add it to the synchronize
-view. There is a button to do so on the compare dialog.</p>
-
-<h3>Merging changes</h3>
-<p>When the compare dialog is showing several changes you should be
-able to selectively merge anything into the local workspace. Specific
-attention should be made to the following cases:</p>
-<ul>
-	<li>Edit the local then press ok. You should be prompted to save
-	the changes and the changes should be correctly updated in the
-	corresponding resource.</li>
-	<li>Edit the local and browse to another file. You should be
-	prompted to save the changes.</li>
-	<li>Press the cancel button with changes, you should be prompted.</li>
-</ul>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00040.html b/tests/org.eclipse.team.tests.cvs.core/html/00040.html
deleted file mode 100644
index 8f7ec55..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00040.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
-<head>
-<title>Reverting deleted resources</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Reverting deleted resources</h2>
-<p>Since: M8<br>
-Last Modified: $Date: 2007/09/19 14:01:34 $</p>
-<p>You should be able to restore a deleted revision from the CVS server Team>Restore from Repository</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00041.html b/tests/org.eclipse.team.tests.cvs.core/html/00041.html
deleted file mode 100644
index 31a4a69..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00041.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<html>
-<head>
-<title>File Revisions</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>File Revisions</h2>
-<p>Since: M8<br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-
-<h3>Compare the local resource with other revisions</h3>
-<ul>
-	<li>If the file isn't managed the action should no appear.</li>
-	<li>If the file doesn't have any revisions you should be prompted</li>
-	<li>If the file has revisions you should be prompted with the list
-	of revisions in a compare dialog</li>
-	<li>In the compare dialog you can select any revision and merge
-	changes into the local copy</li>
-	<li>If you edit the local resource then chose OK, you will be
-	prompted to save changes. Ensure that the changes are saved correctly
-	to the underlying resource.</li>
-	<li>Ensure that the titles are ok (e.g. dialog title, structure
-	pane title...)</li>
-</ul>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00042.html b/tests/org.eclipse.team.tests.cvs.core/html/00042.html
deleted file mode 100644
index 14f94fa..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00042.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<html>
-<head>
-<title>CVS Console</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>CVS Console</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-There are a couple of preferences that controls the behavior and
-presentation of the console. To enable this testing, you must first
-enable font and label decorations. This can be done by going to
-<i>Window/Preferences/Team/CVS/Label Decorations</i>
-and checking off
-<b>"Enable font and color decorations"</b>
-.
-<p>These are:</p>
-<ul>
-	<li>font: changing the font should immediately update the sync
-	view as well as all other views decorated by CVS (ie. Package
-	Explorer).</li>
-	<li>font color: message color, error color, command line. Changing
-	these should immediately update the console view.</li>
-</ul>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00044.html b/tests/org.eclipse.team.tests.cvs.core/html/00044.html
deleted file mode 100644
index c9eb01b..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00044.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
-<head>
-<title>Replacing</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Replacing</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/03/09 20:51:17 $</p>
-Answer comes here.
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00045.html b/tests/org.eclipse.team.tests.cvs.core/html/00045.html
deleted file mode 100644
index 72632c2..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00045.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<html>
-<head>
-<title>With latest</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>With latest</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<p>Ensure that the replace operation overwrites any outgoing
-changes. And verify the following:</p>
-<ul>
-	<li>Label decorations (e.g. outgoing change flag, version) are
-	updated in the navigator/packages view and synchronize view.</li>
-</ul>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00046.html b/tests/org.eclipse.team.tests.cvs.core/html/00046.html
deleted file mode 100644
index 9ad8442..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00046.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<html>
-<head>
-<title>With another branch of version</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>With another branch of version</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<p>Check the following for all cases of replace:</p>
-<ul>
-	<li>Decorators are updated in the navigator/packages view and
-	synchronize view.</li>
-	<li>If a version is loaded that you can't commit to it</li>
-	<li>If a branch is loaded, that you can commit to it.</li>
-</ul>
-
-<p>Also ensure that the tag filtering in the dialog works properly.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00047.html b/tests/org.eclipse.team.tests.cvs.core/html/00047.html
deleted file mode 100644
index 6c84035..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00047.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<html>
-<head>
-<title>With file revision</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>With file revision</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-
-<ul>
-	<li>If the file isn't managed the action should no appear.</li>
-	<li>If the file doesn't have any revisions you should be prompted</li>
-	<li>If the file has revisions you should be prompted with the list
-	of revisions in a compare dialog</li>
-	<li>In the compare dialog you can select any revision and compare
-	changes but merging isn't supported</li>
-	<li>If a revision is selected the Replace button should be
-	enabled. Otherwise it should be disabled</li>
-	<li>If you selected the replace button the file should contain the
-	contents of the revision selected. The dialog will also close.</li>
-	<li>Ensure that the titles are ok (e.g. dialog title, structure
-	pane title...)</li>
-</ul>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00048.html b/tests/org.eclipse.team.tests.cvs.core/html/00048.html
deleted file mode 100644
index a67c0fc..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00048.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<html>
-<head>
-<title>Performing a Synchronize</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Performing a Synchronize</h2>
-<p>Since: 3.0<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<p>Synchronizing means to compare your local workspace contents with
-the contents in another location with the goal that the two locations
-should contain the same contents at some point.</p>
-
-<h3>Performing a Synchronize operation</h3>
-
-<p>There are a few ways of launching a synchronize operation. They
-all open the same dialog but the initial selection is affected by where
-the operation is launched. Here is the list of ways to start a
-synchronize along with the expected initial selection.</p>
-
-<ul>
-	<li><b>Using the global synchronize action (via toolbar or
-	keybinding)</b>: The selection should be obtained from the active view. If
-	no view is active, all projects should be selected.</li>
-	<li><b>Using the Synchronize button in toolbar of the
-	Synchronize view</b>: All projects should be selected.</li>
-	<li><b>Selecting Synchronize from the context menu of
-	resources in the synchronize view</b>: The selection should match what was
-	selected when the menu was selected.</li>
-	<li><b>Selecting Team > Synchronize with Repository from the
-	context menu of any resource based view</b>: The selection should match
-	what was selected when the menu was selected.</li>
-</ul>
-
-<p>Once launched, a synchronize will run in the background.
-Currently, the user is prompted to switch perspectives when the
-synchronize is launched. When a synchronize completes, the user is
-prompted either with a dialog stating there is no changes or one that
-contains a details area that shows the incoming changes. The user is
-given the option to suppress the post-synchronize dialog.</p>
-
-<h3>Notice a file is out-of-sync in another view (e.g. packages
-explorer, types) and want to see the changes</h3>
-
-<p>In case you can select a file, it will be refreshed with the
-server, and if changes are found the compare editor is opened that will
-allow browsing the changes. If no changes are found, you will be
-prompted.</p>
-
-<h3>From another view would like to browse the outgoing/incoming
-changes for several resources</h3>
-
-<p>Select a folder or group of files and Team > Synchronize will
-open the sync view and automatically refresh with the remote repository.</p>
-
-<h3>In the sync view and would like to refresh to see if there are
-new changes from the server</h3>
-
-<p>Assumption, the sync view may or may not be open when the
-synchronize is performed. Maybe we need a different prompt each case.
-One for Team > Sync and another for refresh from the sync view.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00049.html b/tests/org.eclipse.team.tests.cvs.core/html/00049.html
deleted file mode 100644
index 599cb04..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00049.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<html>
-<head>
-<title>Decorations</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Decorations</h2>
-<p>Since: M8<br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-
-There are many standard decorations in the sync view. Most significant
-are the propagated flags.
-
-<h3>Conflicts</h3>
-
-<p>Conflicting changes should be propagated to parent resources such
-that you can easily see, when the tree is collapsed that there are
-conflicts. When the conflict is resolved, the parent conflict markers
-should be removed.</p>
-
-<h3>Error and Warning problem markers</h3>
-
-<p>Error and warning makers are shown on resources and propagated to
-parent resources such that you can easily see if you are releasing
-errors or warnings.</p>
-
-<h3>Branch changes</h3>
-
-<p>Changes to branches, revisions, should be updated automatically
-in the views decorators. For example, if you branch from the sync view
-the branch name should appear.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00050.html b/tests/org.eclipse.team.tests.cvs.core/html/00050.html
deleted file mode 100644
index a1715ca..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00050.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<html>
-<head>
-<title>Sharing a new project</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Sharing a new project</h2>
-<p>Since: 3.0 M8<br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-
-<h3>Scenario 1: Existing location using project name</h3>
-
-<p>Perform the following steps:</p>
-
-<ol>
-	<li>Create a new project that does not exist in the repository</li>
-	<li>Select Team>Share and select CVS (if there is more than one
-	repository provider available).</li>
-	<li>Select a repository and click Next</li>
-	<li>Use the project name as the module name. Click Next.</li>
-	<li>After a time, the last page should show the outgoing changes
-	in the project. Commit the changes from the synchronize pane.</li>
-	<li>Click Finish</li>
-</ol>
-
-<h3>Scenario 2: New location using different name</h3>
-
-<p>Perform the following steps:</p>
-
-<ol>
-	<li>Create a new project</li>
-	<li>Select Team>Share and select CVS (if there is more than one
-	repository provider available).</li>
-	<li>Select to create a new repository and click Next</li>
-	<li>Enter the repository information for a new repository and
-	click Next</li>
-	<li>Enter a single segment module name that does not exist in the
-	repository and click Next.</li>
-	<li>After a time, the last page should show the outgoing changes
-	in the project. Commit the changes from the synchronize pane.</li>
-	<li>Click Finish</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/00051.html b/tests/org.eclipse.team.tests.cvs.core/html/00051.html
deleted file mode 100644
index 8bfe111..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/00051.html
+++ /dev/null
@@ -1,137 +0,0 @@
-<html>
-<head>
-<title>Compare With Each Other</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Compare With Each Other</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/09/05 19:30:00 $</p>
-
-<h3>Compare a resource with other resource</h3>
-<h5>The action</h5>
-<ul>
-	<li>The action should appear only when there are 2 or 3 resources
-	selected.</li>
-	<li>If there are 3 resources selected you should be prompted to
-	select the common ancestor.</li>
-</ul>
-<h5>Look</h5>
-<ul>
-	<li>Ensure that all titles and labels are ok (e.g. dialog title,
-	structure pane title, compare editor labels...).</li>
-	<li>Ensure that all buttons in the toolbar are properly enabled
-	(e.g. Copy All/Copy Current, Next/Prev Difference/Change).</li>
-	<li>Ensure that difference markers are properly display at start</li>
-</ul>
-<h5>Navigation</h5>
-<ul>
-	<li>If you reach the first/last difference you should be prompted
-	to go to the end/start of the current element.</li>
-	<li>Ensure that you can correctly navigate through differences
-	using the difference markers on the right side of the editor.</li>
-</ul>
-<h5>Merging</h5>
-<ul>
-	<li>Ensure that Copy All/Copy Current actions work as expected.</li>
-	<li>Ensure that when the Copy All action is used all difference
-	markers disappear.</li>
-	<li>Ensure that when the Copy Current action is used a proper
-	difference marker disappears.</li>
-	<li>Ensure you can Undo an action.</li>
-</ul>
-<h5>Saving</h5>
-<ul>
-	<li>If you edit a local resource the dirty state indicator should
-	appear over the resource.</li>
-	<li>If you edit a local resource and the resource is also opened
-	in a different editor the dirty state should appear on that editor too.</li>
-	<li>If you edit both of the resources being compare (both are
-	local), changes should be saved to both of them.</li>
-	<li>If you edit a resource and close the editor you should be
-	prompted to save or abandon changes.</li>
-	<li>If you edit both of the resources and close the editor you
-	should be prompted to select which resources to save using the Save
-	Resources dialog.</li>
-	<li>Ensure you can Undo a change.</li>
-	<li>Ensure that changes are saved correctly to the underlying
-	resource.</li>
-</ul>
-
-<h5>Concurrent edition</h5>
-<ul>
-	<li>Scenario 1
-	<ol>
-		<li>Compare two local resources using the Compare Editor.</li>
-		<li>Open one of them in the default editor (F3) and edit it.</li>
-		<li>Ensure that the resource gets the dirty state indicator over
-		both editors (i.e default and Compare).</li>
-		<li>If you save the resource in the default editor the dirty
-		state indicator should go off for both editors.</li>
-		<li>Ensure that changes are saved correctly to the underlying
-		resource.</li>
-	</ol>
-	</li>
-	<li>Scenario 2a
-	<ol>
-		<li>Compare two local resources using the Compare Editor.</li>
-		<li>Open one of them in the default editor (F3) and edit it.</li>
-		<li>Ensure that the resource gets the dirty state indicator over
-		both editors (i.e default and Compare).</li>
-		<li>If you close the default editor you should be prompted to
-		save changes, exiting without saving or cancel.</li>
-		<li>Select exit without saving (button named "No").</li>
-		<li>Ensure that the resource under the Compare Editor is still in
-		the dirty state.</li>
-		<li>Ensure that changes are the same as made using the default
-		editor.</li>
-		<li>Ensure that changes can be saved to the underlying resource
-		from the Compare Editor.</li>
-		<li>Ensure that changes are saved correctly to the underlying
-		resource.</li>
-	</ol>
-	</li>
-	<li>Scenario 2b
-	<ol>
-		<li>Compare two local resources using the Compare Editor.</li>
-		<li>Open one of them in the default editor (F3) and edit it.</li>
-		<li>Ensure that the resource gets the dirty state indicator over
-		both editors (i.e default and Compare).</li>
-		<li>If you close the default editor you should be prompted to
-		save changes, exiting without saving or cancel.</li>
-		<li>Select to save changes (button named "Yes").</li>
-		<li>Ensure that the dirty state indicator for the resource goes
-		off.</li>
-		<li>Ensure that changes are saved correctly to the underlying
-		resource.</li>
-		<li>Ensure you can Undo changes.</li>
-	</ol>
-	</li>
-	<li>Scenario 3
-	<ol>
-		<li>Compare two local resources using the Compare Editor.</li>
-		<li>Open both files in default editors (F3) and edit them.</li>
-		<li>Ensure that the resource gets the dirty state indicator over
-		all editors (i.e two default and Compare).</li>
-		<li>Ensure that changes made in one of editors are correctly
-		handled by others.</li>
-		<li>Ensure that changes are saved correctly to underlying
-		resources.</li>
-		<li>Ensure you can Undo changes.</li>
-	</ol>
-	</li>
-</ul>
-
-<h5>Common Ancestor</h5>
-<ul>
-	<li>Ensure that a resource acting as a common ancestor is the one
-	selected in the dialog.</li>
-	<li>Ensure you can switch between Two- and Three-way compare when
-	a common ancestor is available.</li>
-	<li>Ensure you can show/hide the Common Ancestor Pane.</li>
-</ul>
-
-</body>
-</html>
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/DNDCFile00001.html b/tests/org.eclipse.team.tests.cvs.core/html/DNDCFile00001.html
deleted file mode 100644
index 51afd14..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/DNDCFile00001.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<html>
-<head>
-<title>Drag and Drop CVS File</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Drag and Drop CVS File</h2>
-<p>Since: 3.2 RC2 <br>
-Last Modified: $Date: 2006/04/25 20:40:39 $</p>
-
-<p><b>Purpose:</b> Test the DND mechanism for CVS files.</p>
-
-<ol>
-	<li>Open the History view.</li>
-	<li>Drag the CVS file over to it.</li>
-	<li>Ensure the the history view shows the appropriate history
-	(i.e. all revisions present and proper filename in the title bar).</li>
-</ol>
-
-<p>Drag another file over to the History View from a project that is
-<b>not</b> shared with a CVS repository. Repeat the above and make sure
-that the View updates.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/DNDUMFile00001.html b/tests/org.eclipse.team.tests.cvs.core/html/DNDUMFile00001.html
deleted file mode 100644
index 3a59dda..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/DNDUMFile00001.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<html>
-<head>
-<title>Drag and Drop Unmapped File</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Drag and Drop Unmapped File</h2>
-<p>Since: 3.2 RC2 <br>
-Last Modified: $Date: 2006/04/25 20:40:39 $</p>
-
-<p><b>Purpose:</b> Test the DND mechanism for unmapped files.</p>
-
-<ol>
-	<li>Open the History view.</li>
-	<li>Drag the local file over to it.</li>
-	<li>Ensure the the history view shows the appropriate history
-	(i.e. all revisions present and proper filename in the title bar).</li>
-</ol>
-
-<p>Drag another file over to the History View from a project that is
-<i>shared with a CVS repository.</i> Repeat the above and make sure that
-the View updates.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/auth_problems00001.html b/tests/org.eclipse.team.tests.cvs.core/html/auth_problems00001.html
deleted file mode 100644
index 142ea93..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/auth_problems00001.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<html>
-<head>
-<title>Authentication Problems</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Authentication Problems</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/06/01 20:28:37 $</p>
-
-<p>Test the error reporting when authentication fails due to either,
-invalid username, password, hostname. This should be tried with each CVS
-connection method: pserver, extssh, ext.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/branch00001.html b/tests/org.eclipse.team.tests.cvs.core/html/branch00001.html
deleted file mode 100644
index 186f65e..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/branch00001.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<html>
-<head>
-<title>Branching</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Branching</h2>
-<p>Since: 3.1 M4<br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<ol>
-	<li>Choose Team>Branch from the context menu of the Navigator.
-	<li>Enter a branch tag.</li>
-	<li>Verify that a version tag is proposed for the branch.</li>
-	<li>Click OK and verify that the tags are applied and the local
-	project is mapped to the branch.</li>
-</ol>
-<p>Some things to try:
-<ul>
-	<li>Uncheck the "Start working in the branch" option and verify
-	that the local project is not moved to the branch.</li>
-	<li>Branch a loaded version and verify that the tag from the
-	project is used as the root.</li>
-	<li>Ensure that the content assist on the branch text widget shows
-	branches from other projects in the workspace that do not exist on the
-	project being branched.</li>
-	<li>Branch with local changes and ensure that they remain and can
-	be committed to the branch.</li>
-</ul>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/change_sets00001.html b/tests/org.eclipse.team.tests.cvs.core/html/change_sets00001.html
deleted file mode 100644
index 0598bec..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/change_sets00001.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<html>
-<head>
-<title>Change Sets</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Change Sets Layout</h2>
-<p>Since: 3.1 M2<br>
-Last Modified: $Date$</p>
-
-<h3>Change Sets for incoming changes</h3>
-
-To perform these scenarios you will need to get one or more projects in
-your workspace that have many incoming changes. Preferably all the
-changes will have commit comments and some files will share a comment.
-Once you have this setup, you can perform the following sub-scenarios.
-
-<h4>Enabling/disabling Change Sets</h4>
-<ol>
-	<li>Synchronize the projects with HEAD, enable change set mode and
-	ensure that the files appear in the proper change sets. Also ensure
-	that the proper sub-layout is used by expanding some of the nodes in
-	the tree.</li>
-	<li>With some nodes expanded and additionally one or more
-	selected, disable Change Sets. The same nodes should remain expanded
-	and selected.</li>
-	<li>With the same nodes selected and expanded, re-enable change
-	sets. The expansion should remain. There may be more expanded if the
-	same expanded project or folder appears in multiple change sets. The
-	selection will remain unless there are two entries for the same
-	resource (i.e. if a project was selected and it appears in multiple
-	sets, it will no longer be expanded).</li>
-</ol>
-
-You should also confirm that markers and conflicts are properly
-propagated to parent nodes.
-
-<h4>Change Set Modes</h4>
-<ol>
-	<li>Switch between the various modes and ensure that the displayed
-	nodes are correct. Also ensure that expansion and selection is
-	maintained.</li>
-	<li>Only Incoming and Outgoing mode show change sets.</li>
-</ol>
-
-<h4>Updating</h4>
-With several nodes expanded, perform an update on one or more files that
-are incoming changes. Ensure that the updated files are removed from the
-view and that other expanded nodes remain expanded.
-
-<h3>Outgoing Sets</h3>
-
-The following aspects of outgoing change sets should be tested:
-<ol>
-	<li>Modified files can be added to a new or existing change set.
-	Ensure that when they are added, the file remains visible in the Sync
-	view.</li>
-	<li>Files in a change set can be transfered to another change set</li>
-	<li>If there is a default change set, any modified file that is
-	not already part of a change set is placed in the default set. Files
-	that are already in a set should stay in that set if more changes are
-	made to the files.</li>
-	<li>The title and comment of a change set can be changed.</li>
-	<li>Layout and modes changes work properly for outgoing change
-	sets in the Synchronize view.</li>
-	<li>Committing one or more files in a change set will result in a
-	commit dialog that is primed with the comment from the set.</li>
-	<li>change sets (including which is the default), are preserved
-	across restarts.</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/checkoutwizard00001.html b/tests/org.eclipse.team.tests.cvs.core/html/checkoutwizard00001.html
deleted file mode 100644
index 27b4a9a..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/checkoutwizard00001.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<html>
-<head>
-<title>Check Out Wizard</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Checkout Wizard</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<p>The checkout wizard should be available from the following parts
-of the workbench: import, new project, empty workspace CVS synchronize
-action, toolbar in CVS perspective. The checkout wizard is also
-available from the context menu of the repositories view as the Checkout
-As menu item.</p>
-
-The following variants should be tested:
-<ul>
-	<li>Create a new repository location and checkout a project
-	entirely from the wizard.</li>
-	<li>Check out a tag</li>
-	<li>Check out a project that does not contain a .project file.
-	This should result in a second wizard that allows project configuration
-	(e.g. Java project).</li>
-</ul>
-
-<h3>Repositories View Checkout Variants</h3>
-These tests require an existing repository which contains projects, at
-least one of which does not contain a .project file.
-
-<ol>
-	<li>Perform "Check Out" on a single project. Ensure that repeating
-	results in overwrite prompt.</li>
-	<li>Perform "Check Out" on multiple projects.</li>
-	<li>Perform "Check Out As..." on a single project (that contains a
-	.project file) and enter custom name and/or custom location.</li>
-	<li>Perform "Check Out As..." on a single remote project that does
-	not have a .project file and ensure that the user is prompted for the
-	project type to create.</li>
-	<li>Perform "Check Out As..." on multiple projects and enter a
-	custom parent location.</li>
-	<li>Perform "Check Out As..." and specify a tag.</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/commit00001.html b/tests/org.eclipse.team.tests.cvs.core/html/commit00001.html
deleted file mode 100644
index 65fa885..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/commit00001.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html>
-<head>
-<title>Commit</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Commit</h2>
-<p>Since: 3.1 M4<br>
-Last Modified: $Date: 2005/02/04 21:58:25 $</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/commit00002.html b/tests/org.eclipse.team.tests.cvs.core/html/commit00002.html
deleted file mode 100644
index d0a4ba3..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/commit00002.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<html>
-<head>
-<title>Committing Changes</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Committing Changes</h2>
-<p>Since: 3.1 M4<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<h3>Committing changes to existing files</h3>
-<ol>
-	<li>Edit some existing files in a CVS project</li>
-	<li>Choose Team>Commit on the project from the Navigator</li>
-	<li>The commit dialog should show a preview of the files that are
-	to be committed and allow a commit comment to be entered.</li>
-</ol>
-
-<p>Some things to try:
-<ul>
-	<li>Committing a project (or selected resources) that contain no
-	changes will prompt to indicate this.</li>
-	<li>Files can be removed from the preview area and these will be
-	excluded from the commit.</li>
-	<li>Clicking OK without entering a comment should prompt.</li>
-	<li>Emptying the preview area will disable the Finish and show a
-	"no changes" message.</li>
-	<li>Try different page layouts (compressed, tree and flat)</li>
-</ul>
-
-<h3>Committing new files</h3>
-<ol>
-	<li>Add a few new files to a project including some with unknown
-	extensions and some with no extensions.</li>
-	<li>Choose Team>Commit on the project from the Navigator</li>
-	<li>The first page of the commit wizard will allow you to
-	configure the file types for any new files whose content type cannot be
-	determined.</li>
-	<ul>
-		<li>Configure some to be remembered and others to be only applied
-		to this commit (verify after that this was done properly)</li>
-	</ul>
-	<li>Click Next and verify that the content type was determined
-	properly.</li>
-	<li>Choose to ignore one of the files and verify that the file is
-	removed and the .cvsignore appears.</li>
-</ol>
-
-<h3>Committing files contained in a Change Set</h3>
-<ol>
-	<li>From the Synchronize view, select all the changes from the
-	same Change Set.</li>
-	<li>Choose Commit and verify that the comment in the commit dialog
-	is the one from the change Set.</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/connections00001.html b/tests/org.eclipse.team.tests.cvs.core/html/connections00001.html
deleted file mode 100644
index 1a9f69b..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/connections00001.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<html>
-<head>
-<title>Connections</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Connections</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<p>Test that authentication, connection errors result in appropriate
-error messages and that these don't pollute the log file or console. To
-setup for these tests ensure there are a couple of shared projects in
-your workspace.</p>
-
-<ul>
-	<li>Clear you log file before starting the tests and turn on the
-	CVS quick diff provider.</li>
-	<li>Perform an update, a synchronize, and open a file. The log
-	should be empty and the operations should succeed.</li>
-	<li>Disconnect from the network.</li>
-	<li>Open a file. The CVS quick diff will fail and an error should
-	be in the log.</li>
-	<li>Synchronize all the shared projects. One error explaining the
-	failures should be returned.</li>
-	<li>Change the connection properties of one of the projects to
-	point to an non-existing location. Then synchronize again, the error
-	message should indicate that some succeeded and others failed. But the
-	user should no that the operation did complete and skipped the failed
-	projects.</li>
-	<li>Expand the invalid location in the CVS repositories view. An
-	appropriate error should be shown.</li>
-</ul>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/cvsHistory00001.html b/tests/org.eclipse.team.tests.cvs.core/html/cvsHistory00001.html
deleted file mode 100644
index 0d0ab47..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/cvsHistory00001.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
-<head>
-<title>CVS History</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>CVS History</h2>
-<p>Since: <br>
-Last Modified: $Date: 2006/04/25 20:40:39 $</p>
-Answer comes here.
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/datetags_repoview00001.html b/tests/org.eclipse.team.tests.cvs.core/html/datetags_repoview00001.html
deleted file mode 100644
index bc12103..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/datetags_repoview00001.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<html>
-<head>
-<title>Tags</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Tags</h2>
-<p>Since: 3.0<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-<body>
-
-<h3>Refresh Branches and Versions</h3>
-<ol>
-	<li>Select a repository location and perform "Refresh Branches and
-	Versions...".</li>
-	<li>Select one or more projects that contain a .project file and
-	have been tagged with branch and version tags and click finish.</li>
-	<li>Expand the repository entry to view ...
-	<ul>
-		<li>projects in HEAD,</li>
-		<li>branches and projects in BRANCHES,</li>
-		<li>projects and versions in VERSIONS.</li>
-	</ul>
-	</li>
-</ol>
-
-<h3>Configure Branches and Versions</h3>
-<ol>
-	<li>Select a project in the repositories view and perform
-	"Configure Branches and Versions...".</li>
-	<li>Select some branch and version tags to be remembered.</li>
-	<li>Expand the repository entry to view ...
-	<ul>
-		<li>projects in HEAD,</li>
-		<li>branches and projects in BRANCHES,</li>
-		<li>projects and versions in VERSIONS.</li>
-	</ul>
-	</li>
-</ol>
-
-<h3>Date Tags</h3>
-The ability to create Date tags should be available from the following
-locations:
-
-<ul>
-	<li>Repositories view</li>
-	<li>Configure Branches and Versions dialog</li>
-	<li>Tag selection dialogs (Compare with and Replace with Branch or
-	Version)</li>
-</ul>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/failures00001.html b/tests/org.eclipse.team.tests.cvs.core/html/failures00001.html
deleted file mode 100644
index 2e851a5..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/failures00001.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
-<head>
-<title>Failure Cases</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Failure Cases</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-Answer comes here.
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/groupByDateUMFile00001.html b/tests/org.eclipse.team.tests.cvs.core/html/groupByDateUMFile00001.html
deleted file mode 100644
index 16ec9f5..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/groupByDateUMFile00001.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<html>
-<head>
-<title>Group Revisions by Date</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Group Revisions by Date</h2>
-<p>Since: 3.2 RC2 <br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<p><b>Purpose:</b> Test the group by date mechanism for both local
-history and CVS history.</p>
-
-<ol>
-	<li>Open the History view.</li>
-	<li>Roll back your system clock 1 day, make a change to your local
-	unmapped file and save it.</li>
-	<li>Roll back your system clock to the beginning of the month and
-	make some changes to the local unmapped file and save it.</li>
-	<li>Roll back your system clock to anywhere before the beginning
-	of the current month, make a change to the local unmapped file and save
-	it.</li>
-	<li>Reset your clock to the current date and show the file's
-	history (DND or [Team>Show Local History]/[Team>Show History] for local
-	and CVS files respectively).</li>
-	<li>Verify that the revisions appear in the appropriate
-	categories: Today, Yesterday, This Month and Previous.</li>
-	<li>Click the Group by Revisions Date button and make sure that
-	the categories toggle on and off.</li>
-</ol>
-
-<p>The above should be tested with history from both an unmanaged
-file and a CVS file.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/keys00001.html b/tests/org.eclipse.team.tests.cvs.core/html/keys00001.html
deleted file mode 100644
index ecdea4a..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/keys00001.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<html>
-<head>
-<title>Key Bindings</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Key Bindings</h2>
-<p>Since: 3.1<br>
-Last Modified: $Date$</p>
-
-<p>Activate the CVS menu and assign keybindings to the various CVS
-commands. Ensure that they work as expected.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/localHistoryUnsharedFiles00001.html b/tests/org.eclipse.team.tests.cvs.core/html/localHistoryUnsharedFiles00001.html
deleted file mode 100644
index ef85201..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/localHistoryUnsharedFiles00001.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<html>
-<head>
-<title>Local History for Unshared Files</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Local History for Unshared Files</h2>
-<p>Since: 3.2 RC2<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<p>This section tests the History View's behavior towards files that
-reside in projects that have not been mapped to any Repository Provider.</p>
-
-<hr></hr>
-
-<h2>Setup Procedure for all Unshared Local History Tests</h2>
-<p>All of the tests require the following steps completed prior to
-any test case execution. These steps need only be done once for this
-entire subsection. These steps ensure that some local history is
-generated for the unmapped file.</p>
-
-<ol>
-	<li>Create a new Java project and add a new class to it.</li>
-	<li>Add a field to the class and save.</li>
-	<li>Add another field to the class and save.</li>
-	<li>Add a method to the class and save.</li>
-	<li>Add another method to the class and save.</li>
-</ol>
-
-<p>Now that the file has some history to it, you can proceed with
-this test suite.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/logical00001.html b/tests/org.eclipse.team.tests.cvs.core/html/logical00001.html
deleted file mode 100644
index a999321..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/logical00001.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html>
-<head>
-<title>Logical Resource Support</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Logical Resource Support</h2>
-<p>Since: 3.1 <br>
-Last Modified: $Date$</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/logical00002.html b/tests/org.eclipse.team.tests.cvs.core/html/logical00002.html
deleted file mode 100644
index b02a922..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/logical00002.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<html>
-<head>
-<title>Java Packages</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Java Packages</h2>
-<p>Since: 3.1<br>
-Last Modified: $Date$</p>
-
-<p>Ensure that CVS operations such as Update and Commit are
-performed only on the files in a Java package and not on the subpackages
-when the operations are launched from the Java Packages Explorer.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/logical00003.html b/tests/org.eclipse.team.tests.cvs.core/html/logical00003.html
deleted file mode 100644
index b0eba70..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/logical00003.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<html>
-<head>
-<title>Working Sets</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Working Sets</h2>
-<p>Since: 3.1<br>
-Last Modified: $Date$</p>
-
-<p>Configure the Java Packages Explorer to show Working Sets.
-Populate the working sets with various combinations of shared and
-unshared projects and ensure that CVS operations can be performed
-directly on the working sets if they contain at least one shared
-project.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/misc00001.html b/tests/org.eclipse.team.tests.cvs.core/html/misc00001.html
deleted file mode 100644
index 62d61a0..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/misc00001.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
-<head>
-<title>Misc</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Misc</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-Answer comes here.
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/modeSwitching00001.html b/tests/org.eclipse.team.tests.cvs.core/html/modeSwitching00001.html
deleted file mode 100644
index 0c2ff24..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/modeSwitching00001.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<html>
-<head>
-<title>Mode Switching</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Mode Switching</h2>
-<p>Since: 3.2 RC2 <br>
-Last Modified: $Date: 2006/04/25 21:31:43 $</p>
-
-<p><b>Purpose:</b> Test the mode switching for the CVS History Page.</p>
-
-<h3>Basic Mode Testing</h3>
-
-<ol>
-	<li>Open the History view.</li>
-	<li>Open any file that is being managed by CVS.</li>
-	<li>Edit the file and save.</li>
-	<li>Show the history for the file.</li>
-	<li>Click on the Local and Remote Revisions button. Verify that
-	you can see both remote revisions and local revisions.</li>
-	<li>Click on the Local Revisions button. Verify that you can see
-	only local revisions. Note: <i>No background fetching should occur
-	when you switch modes!</i></li>
-	<li>Click on the Remote Revisions button. Verify that you can see
-	only remote revisions. Note: <i>No background fetching should occur
-	when you switch modes!</i></li>
-</ol>
-
-<h3>Mode Persistence Testing</h3>
-
-<ol>
-	<li>Open the History view.</li>
-	<li>Show the history for the file.</li>
-	<li>Click on one of the modes, remember it and close the history
-	view.</li>
-	<li>Show the history for a file again and verify that it is in
-	fact the same mode that you had set prior to closing the history view.</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/perf00001.html b/tests/org.eclipse.team.tests.cvs.core/html/perf00001.html
deleted file mode 100644
index 27ea279..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/perf00001.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html>
-<head>
-<title>Performance</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Performance</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/05/31 20:24:10 $</p>
-This section contains various performance tests as well as a record of
-previous performance test results for future reference.
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/perf00002.html b/tests/org.eclipse.team.tests.cvs.core/html/perf00002.html
deleted file mode 100644
index a67226b..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/perf00002.html
+++ /dev/null
@@ -1,130 +0,0 @@
-<html>
-<head>
-<title>Timings</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Timings</h2>
-<p>Since: 3.0<br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-This section contains various timing results and comparisons.
-
-<h3>Overview</h3>
-
-The purpose of this section is to provide a small set of tests that can
-be used to benchmark the Eclipse CVS client. The areas tested are:
-
-<ol>
-	<li>Checkout</li>
-	<li>Synchronizing</li>
-	<li>Updating</li>
-</ol>
-
-<h3>Setup</h3>
-
-The following should be considered when obtaining timings:
-
-<ul>
-	<li>The Progress view in verbose mode can add 20% or more to
-	times. In regular mode, it can still add a bit to the time. For these
-	timings, the view was open but hidden.</li>
-	<li>The Console view can add as much as 20% to times. For these
-	tests, the console was turned off entirely.</li>
-	<li>Running an Eclipse operation several times will "warm-up" the
-	code path due to JIT. The timings for Eclipse were usually the second
-	or third timing obtained.</li>
-</ul>
-
-The following numbers were obtained on a 2.8GHz PC running GTK, Sun 14.2
-with autobuild off and operations run in the foreground. The project
-used was org.eclipse.jdt.tests.refactoring. It has a large number of
-folders and files which give interesting times. The date the timings
-were obtained were May 31st, 2004 so similar numbers can be obtained for
-comparison using the project snapshot at that time (which can be
-obtained using a Date tag).
-
-<h3>Checkout</h3>
-
-Checkout of org.eclipse.jdt.tests.refactoring as of 2004/05/31. The
-timings are in "mm:ss" and were obtained by observation (i.e.
-stopwatch).
-
-<ul>
-	<li>Eclipse 3.0 over pserver: 3:00 to 3:30 (several timings)
-	<ul>
-		<li>Timings increased slightly with progress view visible and
-		considerably with progress view in verbose mode.
-	</ul>
-	</li>
-	<li>CLI over pserver: 3:00 (1 timing)</li>
-</ul>
-
-<h3>Synchronize</h3>
-
-Synchronizing of org.eclipse.jdt.tests.refactoring as of 2004/05/31. The
-timings are in "mm:ss" and were obtained by observation (i.e.
-stopwatch).
-
-<h4>Synchronize with no changes</h4>
-
-<ul>
-	<li>Eclipse 3.0 over pserver: 0:45</li>
-	<li>CLI over pserver: 0:42 ("cvs -n update")</li>
-</ul>
-
-<h4>Synchronize with all outgoing, no incoming</h4>
-
-<ul>
-	<li>Eclipse 3.0 over pserver: 1:00</li>
-	<li>CLI over pserver: 2:20 ("cvs -n update")</li>
-</ul>
-
-<h4>Synchronize with incoming changes</h4>
-
-Incoming changes were simulated by loading version v20040106 and then
-removing the tag (using a special utility action). This resulted in 393
-incoming changes.
-
-<ul>
-	<li>Eclipse 3.0 over pserver: 0:55</li>
-	<li>CLI over pserver: 0:45 ("cvs -n update")</li>
-</ul>
-
-The timing for Eclipse also includes the status command to fetch the
-revisions for the 393 incoming changes.
-
-<h3>Update</h3>
-
-These timings were obtained using Team>Update for Eclipse and "cvs
-update ." for the CLI.
-
-<h4>Update with no changes</h4>
-
-<ul>
-	<li>Eclipse 3.0 over pserver: 1:15, 1:25 (2 timings)</li>
-	<li>CLI over pserver: 1:15 ("cvs update")</li>
-</ul>
-
-<h4>Update with all false outgoing changes (using touch)</h4>
-
-<ul>
-	<li>Eclipse 3.0 over pserver: 2:20</li>
-	<li>CLI over pserver: 2:20</li>
-</ul>
-
-<h4>Update with incoming changes</h4>
-
-Incoming changes were simulated by loading version v20040106 and then
-removing the tag (using a special utility action). This resulted in 393
-incoming changes.
-
-<ul>
-	<li>Eclipse 3.0 over pserver: 1:55</li>
-	<li>CLI over pserver: 1:55 ("cvs -n update")</li>
-</ul>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/perf00004.html b/tests/org.eclipse.team.tests.cvs.core/html/perf00004.html
deleted file mode 100644
index 357c89a..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/perf00004.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<html>
-<head>
-<title>Resource Data Structures</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Resource Data Structures</h2>
-<p>Since: 3.0<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-This section contains results on memory footprint of CVS in the Core
-resource plugin data structures. More specifically, CVS uses the session
-and persistent property caches along with the synchronizer.
-
-<h3>CVS Workspace Sync info caches</h3>
-
-Checking of the cache usage requires the use of the Core spy tools. To
-obtain the memory footprint, perform the following steps.
-
-<ol>
-	<li>Install the Core Spy Tools</li>
-	<li>Launch Eclipse</li>
-	<li>Checkout several projects</li>
-	<li>Open the Element Tree Spy to get the memory footprint. At the
-	time of writing, CVS is the main user of these structures. In future
-	test, ensure that others are not contributing to the tally.</li>
-	<li>Disconnect all the projects</li>
-	<li>The Element Tree Spy memory footprint should be reduced
-	accordingly</li>
-</ol>
-
-The following snapshot of the resource element tree was taken after
-checking out all of the projects (294 as of 2004/05/31) in
-dev.eclipse.org.
-
-<pre>
-Total resource count: 89,466
-	Team private: 10,186
-	Phantom: 4,055
-	Markers: 0
-	SyncInfo: 10,432
-Number of layers: 15
-Number of nodes: 89,514
-Number of non-identical strings: 48,456
-Total memory used by nodes: 23,141,343
-	Nodes and ResourceInfo: 8,586,108
-	Strings: 3,584,724
-	Markers: 0
-	Sync info: 1,447,861
-	Session properties: 9,522,650
-		class [B: 2,618,076
-		class [Ljava.lang.Object;: 2,564,448
-		class org.eclipse.core.internal.utils.ObjectMap: 1,700,240
-		class [C: 1,454,994
-		class java.lang.Long: 610,800
-		class java.lang.String: 286,580
-		class org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo: 285,292
-		class java.util.ArrayList: 768
-		class org.eclipse.team.internal.ccvs.core.util.StringMatcher: 660
-		class org.eclipse.team.internal.ccvs.core.util.FileNameMatcher: 320
-		class [Ljava.lang.String;: 300
-		class org.eclipse.core.runtime.QualifiedName: 160
-		class java.lang.Object: 12
-The top 20 equal but non-identical strings are:
-	A.java->2,002
-	in->1,219
-	plugin.xml->913
-	out->794
-	A_out.java->489
-	A_in.java->487
-	eclipse->431
-	org->421
-	Test.java->412
-	B.java->345
-	build.properties->297
-	I.java->269
-	internal->256
-	about.html->253
-	plugin.properties->243
-	.cvsignore->227
-	.classpath->209
-	ui->185
-	src->184
-	package.html->165
-</pre>
-
-<h3>CVS Merge memory usage</h3>
-Merging in CVS makes use of the Core synchronizer. Perform the following
-steps with the Core Spy Tool installed to ensure proper memory
-management.
-
-<ol>
-	<li>Checkout one or more projects</li>
-	<li>Open the Element Tree Spy to get the memory footprint.</li>
-	<li>Perform a merge</li>
-	<li>Open the Element Tree Spy to get the memory footprint. The
-	only increase should be in the synchronizer.</li>
-	<li>Remove the merge from the sync view</li>
-	<li>The Element Tree Spy memory footprint should be reduced
-	accordingly</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/perf00005.html b/tests/org.eclipse.team.tests.cvs.core/html/perf00005.html
deleted file mode 100644
index e3c4856..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/perf00005.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<html>
-<head>
-<title>Looking For Leaks</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Looking For Leaks</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/09/19 14:01:34 $</p>
-
-<h3>Removing synchronize view entries</h3>
-
-<ol>
-	<li>Start with an empty synchronize view</li>
-	<li>Create an entry in the Synchronize view for each of the
-	following cases:
-	<ul>
-		<li>Team>Synchronize</li>
-		<li>Compare with>Branch or Version</li>
-		<li>Team>Merge</li>
-	</ul>
-	</li>
-	<li>Open the context menu</li>
-	<li>Select all mode and layout combinations</li>
-	<li>Remove the entry (making the sync view empty).</li>
-	<li>Select an item in another view</li>
-	<li>Using a memory profiler, look for instances of the following
-	classes:
-	<ul>
-		<li>ISynchronizeParticipant
-		<li>SynchronizeModelElement
-		<li>SyncInfo/SyncInfoSet
-	</ul>
-	</li>
-</ol>
-
-<h3>Closing the Synchronize view</h3>
-
-<p>Close all instances of the Synchronize view and ensure that no instances
-of ISynchronizeView remain.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/perf00006.html b/tests/org.eclipse.team.tests.cvs.core/html/perf00006.html
deleted file mode 100644
index b56dec8..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/perf00006.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<html>
-<head>
-<title>Team Data Structures</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Team Data Structures</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-The Team component provides several data structures that can be used to
-cache resource synchronization state and resource variants for improved
-performance. The plan is to provide tools to interrogate these caches in
-the 3.1 timeframe. These caches include:
-
-<ul>
-	<li>Resource Variant cache</li>
-	<li>SubsciberParticipant/SyncInfoSet</li>
-</ul>
-
-<h3>CVS Specific data structures</h3>
-
-CVS uses several caches to improve performance. Tools should be provided
-to query the size of these caches as well.
-
-<ul>
-	<li>Console (caches contents while not visible)</li>
-	<li>Resource History View log entry cache</li>
-	<li>Commit Sets log entry cache</li>
-</ul>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/perf00007.html b/tests/org.eclipse.team.tests.cvs.core/html/perf00007.html
deleted file mode 100644
index 02722dd..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/perf00007.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<html>
-<head>
-<title>Scalability</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Scalability</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<p>The following scenario can be used to test a large number of
-incoming additions:</p>
-
-<ol>
-	<li>Load org.eclipse.jdt.core.tests.model from dev.eclipse.org</li>
-	<li>Disconnect Formatter folder and delete it</li>
-	<li>Synchronize and the contents show up as incoming additions</li>
-	<li>Perform an Update in the project in the sync view.</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/pinHistoryView00001.html b/tests/org.eclipse.team.tests.cvs.core/html/pinHistoryView00001.html
deleted file mode 100644
index aa860df..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/pinHistoryView00001.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<html>
-<head>
-<title>Pin History View</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Pin History View</h2>
-<p>Since: 3.2 RC2<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<p><b>Purpose:</b> Test the pinning behavior of the history view.</p>
-
-<h3>Simple Pinning</h3>
-
-<ol>
-	<li>With a file history in the History View, hit the Pin button.</li>
-	<li>DND a file onto the pinned history view.</li>
-	<li>Verify that a new history view instance opens with the history
-	of the new file displayed.</li>
-	<li>Drag another file onto the pinned instance and verify that it
-	too goes to the new unpinned view.</li>
-</ol>
-<p>Repeat the above using both a CVS file and an unmanaged file.</p>
-
-<h3>More Pinning</h3>
-<p>If a one of the views already contains a file, that file should
-always update the pinned view.</p>
-
-<ol>
-	<li>With a file history in the History View, hit the Pin button.</li>
-	<li>DND a file onto the pinned history view.</li>
-	<li>Verify that a new history view instance opens with the history
-	of the new file displayed.</li>
-	<li>Now show the history for the original file in the pinned view.
-	The pin view should come to the fore front.</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/project_sets00001.html b/tests/org.eclipse.team.tests.cvs.core/html/project_sets00001.html
deleted file mode 100644
index f04ddf3..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/project_sets00001.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<html>
-<head>
-<title>Project Sets</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Project Sets</h2>
-<p>Since: 2.1 <br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<ul>
-	<li>Create a project set from a workspace with multiple projects
-	shared with CVS. The shared projects in the workspace should include
-	projects shared with the following: branch, version, date and HEAD.</li>
-	<li>Start with an empty workspace and import the projects using
-	the import projects sets wizard. Try running Project Set import in the
-	background too.</li>
-	<li>You should be prompted for a password and username for the
-	locations.</li>
-	<li>Ensure that the projects are checked out correctly and against
-	the correct tag.</li>
-</ul>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/quickdiff00001.html b/tests/org.eclipse.team.tests.cvs.core/html/quickdiff00001.html
deleted file mode 100644
index 48c95b3..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/quickdiff00001.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<html>
-<head>
-<title>Quick Diff</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Quick Diff</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<p>Enable CVS quick diff for text and java files via the General >
-Editors > Quick Diff preference. Then try the following scenarios:</p>
-
-<ol>
-	<li>Open a file and make changes to it. You will see the quickdiff
-	annotations marking the changes. Next, run Replace With > Latest from
-	HEAD. The annotations are removed and the file is clean.</li>
-	<li>Same as 1 but this time instead commit the file. The quickdiff
-	annotations are removed and the file is clean.</li>
-	<li>Checkout two copies of the same project. Open file1 from both
-	projects. Make changes to file1 in project1 and commit the change.
-	Synchronize project2 and file1 from project1 will show the quickdiff
-	annotations for the new incoming changes.</li>
-	<li>Same as previous but this time actually update the file. The
-	files quickdiff annotations are removed and the file is clean.</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/refreshHistory00002.html b/tests/org.eclipse.team.tests.cvs.core/html/refreshHistory00002.html
deleted file mode 100644
index 462a25d..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/refreshHistory00002.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<html>
-<head>
-<title>Refresh</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Refresh</h2>
-<p>Since: 3.2 RC2<br>
-Last Modified: $Date: 2007/05/18 13:54:38 $</p>
-
-<p><b>Purpose:</b> Test the two types of refresh behavior available
-in the history view</p>
-
-<h3>Automatic Refresh</h3>
-
-<p>When a local file is modified and saved, a refresh event is sent
-out and the history view should show the newest revision. This will work
-for both local history and CVS history files. (CVS files need to have
-the history view in the appropriate viewing mode: either "Remote and
-Local Revisions" or "Local Revisions".)</p>
-
-<ol>
-	<li>With a file history in the History View, and the viewer in an
-	appropriate mode if a CVS file, open an editor on the workspace copy of
-	the file in the history view.</li>
-	<li>Edit the file and save.</li>
-	<li>Verify that a new local revision gets added to the history
-	view which reflects your change.</li>
-</ol>
-
-
-<h3>Manual Refresh</h3>
-
-<p>There is also a Refresh button on the toolbar. This is mainly
-useful for CVS file histories if you want to check if any revisions have
-been committed. Note that its not really of any use for local revisions
-as they are updated automatically.</p>
-
-<ol>
-	<li>With a CVS file history in the History View, make a change to
-	the file and save. (You should see the local version updated in the
-	history view.)</li>
-	<li>Commit the file.</li>
-	<li>Hit the Refresh toolbar button and verify that the new
-	revision gets displayed in the history view,</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/repoview_basics00001.html b/tests/org.eclipse.team.tests.cvs.core/html/repoview_basics00001.html
deleted file mode 100644
index acd7753..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/repoview_basics00001.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<html>
-<head>
-<title>Basics</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Basics</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<h3>Adding and Discarding Locations</h3>
-
-<p>You should be able to create a repository location from the
-toolbar of the view or via the context menu. Try expanding the location,
-the HEAD, Versions and Branches categories. Also, try the failures cases
-from <a href="connections00001.html">Connections</a>. Things to try:</p>
-
-<ul>
-	<li>Create repo locations for different connection types: ext,
-	pserver, extssh.</li>
-	<li>Create a repo location by pasting a location string into the
-	host field (e.g. :pserver:anonymous@dev.eclipse.org:/home/eclipse).</li>
-	<li>Expanding project nodes should process the children in the
-	background and the view should remain responsive while this is
-	happening. When children nodes are added to the tree the tree shouldn't
-	be too jumpy.</li>
-	<li>Discard a location and ensure it is removed. Also ensure that
-	discarding is not permitted when projects in the local workspace are
-	shared with the location.</li>
-</ul>
-
-<h3>Repository Location Properties</h3>
-
-View a location's properties page and ensure that information is correct
-and can be changed. Ensure that the sharing information for any projects
-mapped to the location are also changed.
-
-<h3>Modules</h3>
-
-<h3>Working with modules</h3>
-
-<ul>
-	<li>Expanding HEAD or the Versions category should display the
-	modules defined in the CVSROOT/modules file</li>
-	<li>Check Out and Checkout As should be available on modules and
-	should work as expected</li>
-	<li>Performing a "Configure Branches and Versions" on the module
-	allows the user to set the autorefresh file and add some tags. Ensure
-	that the module now appears properly in association with those tags.</li>
-</ul>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/sharingbasics00001.html b/tests/org.eclipse.team.tests.cvs.core/html/sharingbasics00001.html
deleted file mode 100644
index efe3dd1..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/sharingbasics00001.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<html>
-<head>
-<title>Basics</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Basics</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/06/01 19:14:48 $</p>
-
-<p>Single select a project and select share.</p>
-<ul>
-	<li>Should only be available if the project is not shared.</li>
-	<li>Menu item should be available from the Project top level menu.</li>
-	<li>Wizard should allow you to cancel at any time and un-map the
-	project. Note that some resources may of been committed via the wizard
-	that will remain committed.</li>
-	<li>Should be able to share as a repository root {".") or a folder
-	at any level (i.e. a folder name with one or more paths).</li>
-</ul>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/showHistoryUMFile00001.html b/tests/org.eclipse.team.tests.cvs.core/html/showHistoryUMFile00001.html
deleted file mode 100644
index e74be77..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/showHistoryUMFile00001.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<html>
-<head>
-<title>Show History Unmapped File</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Show History Unmapped File</h2>
-<p>Since: 3.2 RC2 <br>
-Last Modified: $Date: 2006/04/25 20:40:39 $</p>
-
-<p><b>Purpose:</b> Test the page activation mechanism for unmapped
-files.</p>
-
-<ol>
-	<li>Open the History view.</li>
-	<li>Select the local file, right click and select Team>Show Local
-	History.</li>
-	<li>Ensure the the history view shows the appropriate history
-	(i.e. all revisions present and proper filename in the title bar).</li>
-</ol>
-
-<p>Populate the History View with another file from a project that
-is <i>shared with a CVS repository.</i> Repeat the above and make sure
-that the View updates.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/sync00001.html b/tests/org.eclipse.team.tests.cvs.core/html/sync00001.html
deleted file mode 100644
index 01ed7e2..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/sync00001.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<html>
-<head>
-<title>Scenarios</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Scenarios</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/18 13:54:38 $</p>
-
-<h3>Making Manual Changes</h3>
-
-<p>Create a conflicting file change. Manually edit the left source
-pane in the sync view. Hit "Save" on the popup menu. The file should
-remain a Conflict. Choose Mark as Merged in the popup menu of the tree.
-The file should change to an outgoing change. Commit the outgoing
-change.</p>
-
-<h3>Merging Conflicts</h3>
-
-<p>Try Override and Update with different combinations of
-Auto-Mergeable and Non-Mergeable conflicts in the selection. If all
-conflicts are Non-Mergeable, then the only choice is to replace with
-remote or cancel. If one or more conflicts are Auto-Mergeable, the
-choices are (a) Auto-Merge any applicable files, and replace the rest
-with remote, (b) Replace all files with remote or (c) Cancel.</p>
-
-<h3>Removing from View</h3>
-
-<p>Choose Remove from View. Selected nodes should disappear. Refresh
-the view. The nodes should reappear.</p>
-
-<h3>Working with Branches</h3>
-
-<p>Try any and all of the above, but use a branch instead of HEAD.
-Behavior should be identical. The sync view decorator should show you
-the name of the branch.</p>
-
-<h3>Using Mixed Tags</h3>
-
-<p>Using Team-&gt;Branch, Replace With-&gt;Branch or Version, and
-Team-&gt;Tag as Version, you can create a project which has different
-tags mixed into it. For example, one folder may be shared as V2_0, a
-single file may be attached to the branch NEW_FEATURE_BRANCH, and the
-root of the project may be attached to HEAD. We need to test usage of
-these projects in the sync view. For example, if developer 1 has project
-P shared with HEAD, and folder P/F is shared with branch B, have
-developer 2 release a change to folder F in HEAD, and have developer 1
-perform a sync. In this case developer 1 should not see the incoming
-change.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/syncRestart00001.html b/tests/org.eclipse.team.tests.cvs.core/html/syncRestart00001.html
deleted file mode 100644
index 3fd87fa..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/syncRestart00001.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<html>
-<head>
-<title>Restart Behavior</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Restart Behavior</h2>
-<p>Since: 3.3<br>
-Last Modified: $Date$</p>
-
-<p>CVS Synchronizations can be configured to populate or synchronize
-after a restart. To test this, do the following:</p>
-
-<ol>
-	<li>Create a CVS synchronization of each persisted type (Workspace
-	and Merge).</li>
-	<li>Restart and see the page that allows you to populate or
-	restart.</li>
-	<li>Choose to remember the operation</li>
-	<li>Pick an operation and ensure that the behavior is respected</li>
-</ol>
-
-<p>You will want to repeat these steps for both operations (Synchronize and
-Populate) and you should also repeat them using the preference page
-available from the view menu in the Synchronize view.</p>
-
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/tags00001.html b/tests/org.eclipse.team.tests.cvs.core/html/tags00001.html
deleted file mode 100644
index 51919bc..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/tags00001.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html>
-<head>
-<title>Tags</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Tags</h2>
-<p>Since: 3.1 M4<br>
-Last Modified: $Date: 2005/02/04 21:58:25 $</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/tags00002.html b/tests/org.eclipse.team.tests.cvs.core/html/tags00002.html
deleted file mode 100644
index 97df998..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/tags00002.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<html>
-<head>
-<title>Tag Selection in Dialogs</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Tag Selection in Dialogs</h2>
-<p>Since: 3.1 M4<br>
-Last Modified: $Date: 2005/02/04 21:58:25 $</p>
-
-Tag lists appear in many dialogs:
-
-<ul>
-	<li>Replace with Branch or Version</li>
-	<li>Compare with Branch or Version</li>
-	<li>Share of existing project</li>
-	<li>Switch to Another Branch or Versions</li>
-	<li>Tag with Existing</li>
-	<li>Tag as Version</li>
-</ul>
-
-<p>In each of these places, typing in the tag text field will filter
-the list of shown tags. The option to Refresh and Configure tags should
-also be present. Refreshing behavior should be as follows:</p>
-
-<ol>
-	<li>If an auto-refresh file (.project by default) exists and has
-	tags, the tags are obtained from the file.</li>
-	<li>If there is no auto-refresh file, the log command is used to
-	determine if there are any tags in the files that are direct children
-	of the remote folder.</li>
-	<li>If no tags are found, the user is prompted to either perform a
-	deep log to find any tags or configure the tags manually.</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/tags00003.html b/tests/org.eclipse.team.tests.cvs.core/html/tags00003.html
deleted file mode 100644
index b1d0805..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/tags00003.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<html>
-<head>
-<title>Tag Caching</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Tag Caching</h2>
-<p>Since: 3.1 M4<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-Discovered tags are cached locally to improve performance. Caching is
-done in the following ways:
-
-<ol>
-	<li>Tags discovered for local resources are cached with the remote
-	folder that the resource's project is mapped to.</li>
-	<li>Tags discovered for remote resources are cached with the
-	resource if it is a folder or the resource's parent if it is a file.</li>
-</ol>
-
-To test this, you can try one or more of the following:
-
-<ol>
-	<li>Perform Compare With on folders and subfolders in the
-	repositories view. The first time, you will need to perform a Refresh \
-	but subsequent times, the tags should be cached.</li>
-	<li>Load non-root folders as projects and ensure tags are cached
-	and obtained properly.</li>
-	<li>Perform Tag with Existing in the History view and ensure that
-	tags are obtained from the file</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/toolbarButtonsUMFile00001.html b/tests/org.eclipse.team.tests.cvs.core/html/toolbarButtonsUMFile00001.html
deleted file mode 100644
index 317b76d..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/toolbarButtonsUMFile00001.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<html>
-<head>
-<title>Common Toolbar Buttons</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Common Toolbar Buttons</h2>
-<p>Since: 3.2 RC2 <br>
-Last Modified: $Date: 2007/09/06 15:23:00 $</p>
-
-<p><b>Purpose:</b> Test the functionality of the various buttons
-common to both the Local File History page and the CVS History page</p>
-
-Note: Even though the functionality is the same for both pages, the
-tests should be conducted on both an unmanaged file and a CVS file as
-each history page has its own respective implementation for the
-following actions.
-
-<hr></hr>
-
-<h3>Compare Mode</h3>
-
-<ol>
-	<li>With a file history in the History View and the Compare Mode
-	button <b>off</b>, click on any revision and verify that it opens that
-	revision.</li>
-	<li>Click the Compare Mode button <b>on</b> and verify that
-	clicking on any local file revision will now bring up the compare
-	editor.</li>
-	<li>Verify that turning the Compare Mode button off again switches
-	back to Open mode.</li>
-</ol>
-
-<hr></hr>
-
-<h3>Collapse All</h3>
-
-<ol>
-	<li>With a file history in the History View, and the Group by Date
-	button <b>on</b>, click the Collapse All button.</li>
-	<li>Verify that all of the items in the tree are collapsed.</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/update_command00001.html b/tests/org.eclipse.team.tests.cvs.core/html/update_command00001.html
deleted file mode 100644
index a528ee0..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/update_command00001.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<html>
-<head>
-<title>Updating</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Updating</h2>
-<p>Since: 2.0 <br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-
-<p>You can run an update and open the console to see the files that
-are being updated.</p>
-<p>You can run the update and switch to another branch, this should
-keep your outgoing changes and update all other non-changed files.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/validate_edit00001.html b/tests/org.eclipse.team.tests.cvs.core/html/validate_edit00001.html
deleted file mode 100644
index 7530157..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/validate_edit00001.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html>
-<head>
-<title>Validate Edit</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Validate Edit</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/06/10 21:32:44 $</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/validate_edit_editing_files00001.html b/tests/org.eclipse.team.tests.cvs.core/html/validate_edit_editing_files00001.html
deleted file mode 100644
index 0a8d568..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/validate_edit_editing_files00001.html
+++ /dev/null
@@ -1,244 +0,0 @@
-<html>
-<head>
-<title>Editing Files</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Editing Files</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<p>These tests are to sanity check editors behavior relating to
-calling validateEdit. The tests will try to cover all cases where files
-are changed by the validateEdit handler and changes are made to the
-read-only bit.</p>
-
-<p>These test cases outline the expected behavior of single file
-editors in terms of calling validateEdit and handling of error
-conditions. All scenarios assume that a repository provider is mapped to
-a project and has created a sandbox with files that are marked
-read-only.</p>
-
-<p>The <a
-	href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.team.examples.filesystem/">
-org.eclipse.team.example.filesystem</a> plugin is a repository provider that
-simulates a pessimistic workflow. You can use it to run these tests and
-validate (no pun intended) your validateEdit editor support. To use the
-pessimistic provider, share a project with the repository provider
-called "File System Pessimistic Example" and then you can add to control
-the files and checkin/checkout will toggle the read-only bit and touch
-the file. You can change the behavior of the validateEdit call via the
-pessimistic preference page. For example, you can force the operation to
-fail and update contents of the file when checked out.</p>
-
-<p>These tests should be run against the following combinations of
-tools:</p>
-
-<ul>
-	<li>Different repository providers</li>
-	<li>Single file editors (java, text)</li>
-	<li>Multiple file editors (manifest editor, ...)</li>
-</ul>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S1: Repository provider enabled and files are readable</h3>
-<ol>
-	<li>Open a file that is not marked read-only in a project
-	configured with a repository provider.</li>
-	<li>Start editing the file, validate edit should not be called.</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S2: Validate edit called on first edit</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Start editing the file, validateEdit should be called.</li>
-	<li>validateEdit returns OK, the users edit is accepted and shows
-	up in the editor, and the file can be edited normally.</li>
-	<li>The user saves the file, and then can continue editing without
-	validateEdit being called.</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S2b: Validate edit canceled</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Start editing the file, validateEdit should be called.</li>
-	<li>validateEdit is canceled, the users edit is not accepted and
-	the file cannot be edited.</li>
-	<li>The user should still be able to browse the contents of the
-	file and trying to edit it again</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S2b: Validate edit fails with an error</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Start editing the file, validateEdit should be called.</li>
-	<li>validateEdit is canceled, the users edit is not accepted and
-	the file cannot be edited. User should be shown the error returned from
-	the validateEdit provider.</li>
-	<li>The user should still be able to browse the contents of the
-	file and trying to edit it again</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S3: Validate edit called on subsequent edits if file changes
-state</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Start editing the file, validateEdit should be called.</li>
-	<li>validateEdit returns OK, the user's edit is accepted and the
-	file can be edited normally.</li>
-	<li>The user saves the file, and then can continue editing without
-	validateEdit being called.</li>
-	<li>The user saves the file and then checks in the file while the
-	editor is still open.</li>
-	<li>After the checkin completes the user continues editing the
-	file.</li>
-	<li>Validate edit should be called again.</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S4: Validate edit not called after contents changed</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Start editing the file, validateEdit should be called.</li>
-	<li>validateEdit returns OK, the user's edit is accepted and the
-	file can be edited normally.</li>
-	<li>The user saves the file, and then can continue editing without
-	validateEdit being called.</li>
-	<li>The user saves the file and keeps the editor opened.</li>
-	<li>The user then un-checks out the file and new file contents are
-	retrieved from the server.</li>
-	<li>The new file contents are loaded into the editor and
-	validateEdit is not called.</li>
-	<li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S5: Validate edit changes file contents editor not-dirty</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Start editing the file, validateEdit should be called.</li>
-	<li>validateEdit returns OK and brings in new content from the
-	server.</li>
-	<li>The new content is loaded automatically because the editor
-	isn't dirty yet.</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S6: Validate edit changes file contents editor dirty</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Start editing the file, validateEdit should be called.</li>
-	<li>validateEdit returns OK and the file on disk doesn't change.</li>
-	<li>The user continues editing the file and then checks it in.</li>
-	<li>The editor remains open and dirty, the user continues editing.</li>
-
-	<li>validateEdit is called because the file is now read-only and
-	returns OK and brings in new content from the server.</li>
-	<li>The editor detects the timestamp change and prompts about the
-	conflict and provides <a href="#reload_options">options</a> to the
-	user.</li>
-	<li>After the user selects his option and the user continues
-	editing, the editor will call validateEdit.</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S7: Read-only editors refreshing on checkout</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Checkout the file that brings in new content from the server.</li>
-	<li>The editor should update with the new content from the server.</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S8: validate called on editor save</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Start editing the file, validateEdit should be called.</li>
-	<li>validateEdit returns OK and the file on disk doesn't change.</li>
-	<li>The editor remains open and dirty, the user continues editing.</li>
-	<li>The user checks-n the file and then closes the editor.</li>
-	<li>The user is prompted to save the file, then validate edit is
-	called, and the file is checked-out then saved.</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S9: validate called on editor save with new contents</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Start editing the file, validateEdit should be called.</li>
-	<li>validateEdit returns OK and the file on disk doesn't change.</li>
-	<li>The editor remains open and dirty, the user continues editing.</li>
-	<li>The user checks-n the file and then closes the editor.</li>
-	<li>The user is prompted to save the file, then validate edit is
-	called, and the file is checked-out then saved.</li>
-</ol>
-
-<!--
-<hr>
-
-<a name="reload_options"><h3>Conflict Resolution Options for Editors</h3>
-<pre>
-Assumptions:  
-    1. Editors currently maintain a "dirty bit" indicating that the in-memory
-       buffer has been modified and not yet written to disk.  Editors call
-       validateEdit() the if the file is read-only and the dirty bit is going
-       from the clean state to the dirty state.
-    2. Editors can detect when the timestamp of the file has changed on disk
-       and prompt the user for the appropriate action.
-
-Suggestion:
-    Editors should maintain a separate bit, "must call validateEdit()".  Any
-    modification of the buffer calls validateEdit() first if this bit is set.
-    It is initially set when the file is opened if the file is read-only.  It
-    is cleared after a successful call to validateEdit().  It is set again
-    when the editor notices that a file has gone from read/write to read-only.
-
-    If the "must call validateEdit()" bit ever goes from the cleared state to
-    the set state (except for when the file is initially opened), a later
-    successful call to validateEdit(), should should result in the following
-    actions:
-
-    +-----------+------------------+----------------------------------------+
-    | Dirty Bit | Timestamp Change | Editor Action                          |
-    |   State   |     Detected     |                                        |
-    +-----------+------------------+----------------------------------------+
-    |     0     |        no        | No action required                     |
-    +-----------+------------------+----------------------------------------+
-    |     1     |        no        | No action required                     |
-    +-----------+------------------+----------------------------------------+
-    |     0     |        yes       | Prompt user for reload/no-reload/merge |
-    +-----------+------------------+----------------------------------------+
-    |     1     |        yes       | Prompt user for reload/no-reload/merge |
-    +-----------+------------------+----------------------------------------+
-</pre>
--->
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/validate_edit_refactoring00001.html b/tests/org.eclipse.team.tests.cvs.core/html/validate_edit_refactoring00001.html
deleted file mode 100644
index 5b16166..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/validate_edit_refactoring00001.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<html>
-<head>
-<title>Refactoring</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<h2>Refactoring</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/06/14 20:44:55 $</p>
-<body>
-
-<p>These tests are a sanity check that workbench, JDT and other
-tools refactorings behave properly with respect to validate Edit. For a
-repository providers that supports a pessimistic workflow, the following
-scenarios should result in the invocation of the validate edit callback
-and should include a UI context which allows prompting.
-<p>The following scenarios are stated in terms of the Navigator view
-and JDT. Other tools should translate them to a set of scenarios that
-make sense for the tool.</p>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S1: Search and Replace</h3>
-<ol>
-	<li>Select one or more projects or folders and choose Search/File.</li>
-	<li>Enter a string known to exist in multiple files and click
-	Replace</li>
-	<li>Enter a new string that differs from the one searched for.</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S2: Single file content modification</h3>
-<ol>
-	<li>Open a Java file that is read-only</li>
-	<li>Perform any of the Java Source operations (e.g. toggle
-	comment)</li>
-	<li>Ensure that validate edit is invoked</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S3: Multiple file content modification</h3>
-<ol>
-	<li>Ensure all files in your workspace are read-only</li>
-	<li>Perform a Java/Refactoring such as a method or class rename.</li>
-	<li>Ensure that validate edit is invoked at most once per project
-	involved.</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/watch_edit00001.html b/tests/org.eclipse.team.tests.cvs.core/html/watch_edit00001.html
deleted file mode 100644
index 2085c09..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/watch_edit00001.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
-<head>
-<title>Watch/Edit</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Watch/Edit</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-Answer comes here.
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/watch_edit_basic00001.html b/tests/org.eclipse.team.tests.cvs.core/html/watch_edit_basic00001.html
deleted file mode 100644
index 3163354..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/watch_edit_basic00001.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<html>
-<head>
-<title>Basic scenarios</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Basic scenarios</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<p>To setup, goto the CVS preference page and enable watch edit for
-all projects checked out from CVS. And then set the prompt option to
-always prompt.</p>
-<ol>
-	<li>Check out a project from CVS and verify that the files are
-	marked as read-only.</li>
-	<li>Open a file and edit it. You should be prompted to edit it.
-	Say yes. There should be a brief pause, then you can edit the file.</li>
-	<li>Open another file and start editing it. You should be prompted
-	to edit it. Say no. The file will remain read-only and you won't be
-	allowed to edit it.</li>
-	<li>Open a file and edit it. Say yes to the prompt. commit the
-	file and edit again. You should be prompted a second time.</li>
-	<li>Open a file and edit it. Say yes to the prompt. Replace the
-	file from the repository and edit again. You should be prompted to edit
-	again.</li>
-	<li>Open a file and edit it. Un-plug your network connection. Say
-	yes to the prompt to send a notification. There should be a pause, then
-	the file should be editable.</li>
-	<li>Checkout another copy of the project. Edit a file, then try to
-	edit the same file in the another project copy. You should be notified
-	that the file is currently being edited by someone else.</li>
-</ol>
-
-<p>Saving files - setup is the same as previous</p>
-<ol>
-	<li>Check out a project from CVS and verify that the files are
-	marked as read-only.</li>
-	<li>Open a file and edit it. You should be prompted to edit it.
-	Say yes. There should be a brief pause, then you can edit the file.</li>
-	<li>Edit the file but don't save it.</li>
-	<li>Edit the file in a system editor outside of Eclipse, then in
-	the resource navigator, commit the file. The resource's decorator will
-	change. Ignore all the prompts about saving the un-saved file.</li>
-	<li>Return to the unsaved editor and try typing. You should be
-	prompted to call validate edit again.</li>
-</ol>
-
-<p>validateEdit fails</p>
-<ol>
-	<li>Check out a project from CVS and verify that the files are
-	marked as read-only.</li>
-	<li>Disconnect from network so that the validateEdit would fail.</li>
-	<li>Open a file and edit it. You should be prompted to edit it.
-	Say yes. There should be a pause then the error should be reported in
-	the editor pane showing the exception that occurred.</li>
-</ol>
-
-<p>Refactoring</p>
-<ol>
-	<li>Check out a project from CVS and verify that the files are
-	marked as read-only.</li>
-</ol>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/html/watch_edit_editorsview00001.html b/tests/org.eclipse.team.tests.cvs.core/html/watch_edit_editorsview00001.html
deleted file mode 100644
index 1a2ac9e..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/html/watch_edit_editorsview00001.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
-<head>
-<title>Editors View</title>
-<LINK REL=STYLESHEET HREF=../book.css CHARSET=ISO-8859-1 TYPE=text/css>
-<meta NAME="keywords" content="">
-<meta NAME="since" content="">
-</head>
-<body>
-<h2>Editors View</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/06/01 20:28:37 $</p>
-<p>Test that you can properly show the editors on a file.</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/icons/sample.gif b/tests/org.eclipse.team.tests.cvs.core/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS Core Tests.launch b/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS Core Tests.launch
deleted file mode 100644
index 6c6deb2..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS Core Tests.launch
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.team.tests.ccvs.core.AllCoreTests"/>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<mapAttribute key="tracingOptions">
-<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/internalerror/openDialog" value="false"/>
-<mapEntry key="org.eclipse.help/debug/context" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/resolve" value="false"/>
-<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/>
-<mapEntry key="org.eclipse.core.resources/history" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/workbench.restore" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
-<mapEntry key="org.eclipse.team.ftp/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/>
-<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.core.boot/trace/filters" value="trace.properties"/>
-<mapEntry key="org.eclipse.ui/trace/perspective" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes" value="false"/>
-<mapEntry key="org.eclipse.jface/trace/actions" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/success" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug" value="true"/>
-<mapEntry key="org.eclipse.team.cvs.core/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/events/plugin" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs" value="false"/>
-<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/class" value="*"/>
-<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/config/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/actions" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/beginend" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/properties" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.jdt.debug/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/native" value="*"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/loader" value="*"/>
-<mapEntry key="org.eclipse.team.core/debug" value="false"/>
-<mapEntry key="org.eclipse.help/debug/protocols" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
-<mapEntry key="org.eclipse.help/debug" value="true"/>
-<mapEntry key="org.eclipse.team.ftp/requests" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/dump" value=""/>
-<mapEntry key="org.eclipse.core.runtime/preferences/debug" value="false"/>
-<mapEntry key="org.eclipse.ant.core/buildfile/timing" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/install" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/failure" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/timing" value="false"/>
-<mapEntry key="org.eclipse.help.webapp/debug" value="true"/>
-<mapEntry key="org.eclipse.core.boot/trace/classLoading" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.core.resources/monitor/listeners" value="false"/>
-<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
-<mapEntry key="org.eclipse.ant.core/debug" value="true"/>
-<mapEntry key="org.eclipse.ui/trace/part.activate" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug" value="false"/>
-<mapEntry key="org.eclipse.core.boot/trace/filename" value="runtime.traces"/>
-<mapEntry key="org.eclipse.ui/trace/workbench.start" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/web" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/part.listeners" value="false"/>
-<mapEntry key="org.eclipse.core.resources/monitor/builders" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/ieadapter/inprocess" value="false"/>
-<mapEntry key="org.eclipse.debug.core/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/part.create" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
-<mapEntry key="org.eclipse.core.boot/monitor/bundles" value="false"/>
-<mapEntry key="org.eclipse.core.boot/monitor/classes" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/timing/startup" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/snapshots" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/create" value="false"/>
-<mapEntry key="org.eclipse.core.boot/trace/pluginActivation" value="false"/>
-<mapEntry key="org.eclipse.team.ftp/list" value="true"/>
-<mapEntry key="org.eclipse.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/activateplugin" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
-<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/events/extension" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/success" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
-<mapEntry key="org.eclipse.jdt.debug.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.help.ui/debug/ieadapter" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/type" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
-<mapEntry key="org.eclipse.help/debug/search" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.team.ftp/responses" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/resource" value="*"/>
-<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
-<mapEntry key="org.eclipse.core.boot/monitor/plugins" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ui/consolebuffering" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/failure" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/timing/shutdown" value="false"/>
-<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
-<mapEntry key="org.eclipse.team.core/streams" value="false"/>
-</mapAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit3"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.team.tests.cvs.core"/>
-<booleanAttribute key="onePlugin" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<stringAttribute key="location" value="C:\Eclipse\Latest-Eclipse-Drop\eclipse\runtime-test-workspace"/>
-<booleanAttribute key="askclear" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.cvs.properties=c:\eclipse\repository.properties -Declipse.cvs.testName2=testFileAdditions"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="clearConfig" value="true"/>
-<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="useProduct" value="true"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="checked" value="[NONE]"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/AllCoreTests.java"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
-</listAttribute>
-<stringAttribute key="location1" value="C:\Eclipse\Latest-Eclipse-Drop\eclipse\runtime-test-workspace"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<booleanAttribute key="includeFragments" value="false"/>
-<booleanAttribute key="maximized" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os win32 -ws win32 -arch x86 -nl en_CA"/>
-<stringAttribute key="configLocation" value=""/>
-<stringAttribute key="onePluginID" value=""/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="tracing" value="true"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<booleanAttribute key="default" value="true"/>
-</launchConfiguration>
diff --git "a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS UI Tests \0501\051.launch" "b/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS UI Tests \0501\051.launch"
deleted file mode 100644
index 3478e48..0000000
--- "a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS UI Tests \0501\051.launch"
+++ /dev/null
@@ -1,166 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<stringAttribute key="bootstrap" value=""/>
-<booleanAttribute key="useProduct" value="false"/>
-<booleanAttribute key="tracing" value="true"/>
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<mapAttribute key="tracingOptions">
-<mapEntry key="org.eclipse.core.boot/monitor/classes" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/snapshots" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/loader" value="*"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/actions" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/timing/shutdown" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
-<mapEntry key="org.eclipse.team.ftp/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
-<mapEntry key="org.eclipse.core.boot/trace/filename" value="runtime.traces"/>
-<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/>
-<mapEntry key="org.eclipse.help/debug/search" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug" value="false"/>
-<mapEntry key="org.eclipse.team.ftp/requests" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/monitor/listeners" value="false"/>
-<mapEntry key="org.eclipse.ant.core/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes" value="false"/>
-<mapEntry key="org.eclipse.core.boot/trace/pluginActivation" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/ieadapter" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
-<mapEntry key="org.eclipse.team.core/streams" value="false"/>
-<mapEntry key="org.eclipse.core.boot/trace/classLoading" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/dump" value=""/>
-<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
-<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/web" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/resolve" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
-<mapEntry key="org.eclipse.core.boot/monitor/bundles" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/events/plugin" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/part.activate" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/ieadapter/inprocess" value="false"/>
-<mapEntry key="org.eclipse.jface/trace/actions" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/events/extension" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
-<mapEntry key="org.eclipse.help.webapp/debug" value="true"/>
-<mapEntry key="org.eclipse.team.cvs.core/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/install" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/internalerror/openDialog" value="false"/>
-<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.core.boot/trace/filters" value="trace.properties"/>
-<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/>
-<mapEntry key="org.eclipse.help/debug/context" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/resource" value="*"/>
-<mapEntry key="org.eclipse.team.ftp/list" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/activateplugin" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/monitor/builders" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/workbench.restore" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/part.create" value="false"/>
-<mapEntry key="org.eclipse.help/debug/protocols" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
-<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/native" value="*"/>
-<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/properties" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/create" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/beginend" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/>
-<mapEntry key="org.eclipse.team.ftp/responses" value="true"/>
-<mapEntry key="org.eclipse.team.core/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/success" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs" value="false"/>
-<mapEntry key="org.eclipse.core.boot/monitor/plugins" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/workbench.start" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/timing/startup" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ui/consolebuffering" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/failure" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/type" value="false"/>
-<mapEntry key="org.eclipse.core.resources/history" value="false"/>
-<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
-<mapEntry key="org.eclipse.ant.core/buildfile/timing" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
-<mapEntry key="org.eclipse.jdt.debug.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.debug.core/debug" value="true"/>
-<mapEntry key="org.eclipse.help/debug" value="true"/>
-<mapEntry key="org.eclipse.ui/trace/perspective" value="false"/>
-<mapEntry key="org.eclipse.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/config/debug" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.debug/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/part.listeners" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/success" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/class" value="*"/>
-<mapEntry key="org.eclipse.core.runtime/preferences/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/timing" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/failure" value="false"/>
-</mapAttribute>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="includeFragments" value="false"/>
-<booleanAttribute key="clearws" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.team.tests.ccvs.core.AllTests"/>
-<stringAttribute key="location1" value="C:\Eclipse\Latest-Eclipse-Drop\eclipse\runtime-test-workspace"/>
-<booleanAttribute key="default" value="false"/>
-<stringAttribute key="vmargs" value="-Declipse.cvs.properties=c:\eclipse\repository.properties -Declipse.cvs.testName2=testFileAdditions"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="extplugins" value="org.eclipse.core.resources.compatibility;org.eclipse.jdt.doc.isv;org.eclipse.jdt.doc.user;org.eclipse.jdt.source;org.eclipse.pde.doc.user;org.eclipse.pde.source;org.eclipse.platform;org.eclipse.platform.source;org.eclipse.platform.source.win32.win32.x86;org.eclipse.sdk;"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<stringAttribute key="onePluginID" value=""/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<stringAttribute key="progargs" value="-os win32 -ws win32 -arch x86 -nl en_CA"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="wsproject" value="org.eclipse.pde.ui;"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.team.tests.cvs.core"/>
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="onePlugin" value="false"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<booleanAttribute key="maximized" value="false"/>
-<stringAttribute key="location0" value="C:\Eclipse\Latest-Eclipse-Drop\eclipse\runtime-test-workspace2"/>
-</launchConfiguration>
diff --git "a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS UI Tests \050Linux\051.launch" "b/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS UI Tests \050Linux\051.launch"
deleted file mode 100644
index a0d1f42..0000000
--- "a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS UI Tests \050Linux\051.launch"
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="clearws" value="true"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.team.tests.ccvs.core.AllTests"/>
-<booleanAttribute key="tracing" value="false"/>
-<stringAttribute key="location1" value="/home/mvalenta/dev/gtk/runtime-test-workspace"/>
-<booleanAttribute key="default" value="true"/>
-<stringAttribute key="vmargs" value="-Declipse.cvs.properties=/home/mvalenta/dev/repository.properties -Xmx256M"/>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<stringAttribute key="progargs" value="-os linux -ws gtk -arch x86 -nl en_US"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.team.tests.cvs.core"/>
-<booleanAttribute key="askclear" value="false"/>
-<stringAttribute key="checked" value="[NONE]"/>
-<stringAttribute key="location0" value="/home/mvalenta/dev/gtk/runtime-test-workspace"/>
-</launchConfiguration>
diff --git a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS UI Tests.launch b/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS UI Tests.launch
deleted file mode 100644
index bba0b65..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/CVS UI Tests.launch
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<stringAttribute key="configLocation" value=""/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeFragments" value="false"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="C:\Eclipse\Latest-Eclipse-Drop\eclipse\runtime-test-workspace"/>
-<stringAttribute key="location1" value="C:\Eclipse\Latest-Eclipse-Drop\eclipse\runtime-test-workspace"/>
-<booleanAttribute key="maximized" value="false"/>
-<booleanAttribute key="onePlugin" value="false"/>
-<stringAttribute key="onePluginID" value=""/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/AllTests.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit3"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.team.tests.ccvs.core.AllTests"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os win32 -ws win32 -arch x86 -nl en_CA"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.team.tests.cvs.core"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.cvs.properties=c:\eclipse\repository.properties -Declipse.cvs.testName2=testFileAdditions"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
-<booleanAttribute key="tracing" value="true"/>
-<mapAttribute key="tracingOptions">
-<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/internalerror/openDialog" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/>
-<mapEntry key="org.eclipse.help/debug/context" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/resolve" value="false"/>
-<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/>
-<mapEntry key="org.eclipse.core.resources/history" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/workbench.restore" value="false"/>
-<mapEntry key="org.eclipse.team.ftp/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/>
-<mapEntry key="org.eclipse.core.boot/trace/filters" value="trace.properties"/>
-<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/perspective" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes" value="false"/>
-<mapEntry key="org.eclipse.jface/trace/actions" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/success" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/events/plugin" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/class" value="*"/>
-<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/config/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/actions" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/properties" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/beginend" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.jdt.debug/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/native" value="*"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/loader" value="*"/>
-<mapEntry key="org.eclipse.team.core/debug" value="false"/>
-<mapEntry key="org.eclipse.help/debug/protocols" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
-<mapEntry key="org.eclipse.help/debug" value="true"/>
-<mapEntry key="org.eclipse.team.ftp/requests" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/dump" value=""/>
-<mapEntry key="org.eclipse.ant.core/buildfile/timing" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/preferences/debug" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/install" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/failure" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/jobs/timing" value="false"/>
-<mapEntry key="org.eclipse.core.boot/trace/classLoading" value="false"/>
-<mapEntry key="org.eclipse.help.webapp/debug" value="true"/>
-<mapEntry key="org.eclipse.core.resources/save" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.core.resources/monitor/listeners" value="false"/>
-<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
-<mapEntry key="org.eclipse.ant.core/debug" value="true"/>
-<mapEntry key="org.eclipse.ui/trace/part.activate" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug" value="false"/>
-<mapEntry key="org.eclipse.core.boot/trace/filename" value="runtime.traces"/>
-<mapEntry key="org.eclipse.ui/trace/workbench.start" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/web" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/part.listeners" value="false"/>
-<mapEntry key="org.eclipse.core.resources/monitor/builders" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/ieadapter/inprocess" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
-<mapEntry key="org.eclipse.debug.core/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/part.create" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
-<mapEntry key="org.eclipse.core.boot/monitor/bundles" value="false"/>
-<mapEntry key="org.eclipse.core.boot/monitor/classes" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/timing/startup" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/snapshots" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/create" value="false"/>
-<mapEntry key="org.eclipse.core.boot/trace/pluginActivation" value="false"/>
-<mapEntry key="org.eclipse.team.ftp/list" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/activateplugin" value="false"/>
-<mapEntry key="org.eclipse.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
-<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/events/extension" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/success" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/ieadapter" value="false"/>
-<mapEntry key="org.eclipse.jdt.debug.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.update.core/debug/type" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/>
-<mapEntry key="org.eclipse.help/debug/search" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.team.ftp/responses" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/resource" value="*"/>
-<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
-<mapEntry key="org.eclipse.core.boot/monitor/plugins" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ui/consolebuffering" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/failure" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/timing/shutdown" value="false"/>
-<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
-<mapEntry key="org.eclipse.team.core/streams" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
-</mapAttribute>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useProduct" value="true"/>
-</launchConfiguration>
diff --git "a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/One CVS Test \050CVSNT\051.launch" "b/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/One CVS Test \050CVSNT\051.launch"
deleted file mode 100644
index 518ff51..0000000
--- "a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/One CVS Test \050CVSNT\051.launch"
+++ /dev/null
@@ -1,286 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<stringAttribute key="bootstrap" value=""/>
-<booleanAttribute key="useProduct" value="false"/>
-<booleanAttribute key="tracing" value="false"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<mapAttribute key="tracingOptions">
-<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.equinox.registry/debug" value="false"/>
-<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
-<mapEntry key="org.eclipse.osgi/defaultprofile/logfilename" value=""/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
-<mapEntry key="org.eclipse.core.resources/perf/listeners" value="500"/>
-<mapEntry key="org.eclipse.team.ftp/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/>
-<mapEntry key="org.eclipse.update.configurator/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/perf/snapshot" value="1000"/>
-<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/content_assist/extensions" value="1000"/>
-<mapEntry key="org.eclipse.team.ftp/requests" value="true"/>
-<mapEntry key="org.eclipse.osgi/debug/packages" value="false"/>
-<mapEntry key="org.eclipse.ui.ide/debug/gc" value="false"/>
-<mapEntry key="org.eclipse.core.resources/contenttype/cache" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/showSystemJobs" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/shutdown" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.init" value="800"/>
-<mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/>
-<mapEntry key="org.eclipse.equinox.preferences/get" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/trace/logPerformance" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug" value="true"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/locks" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/swtdebug" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
-<mapEntry key="org.eclipse.equinox.preferences/set" value="false"/>
-<mapEntry key="org.eclipse.team.core/streams" value="false"/>
-<mapEntry key="org.eclipse.ui.intro.universal/trace/logInfo" value="true"/>
-<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/>
-<mapEntry key="org.eclipse.equinox.registry/debug/events" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
-<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/>
-<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/checkConditions" value="300"/>
-<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/>
-<mapEntry key="org.eclipse.jdt.core/perf/containerinitializer" value="5000"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/beginend" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/filename" value="runtime.traces"/>
-<mapEntry key="org.eclipse.core.resources/build/interrupt" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/showHeapStatus" value="true"/>
-<mapEntry key="org.eclipse.update.core/debug/web" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/contentTypes" value="200"/>
-<mapEntry key="org.eclipse.ui/trace/commands" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/activation" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/perspective.switch" value="800"/>
-<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
-<mapEntry key="org.eclipse.team.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/completion" value="300"/>
-<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/>
-<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javamodel/cache" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/imports" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/messageBundles" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/filters" value="trace.properties"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
-<mapEntry key="org.eclipse.jdt.core.manipulation/debug" value="true"/>
-<mapEntry key="org.eclipse.jface/trace/actions" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener2" value="false"/>
-<mapEntry key="org.eclipse.equinox.preferences/general" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener2" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/reconcile" value="1000"/>
-<mapEntry key="org.eclipse.help.webapp/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
-<mapEntry key="org.eclipse.core.resources/refresh" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/debug" value="true"/>
-<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/>
-<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/createChanges" value="300"/>
-<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/search/participants" value="300"/>
-<mapEntry key="org.eclipse.jface/newlook/preferences/showNewLook" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.listeners" value="200"/>
-<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/debug" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/install" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug/viewer_cache_debug" value="false"/>
-<mapEntry key="org.eclipse.jface/debug" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/>
-<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/profile/impl" value="org.eclipse.osgi.internal.profile.DefaultProfileLogger"/>
-<mapEntry key="org.eclipse.ui/perf/part.control" value="800"/>
-<mapEntry key="org.eclipse.osgi/profile/benchmark" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/explorer/makeActions" value="1000"/>
-<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPageListener" value="false"/>
-<mapEntry key="org.eclipse.team.core/threading" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/packageadmin/timing" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/security" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/>
-<mapEntry key="org.eclipse.help/debug/context" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/content_assist_sorters/extensions" value=""/>
-<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/requires" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.osgi/profile/startup" value="false"/>
-<mapEntry key="org.eclipse.team.ftp/list" value="true"/>
-<mapEntry key="org.eclipse.osgi/debug/services" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/>
-<mapEntry key="org.eclipse.jface/debug/dialog/noparent" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/preferences/plugin" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/resources" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/timing" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
-<mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
-<mapEntry key="org.eclipse.help/debug/protocols" value="false"/>
-<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/ResultCollector" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/explorer/createPartControl" value="1300"/>
-<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
-<mapEntry key="org.eclipse.help.base/debug/search" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/>
-<mapEntry key="org.eclipse.osgi/defaultprofile/buffersize" value="256"/>
-<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
-<mapEntry key="org.eclipse.pde.core/cache" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/cycles" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/>
-<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/bundleTime" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/operations.verbose" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/>
-<mapEntry key="org.eclipse.team.ftp/responses" value="true"/>
-<mapEntry key="org.eclipse.team.core/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/>
-<mapEntry key="org.eclipse.core.runtime/perf/success" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts.performance" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/events" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/declaredImages" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/monitorbundles" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/>
-<mapEntry key="org.eclipse.pde.build/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
-<mapEntry key="org.eclipse.help.base/debug" value="true"/>
-<mapEntry key="org.eclipse.team.ui/syncmodels" value="false"/>
-<mapEntry key="org.eclipse.ui.ide/debug/internalerror/openDialog" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener" value="false"/>
-<mapEntry key="org.eclipse.ui.intro.universal/trace/logPerformance" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/perspective.create" value="800"/>
-<mapEntry key="org.eclipse.ui/trace/sources" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/uijob" value="200"/>
-<mapEntry key="org.eclipse.core.resources/strings" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPartReference" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/sourcemapper" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/generics" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.activate" value="200"/>
-<mapEntry key="org.eclipse.osgi/resolver/wiring" value="false"/>
-<mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/>
-<mapEntry key="org.eclipse.osgi/profile/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/perf" value="false"/>
-<mapEntry key="org.eclipse.jface/trace/toolbarDisposal" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/>
-<mapEntry key="org.eclipse.core.contenttype/debug" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ui/consolebuffering" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
-<mapEntry key="org.eclipse.core.resources/contenttype" value="false"/>
-<mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/>
-<mapEntry key="org.eclipse.update.core/debug/type" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/operations" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/contributions" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/page.listeners" value="200"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/explorer/RefactorActionGroup" value="150"/>
-<mapEntry key="org.eclipse.core.resources/history" value="false"/>
-<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/workbench.start" value="45000"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/>
-<mapEntry key="org.eclipse.debug.core/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/>
-<mapEntry key="org.eclipse.help/debug" value="true"/>
-<mapEntry key="org.eclipse.jface.text.source/debug/RevisionRulerColumn" value="false"/>
-<mapEntry key="org.eclipse.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPerspectiveListener" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/>
-<mapEntry key="org.eclipse.ui.browser/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
-<mapEntry key="org.eclipse.osgi/defaultprofile/logsynchronously" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/>
-<mapEntry key="org.eclipse.pde.core/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/>
-<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/grouping" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/>
-<mapEntry key="org.eclipse.ui.ide/debug" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/formatter/enable_new" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
-<mapEntry key="org.eclipse.ui/experimental/menus" value="false"/>
-<mapEntry key="org.eclipse.pde.core/classpath" value="false"/>
-</mapAttribute>
-<booleanAttribute key="automaticValidate" value="false"/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="includeFragments" value="false"/>
-<stringAttribute key="location" value="C:\Eclipse\Latest-Eclipse-Drop\eclipse\runtime-test-workspace"/>
-<stringAttribute key="configLocation" value=""/>
-<booleanAttribute key="clearws" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.team.tests.ccvs.core.subscriber.CVSMergeSubscriberTest"/>
-<stringAttribute key="location1" value="C:\Eclipse\Latest-Eclipse-Drop\eclipse\runtime-test-workspace"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os win32 -ws win32 -arch x86 -nl en_CA"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.cvs.properties=c:\eclipse\ntrepository.properties -Declipse.cvs.testName2=testSaveOnUpdateWhenDirty"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<stringAttribute key="onePluginID" value=""/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.team.tests.cvs.core"/>
-<booleanAttribute key="askclear" value="false"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSMergeSubscriberTest.java"/>
-</listAttribute>
-<booleanAttribute key="onePlugin" value="false"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit3"/>
-</launchConfiguration>
diff --git a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/One CVS Test.launch b/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/One CVS Test.launch
deleted file mode 100644
index 1f90f5e..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/One CVS Test.launch
+++ /dev/null
@@ -1,288 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/One CVS Test"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeFragments" value="false"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="C:\Eclipse\Latest-Eclipse-Drop\eclipse\runtime-test-workspace"/>
-<stringAttribute key="location1" value="C:\Eclipse\Latest-Eclipse-Drop\eclipse\runtime-test-workspace"/>
-<booleanAttribute key="onePlugin" value="false"/>
-<stringAttribute key="onePluginID" value=""/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ProjectSetImportTest.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit3"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.team.tests.ccvs.core.provider.CVSProjectSetImportTest"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os win32 -ws win32 -arch x86 -nl en_CA"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.team.tests.cvs.core"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.cvs.properties=c:\eclipse\repository.properties -Declipse.cvs.testName2=testSaveOnUpdateWhenDirty"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="tracing" value="false"/>
-<mapAttribute key="tracingOptions">
-<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/>
-<mapEntry key="org.eclipse.osgi/profile/impl" value="org.eclipse.osgi.internal.profile.DefaultProfileLogger"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/>
-<mapEntry key="org.eclipse.help/debug/context" value="false"/>
-<mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/>
-<mapEntry key="org.eclipse.osgi/resolver/wiring" value="false"/>
-<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/>
-<mapEntry key="org.eclipse.core.resources/history" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/>
-<mapEntry key="org.eclipse.team.ftp/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener" value="false"/>
-<mapEntry key="org.eclipse.equinox.registry/debug/events" value="false"/>
-<mapEntry key="org.eclipse.osgi/profile/benchmark" value="false"/>
-<mapEntry key="org.eclipse.osgi/profile/startup" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/ResultCollector" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts.performance" value="false"/>
-<mapEntry key="org.eclipse.core.resources/strings" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/>
-<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/services" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/>
-<mapEntry key="org.eclipse.pde.core/debug" value="true"/>
-<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/>
-<mapEntry key="org.eclipse.equinox.preferences/general" value="false"/>
-<mapEntry key="org.eclipse.help.base/debug/search" value="false"/>
-<mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/>
-<mapEntry key="org.eclipse.equinox.preferences/set" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.listeners" value="200"/>
-<mapEntry key="org.eclipse.jface/trace/actions" value="false"/>
-<mapEntry key="org.eclipse.ui.intro.universal/trace/logInfo" value="true"/>
-<mapEntry key="org.eclipse.core.contenttype/debug" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug" value="true"/>
-<mapEntry key="org.eclipse.team.cvs.core/debug" value="true"/>
-<mapEntry key="org.eclipse.help.base/debug" value="true"/>
-<mapEntry key="org.eclipse.core.jobs/jobs" value="false"/>
-<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
-<mapEntry key="org.eclipse.team.ui/syncmodels" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/imports" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/content_assist_sorters/extensions" value=""/>
-<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/showHeapStatus" value="true"/>
-<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/checkConditions" value="300"/>
-<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/events" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/>
-<mapEntry key="org.eclipse.core.resources/perf/snapshot" value="1000"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/contributions" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/resources" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/declaredImages" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/search/participants" value="300"/>
-<mapEntry key="org.eclipse.debug.ui/debug/viewer_cache_debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/uijob" value="200"/>
-<mapEntry key="org.eclipse.jdt.core.manipulation/debug" value="true"/>
-<mapEntry key="org.eclipse.ui.intro/debug" value="true"/>
-<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/>
-<mapEntry key="org.eclipse.team.core/debug" value="false"/>
-<mapEntry key="org.eclipse.ui.browser/debug" value="false"/>
-<mapEntry key="org.eclipse.help/debug/protocols" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/requires" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
-<mapEntry key="org.eclipse.jface/debug/dialog/noparent" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/page.listeners" value="200"/>
-<mapEntry key="org.eclipse.core.resources/build/interrupt" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/activation" value="false"/>
-<mapEntry key="org.eclipse.help/debug" value="true"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.activate" value="200"/>
-<mapEntry key="org.eclipse.team.ftp/requests" value="true"/>
-<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/>
-<mapEntry key="org.eclipse.pde.build/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/sources" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/install" value="false"/>
-<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/>
-<mapEntry key="org.eclipse.ui.ide/debug/internalerror/openDialog" value="false"/>
-<mapEntry key="org.eclipse.osgi/defaultprofile/logfilename" value=""/>
-<mapEntry key="org.eclipse.ui/perf/workbench.start" value="45000"/>
-<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/perf/success" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/>
-<mapEntry key="org.eclipse.help.webapp/debug" value="true"/>
-<mapEntry key="org.eclipse.osgi/resolver/generics" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.control" value="800"/>
-<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/createChanges" value="300"/>
-<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/>
-<mapEntry key="org.eclipse.pde.core/cache" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/contenttype/cache" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/containerinitializer" value="5000"/>
-<mapEntry key="org.eclipse.update.core/debug/web" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/filters" value="trace.properties"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPerspectiveListener" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/shutdown" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/reconcile" value="1000"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener2" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.init" value="800"/>
-<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
-<mapEntry key="org.eclipse.debug.core/debug" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
-<mapEntry key="org.eclipse.ui.ide/debug" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/bundleTime" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/perspective.switch" value="800"/>
-<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/operations" value="false"/>
-<mapEntry key="org.eclipse.jface/debug" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/completion" value="300"/>
-<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
-<mapEntry key="org.eclipse.update.configurator/debug" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/locks" value="false"/>
-<mapEntry key="org.eclipse.jface.text.source/debug/RevisionRulerColumn" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/filename" value="runtime.traces"/>
-<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/>
-<mapEntry key="org.eclipse.ui.intro.universal/trace/logPerformance" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/trace/logPerformance" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/preferences/plugin" value="false"/>
-<mapEntry key="org.eclipse.equinox.preferences/get" value="false"/>
-<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/security" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/grouping" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/explorer/createPartControl" value="1300"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/>
-<mapEntry key="org.eclipse.team.ftp/list" value="true"/>
-<mapEntry key="org.eclipse.ui/perf/perspective.create" value="800"/>
-<mapEntry key="org.eclipse.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
-<mapEntry key="org.eclipse.team.core/threading" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/messageBundles" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/>
-<mapEntry key="org.eclipse.team.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/type" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/explorer/makeActions" value="1000"/>
-<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/>
-<mapEntry key="org.eclipse.core.resources/contenttype" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/explorer/RefactorActionGroup" value="150"/>
-<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/>
-<mapEntry key="org.eclipse.osgi/defaultprofile/logsynchronously" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/commands" value="false"/>
-<mapEntry key="org.eclipse.ui/experimental/menus" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/operations.verbose" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/>
-<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener2" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/swtdebug" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/timing" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ui/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/>
-<mapEntry key="org.eclipse.team.ftp/responses" value="true"/>
-<mapEntry key="org.eclipse.osgi/debug/packages" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/packageadmin/timing" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
-<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/formatter/enable_new" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javamodel/cache" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
-<mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPartReference" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
-<mapEntry key="org.eclipse.ui.ide/debug/gc" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/>
-<mapEntry key="org.eclipse.core.resources/perf/listeners" value="500"/>
-<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
-<mapEntry key="org.eclipse.osgi/resolver/cycles" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/perf" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/contentTypes" value="200"/>
-<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ui/consolebuffering" value="false"/>
-<mapEntry key="org.eclipse.osgi/profile/debug" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.core.resources/refresh" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/beginend" value="false"/>
-<mapEntry key="org.eclipse.osgi/defaultprofile/buffersize" value="256"/>
-<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/>
-<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/showSystemJobs" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/>
-<mapEntry key="org.eclipse.jdt.core/debug/sourcemapper" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPageListener" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug" value="false"/>
-<mapEntry key="org.eclipse.pde.core/classpath" value="false"/>
-<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/>
-<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/monitorbundles" value="false"/>
-<mapEntry key="org.eclipse.equinox.registry/debug" value="false"/>
-<mapEntry key="org.eclipse.jface/trace/toolbarDisposal" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/>
-<mapEntry key="org.eclipse.jdt.ui/perf/content_assist/extensions" value="1000"/>
-<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
-<mapEntry key="org.eclipse.team.core/streams" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
-<mapEntry key="org.eclipse.jface/newlook/preferences/showNewLook" value="false"/>
-</mapAttribute>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useNamedJRE" value="true"/>
-<booleanAttribute key="useProduct" value="false"/>
-</launchConfiguration>
diff --git a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/Performance - All Tests.launch b/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/Performance - All Tests.launch
deleted file mode 100644
index c37a018..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/Performance - All Tests.launch
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
-<booleanAttribute key="askclear" value="false"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="false"/>
-<booleanAttribute key="clearws" value="true"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Performance - All Tests"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="includeFragments" value="false"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="C:\Eclipse\Latest\eclipse-0924\runtime-test-workspace"/>
-<stringAttribute key="location1" value="C:\Eclipse\Latest\eclipse-0924\runtime-test-workspace"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/AllBenchmarkTests.java"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="1"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit3"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.team.tests.ccvs.ui.benchmark.AllBenchmarkTests"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os win32 -ws win32 -arch x86 -nl en_US -clean"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.team.tests.cvs.core"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.cvs.properties=c:\eclipse\repository.properties -DInternalPrintPerformanceResults  -Declipse.cvs.recordProtocolTraffic=false"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useProduct" value="false"/>
-</launchConfiguration>
diff --git a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/Test using Ant application.launch b/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/Test using Ant application.launch
deleted file mode 100644
index 83cda5c..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/Test using Ant application.launch
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="usefeatures" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<booleanAttribute key="useProduct" value="false"/>
-<booleanAttribute key="tracing" value="false"/>
-<stringAttribute key="vminstall" value="ibm1.4.2"/>
-<stringAttribute key="location2" value="D:\dev\test-workspace-3"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<mapAttribute key="tracingOptions">
-<mapEntry key="org.eclipse.core.boot/monitor/classes" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.core.boot/trace/filters" value="trace.properties"/>
-<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/snapshots" value="false"/>
-<mapEntry key="org.eclipse.help/debug/context" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/loader" value="*"/>
-<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/actions" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/timing/shutdown" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/resource" value="*"/>
-<mapEntry key="org.eclipse.team.ftp/debug" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
-<mapEntry key="org.eclipse.core.boot/trace/filename" value="runtime.traces"/>
-<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
-<mapEntry key="org.eclipse.team.ftp/list" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/activateplugin" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/>
-<mapEntry key="org.eclipse.core.resources/monitor/builders" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/>
-<mapEntry key="org.eclipse.help/debug/search" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug" value="false"/>
-<mapEntry key="org.eclipse.team.ftp/requests" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/workbench.restore" value="false"/>
-<mapEntry key="org.eclipse.core.resources/monitor/listeners" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/part.create" value="false"/>
-<mapEntry key="org.eclipse.ant.core/debug" value="true"/>
-<mapEntry key="org.eclipse.help/debug/protocols" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes" value="false"/>
-<mapEntry key="org.eclipse.core.boot/trace/pluginActivation" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
-<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/native" value="*"/>
-<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/properties" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/create" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug" value="true"/>
-<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/ieadapter" value="false"/>
-<mapEntry key="org.eclipse.team.core/debug" value="false"/>
-<mapEntry key="org.eclipse.team.ftp/responses" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/success" value="false"/>
-<mapEntry key="org.eclipse.team.core/streams" value="false"/>
-<mapEntry key="org.eclipse.core.boot/trace/classLoading" value="false"/>
-<mapEntry key="org.eclipse.core.boot/monitor/plugins" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/workbench.start" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/dump" value=""/>
-<mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
-<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/web" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/timing/startup" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/registry/debug/resolve" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/failure" value="false"/>
-<mapEntry key="org.eclipse.core.boot/monitor/bundles" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/type" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/sharedworkingcopy" value="false"/>
-<mapEntry key="org.eclipse.core.resources/history" value="false"/>
-<mapEntry key="org.eclipse.ant.core/buildfile/timing" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
-<mapEntry key="org.eclipse.jdt.debug.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.debug.core/debug" value="true"/>
-<mapEntry key="org.eclipse.help/debug" value="true"/>
-<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/perspective" value="false"/>
-<mapEntry key="org.eclipse.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/part.activate" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug/ieadapter/inprocess" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
-<mapEntry key="org.eclipse.jface/trace/actions" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/config/debug" value="false"/>
-<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
-<mapEntry key="org.eclipse.debug.ui/debug" value="true"/>
-<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
-<mapEntry key="org.eclipse.jdt.debug/debug" value="true"/>
-<mapEntry key="org.eclipse.team.cvs.core/debug" value="true"/>
-<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/>
-<mapEntry key="org.eclipse.ui/trace/part.listeners" value="false"/>
-<mapEntry key="org.eclipse.core.resources/save" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/success" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
-<mapEntry key="org.eclipse.ui/debug/internalerror/openDialog" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/install" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/filter/class" value="*"/>
-<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/preferences/debug" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/loader/debug/prefixes/failure" value="false"/>
-</mapAttribute>
-<stringAttribute key="org.eclipse.debug.ui.target_run_perspective" value="perspective_default"/>
-<stringAttribute key="location3" value="D:\dev\test-workspace-2"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="showSplash" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../runtime-TestusingAntapplication"/>
-<stringAttribute key="location4" value="D:\dev\runtime-workspace"/>
-<stringAttribute key="configLocation" value=""/>
-<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.debug.ui.javaSourceLocator"/>
-<stringAttribute key="application" value="org.eclipse.ant.core.antRunner"/>
-<booleanAttribute key="clearws" value="true"/>
-<stringAttribute key="location1" value="C:\eclipse\test-workspace"/>
-<stringAttribute key="vmargs" value="-Declipse.cvs.propertiesC:\eclipse\repository.properties"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="progargs" value="-os win32 -ws win32 -arch x86 -nl en_US -className  org.eclipse.team.tests.ccvs.core.provider.AllTestProvider -testPluginName org.eclipse.team.tests.cvs.core -noupdate formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,cvstest.xml"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="askclear" value="true"/>
-<stringAttribute key="org.eclipse.debug.ui.target_debug_perspective" value="perspective_default"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location0" value="C:\eclipse\test-workspace"/>
-</launchConfiguration>
diff --git a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/benchmark/Benchmark Test.launch b/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/benchmark/Benchmark Test.launch
deleted file mode 100644
index efc84f1..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/benchmark/Benchmark Test.launch
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<booleanAttribute key="usefeatures" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<booleanAttribute key="useProduct" value="false"/>
-<booleanAttribute key="tracing" value="false"/>
-<stringAttribute key="location2" value="D:\dev\benchmark-workspace"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="org.eclipse.debug.ui.target_run_perspective" value="perspective_default"/>
-<stringAttribute key="location3" value="D:\dev\runtime-workspace"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="showSplash" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../runtime-BenchmarkTest"/>
-<stringAttribute key="configLocation" value=""/>
-<stringAttribute key="application" value="org.eclipse.ant.core.antRunner"/>
-<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.jdt.debug.ui.javaSourceLocator"/>
-<booleanAttribute key="clearws" value="true"/>
-<stringAttribute key="location1" value="C:\Eclipse\Workspaces\benchmark-workspace"/>
-<stringAttribute key="vmargs" value="-Declipse.cvs.properties=c:\eclipse"/>
-<booleanAttribute key="default" value="true"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="progargs" value="-os win32 -ws win32 -arch x86 -nl en_US -test cvsui.benchmark.workflow -log c:\eclipse\test_log.xml"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="askclear" value="false"/>
-<stringAttribute key="org.eclipse.debug.ui.target_debug_perspective" value="perspective_default"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location0" value="C:\Eclipse\Workspaces\benchmark-workspace"/>
-</launchConfiguration>
diff --git a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/benchmark/PrintDiffMain.launch b/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/benchmark/PrintDiffMain.launch
deleted file mode 100644
index 7fdf49a..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/launchConfigurations/benchmark/PrintDiffMain.launch
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
-<booleanAttribute key="yk-capture-cpu-on-exit" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.team.tests.ccvs.ui.logformatter.PrintDiffMain"/>
-<intAttribute key="yk-mem-threshold" value="0"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="F:\RC1.all.xml F:\I20021127.all.xml -out F:\diff20030226.txt"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.debug.ui.target_run_perspective" value="perspective_default"/>
-<booleanAttribute key="yk-disable-counts" value="false"/>
-<booleanAttribute key="yk-disable-alloc" value="false"/>
-<booleanAttribute key="yk-capture-memory-on-exit" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.team.tests.cvs.core"/>
-<stringAttribute key="org.eclipse.debug.ui.target_debug_perspective" value="perspective_default"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/org.eclipse.team.tests.cvs.core"/>
-</listAttribute>
-<booleanAttribute key="yk-launch-ui" value="true"/>
-<booleanAttribute key="yk-startup-with-object-allocations" value="false"/>
-</launchConfiguration>
diff --git a/tests/org.eclipse.team.tests.cvs.core/performance.txt b/tests/org.eclipse.team.tests.cvs.core/performance.txt
deleted file mode 100644
index d4177af..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/performance.txt
+++ /dev/null
@@ -1,387 +0,0 @@
-Connecting to: wsmvalentalnx:pserver
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflow()Update2' (average over 5 samples):
-  Used Java Heap: 473.44K
-  Working Set: 63.2K
-  Committed: -3276
-  Working Set Peak: 0
-  Elapsed Process: 6.69 s
-  Kernel time: 2.18 s
-  Page Faults: 42
-  CPU Time: 4.77 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflow()Commit4' (average over 5 samples):
-  Used Java Heap: 1.29M
-  Working Set: 237.6K
-  Committed: 140.8K
-  Working Set Peak: 0
-  Elapsed Process: 7.18 s
-  Kernel time: 1.37 s
-  Page Faults: 2.31K
-  CPU Time: 4.05 s
-  GDI Objects: 4
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflow()Update4' (average over 5 samples):
-  Used Java Heap: 796.99K
-  Working Set: 192.8K
-  Committed: 101.6K
-  Working Set Peak: 0
-  Elapsed Process: 9.34 s
-  Kernel time: 3.54 s
-  Page Faults: 233
-  CPU Time: 6.87 s
-  GDI Objects: 3
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflow()Update1' (average over 5 samples):
-  Used Java Heap: 341.36K
-  Working Set: -81100
-  Committed: 296.8K
-  Working Set Peak: 0
-  Elapsed Process: 11.92 s
-  Kernel time: 2.53 s
-  Page Faults: 70
-  CPU Time: 5.28 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflow()Checkout' (average over 5 samples):
-  Used Java Heap: -3644520
-  Working Set: -931430
-  Committed: 227.2K
-  Working Set Peak: 0
-  Elapsed Process: 18.23 s
-  Kernel time: 5.61 s
-  Page Faults: 3.34K
-  CPU Time: 12.67 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflow()Replace3' (average over 5 samples):
-  Used Java Heap: 129.21K
-  Working Set: -61440
-  Committed: -87654
-  Working Set Peak: 0
-  Elapsed Process: 8.88 s
-  Kernel time: 4.51 s
-  Page Faults: 71
-  CPU Time: 7.87 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflow()Share' (average over 5 samples):
-  Used Java Heap: 5.64M
-  Working Set: 4.88M
-  Committed: 5.66M
-  Working Set Peak: 8.19M
-  Elapsed Process: 28.12 s
-  Kernel time: 5.67 s
-  Page Faults: 79.34K
-  CPU Time: 21.2 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflow()Commit2' (average over 5 samples):
-  Used Java Heap: 1.21M
-  Working Set: -8192
-  Committed: 21.6K
-  Working Set Peak: 0
-  Elapsed Process: 3.53 s
-  Kernel time: 184 ms
-  Page Faults: 26
-  CPU Time: 1.33 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflow()Replace1' (average over 5 samples):
-  Used Java Heap: 613.07K
-  Working Set: 150.4K
-  Committed: 55.2K
-  Working Set Peak: 0
-  Elapsed Process: 5.36 s
-  Kernel time: 2.19 s
-  Page Faults: 54
-  CPU Time: 4.56 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflow()Update3' (average over 5 samples):
-  Used Java Heap: -3682065
-  Working Set: 71.2K
-  Committed: -59801
-  Working Set Peak: 0
-  Elapsed Process: 7.31 s
-  Kernel time: 2.28 s
-  Page Faults: 137
-  CPU Time: 5.22 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflow()Tag1' (average over 5 samples):
-  Used Java Heap: 573.72K
-  Working Set: -9830
-  Committed: 20K
-  Working Set Peak: 0
-  Elapsed Process: 1.57 s
-  Kernel time: 197 ms
-  Page Faults: 23
-  CPU Time: 931 ms
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflow()Replace2' (average over 5 samples):
-  Used Java Heap: -622627
-  Working Set: 84.8K
-  Committed: -17203
-  Working Set Peak: 0
-  Elapsed Process: 12.18 s
-  Kernel time: 5.52 s
-  Page Faults: 124
-  CPU Time: 11.26 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflow()Commit1' (average over 5 samples):
-  Used Java Heap: 2.54M
-  Working Set: 429.6K
-  Committed: 472.8K
-  Working Set Peak: 0
-  Elapsed Process: 6.21 s
-  Kernel time: 703 ms
-  Page Faults: 969
-  CPU Time: 4.96 s
-  GDI Objects: 15
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflow()Commit3' (average over 5 samples):
-  Used Java Heap: 905.13K
-  Working Set: 756.8K
-  Committed: 292K
-  Working Set Peak: 0
-  Elapsed Process: 4.68 s
-  Kernel time: 550 ms
-  Page Faults: 1.22K
-  CPU Time: 2.59 s
-  GDI Objects: 11
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflowNoUI()Update2' (average over 5 samples):
-  Used Java Heap: 331.77K
-  Working Set: 819
-  Committed: 9.6K
-  Working Set Peak: 0
-  Elapsed Process: 5.26 s
-  Kernel time: 2.08 s
-  Page Faults: 22
-  CPU Time: 4.5 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflowNoUI()Commit4' (average over 5 samples):
-  Used Java Heap: 1.24M
-  Working Set: 14.4K
-  Committed: 32.8K
-  Working Set Peak: 0
-  Elapsed Process: 4.75 s
-  Kernel time: 1.15 s
-  Page Faults: 2.58K
-  CPU Time: 3.04 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflowNoUI()Update4' (average over 5 samples):
-  Used Java Heap: 332.36K
-  Working Set: -62259
-  Committed: -79462
-  Working Set Peak: 0
-  Elapsed Process: 8.34 s
-  Kernel time: 3.33 s
-  Page Faults: 71
-  CPU Time: 6.31 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflowNoUI()Update1' (average over 5 samples):
-  Used Java Heap: 625.5K
-  Working Set: -2457
-  Committed: -72908
-  Working Set Peak: 0
-  Elapsed Process: 9.33 s
-  Kernel time: 2.49 s
-  Page Faults: 52
-  CPU Time: 5.44 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflowNoUI()Checkout' (average over 5 samples):
-  Used Java Heap: -1847203
-  Working Set: -3162112
-  Committed: -3190784
-  Working Set Peak: 0
-  Elapsed Process: 18.17 s
-  Kernel time: 5.53 s
-  Page Faults: 3.8K
-  CPU Time: 12.76 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflowNoUI()Replace3' (average over 5 samples):
-  Used Java Heap: 445.95K
-  Working Set: -35225
-  Committed: -8192
-  Working Set Peak: 0
-  Elapsed Process: 9.46 s
-  Kernel time: 4.62 s
-  Page Faults: 57
-  CPU Time: 8.03 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflowNoUI()Share' (average over 5 samples):
-  Used Java Heap: -120801
-  Working Set: 3.07M
-  Committed: 3.17M
-  Working Set Peak: 0
-  Elapsed Process: 28.96 s
-  Kernel time: 5.52 s
-  Page Faults: 87.28K
-  CPU Time: 21.55 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflowNoUI()Commit2' (average over 5 samples):
-  Used Java Heap: -44361
-  Working Set: 819
-  Committed: 4K
-  Working Set Peak: 0
-  Elapsed Process: 3.51 s
-  Kernel time: 152 ms
-  Page Faults: 22
-  CPU Time: 1.09 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflowNoUI()Replace1' (average over 5 samples):
-  Used Java Heap: 276.85K
-  Working Set: -2457
-  Committed: -16384
-  Working Set Peak: 0
-  Elapsed Process: 6.52 s
-  Kernel time: 2.23 s
-  Page Faults: 16
-  CPU Time: 4.59 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflowNoUI()Update3' (average over 5 samples):
-  Used Java Heap: -2215824
-  Working Set: -49152
-  Committed: -48332
-  Working Set Peak: 0
-  Elapsed Process: 6.61 s
-  Kernel time: 2.25 s
-  Page Faults: 78
-  CPU Time: 4.95 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflowNoUI()Tag1' (average over 5 samples):
-  Used Java Heap: 543.36K
-  Working Set: 16.8K
-  Committed: 65.6K
-  Working Set Peak: 0
-  Elapsed Process: 1.85 s
-  Kernel time: 237 ms
-  Page Faults: 18
-  CPU Time: 1.09 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflowNoUI()Replace2' (average over 5 samples):
-  Used Java Heap: -479182
-  Working Set: 45.6K
-  Committed: 53.6K
-  Working Set Peak: 0
-  Elapsed Process: 11.84 s
-  Kernel time: 5.18 s
-  Page Faults: 108
-  CPU Time: 10.98 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflowNoUI()Commit1' (average over 5 samples):
-  Used Java Heap: 2.09M
-  Working Set: -126976
-  Committed: -71270
-  Working Set Peak: 0
-  Elapsed Process: 6.18 s
-  Kernel time: 646 ms
-  Page Faults: 926
-  CPU Time: 4.86 s
-  GDI Objects: 0
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests#testBigWorkflowNoUI()Commit3' (average over 5 samples):
-  Used Java Heap: -1167112
-  Working Set: 24.8K
-  Committed: 48.8K
-  Working Set Peak: 0
-  Elapsed Process: 3.35 s
-  Kernel time: 391 ms
-  Page Faults: 1.09K
-  CPU Time: 1.78 s
-  GDI Objects: 0
-
-
-Connecting to: fiji:extssh
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests#testSync10()RemovedFiles' (average over 3 samples):
-  Used Java Heap: -4102114
-  Working Set: 110.67K
-  Committed: 309.33K
-  Working Set Peak: 0
-  Elapsed Process: 8.71 s
-  Kernel time: 297 ms
-  Page Faults: 354
-  CPU Time: 2.08 s
-  GDI Objects: 6
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests#testSync10()AddedFiles' (average over 3 samples):
-  Used Java Heap: -2328965
-  Working Set: 1.05M
-  Committed: 56K
-  Working Set Peak: 1.67M
-  Elapsed Process: 10.41 s
-  Kernel time: 452 ms
-  Page Faults: 3.2K
-  CPU Time: 4.33 s
-  GDI Objects: 25
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests#testSync10()ModifiedFiles' (average over 3 samples):
-  Used Java Heap: 4.18M
-  Working Set: 150.67K
-  Committed: -252586
-  Working Set Peak: 200K
-  Elapsed Process: 8.75 s
-  Kernel time: 250 ms
-  Page Faults: 1.69K
-  CPU Time: 2.23 s
-  GDI Objects: 4
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests#testSync100()RemovedFiles' (average over 3 samples):
-  Used Java Heap: 2.42M
-  Working Set: 33.33K
-  Committed: -483328
-  Working Set Peak: 1.39M
-  Elapsed Process: 10.83 s
-  Kernel time: 650 ms
-  Page Faults: 885
-  CPU Time: 3.88 s
-  GDI Objects: 4
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests#testSync100()AddedFiles' (average over 3 samples):
-  Used Java Heap: 3.1M
-  Working Set: 1.49M
-  Committed: 794.67K
-  Working Set Peak: 0
-  Elapsed Process: 11.59 s
-  Kernel time: 604 ms
-  Page Faults: 1.28K
-  CPU Time: 4.67 s
-  GDI Objects: 1
-
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests#testSync100()ModifiedFiles' (average over 3 samples):
-  Used Java Heap: -5984688
-  Working Set: 268K
-  Committed: 777.33K
-  Working Set Peak: 16K
-  Elapsed Process: 11.11 s
-  Kernel time: 1.29 s
-  Page Faults: 1.41K
-  CPU Time: 4.44 s
-  GDI Objects: 1
-  
-Scenario 'org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests#testSync100Global()' (average over 9 samples):
-  Used Java Heap: 493.09K
-  Working Set: 505.78K
-  Committed: -1820
-  Working Set Peak: 0
-  Elapsed Process: 10.8 s
-  Kernel time: 968 ms
-  Page Faults: 911
-  CPU Time: 3.98 s
-  GDI Objects: 0
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/plugin.xml b/tests/org.eclipse.team.tests.cvs.core/plugin.xml
deleted file mode 100644
index 23eb412..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/plugin.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.team.tests.cvs.core"
-   name="Eclipse CVS Tests Core"
-   version="3.1.0"
-   provider-name="Eclipse.org">
-
-   <runtime>
-      <library name="cvstests.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui.ide" optional="true"/>
-      <import plugin="org.eclipse.ui.views" optional="true"/>
-      <import plugin="org.eclipse.jface.text" optional="true"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor" optional="true"/>
-      <import plugin="org.eclipse.ui.editors" optional="true"/>
-      <import plugin="org.eclipse.core.tests.harness"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/> 
-      <import plugin="org.eclipse.core.runtime"/> 
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.team.core"/>
-      <import plugin="org.eclipse.team.cvs.core"/>
-      <import plugin="org.eclipse.team.ui"/>
-      <import plugin="org.eclipse.team.cvs.ui"/>
-      <import plugin="org.eclipse.compare"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.update.core"/>
-      <import plugin="org.junit"/>
-      <import plugin="org.eclipse.team.tests.core"/>
-      <import plugin="org.eclipse.test.performance"/>
-      <import plugin="org.eclipse.core.tests.resources"/>
-      <import plugin="org.eclipse.core.expressions"/>
-   </requires>
-
-
-<!-- *************** Connection Methods **************** -->
-   <extension
-         id="pserver"
-         point="org.eclipse.team.cvs.core.connectionmethods">
-      <adapter>
-         <run
-               class="org.eclipse.team.tests.ccvs.core.TestConnectionMethod">
-            <parameter
-                  name="trace"
-                  value="false">
-            </parameter>
-         </run>
-      </adapter>
-   </extension>
-<!-- **************** TESTS ******************* -->
-   <extension
-         point="org.eclipse.help.toc">
-      <toc
-            file="toc.xml"
-            primary="true">
-      </toc>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectives">
-      <perspective
-            class="org.eclipse.team.tests.ccvs.ui.PerspectiveFactory"
-            id="org.eclipse.team.tests.cvs.ui.perspective1"
-            name="CVS Test Perspective"/>
-   </extension>
-   <extension
-         id="modelProvider"
-         point="org.eclipse.core.resources.modelProviders">
-      <modelProvider
-            class="org.eclipse.team.tests.ccvs.core.mappings.TestModelProvider"
-            name="CVS Test Model"/>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            class="org.eclipse.team.tests.ccvs.ui.TestEditor"
-            extensions="cvsTest"
-            icon="icons/sample.gif"
-            id="org.eclipse.team.tests.cvs.core.editor1"
-            name="CVS Test Editor">
-      </editor>
-   </extension>
-</plugin>
diff --git a/tests/org.eclipse.team.tests.cvs.core/readme.html b/tests/org.eclipse.team.tests.cvs.core/readme.html
deleted file mode 100644
index 09ea3e6..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/readme.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-  <title>Building and Running the Team/CVS Tests using Ant</title>
-         
-  <meta http-equiv="Content-Type"
- content="text/html; charset=iso-8859-1">
-     
-  <link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"
- type="text/css">
-</head>
-  <body bgcolor="#ffffff" text="#000000">
-
-<h1> Building and Running the Team/CVS Tests using Ant</h1>
-
-<h2>Building the Team/CVS tests</h2>
-
-To build the TEam/CVS test plugins, perform the following steps:
-
-<ol>
-
-  <li>Import the following plugins using the <b>Import External Plugins and Fragments</b> wizard:
-    <ol>
-	<li><i>org.eclipse.team.*</i> plugins and all required plugins</li>
-	<li><i>org.junit</i> and any required plugins</li>
-	</ol>
-  </li>
-
-  <li>Check out the following plug-ins from dev.eclipse.org:
-    <ol>
-    <li><i>org.eclipse.core.tests.harness</i></li>
-    <li><i>org.eclipse.team.tests.core</i></li>
-	<li><i>org.eclipse.team.tests.cvs.core</i></li>
-	</ol>
-  </li>
-
-  <li>In org.eclipse.team.tests.cvs.core, select the file <i>build-tests.xml</i> and choose
-  <b>Run Ant...</b> from the popup menu. A zip archieve of the CVS test plugins is created
-  in the org.eclipse.team.tests.cvs.core project.
-  </li>
-  
-</ol>
-
-<h2>Setting up the Eclipse install to be used to run the tests</h2>
-
-To run the tests built above, perform the following steps:
-
-<ol>
-
-  <li>Install eclipse to you test directory.</li>
-
-  <li>Install the eclipse test harness plug-ins and fragments over the above install</li>
-
-  <li>Extract the team test plugin archive created above into the test Eclipse install.</li>
-
-  <li>The CVS tests require a repository to test with. Modify the repository.properties file in plug-in <i>org.eclipse.team.tests.cvs.core</i> 
-  to contain the information required to connect to your repository.
-  Important fields in the repository properties file are:
-    <ul>
-       <li><i>repository</i> - the location string that identifies your test repository.
-       This string should be of the format ":method:user:password@host:/repo/path"
-       </li>
-       <li><i>initrepo</i> - true if you want to initialize the repository before beginning.
-       It is not essential to initialize the repository, as the tests will create unique test
-       project names.
-       <li><i>rsh</i> - the rsh (or ssh) client used to initialize the repository
- 	   <br/><b>Note:</b> Your repository must allow rsh connections from your userid and machine in order for
-	   the tests to run when initrepo is set to true. If ssh is used, it must be configured to connect
-	   when provided with  the parameters "host -l username" (i.e. setup to use keys).
-	   </li>
-	</ul>
-	<p>There is a sample repository.properties file provided in <i>org.eclipse.team.tests.cvs.core</i>.
-	The additional properties are for more in-depth tests.</p>
-	<p><b>Note:</b> If you want to keep a repositories.properties file in a separate directory,
-	this directory can be provided to the test script run below as the "team-home" parameter.</p>
-  </li>
-
-  <li>Run the test.xml Ant script using the following command line from the eclipse directory:
-    <ul>
-    <li>For Team:<br/>
-  java -cp startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ant.core.antRunner -file plugins/org.eclipse.team.tests.core/test.xml run -dev bin -noupdate
-    </li>
-    <li>For CVS:<br/>
-  java -cp startup.jar org.eclipse.core.launcher.Main -application org.eclipse.ant.core.antRunner -file plugins/org.eclipse.team.tests.cvs.core/test.xml run -dev bin -noupdate
-    </li>
-    </ul>
-  </li>
-  
-  </body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/repository.properties b/tests/org.eclipse.team.tests.cvs.core/repository.properties
deleted file mode 100644
index 806f746..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/repository.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-repository=:pserver:@user@:@password@@@host@:@root@
-repository1=:pserver:@user@:@password@@@host@:@root1@
-repository2=:pserver:@user@:@password@@@host@:@root2@
-command=C:\cvs\bin\cvs
-debug=false
-standalone=false
-initrepo=false
-temp=C:\temp
-rsh=rsh
-localRepo=false
-waitFactor=5
-failLog=false
-failOnBadDiff=false
diff --git a/tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/benchmarkBig.zip b/tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/benchmarkBig.zip
deleted file mode 100644
index 8a0f9cf..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/benchmarkBig.zip
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/benchmarkSmall.zip b/tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/benchmarkSmall.zip
deleted file mode 100644
index ea3729e..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/benchmarkSmall.zip
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/benchmarkTiny.zip b/tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/benchmarkTiny.zip
deleted file mode 100644
index a127ff3..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/benchmarkTiny.zip
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/bug152581case1.txt b/tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/bug152581case1.txt
deleted file mode 100644
index d0c0a2a..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/bug152581case1.txt
+++ /dev/null
@@ -1,2816 +0,0 @@
-Install location:
-    file:/d:/CCREclipse/eclipse/
-Configuration file:
-    file:/d:/CCREclipse/eclipse/configuration/config.ini loaded
-Configuration location:
-    file:/d:/CCREclipse/eclipse/configuration/
-Framework located:
-    file:/d:/CCREclipse/eclipse/plugins/org.eclipse.osgi_3.1.2.jar
-Framework classpath:
-    file:/d:/CCREclipse/eclipse/plugins/org.eclipse.osgi_3.1.2.jar
-Splash location:
-    d:\CCREclipse\eclipse\plugins\org.eclipse.platform_3.1.2\splash.bmp
-runCommand:
-    <D:\CCREclipse\eclipse\eclipse.exe><-name><Eclipse><-showsplash><600><d:\CCREclipse\eclipse\plugins\org.eclipse.plat
-form_3.1.2\splash.bmp>
-Debug options:
-    file:/D:/CCREclipse/eclipse/.options loaded
-Time to load bundles: 10
-Starting application: 770
-Bad extension specification
-Reason:
-startup class must implement org.eclipse.ui.IStartup
-I LOVE YOU
-Valid-responses ok error M E Checked-in Valid-requests Template Set-sticky MT Clear-static-directory Module-expansion Se
-t-static-directory Clear-sticky New-entry Merged Removed Updated Remove-entry Update-existing Copy-file Created Notified
- Mod-time
-valid-requests
-Valid-requests Root Valid-responses valid-requests Directory Max-dotdot Static-directory Sticky Entry EntryExtra Kopt Ch
-eckin-time Checksum Modified Is-modified UseUnchanged Unchanged Notify NotifyUser Questionable Utf8 Argument Argumentx G
-lobal_option Gzip-stream wrapper-sendme-rcsOptions Set Rename VirtualRepository expand-modules ci co chown rchown chacl2
- rchacl2 lsacl rlsacl passwd info update diff log rlog add remove update-patches status ls rls rdiff tag rtag import adm
-in export history release watch-on watch-off watch-add watch-remove watchers editors editors-edit init annotate rannotat
-e noop version Rootless-stream-modification Kerberos-encrypt Gssapi-encrypt Protocol-encrypt Gssapi-authenticate Protoco
-l-authenticate read-cvsrc read-cvsrc2 read-cvsignore read-cvswrappers Error-If-Reader server-codepage client-version
-   Can-Rename Valid-RcsOptions
-ok
-Root /cvsdata/repository
-CMD> cvs version
-version
-M Concurrent Versions System (CVS) 1.11.2 (client/server)
-ok
-RESULT> Status OK: org.eclipse.team.cvs.core code=0 ok null
-CMD> cvs -n update -d "/ApplicationContentManager"
-Global_option -n
-Argument -d
-Directory .
-/cvsdata/repository/ApplicationContentManager
-Entry /.ccrpattern/1.4//-kb/
-Unchanged .ccrpattern
-Entry /.checkstyle/1.1//-kb/
-Unchanged .checkstyle
-Entry /.classpath/1.64///
-Unchanged .classpath
-Entry /.cvsignore/1.1///
-Unchanged .cvsignore
-Entry /.pmd/1.2//-kk/
-Unchanged .pmd
-Entry /.project/1.15///
-Unchanged .project
-Entry /.umlproject/1.1//-kb/
-Unchanged .umlproject
-Directory .externalToolBuilders
-/cvsdata/repository/ApplicationContentManager/.externalToolBuilders
-Directory CCRCapCotation
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation
-Directory CCRCapCotation/ccr
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr
-Directory CCRCapCotation/ccr/cotation
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/cotation
-Directory CCRCapCotation/ccr/cotation/batch
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/cotation/batch
-Directory CCRCapCotation/ccr/cotation/context
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/cotation/context
-Directory CCRCapCotation/ccr/cotation/excel
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/cotation/excel
-Directory CCRCapCotation/ccr/cotation/manager
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/cotation/manager
-Directory CCRCapCotation/ccr/cotation/util
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/cotation/util
-Directory CCRCapCotation/ccr/cotation/vue
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/cotation/vue
-Directory CCRCapCotation/ccr/cotation/vue/context
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/cotation/vue/context
-Directory CCRCapCotation/ccr/cotation/vue/renderer
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/cotation/vue/renderer
-Directory CCRCapCotation/ccr/cotation/vue/state
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/cotation/vue/state
-Directory CCRCapCotation/ccr/cotation/workflow
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/cotation/workflow
-Directory CCRCapCotation/ccr/cotation/workflow/jbpm
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/cotation/workflow/jbpm
-Directory CCRCapCotation/ccr/cotation/workflow/manager
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/cotation/workflow/manager
-Directory CCRCapCotation/ccr/cotation/workflow/sample
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/cotation/workflow/sample
-Directory CCRCapCotation/ccr/cotation/workflow/state
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/cotation/workflow/state
-Directory CCRCapCotation/ccr/db2
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/db2
-Directory CCRCapCotation/ccr/db2/cotation
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/db2/cotation
-Directory CCRCapCotation/ccr/db2/cotation/workflow
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/db2/cotation/workflow
-Directory CCRCapCotation/ccr/db2/cotation/workflow/jbpm
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/db2/cotation/workflow/jbpm
-Directory CCRCapCotation/ccr/db2/cotation/workflow/manager
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/db2/cotation/workflow/manager
-Directory CCRCapCotation/ccr/db2/cotation/workflow/sample
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/db2/cotation/workflow/sample
-Directory CCRCapCotation/ccr/domino
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/domino
-Directory CCRCapCotation/ccr/domino/manager
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/domino/manager
-Directory CCRCapCotation/ccr/domino/manager/capcotation
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/domino/manager/capcotation
-Directory CCRCapCotation/ccr/domino/manager/capcotation/natif
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/domino/manager/capcotation/natif
-Directory CCRCapCotation/ccr/reprise
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/reprise
-Directory CCRCapCotation/ccr/reprise/launcher
-/cvsdata/repository/ApplicationContentManager/CCRCapCotation/ccr/reprise/launcher
-Directory CCRCapCotationDB2
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2
-Directory CCRCapCotationDB2/ccr
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr
-Directory CCRCapCotationDB2/ccr/db2
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr/db2
-Directory CCRCapCotationDB2/ccr/db2/cotation
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr/db2/cotation
-Directory CCRCapCotationDB2/ccr/db2/cotation/batch
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr/db2/cotation/batch
-Directory CCRCapCotationDB2/ccr/db2/cotation/excel
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr/db2/cotation/excel
-Directory CCRCapCotationDB2/ccr/db2/cotation/manager
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr/db2/cotation/manager
-Directory CCRCapCotationDB2/ccr/db2/cotation/vue
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr/db2/cotation/vue
-Directory CCRCapCotationDB2/ccr/db2/cotation/vue/context
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr/db2/cotation/vue/context
-Directory CCRCapCotationDB2/ccr/db2/cotation/vue/renderer
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr/db2/cotation/vue/renderer
-Directory CCRCapCotationDB2/ccr/db2/cotation/vue/state
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr/db2/cotation/vue/state
-Directory CCRCapCotationDB2/ccr/db2/cotation/workflow
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr/db2/cotation/workflow
-Directory CCRCapCotationDB2/ccr/db2/cotation/workflow/jbpm
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr/db2/cotation/workflow/jbpm
-Directory CCRCapCotationDB2/ccr/db2/cotation/workflow/manager
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr/db2/cotation/workflow/manager
-Directory CCRCapCotationDB2/ccr/db2/cotation/workflow/sample
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr/db2/cotation/workflow/sample
-Directory CCRCapCotationDB2/ccr/db2/domino
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr/db2/domino
-Directory CCRCapCotationDB2/ccr/db2/domino/manager
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr/db2/domino/manager
-Directory CCRCapCotationDB2/ccr/db2/domino/manager/capcotation
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr/db2/domino/manager/capcotation
-Directory CCRCapCotationDB2/ccr/db2/reprise
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr/db2/reprise
-Directory CCRCapCotationDB2/ccr/db2/reprise/launcher
-/cvsdata/repository/ApplicationContentManager/CCRCapCotationDB2/ccr/db2/reprise/launcher
-Directory CCRPrcIndexation
-/cvsdata/repository/ApplicationContentManager/CCRPrcIndexation
-Directory CCRPrcIndexation/ccr
-/cvsdata/repository/ApplicationContentManager/CCRPrcIndexation/ccr
-Directory CCRPrcIndexation/ccr/prc
-/cvsdata/repository/ApplicationContentManager/CCRPrcIndexation/ccr/prc
-Directory CCRPrcIndexation/ccr/prc/indexation
-/cvsdata/repository/ApplicationContentManager/CCRPrcIndexation/ccr/prc/indexation
-Directory CCRPrcIndexation/ccr/prc/indexation/util
-/cvsdata/repository/ApplicationContentManager/CCRPrcIndexation/ccr/prc/indexation/util
-Directory CCRPrcIndexation/ccr/prc/indexation/vue
-/cvsdata/repository/ApplicationContentManager/CCRPrcIndexation/ccr/prc/indexation/vue
-Directory CMAGIRCpt
-/cvsdata/repository/ApplicationContentManager/CMAGIRCpt
-Directory CMAGIRCpt/ccr
-/cvsdata/repository/ApplicationContentManager/CMAGIRCpt/ccr
-Directory CMAGIRCpt/ccr/cm
-/cvsdata/repository/ApplicationContentManager/CMAGIRCpt/ccr/cm
-Directory CMAGIRCpt/ccr/cm/agir
-/cvsdata/repository/ApplicationContentManager/CMAGIRCpt/ccr/cm/agir
-Directory CMAGIRCpt/ccr/cm/agir/cpt
-/cvsdata/repository/ApplicationContentManager/CMAGIRCpt/ccr/cm/agir/cpt
-Directory CMAGIRCpt/ccr/cm/agir/cpt/batch
-/cvsdata/repository/ApplicationContentManager/CMAGIRCpt/ccr/cm/agir/cpt/batch
-Directory CMAGIRCpt/ccr/cm/agir/cpt/manager
-/cvsdata/repository/ApplicationContentManager/CMAGIRCpt/ccr/cm/agir/cpt/manager
-Directory CMAGIRCpt/ccr/prc
-/cvsdata/repository/ApplicationContentManager/CMAGIRCpt/ccr/prc
-Directory CMAGIRCpt/ccr/prc/agir
-/cvsdata/repository/ApplicationContentManager/CMAGIRCpt/ccr/prc/agir
-Directory CMAGIRCpt/ccr/prc/agir/cpt
-/cvsdata/repository/ApplicationContentManager/CMAGIRCpt/ccr/prc/agir/cpt
-Directory CMAGIRCpt/ccr/prc/agir/cpt/batch
-/cvsdata/repository/ApplicationContentManager/CMAGIRCpt/ccr/prc/agir/cpt/batch
-Directory CMAGIRCpt/ccr/prc/agir/cpt/manager
-/cvsdata/repository/ApplicationContentManager/CMAGIRCpt/ccr/prc/agir/cpt/manager
-Directory CMAGIRCpt/ccr/prc/cpt
-/cvsdata/repository/ApplicationContentManager/CMAGIRCpt/ccr/prc/cpt
-Directory CMAGIRCpt/ccr/prc/cpt/batch
-/cvsdata/repository/ApplicationContentManager/CMAGIRCpt/ccr/prc/cpt/batch
-Directory CMAGIRCpt/ccr/prc/cpt/manager
-/cvsdata/repository/ApplicationContentManager/CMAGIRCpt/ccr/prc/cpt/manager
-Directory CMAGIRGca
-/cvsdata/repository/ApplicationContentManager/CMAGIRGca
-Directory CMAGIRGca/ccr
-/cvsdata/repository/ApplicationContentManager/CMAGIRGca/ccr
-Directory CMAGIRGca/ccr/cm
-/cvsdata/repository/ApplicationContentManager/CMAGIRGca/ccr/cm
-Directory CMAGIRGca/ccr/cm/agir
-/cvsdata/repository/ApplicationContentManager/CMAGIRGca/ccr/cm/agir
-Directory CMAGIRGca/ccr/cm/agir/gca
-/cvsdata/repository/ApplicationContentManager/CMAGIRGca/ccr/cm/agir/gca
-Directory CMAGIRGca/ccr/cm/agir/gca/batch
-/cvsdata/repository/ApplicationContentManager/CMAGIRGca/ccr/cm/agir/gca/batch
-Directory CMAGIRGca/ccr/cm/agir/gca/manager
-/cvsdata/repository/ApplicationContentManager/CMAGIRGca/ccr/cm/agir/gca/manager
-Directory CMAGIRGca/ccr/prc
-/cvsdata/repository/ApplicationContentManager/CMAGIRGca/ccr/prc
-Directory CMAGIRGca/ccr/prc/agir
-/cvsdata/repository/ApplicationContentManager/CMAGIRGca/ccr/prc/agir
-Directory CMAGIRGca/ccr/prc/agir/gca
-/cvsdata/repository/ApplicationContentManager/CMAGIRGca/ccr/prc/agir/gca
-Directory CMAGIRGca/ccr/prc/agir/gca/batch
-/cvsdata/repository/ApplicationContentManager/CMAGIRGca/ccr/prc/agir/gca/batch
-Directory CMAGIRGca/ccr/prc/agir/gca/manager
-/cvsdata/repository/ApplicationContentManager/CMAGIRGca/ccr/prc/agir/gca/manager
-Directory CMAGIRGca/ccr/prc/agir/gca/vue
-/cvsdata/repository/ApplicationContentManager/CMAGIRGca/ccr/prc/agir/gca/vue
-Directory CMAGIRGca/ccr/prc/gca
-/cvsdata/repository/ApplicationContentManager/CMAGIRGca/ccr/prc/gca
-Directory CMAGIRGca/ccr/prc/gca/adapter
-/cvsdata/repository/ApplicationContentManager/CMAGIRGca/ccr/prc/gca/adapter
-Directory CMAGIRGca/ccr/prc/gca/batch
-/cvsdata/repository/ApplicationContentManager/CMAGIRGca/ccr/prc/gca/batch
-Directory CMAGIRGca/ccr/prc/gca/manager
-/cvsdata/repository/ApplicationContentManager/CMAGIRGca/ccr/prc/gca/manager
-Directory CMAGIRRef
-/cvsdata/repository/ApplicationContentManager/CMAGIRRef
-Directory CMAGIRRef/ccr
-/cvsdata/repository/ApplicationContentManager/CMAGIRRef/ccr
-Directory CMAGIRRef/ccr/cm
-/cvsdata/repository/ApplicationContentManager/CMAGIRRef/ccr/cm
-Directory CMAGIRRef/ccr/cm/agir
-/cvsdata/repository/ApplicationContentManager/CMAGIRRef/ccr/cm/agir
-Directory CMAGIRRef/ccr/cm/agir/ref
-/cvsdata/repository/ApplicationContentManager/CMAGIRRef/ccr/cm/agir/ref
-Directory CMAGIRRef/ccr/cm/agir/ref/batch
-/cvsdata/repository/ApplicationContentManager/CMAGIRRef/ccr/cm/agir/ref/batch
-Directory CMAGIRRef/ccr/prc
-/cvsdata/repository/ApplicationContentManager/CMAGIRRef/ccr/prc
-Directory CMAGIRRef/ccr/prc/agir
-/cvsdata/repository/ApplicationContentManager/CMAGIRRef/ccr/prc/agir
-Directory CMAGIRRef/ccr/prc/agir/ref
-/cvsdata/repository/ApplicationContentManager/CMAGIRRef/ccr/prc/agir/ref
-Directory CMAGIRRef/ccr/prc/agir/ref/batch
-/cvsdata/repository/ApplicationContentManager/CMAGIRRef/ccr/prc/agir/ref/batch
-Directory CMAGIRStc
-/cvsdata/repository/ApplicationContentManager/CMAGIRStc
-Directory CMAGIRStc/ccr
-/cvsdata/repository/ApplicationContentManager/CMAGIRStc/ccr
-Directory CMAGIRStc/ccr/cm
-/cvsdata/repository/ApplicationContentManager/CMAGIRStc/ccr/cm
-Directory CMAGIRStc/ccr/cm/agir
-/cvsdata/repository/ApplicationContentManager/CMAGIRStc/ccr/cm/agir
-Directory CMAGIRStc/ccr/cm/agir/stc
-/cvsdata/repository/ApplicationContentManager/CMAGIRStc/ccr/cm/agir/stc
-Directory CMAGIRStc/ccr/cm/agir/stc/batch
-/cvsdata/repository/ApplicationContentManager/CMAGIRStc/ccr/cm/agir/stc/batch
-Directory CMAGIRStc/ccr/cm/agir/stc/manager
-/cvsdata/repository/ApplicationContentManager/CMAGIRStc/ccr/cm/agir/stc/manager
-Directory CMAGIRStc/ccr/cm/agir/stc/moteur
-/cvsdata/repository/ApplicationContentManager/CMAGIRStc/ccr/cm/agir/stc/moteur
-Directory CMAGIRStc/ccr/prc
-/cvsdata/repository/ApplicationContentManager/CMAGIRStc/ccr/prc
-Directory CMAGIRStc/ccr/prc/agir
-/cvsdata/repository/ApplicationContentManager/CMAGIRStc/ccr/prc/agir
-Directory CMAGIRStc/ccr/prc/agir/stc
-/cvsdata/repository/ApplicationContentManager/CMAGIRStc/ccr/prc/agir/stc
-Directory CMAGIRStc/ccr/prc/agir/stc/batch
-/cvsdata/repository/ApplicationContentManager/CMAGIRStc/ccr/prc/agir/stc/batch
-Directory CMAGIRStc/ccr/prc/agir/stc/manager
-/cvsdata/repository/ApplicationContentManager/CMAGIRStc/ccr/prc/agir/stc/manager
-Directory CMAGIRStc/ccr/prc/agir/stc/moteur
-/cvsdata/repository/ApplicationContentManager/CMAGIRStc/ccr/prc/agir/stc/moteur
-Directory CMAGIRStc/ccr/prc/stc
-/cvsdata/repository/ApplicationContentManager/CMAGIRStc/ccr/prc/stc
-Directory CMAGIRStc/ccr/prc/stc/batch
-/cvsdata/repository/ApplicationContentManager/CMAGIRStc/ccr/prc/stc/batch
-Directory CMAGIRStc/ccr/prc/stc/manager
-/cvsdata/repository/ApplicationContentManager/CMAGIRStc/ccr/prc/stc/manager
-Directory CMAGIRStc/ccr/prc/stc/moteur
-/cvsdata/repository/ApplicationContentManager/CMAGIRStc/ccr/prc/stc/moteur
-Directory CMApplicationConstant
-/cvsdata/repository/ApplicationContentManager/CMApplicationConstant
-Directory CMApplicationConstant/META-INF
-/cvsdata/repository/ApplicationContentManager/CMApplicationConstant/META-INF
-Directory CMApplicationConstant/ccr
-/cvsdata/repository/ApplicationContentManager/CMApplicationConstant/ccr
-Directory CMApplicationConstant/ccr/cm
-/cvsdata/repository/ApplicationContentManager/CMApplicationConstant/ccr/cm
-Directory CMApplicationConstant/ccr/cm/application
-/cvsdata/repository/ApplicationContentManager/CMApplicationConstant/ccr/cm/application
-Directory CMApplicationConstant/ccr/cm/application/constant
-/cvsdata/repository/ApplicationContentManager/CMApplicationConstant/ccr/cm/application/constant
-Directory CMApplicationConstant/ccr/prc
-/cvsdata/repository/ApplicationContentManager/CMApplicationConstant/ccr/prc
-Directory CMApplicationConstant/ccr/prc/application
-/cvsdata/repository/ApplicationContentManager/CMApplicationConstant/ccr/prc/application
-Directory CMApplicationConstant/ccr/prc/application/constant
-/cvsdata/repository/ApplicationContentManager/CMApplicationConstant/ccr/prc/application/constant
-Directory CMBatch
-/cvsdata/repository/ApplicationContentManager/CMBatch
-Directory CMBenchmark
-/cvsdata/repository/ApplicationContentManager/CMBenchmark
-Directory CMBenchmark/ccr
-/cvsdata/repository/ApplicationContentManager/CMBenchmark/ccr
-Directory CMBenchmark/ccr/cm
-/cvsdata/repository/ApplicationContentManager/CMBenchmark/ccr/cm
-Directory CMBenchmark/ccr/cm/benchmark
-/cvsdata/repository/ApplicationContentManager/CMBenchmark/ccr/cm/benchmark
-Directory CMBenchmark/ccr/cm/benchmark/connection
-/cvsdata/repository/ApplicationContentManager/CMBenchmark/ccr/cm/benchmark/connection
-Directory CMBenchmark/ccr/cm/benchmark/context
-/cvsdata/repository/ApplicationContentManager/CMBenchmark/ccr/cm/benchmark/context
-Directory CMBenchmark/ccr/cm/benchmark/retrieve
-/cvsdata/repository/ApplicationContentManager/CMBenchmark/ccr/cm/benchmark/retrieve
-Directory CMBenchmark/ccr/cm/benchmark/retrieve/data
-/cvsdata/repository/ApplicationContentManager/CMBenchmark/ccr/cm/benchmark/retrieve/data
-Directory CMBenchmark/ccr/cm/benchmark/retrieve/items
-/cvsdata/repository/ApplicationContentManager/CMBenchmark/ccr/cm/benchmark/retrieve/items
-Directory CMBenchmark/ccr/cm/sample
-/cvsdata/repository/ApplicationContentManager/CMBenchmark/ccr/cm/sample
-Directory CMBenchmark/common
-/cvsdata/repository/ApplicationContentManager/CMBenchmark/common
-Directory CMDomino
-/cvsdata/repository/ApplicationContentManager/CMDomino
-Directory CMDomino/ccr
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr
-Directory CMDomino/ccr/agir
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/agir
-Directory CMDomino/ccr/agir/cap
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/agir/cap
-Directory CMDomino/ccr/agir/cap/manager
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/agir/cap/manager
-Directory CMDomino/ccr/cm
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/cm
-Directory CMDomino/ccr/cm/annuaire
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/cm/annuaire
-Directory CMDomino/ccr/cm/annuaire/batch
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/cm/annuaire/batch
-Directory CMDomino/ccr/cm/annuaire/manager
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/cm/annuaire/manager
-Directory CMDomino/ccr/cm/cap
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/cm/cap
-Directory CMDomino/ccr/cm/cap/carnadpr
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/cm/cap/carnadpr
-Directory CMDomino/ccr/cm/cap/carnadpr/batch
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/cm/cap/carnadpr/batch
-Directory CMDomino/ccr/cm/cap/carnadpr/manager
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/cm/cap/carnadpr/manager
-Directory CMDomino/ccr/cm/cap/correspondance
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/cm/cap/correspondance
-Directory CMDomino/ccr/cm/cap/correspondance/batch
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/cm/cap/correspondance/batch
-Directory CMDomino/ccr/cm/cap/correspondance/manager
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/cm/cap/correspondance/manager
-Directory CMDomino/ccr/cm/cap/cotation
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/cm/cap/cotation
-Directory CMDomino/ccr/cm/cap/cotation/batch
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/cm/cap/cotation/batch
-Directory CMDomino/ccr/cm/cap/cotation/manager
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/cm/cap/cotation/manager
-Directory CMDomino/ccr/cm/cap/launcher
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/cm/cap/launcher
-Directory CMDomino/ccr/domino
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/domino
-Directory CMDomino/ccr/domino/annuaire
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/domino/annuaire
-Directory CMDomino/ccr/domino/annuaire/manager
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/domino/annuaire/manager
-Directory CMDomino/ccr/domino/cap
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/domino/cap
-Directory CMDomino/ccr/domino/cap/carnadpr
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/domino/cap/carnadpr
-Directory CMDomino/ccr/domino/cap/carnadpr/manager
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/domino/cap/carnadpr/manager
-Directory CMDomino/ccr/prc
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/prc
-Directory CMDomino/ccr/prc/cap
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/prc/cap
-Directory CMDomino/ccr/prc/cap/carnadpr
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/prc/cap/carnadpr
-Directory CMDomino/ccr/prc/cap/carnadpr/manager
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/prc/cap/carnadpr/manager
-Directory CMDomino/ccr/prc/cap/correspondance
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/prc/cap/correspondance
-Directory CMDomino/ccr/prc/cap/correspondance/batch
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/prc/cap/correspondance/batch
-Directory CMDomino/ccr/prc/cap/correspondance/manager
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/prc/cap/correspondance/manager
-Directory CMDomino/ccr/prc/cap/cotation
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/prc/cap/cotation
-Directory CMDomino/ccr/prc/cap/cotation/adapter
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/prc/cap/cotation/adapter
-Directory CMDomino/ccr/prc/cap/cotation/batch
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/prc/cap/cotation/batch
-Directory CMDomino/ccr/prc/cap/cotation/manager
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/prc/cap/cotation/manager
-Directory CMDomino/ccr/prc/cap/launcher
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/prc/cap/launcher
-Directory CMDomino/ccr/prc/domino
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/prc/domino
-Directory CMDomino/ccr/prc/domino/batch
-/cvsdata/repository/ApplicationContentManager/CMDomino/ccr/prc/domino/batch
-Directory CMDossierVisite
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite
-Directory CMDossierVisite/ccr
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr
-Directory CMDossierVisite/ccr/cm
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/cm
-Directory CMDossierVisite/ccr/cm/visite
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/cm/visite
-Directory CMDossierVisite/ccr/cm/visite/batch
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/cm/visite/batch
-Directory CMDossierVisite/ccr/cm/visite/cache
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/cm/visite/cache
-Directory CMDossierVisite/ccr/cm/visite/launcher
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/cm/visite/launcher
-Directory CMDossierVisite/ccr/cm/visite/manager
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/cm/visite/manager
-Directory CMDossierVisite/ccr/cm/visite/util
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/cm/visite/util
-Directory CMDossierVisite/ccr/cm/visite/vue
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/cm/visite/vue
-Directory CMDossierVisite/ccr/cm/visite/vue/component
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/cm/visite/vue/component
-Directory CMDossierVisite/ccr/cm/visite/vue/component/panel
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/cm/visite/vue/component/panel
-Directory CMDossierVisite/ccr/cm/visite/vue/component/tree
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/cm/visite/vue/component/tree
-Directory CMDossierVisite/ccr/cm/visite/vue/component/treetable
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/cm/visite/vue/component/treetable
-Directory CMDossierVisite/ccr/cm/visite/vue/component/treetable/node
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/cm/visite/vue/component/treetable/node
-Directory CMDossierVisite/ccr/cm/visite/vue/component/treetable/node/batch
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/cm/visite/vue/component/treetable/node/batch
-Directory CMDossierVisite/ccr/cm/visite/vue/component/treetable/sorttreetable
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/cm/visite/vue/component/treetable/sorttreetable
-Directory CMDossierVisite/ccr/cm/visite/vue/component/treetable/sorttreetable/comparator
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/cm/visite/vue/component/treetable/sorttreetable/compar
-ator
-Directory CMDossierVisite/ccr/cm/visite/vue/component/treetable/ui
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/cm/visite/vue/component/treetable/ui
-Directory CMDossierVisite/ccr/prc
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc
-Directory CMDossierVisite/ccr/prc/checktree
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/checktree
-Directory CMDossierVisite/ccr/prc/launcher
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/launcher
-Directory CMDossierVisite/ccr/prc/manager
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/manager
-Directory CMDossierVisite/ccr/prc/panel
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/panel
-Directory CMDossierVisite/ccr/prc/renderer
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/renderer
-Directory CMDossierVisite/ccr/prc/tree
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/tree
-Directory CMDossierVisite/ccr/prc/util
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/util
-Directory CMDossierVisite/ccr/prc/visite
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/visite
-Directory CMDossierVisite/ccr/prc/visite/batch
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/visite/batch
-Directory CMDossierVisite/ccr/prc/visite/manager
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/visite/manager
-Directory CMDossierVisite/ccr/prc/visite/tree
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/visite/tree
-Directory CMDossierVisite/ccr/prc/visite/util
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/visite/util
-Directory CMDossierVisite/ccr/prc/visite/vue
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/visite/vue
-Directory CMDossierVisite/ccr/prc/visite/vue/component
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/visite/vue/component
-Directory CMDossierVisite/ccr/prc/visite/vue/component/treetable
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/visite/vue/component/treetable
-Directory CMDossierVisite/ccr/prc/visite/vue/component/treetable/node
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/visite/vue/component/treetable/node
-Directory CMDossierVisite/ccr/prc/visite/vue/component/treetable/sorttreetable
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/visite/vue/component/treetable/sorttreetable
-Directory CMDossierVisite/ccr/prc/visite/vue/component/treetable/sorttreetable/comparator
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/visite/vue/component/treetable/sorttreetable/compa
-rator
-Directory CMDossierVisite/ccr/prc/visite/vue/component/treetable/ui
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/visite/vue/component/treetable/ui
-Directory CMDossierVisite/ccr/prc/vue
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/ccr/prc/vue
-Directory CMDossierVisite/test
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/test
-Directory CMDossierVisite/test/divers
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/test/divers
-Directory CMDossierVisite/test/htmlviewer
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/test/htmlviewer
-Directory CMDossierVisite/test/rmi
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/test/rmi
-Directory CMDossierVisite/tmp
-/cvsdata/repository/ApplicationContentManager/CMDossierVisite/tmp
-Directory CMEISDonneesContractuelles
-/cvsdata/repository/ApplicationContentManager/CMEISDonneesContractuelles
-Directory CMEISDonneesContractuelles/ccr
-/cvsdata/repository/ApplicationContentManager/CMEISDonneesContractuelles/ccr
-Directory CMEISDonneesContractuelles/ccr/cm
-/cvsdata/repository/ApplicationContentManager/CMEISDonneesContractuelles/ccr/cm
-Directory CMEISDonneesContractuelles/ccr/cm/eis
-/cvsdata/repository/ApplicationContentManager/CMEISDonneesContractuelles/ccr/cm/eis
-Directory CMEISDonneesContractuelles/ccr/cm/eis/dco
-/cvsdata/repository/ApplicationContentManager/CMEISDonneesContractuelles/ccr/cm/eis/dco
-Directory CMEISDonneesContractuelles/ccr/cm/eis/dco/batch
-/cvsdata/repository/ApplicationContentManager/CMEISDonneesContractuelles/ccr/cm/eis/dco/batch
-Directory CMEISDonneesContractuelles/ccr/cm/eis/dco/manager
-/cvsdata/repository/ApplicationContentManager/CMEISDonneesContractuelles/ccr/cm/eis/dco/manager
-Directory CMEISDonneesContractuelles/ccr/prc
-/cvsdata/repository/ApplicationContentManager/CMEISDonneesContractuelles/ccr/prc
-Directory CMEISDonneesContractuelles/ccr/prc/dco
-/cvsdata/repository/ApplicationContentManager/CMEISDonneesContractuelles/ccr/prc/dco
-Directory CMEISDonneesContractuelles/ccr/prc/dco/batch
-/cvsdata/repository/ApplicationContentManager/CMEISDonneesContractuelles/ccr/prc/dco/batch
-Directory CMEISDonneesContractuelles/ccr/prc/dco/manager
-/cvsdata/repository/ApplicationContentManager/CMEISDonneesContractuelles/ccr/prc/dco/manager
-Directory CMEISDonneesContractuelles/ccr/prc/eis
-/cvsdata/repository/ApplicationContentManager/CMEISDonneesContractuelles/ccr/prc/eis
-Directory CMEISDonneesContractuelles/ccr/prc/eis/dco
-/cvsdata/repository/ApplicationContentManager/CMEISDonneesContractuelles/ccr/prc/eis/dco
-Directory CMEISDonneesContractuelles/ccr/prc/eis/dco/batch
-/cvsdata/repository/ApplicationContentManager/CMEISDonneesContractuelles/ccr/prc/eis/dco/batch
-Directory CMEISDonneesContractuelles/ccr/prc/eis/dco/manager
-/cvsdata/repository/ApplicationContentManager/CMEISDonneesContractuelles/ccr/prc/eis/dco/manager
-Directory CMGenerique
-/cvsdata/repository/ApplicationContentManager/CMGenerique
-Directory CMGenerique/ccr
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr
-Directory CMGenerique/ccr/cm
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/cm
-Directory CMGenerique/ccr/cm/generique
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/cm/generique
-Directory CMGenerique/ccr/cm/generique/batch
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/cm/generique/batch
-Directory CMGenerique/ccr/cm/generique/manager
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/cm/generique/manager
-Directory CMGenerique/ccr/cm/vue
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/cm/vue
-Directory CMGenerique/ccr/cm/vue/components
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/cm/vue/components
-Directory CMGenerique/ccr/cm/vue/components/agir
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/cm/vue/components/agir
-Directory CMGenerique/ccr/cm/vue/components/agir/formattedtable
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/cm/vue/components/agir/formattedtable
-Directory CMGenerique/ccr/cm/vue/components/popups
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/cm/vue/components/popups
-Directory CMGenerique/ccr/cm/vue/components/tabbedpane
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/cm/vue/components/tabbedpane
-Directory CMGenerique/ccr/prc
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/prc
-Directory CMGenerique/ccr/prc/generique
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/prc/generique
-Directory CMGenerique/ccr/prc/generique/batch
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/prc/generique/batch
-Directory CMGenerique/ccr/prc/generique/manager
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/prc/generique/manager
-Directory CMGenerique/ccr/prc/generique/renderer
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/prc/generique/renderer
-Directory CMGenerique/ccr/prc/generique/viewer
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/prc/generique/viewer
-Directory CMGenerique/ccr/prc/vue
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/prc/vue
-Directory CMGenerique/ccr/prc/vue/components
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/prc/vue/components
-Directory CMGenerique/ccr/prc/vue/components/agir
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/prc/vue/components/agir
-Directory CMGenerique/ccr/prc/vue/components/agir/formattedtable
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/prc/vue/components/agir/formattedtable
-Directory CMGenerique/ccr/prc/vue/components/tabbedpane
-/cvsdata/repository/ApplicationContentManager/CMGenerique/ccr/prc/vue/components/tabbedpane
-Directory CMSamples
-/cvsdata/repository/ApplicationContentManager/CMSamples
-Directory CMSamples/ccr
-/cvsdata/repository/ApplicationContentManager/CMSamples/ccr
-Directory CMSamples/ccr/cm
-/cvsdata/repository/ApplicationContentManager/CMSamples/ccr/cm
-Directory CMSamples/ccr/cm/sample
-/cvsdata/repository/ApplicationContentManager/CMSamples/ccr/cm/sample
-Directory CMTool
-/cvsdata/repository/ApplicationContentManager/CMTool
-Directory CMTool/ccr
-/cvsdata/repository/ApplicationContentManager/CMTool/ccr
-Directory CMTool/ccr/cm
-/cvsdata/repository/ApplicationContentManager/CMTool/ccr/cm
-Directory CMTool/ccr/cm/util
-/cvsdata/repository/ApplicationContentManager/CMTool/ccr/cm/util
-Directory CMTool/ccr/cm/util/pdf
-/cvsdata/repository/ApplicationContentManager/CMTool/ccr/cm/util/pdf
-Directory CMTool/ccr/cm/view
-/cvsdata/repository/ApplicationContentManager/CMTool/ccr/cm/view
-Directory CMTool/ccr/cm/view/components
-/cvsdata/repository/ApplicationContentManager/CMTool/ccr/cm/view/components
-Directory CMTool/ccr/cm/view/components/checktree
-/cvsdata/repository/ApplicationContentManager/CMTool/ccr/cm/view/components/checktree
-Directory CMTool/ccr/cm/view/components/htmlviewer
-/cvsdata/repository/ApplicationContentManager/CMTool/ccr/cm/view/components/htmlviewer
-Directory CMTool/ccr/cm/view/components/treenode
-/cvsdata/repository/ApplicationContentManager/CMTool/ccr/cm/view/components/treenode
-Directory CMTool/ccr/prc
-/cvsdata/repository/ApplicationContentManager/CMTool/ccr/prc
-Directory CMTool/ccr/prc/view
-/cvsdata/repository/ApplicationContentManager/CMTool/ccr/prc/view
-Directory CMTool/ccr/prc/view/components
-/cvsdata/repository/ApplicationContentManager/CMTool/ccr/prc/view/components
-Directory CMTool/ccr/prc/view/components/checktree
-/cvsdata/repository/ApplicationContentManager/CMTool/ccr/prc/view/components/checktree
-Directory CMTool/ccr/prc/view/components/htmlviewer
-/cvsdata/repository/ApplicationContentManager/CMTool/ccr/prc/view/components/htmlviewer
-Directory CMTool/ccr/prc/view/components/treenode
-/cvsdata/repository/ApplicationContentManager/CMTool/ccr/prc/view/components/treenode
-Directory PRCAGIRCpt
-/cvsdata/repository/ApplicationContentManager/PRCAGIRCpt
-Directory PRCAGIRCpt/ccr
-/cvsdata/repository/ApplicationContentManager/PRCAGIRCpt/ccr
-Directory PRCAGIRCpt/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCAGIRCpt/ccr/prc
-Directory PRCAGIRCpt/ccr/prc/cpt
-/cvsdata/repository/ApplicationContentManager/PRCAGIRCpt/ccr/prc/cpt
-Directory PRCAGIRCpt/ccr/prc/cpt/batch
-/cvsdata/repository/ApplicationContentManager/PRCAGIRCpt/ccr/prc/cpt/batch
-Entry /CCRPrcCheckDeleteEtatsComptablesEISBch.java/1.7///
-Unchanged CCRPrcCheckDeleteEtatsComptablesEISBch.java
-Entry /CCRPrcCptLoadSaisieCompteManagersBch.java/1.4///
-Unchanged CCRPrcCptLoadSaisieCompteManagersBch.java
-Entry /CCRPrcCptUpdateCompteNonRecusBch.java/1.3///
-Unchanged CCRPrcCptUpdateCompteNonRecusBch.java
-Entry /CCRPrcCptUpdateEtatSoldesBch.java/1.4///
-Unchanged CCRPrcCptUpdateEtatSoldesBch.java
-Entry /CCRPrcCptUpdateFluxTresorerieBch.java/1.4///
-Unchanged CCRPrcCptUpdateFluxTresorerieBch.java
-Directory PRCAGIRCpt/ccr/prc/cpt/manager
-/cvsdata/repository/ApplicationContentManager/PRCAGIRCpt/ccr/prc/cpt/manager
-Entry /CCRPrcCptSaisieCompteECatManagerAdapter.java/1.8///
-Unchanged CCRPrcCptSaisieCompteECatManagerAdapter.java
-Directory PRCAGIRGca
-/cvsdata/repository/ApplicationContentManager/PRCAGIRGca
-Directory PRCAGIRGca/ccr
-/cvsdata/repository/ApplicationContentManager/PRCAGIRGca/ccr
-Directory PRCAGIRGca/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCAGIRGca/ccr/prc
-Directory PRCAGIRGca/ccr/prc/agir
-/cvsdata/repository/ApplicationContentManager/PRCAGIRGca/ccr/prc/agir
-Directory PRCAGIRGca/ccr/prc/agir/gca
-/cvsdata/repository/ApplicationContentManager/PRCAGIRGca/ccr/prc/agir/gca
-Directory PRCAGIRGca/ccr/prc/agir/gca/vue
-/cvsdata/repository/ApplicationContentManager/PRCAGIRGca/ccr/prc/agir/gca/vue
-Entry /CCRPrcCorCriteresCorrespondanceContexteDlgVue.java/1.10///
-Unchanged CCRPrcCorCriteresCorrespondanceContexteDlgVue.java
-Entry /CCRPrcECatCriteresECatContexteDlgVue.java/1.7///
-Unchanged CCRPrcECatCriteresECatContexteDlgVue.java
-Entry /CCRPrcGcaCriteresContratContexteDlgVue.java/1.20///
-Unchanged CCRPrcGcaCriteresContratContexteDlgVue.java
-Entry /CCRPrcSinCriteresSinistreContexteDlgVue.java/1.12///
-Unchanged CCRPrcSinCriteresSinistreContexteDlgVue.java
-Directory PRCAGIRGca/ccr/prc/gca
-/cvsdata/repository/ApplicationContentManager/PRCAGIRGca/ccr/prc/gca
-Directory PRCAGIRGca/ccr/prc/gca/adapter
-/cvsdata/repository/ApplicationContentManager/PRCAGIRGca/ccr/prc/gca/adapter
-Directory PRCAGIRGca/ccr/prc/gca/batch
-/cvsdata/repository/ApplicationContentManager/PRCAGIRGca/ccr/prc/gca/batch
-Entry /CCRPrcGcaCheckDeleteFicheAnalyseBch.java/1.10///
-Unchanged CCRPrcGcaCheckDeleteFicheAnalyseBch.java
-Entry /CCRPrcGcaCheckDeleteFicheProgrammeBch.java/1.10///
-Unchanged CCRPrcGcaCheckDeleteFicheProgrammeBch.java
-Entry /CCRPrcGcaCheckDeleteNosRelationsAvecBch.java/1.6//-kk/
-Unchanged CCRPrcGcaCheckDeleteNosRelationsAvecBch.java
-Entry /CCRPrcGcaEtatStandard001Bch.java/1.5//-kk/
-Unchanged CCRPrcGcaEtatStandard001Bch.java
-Entry /CCRPrcGcaEtatStandard002Bch.java/1.6//-kk/
-Unchanged CCRPrcGcaEtatStandard002Bch.java
-Entry /CCRPrcGcaUpdateFicheAnalyseCedanteBch.java/1.11///
-Unchanged CCRPrcGcaUpdateFicheAnalyseCedanteBch.java
-Entry /CCRPrcGcaUpdateFicheAnalyseCompanyAbstractBch.java/1.7///
-Unchanged CCRPrcGcaUpdateFicheAnalyseCompanyAbstractBch.java
-Entry /CCRPrcGcaUpdateFicheAnalyseCourtierBch.java/1.11///
-Unchanged CCRPrcGcaUpdateFicheAnalyseCourtierBch.java
-Entry /CCRPrcGcaUpdateFicheProgrammeCedanteBch.java/1.13///
-Unchanged CCRPrcGcaUpdateFicheProgrammeCedanteBch.java
-Entry /CCRPrcGcaUpdateFicheProgrammeCompanyAbstractBch.java/1.7///
-Unchanged CCRPrcGcaUpdateFicheProgrammeCompanyAbstractBch.java
-Entry /CCRPrcGcaUpdateFicheProgrammeCourtierBch.java/1.11///
-Unchanged CCRPrcGcaUpdateFicheProgrammeCourtierBch.java
-Entry /CCRPrcGcaUpdateNosRelationsAvecCompanyBch.java/1.10//-kk/
-Unchanged CCRPrcGcaUpdateNosRelationsAvecCompanyBch.java
-Entry /CCRPrcPaysAssuresAGIRCacheBuilderBch.java/1.4///
-Unchanged CCRPrcPaysAssuresAGIRCacheBuilderBch.java
-Directory PRCAGIRGca/ccr/prc/gca/manager
-/cvsdata/repository/ApplicationContentManager/PRCAGIRGca/ccr/prc/gca/manager
-Entry /CCRPrcAssureAGIRManager.java/1.14///
-Unchanged CCRPrcAssureAGIRManager.java
-Entry /CCRPrcPaysAssuresAGIRManager.java/1.9///
-Unchanged CCRPrcPaysAssuresAGIRManager.java
-Directory PRCAGIRStc
-/cvsdata/repository/ApplicationContentManager/PRCAGIRStc
-Directory PRCAGIRStc/ccr
-/cvsdata/repository/ApplicationContentManager/PRCAGIRStc/ccr
-Directory PRCAGIRStc/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCAGIRStc/ccr/prc
-Directory PRCAGIRStc/ccr/prc/stc
-/cvsdata/repository/ApplicationContentManager/PRCAGIRStc/ccr/prc/stc
-Directory PRCAGIRStc/ccr/prc/stc/batch
-/cvsdata/repository/ApplicationContentManager/PRCAGIRStc/ccr/prc/stc/batch
-Entry /CCRPrcStcCheckDeleteStatistiquesAgregeesBch.java/1.10///
-Unchanged CCRPrcStcCheckDeleteStatistiquesAgregeesBch.java
-Entry /CCRPrcStcUpdateStatistiquesAgregeesCedanteParZoneSouscriptionBch.java/1.7///
-Unchanged CCRPrcStcUpdateStatistiquesAgregeesCedanteParZoneSouscriptionBch.java
-Entry /CCRPrcStcUpdateStatistiquesAgregeesCourtierParZoneSouscriptionBch.java/1.7///
-Unchanged CCRPrcStcUpdateStatistiquesAgregeesCourtierParZoneSouscriptionBch.java
-Entry /CCRPrcStcUpdateStatistiquesAgregeesParZoneSouscriptionAbstractBch.java/1.9///
-Unchanged CCRPrcStcUpdateStatistiquesAgregeesParZoneSouscriptionAbstractBch.java
-Directory PRCAGIRStc/ccr/prc/stc/manager
-/cvsdata/repository/ApplicationContentManager/PRCAGIRStc/ccr/prc/stc/manager
-Directory PRCAGIRStc/ccr/prc/stc/moteur
-/cvsdata/repository/ApplicationContentManager/PRCAGIRStc/ccr/prc/stc/moteur
-Entry /CCRPrcStcDemandeStatResumee.java/1.1///
-Unchanged CCRPrcStcDemandeStatResumee.java
-Entry /CCRPrcStcLanceurRestitutionAbstract.java/1.2///
-Unchanged CCRPrcStcLanceurRestitutionAbstract.java
-Entry /CCRPrcStcLanceurRestitutionStatistiquesAgregeesParAC.java/1.2///
-Unchanged CCRPrcStcLanceurRestitutionStatistiquesAgregeesParAC.java
-Entry /CCRPrcStcLanceurRestitutionStatistiquesAgregeesParACParZoneSouscription.java/1.4///
-Unchanged CCRPrcStcLanceurRestitutionStatistiquesAgregeesParACParZoneSouscription.java
-Entry /CCRPrcStcLanceurRestitutionStatistiquesAgregeesParExerciceContrat.java/1.2///
-Unchanged CCRPrcStcLanceurRestitutionStatistiquesAgregeesParExerciceContrat.java
-Entry /CCRPrcStcLanceurRestitutionStatistiquesAgregeesParExerciceContratParZoneSouscription.java/1.4///
-Unchanged CCRPrcStcLanceurRestitutionStatistiquesAgregeesParExerciceContratParZoneSouscription.java
-Directory PRCBusinessProcessCreationRules
-/cvsdata/repository/ApplicationContentManager/PRCBusinessProcessCreationRules
-Directory PRCBusinessProcessCreationRules/ccr
-/cvsdata/repository/ApplicationContentManager/PRCBusinessProcessCreationRules/ccr
-Directory PRCBusinessProcessCreationRules/ccr/process
-/cvsdata/repository/ApplicationContentManager/PRCBusinessProcessCreationRules/ccr/process
-Directory PRCBusinessProcessCreationRules/ccr/process/indexation
-/cvsdata/repository/ApplicationContentManager/PRCBusinessProcessCreationRules/ccr/process/indexation
-Directory PRCBusinessProcessCreationRules/ccr/process/indexation/rule
-/cvsdata/repository/ApplicationContentManager/PRCBusinessProcessCreationRules/ccr/process/indexation/rule
-Entry /CCRPRCIndexTypesToBusinessProcessRulesEngine.java/1.1//-kk/
-Unchanged CCRPRCIndexTypesToBusinessProcessRulesEngine.java
-Directory PRCBusinessProcessCreationRules/ccr/process/rule
-/cvsdata/repository/ApplicationContentManager/PRCBusinessProcessCreationRules/ccr/process/rule
-Entry /CCRPRCILaunchingProcessRule.java/1.1//-kk/
-Unchanged CCRPRCILaunchingProcessRule.java
-Entry /CCRPRCIProcessRuleManagementByDocumentsRawList.java/1.1//-kk/
-Unchanged CCRPRCIProcessRuleManagementByDocumentsRawList.java
-Entry /CCRPRCIdxBusinessProcessUtil.java/1.2//-kk/
-Unchanged CCRPRCIdxBusinessProcessUtil.java
-Directory PRCBusinessProcessCreationRules/ccr/process/rule/ad
-/cvsdata/repository/ApplicationContentManager/PRCBusinessProcessCreationRules/ccr/process/rule/ad
-Entry /CCRPRCADLaunchingProcessRule.java/1.5//-kk/
-Unchanged CCRPRCADLaunchingProcessRule.java
-Entry /CCRPRCADProcessRuleManagementByDocumentsRawList.java/1.1//-kk/
-Unchanged CCRPRCADProcessRuleManagementByDocumentsRawList.java
-Directory PRCBusinessProcessCreationRules/ccr/process/rule/b2
-/cvsdata/repository/ApplicationContentManager/PRCBusinessProcessCreationRules/ccr/process/rule/b2
-Entry /CCRPRCB2LaunchingProcessRule.java/1.2//-kk/
-Unchanged CCRPRCB2LaunchingProcessRule.java
-Entry /CCRPRCB2ProcessRuleManagementByDocumentsRawList.java/1.1//-kk/
-Unchanged CCRPRCB2ProcessRuleManagementByDocumentsRawList.java
-Directory PRCCluster
-/cvsdata/repository/ApplicationContentManager/PRCCluster
-Directory PRCCluster/ccr
-/cvsdata/repository/ApplicationContentManager/PRCCluster/ccr
-Directory PRCCluster/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCCluster/ccr/prc
-Directory PRCCluster/ccr/prc/as400
-/cvsdata/repository/ApplicationContentManager/PRCCluster/ccr/prc/as400
-Directory PRCCluster/ccr/prc/as400/batch
-/cvsdata/repository/ApplicationContentManager/PRCCluster/ccr/prc/as400/batch
-Directory PRCCluster/ccr/prc/as400/launcher
-/cvsdata/repository/ApplicationContentManager/PRCCluster/ccr/prc/as400/launcher
-Directory PRCCluster/ccr/prc/as400/manager
-/cvsdata/repository/ApplicationContentManager/PRCCluster/ccr/prc/as400/manager
-Directory PRCCluster/ccr/prc/folder
-/cvsdata/repository/ApplicationContentManager/PRCCluster/ccr/prc/folder
-Directory PRCCluster/ccr/prc/folder/manager
-/cvsdata/repository/ApplicationContentManager/PRCCluster/ccr/prc/folder/manager
-Entry /CCRPrcCache.java/1.1//-kk/
-Unchanged CCRPrcCache.java
-Entry /CCRPrcContratSocieteAGIRSocieteCAPManager.java/1.7///
-Unchanged CCRPrcContratSocieteAGIRSocieteCAPManager.java
-Directory PRCCluster/ccr/prc/folder/node
-/cvsdata/repository/ApplicationContentManager/PRCCluster/ccr/prc/folder/node
-Directory PRCCluster/ccr/prc/folder/node/context
-/cvsdata/repository/ApplicationContentManager/PRCCluster/ccr/prc/folder/node/context
-Entry /CCRPrcContratDocumentNodeContext.java/1.21//-kk/
-Unchanged CCRPrcContratDocumentNodeContext.java
-Entry /CCRPrcDefaultMarchesCedantesNodeContext.java/1.4//-kk/
-Unchanged CCRPrcDefaultMarchesCedantesNodeContext.java
-Entry /CCRPrcDefaultNodeContext.java/1.43///
-Unchanged CCRPrcDefaultNodeContext.java
-Entry /CCRPrcDeletePreferencesContext.java/1.7//-kk/
-Unchanged CCRPrcDeletePreferencesContext.java
-Entry /CCRPrcDocumentsComptabiliteIndexesContext.java/1.2///
-Unchanged CCRPrcDocumentsComptabiliteIndexesContext.java
-Entry /CCRPrcDocumentsContratsIndexesContext.java/1.71///
-Unchanged CCRPrcDocumentsContratsIndexesContext.java
-Entry /CCRPrcDocumentsCourrierGeneralIndexesContext.java/1.1///
-Unchanged CCRPrcDocumentsCourrierGeneralIndexesContext.java
-Entry /CCRPrcDocumentsIndexesContext.java/1.97///
-Unchanged CCRPrcDocumentsIndexesContext.java
-Entry /CCRPrcDocumentsSinistresIndexesContext.java/1.3///
-Unchanged CCRPrcDocumentsSinistresIndexesContext.java
-Entry /CCRPrcDocumentsStatistiquesIndexesContext.java/1.2///
-Unchanged CCRPrcDocumentsStatistiquesIndexesContext.java
-Entry /CCRPrcDossierContratGenerationChoixNodeContext.java/1.3//-kk/
-Unchanged CCRPrcDossierContratGenerationChoixNodeContext.java
-Entry /CCRPrcDossierVisiteCRCondition.java/1.1//-kk/
-Unchanged CCRPrcDossierVisiteCRCondition.java
-Entry /CCRPrcDossierVisiteCRMarcheCondition.java/1.8//-kk/
-Unchanged CCRPrcDossierVisiteCRMarcheCondition.java
-Entry /CCRPrcDossierVisiteCRVisiteCondition.java/1.6//-kk/
-Unchanged CCRPrcDossierVisiteCRVisiteCondition.java
-Entry /CCRPrcDossierVisiteComptabiliteCondition.java/1.3//-kk/
-Unchanged CCRPrcDossierVisiteComptabiliteCondition.java
-Entry /CCRPrcDossierVisiteCondition.java/1.20//-kk/
-Unchanged CCRPrcDossierVisiteCondition.java
-Entry /CCRPrcDossierVisiteContactCondition.java/1.2//-kk/
-Unchanged CCRPrcDossierVisiteContactCondition.java
-Entry /CCRPrcDossierVisiteContractuelCondition.java/1.4//-kk/
-Unchanged CCRPrcDossierVisiteContractuelCondition.java
-Entry /CCRPrcDossierVisiteCriteres.java/1.4//-kk/
-Unchanged CCRPrcDossierVisiteCriteres.java
-Entry /CCRPrcDossierVisiteGenerationChoixContext.java/1.49///
-Unchanged CCRPrcDossierVisiteGenerationChoixContext.java
-Entry /CCRPrcDossierVisiteGenerationWithPreferencesChoixContext.java/1.35//-kk/
-Unchanged CCRPrcDossierVisiteGenerationWithPreferencesChoixContext.java
-Entry /CCRPrcDossierVisiteStatistiquesAGIRCondition.java/1.5//-kk/
-Unchanged CCRPrcDossierVisiteStatistiquesAGIRCondition.java
-Entry /CCRPrcDossierVisiteStatistiquesCondition.java/1.7//-kk/
-Unchanged CCRPrcDossierVisiteStatistiquesCondition.java
-Entry /CCRPrcDossierVisiteStatistiquesEISCondition.java/1.1//-kk/
-Unchanged CCRPrcDossierVisiteStatistiquesEISCondition.java
-Entry /CCRPrcDossierVisiteStatsMarcheCondition.java/1.1//-kk/
-Unchanged CCRPrcDossierVisiteStatsMarcheCondition.java
-Entry /CCRPrcImportPreferencesContext.java/1.10//-kk/
-Unchanged CCRPrcImportPreferencesContext.java
-Entry /CCRPrcIndexTypesContext.java/1.13///
-Unchanged CCRPrcIndexTypesContext.java
-Entry /CCRPrcIntermediaryNodeContext.java/1.26//-kk/
-Unchanged CCRPrcIntermediaryNodeContext.java
-Entry /CCRPrcParametrableDateCondition.java/1.6//-kk/
-Unchanged CCRPrcParametrableDateCondition.java
-Entry /CCRPrcPortailAbstractNodeContext.java/1.110///
-Unchanged CCRPrcPortailAbstractNodeContext.java
-Entry /CCRPrcPortailNodeContextInterface.java/1.6//-kk/
-Unchanged CCRPrcPortailNodeContextInterface.java
-Entry /CCRPrcToDoListDocumentContext.java/1.72///
-Unchanged CCRPrcToDoListDocumentContext.java
-Entry /CCRPrcToDoListSuspendedTasksContext.java/1.3//-kk/
-Unchanged CCRPrcToDoListSuspendedTasksContext.java
-Entry /CCRPrcWizardDocumentsContratsIndexesContext.java/1.31///
-Unchanged CCRPrcWizardDocumentsContratsIndexesContext.java
-Entry /CCRToDoListDocWithWFTypeContext.java/1.2//-kk/
-Unchanged CCRToDoListDocWithWFTypeContext.java
-Directory PRCCluster/ccr/prc/folder/view
-/cvsdata/repository/ApplicationContentManager/PRCCluster/ccr/prc/folder/view
-Entry /CCRPrcContextePreferencesVue.java/1.73///
-Unchanged CCRPrcContextePreferencesVue.java
-Entry /CCRPrcCriteresDossierVisiteContexteDlgVue.java/1.31//-kk/
-Unchanged CCRPrcCriteresDossierVisiteContexteDlgVue.java
-Entry /CCRPrcCriteresIndexationListener.java/1.7///
-Unchanged CCRPrcCriteresIndexationListener.java
-Entry /CCRPrcCriteresInterfaceContexteDlgVue.java/1.18///
-Unchanged CCRPrcCriteresInterfaceContexteDlgVue.java
-Entry /CCRPrcCriteresJournalContexteDlgVue.java/1.8//-kk/
-Unchanged CCRPrcCriteresJournalContexteDlgVue.java
-Entry /CCRPrcDeletePreferencesVue.java/1.13//-kk/
-Unchanged CCRPrcDeletePreferencesVue.java
-Entry /CCRPrcGcaContratVue.java/1.9///
-Unchanged CCRPrcGcaContratVue.java
-Entry /CCRPrcImportPreferencesVue.java/1.31//-kk/
-Unchanged CCRPrcImportPreferencesVue.java
-Entry /CCRPrcIndexationAssureVue.java/1.4//-kk/
-Unchanged CCRPrcIndexationAssureVue.java
-Entry /CCRPrcIndexationDocumentDlg.java/1.3///
-Unchanged CCRPrcIndexationDocumentDlg.java
-Entry /CCRPrcIndexationVue.java/1.68///
-Unchanged CCRPrcIndexationVue.java
-Entry /CCRPrcPreferencesVueContext.java/1.12//-kk/
-Unchanged CCRPrcPreferencesVueContext.java
-Entry /CCRPrcResumeEnteteDocumentVue.java/1.1///
-Unchanged CCRPrcResumeEnteteDocumentVue.java
-Entry /CCRPrcSousIndexationAbstractVue.java/1.1//-kk/
-Unchanged CCRPrcSousIndexationAbstractVue.java
-Entry /CCRPrcSousIndexationComptabiliteVue.java/1.9///
-Unchanged CCRPrcSousIndexationComptabiliteVue.java
-Entry /CCRPrcSousIndexationContratVue.java/1.6///
-Unchanged CCRPrcSousIndexationContratVue.java
-Entry /CCRPrcSousIndexationSinistreVue.java/1.8///
-Unchanged CCRPrcSousIndexationSinistreVue.java
-Entry /CCRPrcSousIndexationSinistreWithWFVue.java/1.6///
-Unchanged CCRPrcSousIndexationSinistreWithWFVue.java
-Entry /CCRPrcVisuEtClassementDocumentVue.java/1.2///
-Unchanged CCRPrcVisuEtClassementDocumentVue.java
-Entry /CCRSaisieEntreDatesFilterPrompter.java/1.6//-kk/
-Unchanged CCRSaisieEntreDatesFilterPrompter.java
-Directory PRCCluster/ccr/prc/proto
-/cvsdata/repository/ApplicationContentManager/PRCCluster/ccr/prc/proto
-Directory PRCCluster/ccr/prc/proto/indexation
-/cvsdata/repository/ApplicationContentManager/PRCCluster/ccr/prc/proto/indexation
-Directory PRCCluster/ccr/prc/proto/indexation/manager
-/cvsdata/repository/ApplicationContentManager/PRCCluster/ccr/prc/proto/indexation/manager
-Directory PRCCluster/ccr/prc/proto/indexation/process
-/cvsdata/repository/ApplicationContentManager/PRCCluster/ccr/prc/proto/indexation/process
-Entry /CCRPrcIntegrationCapCrspMailUtil.java/1.11///
-Unchanged CCRPrcIntegrationCapCrspMailUtil.java
-Entry /CCRPrcIntegrationDocumentLauncher.java/1.74///
-Unchanged CCRPrcIntegrationDocumentLauncher.java
-Entry /CCRPrcPreferencesToolsLauncher.java/1.2//-kk/
-Unchanged CCRPrcPreferencesToolsLauncher.java
-Directory PRCDomino
-/cvsdata/repository/ApplicationContentManager/PRCDomino
-Directory PRCDomino/ccr
-/cvsdata/repository/ApplicationContentManager/PRCDomino/ccr
-Directory PRCDomino/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCDomino/ccr/prc
-Directory PRCDomino/ccr/prc/cap
-/cvsdata/repository/ApplicationContentManager/PRCDomino/ccr/prc/cap
-Directory PRCDomino/ccr/prc/cap/carnadpr
-/cvsdata/repository/ApplicationContentManager/PRCDomino/ccr/prc/cap/carnadpr
-Directory PRCDomino/ccr/prc/cap/carnadpr/manager
-/cvsdata/repository/ApplicationContentManager/PRCDomino/ccr/prc/cap/carnadpr/manager
-Directory PRCDomino/ccr/prc/cap/correspondance
-/cvsdata/repository/ApplicationContentManager/PRCDomino/ccr/prc/cap/correspondance
-Directory PRCDomino/ccr/prc/cap/correspondance/batch
-/cvsdata/repository/ApplicationContentManager/PRCDomino/ccr/prc/cap/correspondance/batch
-Entry /CCRGedCapCrmDateRepriseBch.java/1.3//-kk/
-Unchanged CCRGedCapCrmDateRepriseBch.java
-Entry /CCRGedCapCrmDoublonRepriseBch.java/1.3//-kk/
-Unchanged CCRGedCapCrmDoublonRepriseBch.java
-Entry /CCRGedCapCrvDateRepriseBch.java/1.3//-kk/
-Unchanged CCRGedCapCrvDateRepriseBch.java
-Entry /CCRGedCapCrvDoublonRepriseBch.java/1.3//-kk/
-Unchanged CCRGedCapCrvDoublonRepriseBch.java
-Entry /CCRGedCapReponseCrmDateRepriseBch.java/1.3//-kk/
-Unchanged CCRGedCapReponseCrmDateRepriseBch.java
-Entry /CCRGedCapReponseCrvDateRepriseBch.java/1.4//-kk/
-Unchanged CCRGedCapReponseCrvDateRepriseBch.java
-Entry /CCRPrcDominoCapControleDdeIndexationAbsentDuParcBch.java/1.1//-kk/
-Unchanged CCRPrcDominoCapControleDdeIndexationAbsentDuParcBch.java
-Entry /CCRPrcDominoCapControleIndexationAbstractBch.java/1.14///
-Unchanged CCRPrcDominoCapControleIndexationAbstractBch.java
-Entry /CCRPrcDominoCapControleIndexationBch.java/1.14///
-Unchanged CCRPrcDominoCapControleIndexationBch.java
-Entry /CCRPrcDominoCapControleIndexationEditionBch.java/1.8///
-Unchanged CCRPrcDominoCapControleIndexationEditionBch.java
-Entry /CCRPrcDominoCapControleIndexationPARCBch.java/1.19///
-Unchanged CCRPrcDominoCapControleIndexationPARCBch.java
-Entry /CCRPrcDominoCapIdentificationErreurDocumentCAPAbsentWFBch.java/1.25//-kk/
-Unchanged CCRPrcDominoCapIdentificationErreurDocumentCAPAbsentWFBch.java
-Entry /CCRPrcDominoCapMarquerDocumentCAPCommeNonIndexeBch.java/1.6//-kk/
-Unchanged CCRPrcDominoCapMarquerDocumentCAPCommeNonIndexeBch.java
-Entry /CCRPrcDominoCapNotificationErreurDocumentCAPAbsentWFBch.java/1.2//-kk/
-Unchanged CCRPrcDominoCapNotificationErreurDocumentCAPAbsentWFBch.java
-Entry /CCRPrcDominoCapUpdateCompteRenduAbstractBch.java/1.12///
-Unchanged CCRPrcDominoCapUpdateCompteRenduAbstractBch.java
-Entry /CCRPrcDominoCapUpdateCompteRenduMarcheBch.java/1.12///
-Unchanged CCRPrcDominoCapUpdateCompteRenduMarcheBch.java
-Entry /CCRPrcDominoCapUpdateCompteRenduVisiteBch.java/1.15///
-Unchanged CCRPrcDominoCapUpdateCompteRenduVisiteBch.java
-Entry /CCRPrcDominoCapUpdateReponseCompteRenduAbstractBch.java/1.13///
-Unchanged CCRPrcDominoCapUpdateReponseCompteRenduAbstractBch.java
-Entry /CCRPrcDominoCapUpdateReponseCompteRenduMarcheBch.java/1.4///
-Unchanged CCRPrcDominoCapUpdateReponseCompteRenduMarcheBch.java
-Entry /CCRPrcDominoCapUpdateReponseCompteRenduVisiteBch.java/1.3///
-Unchanged CCRPrcDominoCapUpdateReponseCompteRenduVisiteBch.java
-Entry /CCRPrcNewDominoCapUpdateCompteRenduAbstractBch.java/1.2//-kk/
-Unchanged CCRPrcNewDominoCapUpdateCompteRenduAbstractBch.java
-Entry /CCRPrcNewDominoCapUpdateCompteRenduMarcheBch.java/1.4//-kk/
-Unchanged CCRPrcNewDominoCapUpdateCompteRenduMarcheBch.java
-Entry /CCRPrcNewDominoCapUpdateCompteRenduVisiteBch.java/1.2//-kk/
-Unchanged CCRPrcNewDominoCapUpdateCompteRenduVisiteBch.java
-Entry /CCRPrcNewDominoCapUpdateReponseCompteRenduAbstractBch.java/1.2//-kk/
-Unchanged CCRPrcNewDominoCapUpdateReponseCompteRenduAbstractBch.java
-Entry /CCRPrcNewDominoCapUpdateReponseCompteRenduMarcheBch.java/1.4//-kk/
-Unchanged CCRPrcNewDominoCapUpdateReponseCompteRenduMarcheBch.java
-Entry /CCRPrcNewDominoCapUpdateReponseCompteRenduVisiteBch.java/1.4//-kk/
-Unchanged CCRPrcNewDominoCapUpdateReponseCompteRenduVisiteBch.java
-Directory PRCDomino/ccr/prc/cap/correspondance/manager
-/cvsdata/repository/ApplicationContentManager/PRCDomino/ccr/prc/cap/correspondance/manager
-Directory PRCDomino/ccr/prc/cap/cotation
-/cvsdata/repository/ApplicationContentManager/PRCDomino/ccr/prc/cap/cotation
-Directory PRCDomino/ccr/prc/cap/cotation/adapter
-/cvsdata/repository/ApplicationContentManager/PRCDomino/ccr/prc/cap/cotation/adapter
-Entry /CCRPrcCotationTypeAdapter.java/1.2///
-Unchanged CCRPrcCotationTypeAdapter.java
-Directory PRCDomino/ccr/prc/cap/cotation/batch
-/cvsdata/repository/ApplicationContentManager/PRCDomino/ccr/prc/cap/cotation/batch
-Entry /CCRPrcDominoCapCotationUpdateAbstractBch.java/1.10///
-Unchanged CCRPrcDominoCapCotationUpdateAbstractBch.java
-Entry /CCRPrcDominoCapCotationUpdateStpBch.java/1.3///
-Unchanged CCRPrcDominoCapCotationUpdateStpBch.java
-Entry /CCRPrcDominoCapCotationUpdateXlcBch.java/1.3///
-Unchanged CCRPrcDominoCapCotationUpdateXlcBch.java
-Entry /CCRPrcDominoCapCotationUpdateXllBch.java/1.3///
-Unchanged CCRPrcDominoCapCotationUpdateXllBch.java
-Directory PRCDomino/ccr/prc/cap/cotation/manager
-/cvsdata/repository/ApplicationContentManager/PRCDomino/ccr/prc/cap/cotation/manager
-Directory PRCDomino/ccr/prc/domino
-/cvsdata/repository/ApplicationContentManager/PRCDomino/ccr/prc/domino
-Directory PRCDomino/ccr/prc/domino/batch
-/cvsdata/repository/ApplicationContentManager/PRCDomino/ccr/prc/domino/batch
-Entry /CCRCapDBImportCompaniesFromDominoBch.java/1.17//-kk/
-Unchanged CCRCapDBImportCompaniesFromDominoBch.java
-Entry /CCRCapDBImportCompaniesFromDominoIncrementalBch.java/1.2//-kk/
-Unchanged CCRCapDBImportCompaniesFromDominoIncrementalBch.java
-Entry /CCRPrcDominoPopulateFromDocumentsAbstractBch.java/1.29///
-Unchanged CCRPrcDominoPopulateFromDocumentsAbstractBch.java
-Entry /CCRPrcNewDominoPopulateFromDocumentsAbstractBch.java/1.2//-kk/
-Unchanged CCRPrcNewDominoPopulateFromDocumentsAbstractBch.java
-Entry /CCRRefDBImportAnnuairePersonnesFromDominoBch.java/1.11//-kk/
-Unchanged CCRRefDBImportAnnuairePersonnesFromDominoBch.java
-Entry /CCRRefDBMarquageStatutAnnuairePersonnesFromDominoBch.java/1.1//-kk/
-Unchanged CCRRefDBMarquageStatutAnnuairePersonnesFromDominoBch.java
-Directory PRCDomino/ccr/prc/generique
-/cvsdata/repository/ApplicationContentManager/PRCDomino/ccr/prc/generique
-Directory PRCDomino/ccr/prc/generique/manager
-/cvsdata/repository/ApplicationContentManager/PRCDomino/ccr/prc/generique/manager
-Directory PRCDossierAssure
-/cvsdata/repository/ApplicationContentManager/PRCDossierAssure
-Directory PRCDossierAssure/ccr
-/cvsdata/repository/ApplicationContentManager/PRCDossierAssure/ccr
-Directory PRCDossierAssure/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCDossierAssure/ccr/prc
-Directory PRCDossierAssure/ccr/prc/portail
-/cvsdata/repository/ApplicationContentManager/PRCDossierAssure/ccr/prc/portail
-Directory PRCDossierAssure/ccr/prc/portail/assure
-/cvsdata/repository/ApplicationContentManager/PRCDossierAssure/ccr/prc/portail/assure
-Directory PRCDossierAssure/ccr/prc/portail/assure/vue
-/cvsdata/repository/ApplicationContentManager/PRCDossierAssure/ccr/prc/portail/assure/vue
-Entry /CCRPrcBasicDossierAssureBusinessVue.java/1.1//-kk/
-Unchanged CCRPrcBasicDossierAssureBusinessVue.java
-Entry /CCRPrcDossierAssureBusinessSplitVue.java/1.1//-kk/
-Unchanged CCRPrcDossierAssureBusinessSplitVue.java
-Entry /CCRPrcDossierAssureNavigationVue.java/1.1//-kk/
-Unchanged CCRPrcDossierAssureNavigationVue.java
-Entry /CCRPrcThreePartPortailAssureInfo.java/1.1//-kk/
-Unchanged CCRPrcThreePartPortailAssureInfo.java
-Directory PRCDossierAssure/ccr/prc/portail/vue
-/cvsdata/repository/ApplicationContentManager/PRCDossierAssure/ccr/prc/portail/vue
-Entry /CCRPrcThreePartDossierAssureVue.java/1.1//-kk/
-Unchanged CCRPrcThreePartDossierAssureVue.java
-Directory PRCDossierContrat
-/cvsdata/repository/ApplicationContentManager/PRCDossierContrat
-Directory PRCDossierContrat/ccr
-/cvsdata/repository/ApplicationContentManager/PRCDossierContrat/ccr
-Directory PRCDossierContrat/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCDossierContrat/ccr/prc
-Directory PRCDossierContrat/ccr/prc/contrat
-/cvsdata/repository/ApplicationContentManager/PRCDossierContrat/ccr/prc/contrat
-Directory PRCDossierContrat/ccr/prc/contrat/suivi
-/cvsdata/repository/ApplicationContentManager/PRCDossierContrat/ccr/prc/contrat/suivi
-Directory PRCDossierContrat/ccr/prc/contrat/suivi/context
-/cvsdata/repository/ApplicationContentManager/PRCDossierContrat/ccr/prc/contrat/suivi/context
-Entry /CCRPrcSuiviContratNavigatorContext.java/1.1//-kk/
-Unchanged CCRPrcSuiviContratNavigatorContext.java
-Directory PRCDossierContrat/ccr/prc/contrat/suivi/vue
-/cvsdata/repository/ApplicationContentManager/PRCDossierContrat/ccr/prc/contrat/suivi/vue
-Entry /CCRPrcSuiviContratALireVue.java/1.8//-kk/
-Unchanged CCRPrcSuiviContratALireVue.java
-Entry /CCRPrcSuiviContratASignerVue.java/1.1//-kk/
-Unchanged CCRPrcSuiviContratASignerVue.java
-Entry /CCRPrcSuiviContratATraiterVue.java/1.1//-kk/
-Unchanged CCRPrcSuiviContratATraiterVue.java
-Entry /CCRPrcSuiviContratNavigatorVue.java/1.20//-kk/
-Unchanged CCRPrcSuiviContratNavigatorVue.java
-Entry /CCRPrcSuiviContratSigneVue.java/1.2//-kk/
-Unchanged CCRPrcSuiviContratSigneVue.java
-Directory PRCDossierContrat/ccr/prc/portail
-/cvsdata/repository/ApplicationContentManager/PRCDossierContrat/ccr/prc/portail
-Directory PRCDossierContrat/ccr/prc/portail/contrat
-/cvsdata/repository/ApplicationContentManager/PRCDossierContrat/ccr/prc/portail/contrat
-Directory PRCDossierContrat/ccr/prc/portail/contrat/manager
-/cvsdata/repository/ApplicationContentManager/PRCDossierContrat/ccr/prc/portail/contrat/manager
-Entry /CCRPrcVstDossierContratManager.java/1.20///
-Unchanged CCRPrcVstDossierContratManager.java
-Directory PRCDossierContrat/ccr/prc/portail/contrat/tree
-/cvsdata/repository/ApplicationContentManager/PRCDossierContrat/ccr/prc/portail/contrat/tree
-Entry /CCRPrcDossierContratTree.java/1.29///
-Unchanged CCRPrcDossierContratTree.java
-Directory PRCDossierContrat/ccr/prc/portail/contrat/util
-/cvsdata/repository/ApplicationContentManager/PRCDossierContrat/ccr/prc/portail/contrat/util
-Entry /CCRPrcDossierContratPDFGenerator.java/1.3///
-Unchanged CCRPrcDossierContratPDFGenerator.java
-Directory PRCDossierContrat/ccr/prc/portail/contrat/vue
-/cvsdata/repository/ApplicationContentManager/PRCDossierContrat/ccr/prc/portail/contrat/vue
-Entry /CCRPrcBasicDossierContratBusinessVue.java/1.6//-kk/
-Unchanged CCRPrcBasicDossierContratBusinessVue.java
-Entry /CCRPrcContratDocumentsVue.java/1.85//-kk/
-Unchanged CCRPrcContratDocumentsVue.java
-Entry /CCRPrcDossierContratGenerationChoixVue.java/1.27///
-Unchanged CCRPrcDossierContratGenerationChoixVue.java
-Entry /CCRPrcDossierContratNavigationVue.java/1.5//-kk/
-Unchanged CCRPrcDossierContratNavigationVue.java
-Entry /CCRPrcPortailContratContext.java/1.6//-kk/
-Unchanged CCRPrcPortailContratContext.java
-Entry /CCRPrcThreePartPortailContratInfo.java/1.9//-kk/
-Unchanged CCRPrcThreePartPortailContratInfo.java
-Directory PRCDossierContrat/ccr/prc/portail/societe_agir
-/cvsdata/repository/ApplicationContentManager/PRCDossierContrat/ccr/prc/portail/societe_agir
-Directory PRCDossierContrat/ccr/prc/portail/societe_agir/vue
-/cvsdata/repository/ApplicationContentManager/PRCDossierContrat/ccr/prc/portail/societe_agir/vue
-Directory PRCDossierFacultatives
-/cvsdata/repository/ApplicationContentManager/PRCDossierFacultatives
-Directory PRCDossierFacultatives/ccr
-/cvsdata/repository/ApplicationContentManager/PRCDossierFacultatives/ccr
-Directory PRCDossierFacultatives/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCDossierFacultatives/ccr/prc
-Directory PRCDossierFacultatives/ccr/prc/portail
-/cvsdata/repository/ApplicationContentManager/PRCDossierFacultatives/ccr/prc/portail
-Directory PRCDossierFacultatives/ccr/prc/portail/facs
-/cvsdata/repository/ApplicationContentManager/PRCDossierFacultatives/ccr/prc/portail/facs
-Directory PRCDossierFacultatives/ccr/prc/portail/facs/context
-/cvsdata/repository/ApplicationContentManager/PRCDossierFacultatives/ccr/prc/portail/facs/context
-Entry /CCRPrcPortailFacultativesContext.java/1.22///
-Unchanged CCRPrcPortailFacultativesContext.java
-Entry /CCRPrcPortailFacultativesNodeContext.java/1.55///
-Unchanged CCRPrcPortailFacultativesNodeContext.java
-Directory PRCDossierFacultatives/ccr/prc/portail/facs/manager
-/cvsdata/repository/ApplicationContentManager/PRCDossierFacultatives/ccr/prc/portail/facs/manager
-Directory PRCDossierFacultatives/ccr/prc/portail/facs/panel
-/cvsdata/repository/ApplicationContentManager/PRCDossierFacultatives/ccr/prc/portail/facs/panel
-Directory PRCDossierFacultatives/ccr/prc/portail/facs/vue
-/cvsdata/repository/ApplicationContentManager/PRCDossierFacultatives/ccr/prc/portail/facs/vue
-Entry /CCRPrcAbstractPortailFacsDetailsPartTreeTable.java/1.38///
-Unchanged CCRPrcAbstractPortailFacsDetailsPartTreeTable.java
-Entry /CCRPrcAssureDocumentsVue.java/1.27///
-Unchanged CCRPrcAssureDocumentsVue.java
-Entry /CCRPrcPortailFacDetailsPartAssureNavigationVue.java/1.2//-kk/
-Unchanged CCRPrcPortailFacDetailsPartAssureNavigationVue.java
-Entry /CCRPrcPortailFacsDetailsPartAssureVue.java/1.39///
-Unchanged CCRPrcPortailFacsDetailsPartAssureVue.java
-Entry /CCRPrcPortailFacsDetailsPartComptaVue.java/1.24///
-Unchanged CCRPrcPortailFacsDetailsPartComptaVue.java
-Entry /CCRPrcPortailFacsDetailsPartCompteRenduVue.java/1.17///
-Unchanged CCRPrcPortailFacsDetailsPartCompteRenduVue.java
-Entry /CCRPrcPortailFacsDetailsPartContratVue.java/1.26///
-Unchanged CCRPrcPortailFacsDetailsPartContratVue.java
-Entry /CCRPrcPortailFacsDetailsPartCorrespondanceVue.java/1.25///
-Unchanged CCRPrcPortailFacsDetailsPartCorrespondanceVue.java
-Entry /CCRPrcPortailFacsDetailsPartSinistreVue.java/1.19///
-Unchanged CCRPrcPortailFacsDetailsPartSinistreVue.java
-Entry /CCRPrcPortailFacsDetailsPartStatVue.java/1.23///
-Unchanged CCRPrcPortailFacsDetailsPartStatVue.java
-Entry /CCRPrcPortailFacultativesBusinessSplitVue.java/1.1//-kk/
-Unchanged CCRPrcPortailFacultativesBusinessSplitVue.java
-Entry /CCRPrcThreePartPortailFacultativesInfo.java/1.9///
-Unchanged CCRPrcThreePartPortailFacultativesInfo.java
-Directory PRCDossierSociete
-/cvsdata/repository/ApplicationContentManager/PRCDossierSociete
-Directory PRCDossierSociete/ccr
-/cvsdata/repository/ApplicationContentManager/PRCDossierSociete/ccr
-Directory PRCDossierSociete/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCDossierSociete/ccr/prc
-Directory PRCDossierSociete/ccr/prc/portail
-/cvsdata/repository/ApplicationContentManager/PRCDossierSociete/ccr/prc/portail
-Directory PRCDossierSociete/ccr/prc/portail/societe
-/cvsdata/repository/ApplicationContentManager/PRCDossierSociete/ccr/prc/portail/societe
-Directory PRCDossierSociete/ccr/prc/portail/societe/adapter
-/cvsdata/repository/ApplicationContentManager/PRCDossierSociete/ccr/prc/portail/societe/adapter
-Entry /CCRPrcActionSwitcherAdapter.java/1.5///
-Unchanged CCRPrcActionSwitcherAdapter.java
-Entry /CCRPrcCorrespondanceTypeAdapter.java/1.6//-kk/
-Unchanged CCRPrcCorrespondanceTypeAdapter.java
-Entry /CCRPrcUrlAdapter.java/1.7///
-Unchanged CCRPrcUrlAdapter.java
-Directory PRCDossierSociete/ccr/prc/portail/societe/context
-/cvsdata/repository/ApplicationContentManager/PRCDossierSociete/ccr/prc/portail/societe/context
-Entry /CCRPrcPortailSocieteContext.java/1.22///
-Unchanged CCRPrcPortailSocieteContext.java
-Entry /CCRPrcPortailSocieteNodeContext.java/1.85///
-Unchanged CCRPrcPortailSocieteNodeContext.java
-Directory PRCDossierSociete/ccr/prc/portail/societe/listener
-/cvsdata/repository/ApplicationContentManager/PRCDossierSociete/ccr/prc/portail/societe/listener
-Directory PRCDossierSociete/ccr/prc/portail/societe/manager
-/cvsdata/repository/ApplicationContentManager/PRCDossierSociete/ccr/prc/portail/societe/manager
-Directory PRCDossierSociete/ccr/prc/portail/societe/panel
-/cvsdata/repository/ApplicationContentManager/PRCDossierSociete/ccr/prc/portail/societe/panel
-Entry /CCRDropLabel.java/1.4///
-Unchanged CCRDropLabel.java
-Entry /CCRNodeToLabelDragAndDropEvent.java/1.1///
-Unchanged CCRNodeToLabelDragAndDropEvent.java
-Entry /CCRPrcContactsPanel.java/1.8///
-Unchanged CCRPrcContactsPanel.java
-Entry /CCRPrcSelectionMarcheCedanteAssuresPanel.java/1.46//-kk/
-Unchanged CCRPrcSelectionMarcheCedanteAssuresPanel.java
-Directory PRCDossierSociete/ccr/prc/portail/societe/renderer
-/cvsdata/repository/ApplicationContentManager/PRCDossierSociete/ccr/prc/portail/societe/renderer
-Directory PRCDossierSociete/ccr/prc/portail/societe/tree
-/cvsdata/repository/ApplicationContentManager/PRCDossierSociete/ccr/prc/portail/societe/tree
-Entry /CCRPrcDocWithAttachmentsNode.java/1.2//-kk/
-Unchanged CCRPrcDocWithAttachmentsNode.java
-Entry /CCRPrcDossierVisiteMarcheTree.java/1.24///
-Unchanged CCRPrcDossierVisiteMarcheTree.java
-Entry /CCRPrcDossierVisiteSocieteTree.java/1.28///
-Unchanged CCRPrcDossierVisiteSocieteTree.java
-Entry /CCRPrcLimitedCountExpandedNode.java/1.6//-kk/
-Unchanged CCRPrcLimitedCountExpandedNode.java
-Directory PRCDossierSociete/ccr/prc/portail/societe/util
-/cvsdata/repository/ApplicationContentManager/PRCDossierSociete/ccr/prc/portail/societe/util
-Entry /CCRIPrcMarcheCedanteParametrable.java/1.4///
-Unchanged CCRIPrcMarcheCedanteParametrable.java
-Entry /CCRPrcDossierVisitePDFGenerator.java/1.4///
-Unchanged CCRPrcDossierVisitePDFGenerator.java
-Directory PRCDossierSociete/ccr/prc/portail/societe/viewer
-/cvsdata/repository/ApplicationContentManager/PRCDossierSociete/ccr/prc/portail/societe/viewer
-Entry /CCRPrcGenericFactory.java/1.20///
-Unchanged CCRPrcGenericFactory.java
-Directory PRCDossierSociete/ccr/prc/portail/societe/vue
-/cvsdata/repository/ApplicationContentManager/PRCDossierSociete/ccr/prc/portail/societe/vue
-Entry /CCRPrcAbstractPortailSocDetailsPartTreeTable.java/1.42///
-Unchanged CCRPrcAbstractPortailSocDetailsPartTreeTable.java
-Entry /CCRPrcBusinessSplitVue.java/1.13//-kk/
-Unchanged CCRPrcBusinessSplitVue.java
-Entry /CCRPrcDossierContratsBusinessSplitVue.java/1.3//-kk/
-Unchanged CCRPrcDossierContratsBusinessSplitVue.java
-Entry /CCRPrcDossierSocietesBusinessSplitVue.java/1.3//-kk/
-Unchanged CCRPrcDossierSocietesBusinessSplitVue.java
-Entry /CCRPrcDossierVisiteGenerationChoixVue.java/1.37///
-Unchanged CCRPrcDossierVisiteGenerationChoixVue.java
-Entry /CCRPrcJournalisationPortailSocDetailsPartSocieteVue.java/1.2//-kk/
-Unchanged CCRPrcJournalisationPortailSocDetailsPartSocieteVue.java
-Entry /CCRPrcPortailSocDetailsPartComptaVue.java/1.28///
-Unchanged CCRPrcPortailSocDetailsPartComptaVue.java
-Entry /CCRPrcPortailSocDetailsPartCompteRenduVue.java/1.20///
-Unchanged CCRPrcPortailSocDetailsPartCompteRenduVue.java
-Entry /CCRPrcPortailSocDetailsPartContactTable.java/1.4///
-Unchanged CCRPrcPortailSocDetailsPartContactTable.java
-Entry /CCRPrcPortailSocDetailsPartContratNavigationVue.java/1.3//-kk/
-Unchanged CCRPrcPortailSocDetailsPartContratNavigationVue.java
-Entry /CCRPrcPortailSocDetailsPartContratVue.java/1.31///
-Unchanged CCRPrcPortailSocDetailsPartContratVue.java
-Entry /CCRPrcPortailSocDetailsPartCorrespondanceVue.java/1.24///
-Unchanged CCRPrcPortailSocDetailsPartCorrespondanceVue.java
-Entry /CCRPrcPortailSocDetailsPartCotationVue.java/1.31//-kk/
-Unchanged CCRPrcPortailSocDetailsPartCotationVue.java
-Entry /CCRPrcPortailSocDetailsPartCourrierGeneralVue.java/1.18///
-Unchanged CCRPrcPortailSocDetailsPartCourrierGeneralVue.java
-Entry /CCRPrcPortailSocDetailsPartDossierVisiteVue.java/1.44///
-Unchanged CCRPrcPortailSocDetailsPartDossierVisiteVue.java
-Entry /CCRPrcPortailSocDetailsPartSinistreVue.java/1.22///
-Unchanged CCRPrcPortailSocDetailsPartSinistreVue.java
-Entry /CCRPrcPortailSocDetailsPartSocieteNavigationVue.java/1.12//-kk/
-Unchanged CCRPrcPortailSocDetailsPartSocieteNavigationVue.java
-Entry /CCRPrcPortailSocDetailsPartSocieteVue.java/1.27///
-Unchanged CCRPrcPortailSocDetailsPartSocieteVue.java
-Entry /CCRPrcPortailSocDetailsPartStatVue.java/1.26///
-Unchanged CCRPrcPortailSocDetailsPartStatVue.java
-Entry /CCRPrcPortailSocietesBusinessSplitVue.java/1.2//-kk/
-Unchanged CCRPrcPortailSocietesBusinessSplitVue.java
-Entry /CCRPrcPortailStatsMarcheDetailsPartVue.java/1.1//-kk/
-Unchanged CCRPrcPortailStatsMarcheDetailsPartVue.java
-Entry /CCRPrcRechCompanyView.java/1.12///
-Unchanged CCRPrcRechCompanyView.java
-Entry /CCRPrcThreePartDossierSocieteVue.java/1.4//-kk/
-Unchanged CCRPrcThreePartDossierSocieteVue.java
-Entry /CCRPrcThreePartPortailSocieteInfo.java/1.17///
-Unchanged CCRPrcThreePartPortailSocieteInfo.java
-Directory PRCDossierSocieteAGIR
-/cvsdata/repository/ApplicationContentManager/PRCDossierSocieteAGIR
-Directory PRCDossierSocieteAGIR/ccr
-/cvsdata/repository/ApplicationContentManager/PRCDossierSocieteAGIR/ccr
-Directory PRCDossierSocieteAGIR/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCDossierSocieteAGIR/ccr/prc
-Directory PRCDossierSocieteAGIR/ccr/prc/portail
-/cvsdata/repository/ApplicationContentManager/PRCDossierSocieteAGIR/ccr/prc/portail
-Directory PRCDossierSocieteAGIR/ccr/prc/portail/societe
-/cvsdata/repository/ApplicationContentManager/PRCDossierSocieteAGIR/ccr/prc/portail/societe
-Directory PRCDossierSocieteAGIR/ccr/prc/portail/societe/agir
-/cvsdata/repository/ApplicationContentManager/PRCDossierSocieteAGIR/ccr/prc/portail/societe/agir
-Directory PRCDossierSocieteAGIR/ccr/prc/portail/societe/agir/vue
-/cvsdata/repository/ApplicationContentManager/PRCDossierSocieteAGIR/ccr/prc/portail/societe/agir/vue
-Entry /CCRPrcBasicDossierSocieteAGIRBusinessVue.java/1.6//-kk/
-Unchanged CCRPrcBasicDossierSocieteAGIRBusinessVue.java
-Entry /CCRPrcDossierSocieteAGIRGenerationChoixVue.java/1.2//-kk/
-Unchanged CCRPrcDossierSocieteAGIRGenerationChoixVue.java
-Entry /CCRPrcDossierSocieteAGIRNavigationVue.java/1.3//-kk/
-Unchanged CCRPrcDossierSocieteAGIRNavigationVue.java
-Entry /CCRPrcPortailSocieteAGIRContext.java/1.5//-kk/
-Unchanged CCRPrcPortailSocieteAGIRContext.java
-Entry /CCRPrcPortailSocieteAGIRNodeContext.java/1.10//-kk/
-Unchanged CCRPrcPortailSocieteAGIRNodeContext.java
-Entry /CCRPrcSocieteAGIRDocumentContext.java/1.7//-kk/
-Unchanged CCRPrcSocieteAGIRDocumentContext.java
-Entry /CCRPrcThreePartPortailSocieteAGIRInfo.java/1.10//-kk/
-Unchanged CCRPrcThreePartPortailSocieteAGIRInfo.java
-Directory PRCEISDonneesContractuelles
-/cvsdata/repository/ApplicationContentManager/PRCEISDonneesContractuelles
-Directory PRCEISDonneesContractuelles/ccr
-/cvsdata/repository/ApplicationContentManager/PRCEISDonneesContractuelles/ccr
-Directory PRCEISDonneesContractuelles/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCEISDonneesContractuelles/ccr/prc
-Directory PRCEISDonneesContractuelles/ccr/prc/dco
-/cvsdata/repository/ApplicationContentManager/PRCEISDonneesContractuelles/ccr/prc/dco
-Directory PRCEISDonneesContractuelles/ccr/prc/dco/batch
-/cvsdata/repository/ApplicationContentManager/PRCEISDonneesContractuelles/ccr/prc/dco/batch
-Entry /CCRPrcDcoUpdateEtatsMarcheBch.java/1.5///
-Unchanged CCRPrcDcoUpdateEtatsMarcheBch.java
-Entry /CCRPrcDcoUpdateEtatsSocieteBch.java/1.3///
-Unchanged CCRPrcDcoUpdateEtatsSocieteBch.java
-Directory PRCEISDonneesContractuelles/ccr/prc/dco/manager
-/cvsdata/repository/ApplicationContentManager/PRCEISDonneesContractuelles/ccr/prc/dco/manager
-Directory PRCExploitation
-/cvsdata/repository/ApplicationContentManager/PRCExploitation
-Directory PRCExploitation/ccr
-/cvsdata/repository/ApplicationContentManager/PRCExploitation/ccr
-Directory PRCExploitation/ccr/pgm
-/cvsdata/repository/ApplicationContentManager/PRCExploitation/ccr/pgm
-Directory PRCExploitation/ccr/pgm/expl
-/cvsdata/repository/ApplicationContentManager/PRCExploitation/ccr/pgm/expl
-Directory PRCExploitation/ccr/pgm/expl/nat
-/cvsdata/repository/ApplicationContentManager/PRCExploitation/ccr/pgm/expl/nat
-Directory PRCExploitation/ccr/pgm/expl/prc
-/cvsdata/repository/ApplicationContentManager/PRCExploitation/ccr/pgm/expl/prc
-Entry /CCRAlimenterVolumetrieCourrierExcelPgmExpl.java/1.2//-kk/
-Unchanged CCRAlimenterVolumetrieCourrierExcelPgmExpl.java
-Entry /CCRCapDBImportCompaniesFromDominoPgmExpl.java/1.1//-kk/
-Unchanged CCRCapDBImportCompaniesFromDominoPgmExpl.java
-Entry /CCRPrcCreationPlanPgmExpl.java/1.2///
-Unchanged CCRPrcCreationPlanPgmExpl.java
-Entry /CCRPrcEpurationHistoriqueCachePgmExpl.java/1.1//-kk/
-Unchanged CCRPrcEpurationHistoriqueCachePgmExpl.java
-Entry /CCRPrcProgrammeExploitation.java/1.3///
-Unchanged CCRPrcProgrammeExploitation.java
-Entry /CCRPrcUpdateInvalidIndexPgmExpl.java/1.1//-kk/
-Unchanged CCRPrcUpdateInvalidIndexPgmExpl.java
-Entry /CCRRefDBImportAnnuairePersonnesFromDominoPgmExpl.java/1.2//-kk/
-Unchanged CCRRefDBImportAnnuairePersonnesFromDominoPgmExpl.java
-Entry /XPrcGeneratorPlansDailyAuto.java/1.2///
-Unchanged XPrcGeneratorPlansDailyAuto.java
-Entry /XPrcGeneratorPlansMonthlyAuto.java/1.1///
-Unchanged XPrcGeneratorPlansMonthlyAuto.java
-Directory PRCExploitation/ccr/pgm/expl/prc/cap
-/cvsdata/repository/ApplicationContentManager/PRCExploitation/ccr/pgm/expl/prc/cap
-Directory PRCExploitation/ccr/pgm/expl/prc/cap/correspondance
-/cvsdata/repository/ApplicationContentManager/PRCExploitation/ccr/pgm/expl/prc/cap/correspondance
-Entry /CCRGedCapCrspPdfControlPgmExpl.java/1.4//-kk/
-Unchanged CCRGedCapCrspPdfControlPgmExpl.java
-Entry /CCRPrcCapErreurDocumentCAPAbsentWFPgmExpl.java/1.4//-kk/
-Unchanged CCRPrcCapErreurDocumentCAPAbsentWFPgmExpl.java
-Entry /CCRPrcCapMailControlDoublonPgmExpl.java/1.2//-kk/
-Unchanged CCRPrcCapMailControlDoublonPgmExpl.java
-Entry /CCRPrcCapMailFusionnerDoublonPgmExpl.java/1.2//-kk/
-Unchanged CCRPrcCapMailFusionnerDoublonPgmExpl.java
-Entry /CCRPrcCapMailRepriseContenuManquantPgmExpl.java/1.1//-kk/
-Unchanged CCRPrcCapMailRepriseContenuManquantPgmExpl.java
-Entry /CCRPrcCorrespondanceMarquerEnSuppressionDoublonsCRDPgmExpl.java/1.5///
-Unchanged CCRPrcCorrespondanceMarquerEnSuppressionDoublonsCRDPgmExpl.java
-Entry /CCRPrcDominoCapMailControleIndexationPgmExpl.java/1.15///
-Unchanged CCRPrcDominoCapMailControleIndexationPgmExpl.java
-Entry /CCRPrcMailFusionnerSocieteCapPgmExpl.java/1.2//-kk/
-Unchanged CCRPrcMailFusionnerSocieteCapPgmExpl.java
-Entry /CCRPrcNewUpdateCrspCompteRenduMarchePgmExpl.java/1.4//-kk/
-Unchanged CCRPrcNewUpdateCrspCompteRenduMarchePgmExpl.java
-Entry /CCRPrcNewUpdateCrspCompteRenduVisitePgmExpl.java/1.3//-kk/
-Unchanged CCRPrcNewUpdateCrspCompteRenduVisitePgmExpl.java
-Entry /CCRPrcNewUpdateCrspReponseCompteRenduMarchePgmExpl.java/1.4//-kk/
-Unchanged CCRPrcNewUpdateCrspReponseCompteRenduMarchePgmExpl.java
-Entry /CCRPrcNewUpdateCrspReponseCompteRenduVisitePgmExpl.java/1.3//-kk/
-Unchanged CCRPrcNewUpdateCrspReponseCompteRenduVisitePgmExpl.java
-Entry /CCRPrcUpdateCrspCompteRenduMarchePgmExpl.java/1.7///
-Unchanged CCRPrcUpdateCrspCompteRenduMarchePgmExpl.java
-Entry /CCRPrcUpdateCrspCompteRenduVisitePgmExpl.java/1.7///
-Unchanged CCRPrcUpdateCrspCompteRenduVisitePgmExpl.java
-Entry /CCRPrcUpdateCrspReponseCompteRenduMarchePgmExpl.java/1.7///
-Unchanged CCRPrcUpdateCrspReponseCompteRenduMarchePgmExpl.java
-Entry /CCRPrcUpdateCrspReponseCompteRenduVisitePgmExpl.java/1.8///
-Unchanged CCRPrcUpdateCrspReponseCompteRenduVisitePgmExpl.java
-Directory PRCExploitation/ccr/pgm/expl/prc/cap/cotation
-/cvsdata/repository/ApplicationContentManager/PRCExploitation/ccr/pgm/expl/prc/cap/cotation
-Entry /CCRPrcUpdateCotationCotationPgmExpl.java/1.8///
-Unchanged CCRPrcUpdateCotationCotationPgmExpl.java
-Directory PRCExploitation/ccr/pgm/expl/prc/cpt
-/cvsdata/repository/ApplicationContentManager/PRCExploitation/ccr/pgm/expl/prc/cpt
-Entry /CCRPrcCptUpdateComptesNonRecusPgmExpl.java/1.8///
-Unchanged CCRPrcCptUpdateComptesNonRecusPgmExpl.java
-Entry /CCRPrcCptUpdateFluxTresoreriePgmExpl.java/1.7///
-Unchanged CCRPrcCptUpdateFluxTresoreriePgmExpl.java
-Entry /CCRPrcCptUpdateOutstandingBalancePgmExpl.java/1.9///
-Unchanged CCRPrcCptUpdateOutstandingBalancePgmExpl.java
-Directory PRCExploitation/ccr/pgm/expl/prc/dco
-/cvsdata/repository/ApplicationContentManager/PRCExploitation/ccr/pgm/expl/prc/dco
-Entry /CCRPrcDcoUpdateSyntheseCompanyPgmExpl.java/1.8///
-Unchanged CCRPrcDcoUpdateSyntheseCompanyPgmExpl.java
-Entry /CCRPrcDcoUpdateSyntheseMarchePgmExpl.java/1.8///
-Unchanged CCRPrcDcoUpdateSyntheseMarchePgmExpl.java
-Directory PRCExploitation/ccr/pgm/expl/prc/gca
-/cvsdata/repository/ApplicationContentManager/PRCExploitation/ccr/pgm/expl/prc/gca
-Entry /CCRPrcGcaPaysAssuresCacheBuildPgmExpl.java/1.1///
-Unchanged CCRPrcGcaPaysAssuresCacheBuildPgmExpl.java
-Entry /CCRPrcGcaUpdateEtatFicheAnalyseCompanyPgmExpl.java/1.18///
-Unchanged CCRPrcGcaUpdateEtatFicheAnalyseCompanyPgmExpl.java
-Entry /CCRPrcGcaUpdateEtatFicheProgrammeCompanyPgmExpl.java/1.16///
-Unchanged CCRPrcGcaUpdateEtatFicheProgrammeCompanyPgmExpl.java
-Entry /CCRPrcGcaUpdateNosRelationsAvecCompanyPgmExpl.java/1.3//-kk/
-Unchanged CCRPrcGcaUpdateNosRelationsAvecCompanyPgmExpl.java
-Directory PRCExploitation/ccr/pgm/expl/prc/stc
-/cvsdata/repository/ApplicationContentManager/PRCExploitation/ccr/pgm/expl/prc/stc
-Entry /CCRPrcStcUpdateEtatStatAgregeeCompanyParZoneSouscriptionPgmExpl.java/1.19///
-Unchanged CCRPrcStcUpdateEtatStatAgregeeCompanyParZoneSouscriptionPgmExpl.java
-Directory PRCExploitation/ccr/pgm/expl/prc/vst
-/cvsdata/repository/ApplicationContentManager/PRCExploitation/ccr/pgm/expl/prc/vst
-Entry /CCRPrcVstMarquerEnSuppressionDossierVisiteMarchePgmExpl.java/1.6///
-Unchanged CCRPrcVstMarquerEnSuppressionDossierVisiteMarchePgmExpl.java
-Directory PRCExploitation/ccr/pgm/expl/vst
-/cvsdata/repository/ApplicationContentManager/PRCExploitation/ccr/pgm/expl/vst
-Directory PRCExploitation/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCExploitation/ccr/prc
-Directory PRCExploitation/ccr/prc/batch
-/cvsdata/repository/ApplicationContentManager/PRCExploitation/ccr/prc/batch
-Directory PRCExploitation/ccr/prc/batch/local
-/cvsdata/repository/ApplicationContentManager/PRCExploitation/ccr/prc/batch/local
-Directory PRCExploitation/ccr/prc/batch/local/launcher
-/cvsdata/repository/ApplicationContentManager/PRCExploitation/ccr/prc/batch/local/launcher
-Entry /CCRCopyContentDocumentManager.java/1.2//-kk/
-Unchanged CCRCopyContentDocumentManager.java
-Entry /CCRPrcLocalBatchLauncher.java/1.34///
-Unchanged CCRPrcLocalBatchLauncher.java
-Directory PRCGenerique
-/cvsdata/repository/ApplicationContentManager/PRCGenerique
-Directory PRCGenerique/ccr
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr
-Directory PRCGenerique/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc
-Directory PRCGenerique/ccr/prc/cache
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/cache
-Entry /CCRPrcLocalCacheLoader.java/1.5//-kk/
-Unchanged CCRPrcLocalCacheLoader.java
-Directory PRCGenerique/ccr/prc/context
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/context
-Entry /CCRDefaultParcConfiguration.java/1.1//-kk/
-Unchanged CCRDefaultParcConfiguration.java
-Entry /CCRPrcPARCConnectorContext.java/1.2//-kk/
-Unchanged CCRPrcPARCConnectorContext.java
-Directory PRCGenerique/ccr/prc/dossier
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/dossier
-Directory PRCGenerique/ccr/prc/dossier/tree
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/dossier/tree
-Directory PRCGenerique/ccr/prc/dossier/util
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/dossier/util
-Directory PRCGenerique/ccr/prc/generique
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/generique
-Directory PRCGenerique/ccr/prc/generique/batch
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/generique/batch
-Entry /CCRPrcAbstractBch.java/1.5///
-Unchanged CCRPrcAbstractBch.java
-Entry /CCRPrcAbstractCheckDeleteContentBch.java/1.6///
-Unchanged CCRPrcAbstractCheckDeleteContentBch.java
-Entry /CCRPrcAbstractImpressionBch.java/1.1//-kk/
-Unchanged CCRPrcAbstractImpressionBch.java
-Entry /CCRPrcAbstractUpdateContentBch.java/1.5///
-Unchanged CCRPrcAbstractUpdateContentBch.java
-Entry /CCRPrcAbstractUpdateContentCompanyBch.java/1.4///
-Unchanged CCRPrcAbstractUpdateContentCompanyBch.java
-Entry /CCRPrcCheckDeleteDossierVisiteBch.java/1.6///
-Unchanged CCRPrcCheckDeleteDossierVisiteBch.java
-Directory PRCGenerique/ccr/prc/generique/dossier
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/generique/dossier
-Directory PRCGenerique/ccr/prc/generique/dossier/adapter
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/generique/dossier/adapter
-Directory PRCGenerique/ccr/prc/generique/dossier/manager
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/generique/dossier/manager
-Directory PRCGenerique/ccr/prc/generique/dossier/tree
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/generique/dossier/tree
-Entry /CCRIPrcDossierTree.java/1.5///
-Unchanged CCRIPrcDossierTree.java
-Entry /CCRPrcAbstractDossierTree.java/1.20///
-Unchanged CCRPrcAbstractDossierTree.java
-Directory PRCGenerique/ccr/prc/generique/dossier/util
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/generique/dossier/util
-Entry /CCRIPrcDossierPDFGenerator.java/1.8///
-Unchanged CCRIPrcDossierPDFGenerator.java
-Entry /CCRPrcDemandeImpressionDossierPDF.java/1.21///
-Unchanged CCRPrcDemandeImpressionDossierPDF.java
-Entry /CCRPrcDossierPDFGenerator.java/1.33///
-Unchanged CCRPrcDossierPDFGenerator.java
-Entry /CCRPrcTreeNodeUserObject.java/1.13///
-Unchanged CCRPrcTreeNodeUserObject.java
-Directory PRCGenerique/ccr/prc/generique/dossier/util/tunneling
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/generique/dossier/util/tunneling
-Entry /CCRPrcDemandeImpressionDossierPDFProxy.java/1.7///
-Unchanged CCRPrcDemandeImpressionDossierPDFProxy.java
-Directory PRCGenerique/ccr/prc/generique/manager
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/generique/manager
-Directory PRCGenerique/ccr/prc/generique/manager/process
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/generique/manager/process
-Directory PRCGenerique/ccr/prc/generique/util
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/generique/util
-Directory PRCGenerique/ccr/prc/generique/viewer
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/generique/viewer
-Directory PRCGenerique/ccr/prc/portail
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/portail
-Directory PRCGenerique/ccr/prc/portail/vue
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/portail/vue
-Entry /CCRPrcAbstractDetailsPartTreeTable.java/1.19//-kk/
-Unchanged CCRPrcAbstractDetailsPartTreeTable.java
-Entry /CCRPrcAbstractPortailDetailsPart.java/1.24///
-Unchanged CCRPrcAbstractPortailDetailsPart.java
-Entry /CCRPrcAbstractToDoListVue.java/1.45//-kk/
-Unchanged CCRPrcAbstractToDoListVue.java
-Entry /CCRPrcCommonThreePartVue.java/1.28//-kk/
-Unchanged CCRPrcCommonThreePartVue.java
-Entry /CCRPrcDossierDetailsTreeTable.java/1.6//-kk/
-Unchanged CCRPrcDossierDetailsTreeTable.java
-Entry /CCRPrcMailJournalEvenement.java/1.5//-kk/
-Unchanged CCRPrcMailJournalEvenement.java
-Entry /CCRPrcNewPortailNodeRepository.java/1.14//-kk/
-Unchanged CCRPrcNewPortailNodeRepository.java
-Entry /CCRPrcPortailNodeRepository.java/1.4//-kk/
-Unchanged CCRPrcPortailNodeRepository.java
-Entry /CCRPrcTableListeFilter.java/1.10//-kk/
-Unchanged CCRPrcTableListeFilter.java
-Entry /CCRPrcTableListeFilterVue.java/1.7//-kk/
-Unchanged CCRPrcTableListeFilterVue.java
-Entry /CCRPrcThreePartDossierContratVue.java/1.7//-kk/
-Unchanged CCRPrcThreePartDossierContratVue.java
-Entry /CCRPrcThreePartDossierVue.java/1.8//-kk/
-Unchanged CCRPrcThreePartDossierVue.java
-Entry /CCRPrcThreePartPortailHTMLNavigationToolBar.java/1.17//-kk/
-Unchanged CCRPrcThreePartPortailHTMLNavigationToolBar.java
-Entry /CCRPrcThreePartPortailNavigationStaticTextToolBar.java/1.1//-kk/
-Unchanged CCRPrcThreePartPortailNavigationStaticTextToolBar.java
-Entry /CCRPrcThreePartPortailNavigationToolBar.java/1.13//-kk/
-Unchanged CCRPrcThreePartPortailNavigationToolBar.java
-Entry /CCRPrcThreePartPortailVue.java/1.93///
-Unchanged CCRPrcThreePartPortailVue.java
-Entry /CCRUsersListFilterVue.java/1.7//-kk/
-Unchanged CCRUsersListFilterVue.java
-Entry /CCRUsersListeFilter.java/1.3//-kk/
-Unchanged CCRUsersListeFilter.java
-Directory PRCGenerique/ccr/prc/preferences
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/preferences
-Directory PRCGenerique/ccr/prc/user
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/user
-Directory PRCGenerique/ccr/prc/user/prefs
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/user/prefs
-Entry /CCRIPrcPreferencesBean.java/1.4//-kk/
-Unchanged CCRIPrcPreferencesBean.java
-Entry /CCRPrcPreferencesBean.java/1.15///
-Unchanged CCRPrcPreferencesBean.java
-Entry /CCRPrcPreferencesProxy.java/1.41///
-Unchanged CCRPrcPreferencesProxy.java
-Entry /CCRPrcPreferencesRequester.java/1.15//-kk/
-Unchanged CCRPrcPreferencesRequester.java
-Directory PRCGenerique/ccr/prc/util
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/util
-Directory PRCGenerique/ccr/prc/vue
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/vue
-Directory PRCGenerique/ccr/prc/vue/components
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/vue/components
-Directory PRCGenerique/ccr/prc/vue/components/agir
-/cvsdata/repository/ApplicationContentManager/PRCGenerique/ccr/prc/vue/components/agir
-Entry /CCRPrcSelectionPanel.java/1.16//-kk/
-Unchanged CCRPrcSelectionPanel.java
-Directory PRCIndexation
-/cvsdata/repository/ApplicationContentManager/PRCIndexation
-Directory PRCIndexation/ccr
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr
-Directory PRCIndexation/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc
-Directory PRCIndexation/ccr/prc/indexation
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation
-Directory PRCIndexation/ccr/prc/indexation/ad
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/ad
-Entry /CCRPrcADCreationParameters.java/1.1//-kk/
-Unchanged CCRPrcADCreationParameters.java
-Entry /CCRPrcADIdxDocumentSinistre.java/1.8//-kk/
-Unchanged CCRPrcADIdxDocumentSinistre.java
-Entry /CCRPrcADVerificationTask.java/1.2//-kk/
-Unchanged CCRPrcADVerificationTask.java
-Entry /CCRPrcCreationListADWorkflow.java/1.2//-kk/
-Unchanged CCRPrcCreationListADWorkflow.java
-Entry /CCRPrcCreationListADWorkflowJbpmDefinition.java/1.1//-kk/
-Unchanged CCRPrcCreationListADWorkflowJbpmDefinition.java
-Directory PRCIndexation/ccr/prc/indexation/adapter
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/adapter
-Entry /CCRPrcIdxDocumentAdapter.java/1.41///
-Unchanged CCRPrcIdxDocumentAdapter.java
-Entry /CCRPrcIdxDocumentAssureAdapter.java/1.2//-kk/
-Unchanged CCRPrcIdxDocumentAssureAdapter.java
-Entry /CCRPrcIdxDocumentContratAdapter.java/1.29///
-Unchanged CCRPrcIdxDocumentContratAdapter.java
-Entry /CCRPrcIdxDocumentContratExerciceAdapter.java/1.18///
-Unchanged CCRPrcIdxDocumentContratExerciceAdapter.java
-Entry /CCRPrcIdxDocumentSocieteAdapter.java/1.6///
-Unchanged CCRPrcIdxDocumentSocieteAdapter.java
-Entry /CCRPrcIdxDocumentSocieteCAPAdapter.java/1.2///
-Unchanged CCRPrcIdxDocumentSocieteCAPAdapter.java
-Directory PRCIndexation/ccr/prc/indexation/b2
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/b2
-Entry /CCRPrcB2CreationParameters.java/1.6///
-Unchanged CCRPrcB2CreationParameters.java
-Entry /CCRPrcB2IdxDocumentSinistre.java/1.28///
-Unchanged CCRPrcB2IdxDocumentSinistre.java
-Entry /CCRPrcB2VerificationTask.java/1.13///
-Unchanged CCRPrcB2VerificationTask.java
-Entry /CCRPrcCreationListB2Workflow.java/1.12///
-Unchanged CCRPrcCreationListB2Workflow.java
-Entry /CCRPrcCreationListB2WorkflowJbpmDefinition.java/1.1///
-Unchanged CCRPrcCreationListB2WorkflowJbpmDefinition.java
-Directory PRCIndexation/ccr/prc/indexation/batch
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/batch
-Entry /CCRContentAlimentationVolumetrieCourrierExcelBch.java/1.4//-kk/
-Unchanged CCRContentAlimentationVolumetrieCourrierExcelBch.java
-Entry /CCRPrcActionsPARCEditionBch.java/1.13///
-Unchanged CCRPrcActionsPARCEditionBch.java
-Entry /CCRPrcActionsPARCParActionDateUserEditionBch.java/1.1///
-Unchanged CCRPrcActionsPARCParActionDateUserEditionBch.java
-Entry /CCRPrcActionsPARCParActionServiceUserEditionBch.java/1.2//-kk/
-Unchanged CCRPrcActionsPARCParActionServiceUserEditionBch.java
-Entry /CCRPrcActionsPARCParDateActionUserEditionBch.java/1.1///
-Unchanged CCRPrcActionsPARCParDateActionUserEditionBch.java
-Entry /CCRPrcActionsPARCParDateUserEditionBch.java/1.1///
-Unchanged CCRPrcActionsPARCParDateUserEditionBch.java
-Entry /CCRPrcActionsPARCParServiceEditionBch.java/1.2//-kk/
-Unchanged CCRPrcActionsPARCParServiceEditionBch.java
-Entry /CCRPrcActionsPARCParServiceUserActionEditionBch.java/1.1//-kk/
-Unchanged CCRPrcActionsPARCParServiceUserActionEditionBch.java
-Entry /CCRPrcChargerInformationCreationIncomingMailWFBch.java/1.5///
-Unchanged CCRPrcChargerInformationCreationIncomingMailWFBch.java
-Entry /CCRPrcCompleteIndexContratBch.java/1.4///
-Unchanged CCRPrcCompleteIndexContratBch.java
-Entry /CCRPrcFusionnerTypeFonctionnelEtIndexBch.java/1.3//-kk/
-Unchanged CCRPrcFusionnerTypeFonctionnelEtIndexBch.java
-Entry /CCRPrcFusionnerTypeFonctionnelEtIndexDocumentBch.java/1.5//-kk/
-Unchanged CCRPrcFusionnerTypeFonctionnelEtIndexDocumentBch.java
-Entry /CCRPrcQualificationIndexationBch.java/1.3//-kk/
-Unchanged CCRPrcQualificationIndexationBch.java
-Entry /CCRPrcQualificationIndexationEditionBch.java/1.1//-kk/
-Unchanged CCRPrcQualificationIndexationEditionBch.java
-Entry /CCRPrcRemoveIndexAssureFacBch.java/1.2//-kk/
-Unchanged CCRPrcRemoveIndexAssureFacBch.java
-Entry /CCRPrcRemoveIndexDoublonsBch.java/1.1//-kk/
-Unchanged CCRPrcRemoveIndexDoublonsBch.java
-Entry /CCRPrcRepriseIndexationCourrierGeneralBch.java/1.5///
-Unchanged CCRPrcRepriseIndexationCourrierGeneralBch.java
-Entry /CCRPrcSauvegarderTypeEtIndexBch.java/1.4//-kk/
-Unchanged CCRPrcSauvegarderTypeEtIndexBch.java
-Entry /CCRPrcUpdateInvalidIndexContratExerciceBch.java/1.6//-kk/
-Unchanged CCRPrcUpdateInvalidIndexContratExerciceBch.java
-Directory PRCIndexation/ccr/prc/indexation/context
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/context
-Entry /CCRPrcIndexationContext.java/1.3//-kk/
-Unchanged CCRPrcIndexationContext.java
-Entry /CCRPrcIndexationContextInterface.java/1.1//-kk/
-Unchanged CCRPrcIndexationContextInterface.java
-Entry /CCRPrcWizardIndexationContext.java/1.1//-kk/
-Unchanged CCRPrcWizardIndexationContext.java
-Directory PRCIndexation/ccr/prc/indexation/editpolicy
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/editpolicy
-Directory PRCIndexation/ccr/prc/indexation/generique
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/generique
-Directory PRCIndexation/ccr/prc/indexation/generique/action
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/generique/action
-Entry /CCRPrcContentBusinessActionValidation.java/1.90///
-Unchanged CCRPrcContentBusinessActionValidation.java
-Entry /CCRPrcContentBusinessActionsList.java/1.1//-kk/
-Unchanged CCRPrcContentBusinessActionsList.java
-Entry /CCRPrcContentBusinessWithoutPostTraitementActionValidation.java/1.1//-kk/
-Unchanged CCRPrcContentBusinessWithoutPostTraitementActionValidation.java
-Entry /CCRPrcContentDocumentBusinessAction.java/1.5//-kk/
-Unchanged CCRPrcContentDocumentBusinessAction.java
-Entry /CCRPrcIncomingContentBusinessActionValidation.java/1.1//-kk/
-Unchanged CCRPrcIncomingContentBusinessActionValidation.java
-Entry /CCRPrcIndexationBusinessProcess.java/1.4///
-Unchanged CCRPrcIndexationBusinessProcess.java
-Entry /CCRWFContentBusinessActionValidation.java/1.4//-kk/
-Unchanged CCRWFContentBusinessActionValidation.java
-Directory PRCIndexation/ccr/prc/indexation/generique/manager
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/generique/manager
-Entry /CCRPrcIdxBusinessTypeFonctionnelManager.java/1.2//-kk/
-Unchanged CCRPrcIdxBusinessTypeFonctionnelManager.java
-Entry /CCRPrcIdxComptableTypeFonctionnelManager.java/1.4///
-Unchanged CCRPrcIdxComptableTypeFonctionnelManager.java
-Entry /CCRPrcIdxContentDocumentBusinessProcess.java/1.11///
-Unchanged CCRPrcIdxContentDocumentBusinessProcess.java
-Entry /CCRPrcIdxContentDocumentManager.java/1.22///
-Unchanged CCRPrcIdxContentDocumentManager.java
-Entry /CCRPrcIdxContentDocumentTypeFonctionnelManager.java/1.44///
-Unchanged CCRPrcIdxContentDocumentTypeFonctionnelManager.java
-Entry /CCRPrcIdxContentIndexManager.java/1.9///
-Unchanged CCRPrcIdxContentIndexManager.java
-Entry /CCRPrcIdxContentTypeFonctionnelManager.java/1.8///
-Unchanged CCRPrcIdxContentTypeFonctionnelManager.java
-Entry /CCRPrcIdxContratTypeFonctionnelManager.java/1.7///
-Unchanged CCRPrcIdxContratTypeFonctionnelManager.java
-Entry /CCRPrcIdxCourrierGeneralTypeFonctionnelManager.java/1.5///
-Unchanged CCRPrcIdxCourrierGeneralTypeFonctionnelManager.java
-Entry /CCRPrcIdxSinistreTypeFonctionnelManager.java/1.1//-kk/
-Unchanged CCRPrcIdxSinistreTypeFonctionnelManager.java
-Entry /CCRPrcIdxStatistiqueTypeFonctionnelManager.java/1.6///
-Unchanged CCRPrcIdxStatistiqueTypeFonctionnelManager.java
-Directory PRCIndexation/ccr/prc/indexation/manager
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/manager
-Entry /CCRPrcIdxDocumentComptableManager.java/1.5///
-Unchanged CCRPrcIdxDocumentComptableManager.java
-Entry /CCRPrcIdxDocumentContratExerciceManager.java/1.8///
-Unchanged CCRPrcIdxDocumentContratExerciceManager.java
-Entry /CCRPrcIdxDocumentContratManager.java/1.21///
-Unchanged CCRPrcIdxDocumentContratManager.java
-Entry /CCRPrcIdxDocumentCourrierGeneralManager.java/1.4///
-Unchanged CCRPrcIdxDocumentCourrierGeneralManager.java
-Entry /CCRPrcIdxDocumentSinistreManager.java/1.25///
-Unchanged CCRPrcIdxDocumentSinistreManager.java
-Entry /CCRToDoListIndexationNodeDragAndDropManager.java/1.2//-kk/
-Unchanged CCRToDoListIndexationNodeDragAndDropManager.java
-Directory PRCIndexation/ccr/prc/indexation/paper
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/paper
-Directory PRCIndexation/ccr/prc/indexation/paper/util
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/paper/util
-Directory PRCIndexation/ccr/prc/indexation/paper/vue
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/paper/vue
-Directory PRCIndexation/ccr/prc/indexation/papier
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/papier
-Directory PRCIndexation/ccr/prc/indexation/papier/vue
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/papier/vue
-Directory PRCIndexation/ccr/prc/indexation/parametre
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/parametre
-Directory PRCIndexation/ccr/prc/indexation/servlet
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/servlet
-Entry /CCRPrcIndexationLauncherServlet.java/1.18///
-Unchanged CCRPrcIndexationLauncherServlet.java
-Directory PRCIndexation/ccr/prc/indexation/util
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/util
-Entry /CCRContentLienWFMetier.java/1.4//-kk/
-Unchanged CCRContentLienWFMetier.java
-Entry /CCRDocumentNodeContext.java/1.19//-kk/
-Unchanged CCRDocumentNodeContext.java
-Entry /CCRNavigateurContenuRepertoire.java/1.1///
-Unchanged CCRNavigateurContenuRepertoire.java
-Entry /CCRPrcIndexationCondition.java/1.6//-kk/
-Unchanged CCRPrcIndexationCondition.java
-Entry /CCRPrcIndexationDragAndDropManager.java/1.2///
-Unchanged CCRPrcIndexationDragAndDropManager.java
-Entry /CCRPrcIndexationParametrablePredicate.java/1.2//-kk/
-Unchanged CCRPrcIndexationParametrablePredicate.java
-Entry /CCRPrcLeafTaskUserObject.java/1.5///
-Unchanged CCRPrcLeafTaskUserObject.java
-Entry /CCRPrcTaskObject.java/1.21///
-Unchanged CCRPrcTaskObject.java
-Entry /CCRPrcXmlRequester.java/1.22//-kk/
-Unchanged CCRPrcXmlRequester.java
-Entry /CCRProprietesManagerExtendedVue.java/1.6//-kk/
-Unchanged CCRProprietesManagerExtendedVue.java
-Directory PRCIndexation/ccr/prc/indexation/util/view
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/util/view
-Entry /CCRPrcDocumentLinkLauncher.java/1.3//-kk/
-Unchanged CCRPrcDocumentLinkLauncher.java
-Entry /CCRPrcIndexationLauncher.java/1.8//-kk/
-Unchanged CCRPrcIndexationLauncher.java
-Entry /CCRPrcIndexationLauncherForRationalTestCase.java/1.7//-kk/
-Unchanged CCRPrcIndexationLauncherForRationalTestCase.java
-Entry /CCRPrcJournalEvenementsLauncher.java/1.6//-kk/
-Unchanged CCRPrcJournalEvenementsLauncher.java
-Directory PRCIndexation/ccr/prc/indexation/vue
-/cvsdata/repository/ApplicationContentManager/PRCIndexation/ccr/prc/indexation/vue
-Entry /CCRPrcAbstractIndexationNavigatorPart.java/1.16///
-Unchanged CCRPrcAbstractIndexationNavigatorPart.java
-Entry /CCRPrcAbstractIndexationViewManager.java/1.54///
-Unchanged CCRPrcAbstractIndexationViewManager.java
-Entry /CCRPrcBasicIndexationTypeVue.java/1.119///
-Unchanged CCRPrcBasicIndexationTypeVue.java
-Entry /CCRPrcBuildEnvelopeDlg.java/1.3//-kk/
-Unchanged CCRPrcBuildEnvelopeDlg.java
-Entry /CCRPrcEntryListeSocietesCAPEditPolicy.java/1.1//-kk/
-Unchanged CCRPrcEntryListeSocietesCAPEditPolicy.java
-Entry /CCRPrcFaireSuivrePourIndexationComplementaireForScannedVue.java/1.4//-kk/
-Unchanged CCRPrcFaireSuivrePourIndexationComplementaireForScannedVue.java
-Entry /CCRPrcFaireSuivrePourIndexationComplementaireVue.java/1.39///
-Unchanged CCRPrcFaireSuivrePourIndexationComplementaireVue.java
-Entry /CCRPrcImportDocumentsVue.java/1.9//-kk/
-Unchanged CCRPrcImportDocumentsVue.java
-Entry /CCRPrcImportationDocumentsNavigatorVue.java/1.3//-kk/
-Unchanged CCRPrcImportationDocumentsNavigatorVue.java
-Entry /CCRPrcImportationDocumentsThreePartVue.java/1.11//-kk/
-Unchanged CCRPrcImportationDocumentsThreePartVue.java
-Entry /CCRPrcIndexSocCAPComplVue.java/1.2//-kk/
-Unchanged CCRPrcIndexSocCAPComplVue.java
-Entry /CCRPrcIndexationAllToDoListVue.java/1.38///
-Unchanged CCRPrcIndexationAllToDoListVue.java
-Entry /CCRPrcIndexationAssureTypeVue.java/1.24//-kk/
-Unchanged CCRPrcIndexationAssureTypeVue.java
-Entry /CCRPrcIndexationComplementaireTypageDlg.java/1.1//-kk/
-Unchanged CCRPrcIndexationComplementaireTypageDlg.java
-Entry /CCRPrcIndexationPourGestionVue.java/1.178///
-Unchanged CCRPrcIndexationPourGestionVue.java
-Entry /CCRPrcIndexationResumeActionsVisuDocVue.java/1.18///
-Unchanged CCRPrcIndexationResumeActionsVisuDocVue.java
-Entry /CCRPrcIndexationResumeActionsVue.java/1.105///
-Unchanged CCRPrcIndexationResumeActionsVue.java
-Entry /CCRPrcIndexationSelectedDocumentsNavigatorVue.java/1.47//-kk/
-Unchanged CCRPrcIndexationSelectedDocumentsNavigatorVue.java
-Entry /CCRPrcIndexationSelectedDocumentsPartVue.java/1.4//-kk/
-Unchanged CCRPrcIndexationSelectedDocumentsPartVue.java
-Entry /CCRPrcIndexationSelectedDocumentsThreePartVue.java/1.79//-kk/
-Unchanged CCRPrcIndexationSelectedDocumentsThreePartVue.java
-Entry /CCRPrcIndexationSocieteCAPVue.java/1.24///
-Unchanged CCRPrcIndexationSocieteCAPVue.java
-Entry /CCRPrcIndexationSocieteCAPVuePrompter.java/1.4//-kk/
-Unchanged CCRPrcIndexationSocieteCAPVuePrompter.java
-Entry /CCRPrcIndexationSousTypeVue.java/1.73///
-Unchanged CCRPrcIndexationSousTypeVue.java
-Entry /CCRPrcIndexationTypeVue.java/1.105///
-Unchanged CCRPrcIndexationTypeVue.java
-Entry /CCRPrcIndexationViewTasksVue.java/1.6//-kk/
-Unchanged CCRPrcIndexationViewTasksVue.java
-Entry /CCRPrcNewIndexationPourGestionVue.java/1.61//-kk/
-Unchanged CCRPrcNewIndexationPourGestionVue.java
-Entry /CCRPrcRechercheContratDlg.java/1.3///
-Unchanged CCRPrcRechercheContratDlg.java
-Entry /CCRPrcThreePartIndexationVue.java/1.23///
-Unchanged CCRPrcThreePartIndexationVue.java
-Entry /CCRPrcToDoListCreateurTaskVue.java/1.19///
-Unchanged CCRPrcToDoListCreateurTaskVue.java
-Entry /CCRPrcToDoListDocumentVue.java/1.178///
-Unchanged CCRPrcToDoListDocumentVue.java
-Entry /CCRPrcToDoListErrorTaskVue.java/1.32///
-Unchanged CCRPrcToDoListErrorTaskVue.java
-Entry /CCRPrcToDoListFinishedTaskVue.java/1.21///
-Unchanged CCRPrcToDoListFinishedTaskVue.java
-Entry /CCRPrcToDoListIncomingTaskVue.java/1.66///
-Unchanged CCRPrcToDoListIncomingTaskVue.java
-Entry /CCRPrcToDoListIndexationVue.java/1.35///
-Unchanged CCRPrcToDoListIndexationVue.java
-Entry /CCRPrcToDoListPendingTaskVue.java/1.22///
-Unchanged CCRPrcToDoListPendingTaskVue.java
-Entry /CCRPrcToDoListSuspendedIncomingTaskVue.java/1.2//-kk/
-Unchanged CCRPrcToDoListSuspendedIncomingTaskVue.java
-Entry /CCRPrcToDoListWizardIndexationVue.java/1.2//-kk/
-Unchanged CCRPrcToDoListWizardIndexationVue.java
-Entry /CCRPrcWarnDeletedIndexsDlg.java/1.7//-kk/
-Unchanged CCRPrcWarnDeletedIndexsDlg.java
-Entry /CCRPrcWizardIndexationPropertiesInterface.java/1.3///
-Unchanged CCRPrcWizardIndexationPropertiesInterface.java
-Entry /CCRPrcWizardIndexationResumeVue.java/1.40///
-Unchanged CCRPrcWizardIndexationResumeVue.java
-Entry /CCRPrcWizardIndexationVue.java/1.66//-kk/
-Unchanged CCRPrcWizardIndexationVue.java
-Directory PRCPaperDocument
-/cvsdata/repository/ApplicationContentManager/PRCPaperDocument
-Directory PRCPaperDocument/ccr
-/cvsdata/repository/ApplicationContentManager/PRCPaperDocument/ccr
-Directory PRCPaperDocument/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCPaperDocument/ccr/prc
-Directory PRCPaperDocument/ccr/prc/paper
-/cvsdata/repository/ApplicationContentManager/PRCPaperDocument/ccr/prc/paper
-Directory PRCPaperDocument/ccr/prc/paper/indexation
-/cvsdata/repository/ApplicationContentManager/PRCPaperDocument/ccr/prc/paper/indexation
-Directory PRCPaperDocument/ccr/prc/paper/indexation/vue
-/cvsdata/repository/ApplicationContentManager/PRCPaperDocument/ccr/prc/paper/indexation/vue
-Directory PRCPaperDocument/ccr/prc/paper/manager
-/cvsdata/repository/ApplicationContentManager/PRCPaperDocument/ccr/prc/paper/manager
-Directory PRCRecherche
-/cvsdata/repository/ApplicationContentManager/PRCRecherche
-Directory PRCRecherche/ccr
-/cvsdata/repository/ApplicationContentManager/PRCRecherche/ccr
-Directory PRCRecherche/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCRecherche/ccr/prc
-Directory PRCRecherche/ccr/prc/portail
-/cvsdata/repository/ApplicationContentManager/PRCRecherche/ccr/prc/portail
-Directory PRCRecherche/ccr/prc/portail/recherche
-/cvsdata/repository/ApplicationContentManager/PRCRecherche/ccr/prc/portail/recherche
-Directory PRCRecherche/ccr/prc/portail/recherche/adapter
-/cvsdata/repository/ApplicationContentManager/PRCRecherche/ccr/prc/portail/recherche/adapter
-Directory PRCRecherche/ccr/prc/portail/recherche/node
-/cvsdata/repository/ApplicationContentManager/PRCRecherche/ccr/prc/portail/recherche/node
-Directory PRCRecherche/ccr/prc/portail/recherche/node/context
-/cvsdata/repository/ApplicationContentManager/PRCRecherche/ccr/prc/portail/recherche/node/context
-Directory PRCRecherche/ccr/prc/portail/recherche/panel
-/cvsdata/repository/ApplicationContentManager/PRCRecherche/ccr/prc/portail/recherche/panel
-Entry /CCRPrcLucRecResultatPanel.java/1.21///
-Unchanged CCRPrcLucRecResultatPanel.java
-Entry /CCRPrcLucRecherchePanel.java/1.16///
-Unchanged CCRPrcLucRecherchePanel.java
-Entry /CCRPrcRechercheTechniqueDocumentsPanel.java/1.16//-kk/
-Unchanged CCRPrcRechercheTechniqueDocumentsPanel.java
-Directory PRCRecherche/ccr/prc/portail/recherche/vue
-/cvsdata/repository/ApplicationContentManager/PRCRecherche/ccr/prc/portail/recherche/vue
-Entry /CCRPrcLucRecResultatDlg.java/1.20///
-Unchanged CCRPrcLucRecResultatDlg.java
-Directory PRCRecherche/ccr/prc/recherche
-/cvsdata/repository/ApplicationContentManager/PRCRecherche/ccr/prc/recherche
-Directory PRCRecherche/ccr/prc/recherche/workflow
-/cvsdata/repository/ApplicationContentManager/PRCRecherche/ccr/prc/recherche/workflow
-Directory PRCRecherche/ccr/prc/recherche/workflow/jbpm
-/cvsdata/repository/ApplicationContentManager/PRCRecherche/ccr/prc/recherche/workflow/jbpm
-Directory PRCRecherche/ccr/prc/recherche/workflow/manager
-/cvsdata/repository/ApplicationContentManager/PRCRecherche/ccr/prc/recherche/workflow/manager
-Directory PRCRepriseContent
-/cvsdata/repository/ApplicationContentManager/PRCRepriseContent
-Directory PRCRepriseContent/ccr
-/cvsdata/repository/ApplicationContentManager/PRCRepriseContent/ccr
-Directory PRCRepriseContent/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCRepriseContent/ccr/prc
-Directory PRCRepriseContent/ccr/prc/content
-/cvsdata/repository/ApplicationContentManager/PRCRepriseContent/ccr/prc/content
-Directory PRCRepriseContent/ccr/prc/content/reprise
-/cvsdata/repository/ApplicationContentManager/PRCRepriseContent/ccr/prc/content/reprise
-Directory PRCTroncCommun
-/cvsdata/repository/ApplicationContentManager/PRCTroncCommun
-Directory PRCTroncCommun/ccr
-/cvsdata/repository/ApplicationContentManager/PRCTroncCommun/ccr
-Directory PRCTroncCommun/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCTroncCommun/ccr/prc
-Directory PRCTroncCommun/ccr/prc/application
-/cvsdata/repository/ApplicationContentManager/PRCTroncCommun/ccr/prc/application
-Directory PRCTroncCommun/ccr/prc/application/constant
-/cvsdata/repository/ApplicationContentManager/PRCTroncCommun/ccr/prc/application/constant
-Directory PRCTroncCommun/ccr/prc/view
-/cvsdata/repository/ApplicationContentManager/PRCTroncCommun/ccr/prc/view
-Directory PRCTroncCommun/ccr/prc/view/components
-/cvsdata/repository/ApplicationContentManager/PRCTroncCommun/ccr/prc/view/components
-Directory PRCTroncCommun/ccr/prc/view/components/checktree
-/cvsdata/repository/ApplicationContentManager/PRCTroncCommun/ccr/prc/view/components/checktree
-Directory PRCTroncCommun/ccr/prc/view/components/htmlviewer
-/cvsdata/repository/ApplicationContentManager/PRCTroncCommun/ccr/prc/view/components/htmlviewer
-Directory PRCTroncCommun/ccr/prc/view/components/treenode
-/cvsdata/repository/ApplicationContentManager/PRCTroncCommun/ccr/prc/view/components/treenode
-Directory PRCTroncCommun/ccr/prc/vue
-/cvsdata/repository/ApplicationContentManager/PRCTroncCommun/ccr/prc/vue
-Directory PRCTroncCommun/ccr/prc/vue/components
-/cvsdata/repository/ApplicationContentManager/PRCTroncCommun/ccr/prc/vue/components
-Directory PRCTroncCommun/ccr/prc/vue/components/agir
-/cvsdata/repository/ApplicationContentManager/PRCTroncCommun/ccr/prc/vue/components/agir
-Directory PRCTroncCommun/ccr/prc/vue/components/agir/formattedtable
-/cvsdata/repository/ApplicationContentManager/PRCTroncCommun/ccr/prc/vue/components/agir/formattedtable
-Directory PRCTroncCommun/ccr/prc/vue/components/tabbedpane
-/cvsdata/repository/ApplicationContentManager/PRCTroncCommun/ccr/prc/vue/components/tabbedpane
-Directory PRCWorkflow
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow
-Directory PRCWorkflow/ccr
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr
-Directory PRCWorkflow/ccr/ged
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged
-Directory PRCWorkflow/ccr/ged/cap
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/cap
-Directory PRCWorkflow/ccr/ged/cap/correspondance
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/cap/correspondance
-Directory PRCWorkflow/ccr/ged/cap/correspondance/base
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/cap/correspondance/base
-Entry /CCRIGedCapCrspConstants.java/1.1///
-Unchanged CCRIGedCapCrspConstants.java
-Entry /CCRIGedUFManager.java/1.4///
-Unchanged CCRIGedUFManager.java
-Directory PRCWorkflow/ccr/ged/cap/correspondance/injection
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/cap/correspondance/injection
-Directory PRCWorkflow/ccr/ged/cap/correspondance/injection/batch
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/cap/correspondance/injection/batch
-Entry /CCRGedCapCrspDateSujetRepriseBch.java/1.7//-kk/
-Unchanged CCRGedCapCrspDateSujetRepriseBch.java
-Entry /CCRGedCapCrspPdfControlBch.java/1.12//-kk/
-Unchanged CCRGedCapCrspPdfControlBch.java
-Entry /CCRGedCapCrspPdfControlForEditionBch.java/1.2//-kk/
-Unchanged CCRGedCapCrspPdfControlForEditionBch.java
-Directory PRCWorkflow/ccr/ged/cap/correspondance/injection/wf
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/cap/correspondance/injection/wf
-Entry /CCRGedCapCrspIncomingMailAbstractAutomatedTask.java/1.1///
-Unchanged CCRGedCapCrspIncomingMailAbstractAutomatedTask.java
-Entry /CCRGedCapCrspIncomingMailAbstractTask.java/1.8///
-Unchanged CCRGedCapCrspIncomingMailAbstractTask.java
-Entry /CCRGedCapCrspIncomingMailInjecterTask.java/1.34///
-Unchanged CCRGedCapCrspIncomingMailInjecterTask.java
-Entry /CCRGedCapCrspIncomingMailRecevoirTask.java/1.1///
-Unchanged CCRGedCapCrspIncomingMailRecevoirTask.java
-Entry /CCRGedCapCrspIncomingMailRouterTask.java/1.11///
-Unchanged CCRGedCapCrspIncomingMailRouterTask.java
-Entry /CCRGedCapCrspIncomingMailStampTask.java/1.6///
-Unchanged CCRGedCapCrspIncomingMailStampTask.java
-Entry /CCRGedCapCrspIncomingMailWorkflow.java/1.8///
-Unchanged CCRGedCapCrspIncomingMailWorkflow.java
-Entry /CCRGedCapCrspIncomingMailWorkflowJbpmDefinition.java/1.3///
-Unchanged CCRGedCapCrspIncomingMailWorkflowJbpmDefinition.java
-Directory PRCWorkflow/ccr/ged/cap/correspondance/injection/wf/jbpm
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/cap/correspondance/injection/wf/jbpm
-Entry /.gpd.CCRGedCapCrspIncomingMail.xml/1.1//-kk/
-Unchanged .gpd.CCRGedCapCrspIncomingMail.xml
-Entry /CCRGedCapCrspIncomingMail.jpg/1.1//-kb/
-Unchanged CCRGedCapCrspIncomingMail.jpg
-Entry /CCRGedCapCrspIncomingMail.xml/1.3///
-Unchanged CCRGedCapCrspIncomingMail.xml
-Directory PRCWorkflow/ccr/ged/cap/correspondance/injection/wf/manager
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/cap/correspondance/injection/wf/manager
-Entry /CCRGedCapCrspIncomingMailUFManager.java/1.8///
-Unchanged CCRGedCapCrspIncomingMailUFManager.java
-Directory PRCWorkflow/ccr/ged/cap/correspondance/process
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/cap/correspondance/process
-Entry /CCRGedCapCrspIntegrationFaxProcess.java/1.4///
-Unchanged CCRGedCapCrspIntegrationFaxProcess.java
-Entry /CCRGedCapCrspIntegrationMailProcess.java/1.21///
-Unchanged CCRGedCapCrspIntegrationMailProcess.java
-Directory PRCWorkflow/ccr/ged/cap/correspondance/util
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/cap/correspondance/util
-Directory PRCWorkflow/ccr/ged/cap/correspondance/util/tunneling
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/cap/correspondance/util/tunneling
-Directory PRCWorkflow/ccr/ged/cap/correspondance/wf
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/cap/correspondance/wf
-Directory PRCWorkflow/ccr/ged/cap/correspondance/wf/batch
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/cap/correspondance/wf/batch
-Entry /CCRGedCapCrspIncomingMailPresenceIndexSiegeComanyCapBch.java/1.3///
-Unchanged CCRGedCapCrspIncomingMailPresenceIndexSiegeComanyCapBch.java
-Entry /CCRGedCapCrspIncomingMailRepriseAllocationErrorBch.java/1.11///
-Unchanged CCRGedCapCrspIncomingMailRepriseAllocationErrorBch.java
-Entry /CCRGedCapCrspMailFusionnerMailIdentiqueBch.java/1.10//-kk/
-Unchanged CCRGedCapCrspMailFusionnerMailIdentiqueBch.java
-Entry /CCRGedCapCrspMailRepriseContenuManquantBch.java/1.7//-kk/
-Unchanged CCRGedCapCrspMailRepriseContenuManquantBch.java
-Entry /CCRGedCapCrspMailRepriseTimestampBch.java/1.10//-kk/
-Unchanged CCRGedCapCrspMailRepriseTimestampBch.java
-Entry /CCRGedMailFusionnerSocieteCapBch.java/1.4//-kk/
-Unchanged CCRGedMailFusionnerSocieteCapBch.java
-Entry /CCRGedWFPassageTachesBch.java/1.7//-kk/
-Unchanged CCRGedWFPassageTachesBch.java
-Entry /CCRPrcListeDocSocieteCapEditionBch.java/1.2//-kk/
-Unchanged CCRPrcListeDocSocieteCapEditionBch.java
-Directory PRCWorkflow/ccr/ged/cap/correspondance/wf/jbpm
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/cap/correspondance/wf/jbpm
-Directory PRCWorkflow/ccr/ged/cap/correspondance/wf/manager
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/cap/correspondance/wf/manager
-Directory PRCWorkflow/ccr/ged/cap/correspondance/wf/pgm
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/cap/correspondance/wf/pgm
-Directory PRCWorkflow/ccr/ged/cap/correspondance/wf/pgm/expl
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/cap/correspondance/wf/pgm/expl
-Entry /CCRGedBatchLauncher.java/1.13//-kk/
-Unchanged CCRGedBatchLauncher.java
-Directory PRCWorkflow/ccr/ged/circulation
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/circulation
-Directory PRCWorkflow/ccr/ged/circulation/wf
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/circulation/wf
-Entry /CCRGedCirculationCalculNbToIndexForkHandler.java/1.1//-kk/
-Unchanged CCRGedCirculationCalculNbToIndexForkHandler.java
-Entry /CCRGedCirculationDocAbstractAutomatedTask.java/1.1///
-Unchanged CCRGedCirculationDocAbstractAutomatedTask.java
-Entry /CCRGedCirculationDocAbstractTask.java/1.9///
-Unchanged CCRGedCirculationDocAbstractTask.java
-Entry /CCRGedCirculationDocDecision.java/1.4///
-Unchanged CCRGedCirculationDocDecision.java
-Entry /CCRGedCirculationDocIndexedTask.java/1.5///
-Unchanged CCRGedCirculationDocIndexedTask.java
-Entry /CCRGedCirculationDocNotifyTask.java/1.10///
-Unchanged CCRGedCirculationDocNotifyTask.java
-Entry /CCRGedCirculationDocToIndexTask.java/1.13///
-Unchanged CCRGedCirculationDocToIndexTask.java
-Entry /CCRGedCirculationDocWorkflow.java/1.11///
-Unchanged CCRGedCirculationDocWorkflow.java
-Entry /CCRGedCirculationDocWorkflowJbpmDefinition.java/1.5///
-Unchanged CCRGedCirculationDocWorkflowJbpmDefinition.java
-Entry /CCRGedCirculationIndexActionHandler.java/1.1//-kk/
-Unchanged CCRGedCirculationIndexActionHandler.java
-Entry /CCRGedCirculationReaffectationDecision.java/1.1//-kk/
-Unchanged CCRGedCirculationReaffectationDecision.java
-Entry /CCRGedCirculationSuspensionVue.java/1.4//-kk/
-Unchanged CCRGedCirculationSuspensionVue.java
-Directory PRCWorkflow/ccr/ged/circulation/wf/jbpm
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/circulation/wf/jbpm
-Entry /.gpd.CCRGedCirculationDoc.xml/1.1//-kk/
-Unchanged .gpd.CCRGedCirculationDoc.xml
-Entry /CCRGedCirculationDoc.jpg/1.1//-kb/
-Unchanged CCRGedCirculationDoc.jpg
-Entry /CCRGedCirculationDoc.xml/1.4///
-Unchanged CCRGedCirculationDoc.xml
-Directory PRCWorkflow/ccr/ged/circulation/wf/manager
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/circulation/wf/manager
-Entry /CCRGedCirculationDocUFManager.java/1.26///
-Unchanged CCRGedCirculationDocUFManager.java
-Directory PRCWorkflow/ccr/ged/circulation/wf/test
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/circulation/wf/test
-Entry /CCRWFReprise.java/1.2//-kk/
-Unchanged CCRWFReprise.java
-Directory PRCWorkflow/ccr/ged/indexation
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/indexation
-Directory PRCWorkflow/ccr/ged/indexation/wf
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/indexation/wf
-Directory PRCWorkflow/ccr/ged/indexation/wf/jbpm
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/indexation/wf/jbpm
-Directory PRCWorkflow/ccr/ged/indexation/wf/manager
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/indexation/wf/manager
-Directory PRCWorkflow/ccr/ged/pap
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/pap
-Directory PRCWorkflow/ccr/ged/pap/scan
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/pap/scan
-Directory PRCWorkflow/ccr/ged/pap/scan/process
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/pap/scan/process
-Directory PRCWorkflow/ccr/ged/pap/scan/wf
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/pap/scan/wf
-Directory PRCWorkflow/ccr/ged/pap/scan/wf/jbpm
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/pap/scan/wf/jbpm
-Directory PRCWorkflow/ccr/ged/pap/scan/wf/manager
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/pap/scan/wf/manager
-Directory PRCWorkflow/ccr/ged/paper
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/paper
-Directory PRCWorkflow/ccr/ged/paper/process
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/paper/process
-Directory PRCWorkflow/ccr/ged/paper/wf
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/paper/wf
-Directory PRCWorkflow/ccr/ged/paper/wf/jbpm
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/paper/wf/jbpm
-Directory PRCWorkflow/ccr/ged/paper/wf/manager
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/paper/wf/manager
-Directory PRCWorkflow/ccr/ged/util
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/util
-Directory PRCWorkflow/ccr/ged/util/vue
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/ged/util/vue
-Entry /CCRPrcAdminAbstractPageConsole.java/1.7//-kk/
-Unchanged CCRPrcAdminAbstractPageConsole.java
-Entry /CCRPrcAdminConsole.java/1.17///
-Unchanged CCRPrcAdminConsole.java
-Entry /CCRPrcAdminConsoleModificationManagerVue.java/1.7//-kk/
-Unchanged CCRPrcAdminConsoleModificationManagerVue.java
-Entry /CCRPrcAdminConsolePopupMenu.java/1.1///
-Unchanged CCRPrcAdminConsolePopupMenu.java
-Entry /CCRPrcAdminDocumentConsole.java/1.36//-kk/
-Unchanged CCRPrcAdminDocumentConsole.java
-Entry /CCRPrcAdminTaskConsole.java/1.10//-kk/
-Unchanged CCRPrcAdminTaskConsole.java
-Directory PRCWorkflow/ccr/prc
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/prc
-Directory PRCWorkflow/ccr/prc/contrat
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/prc/contrat
-Directory PRCWorkflow/ccr/prc/contrat/wf
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/prc/contrat/wf
-Entry /CCRPrcSuiviContratALireTask.java/1.1//-kk/
-Unchanged CCRPrcSuiviContratALireTask.java
-Entry /CCRPrcSuiviContratASignerTask.java/1.1//-kk/
-Unchanged CCRPrcSuiviContratASignerTask.java
-Entry /CCRPrcSuiviContratATraiterTask.java/1.2//-kk/
-Unchanged CCRPrcSuiviContratATraiterTask.java
-Entry /CCRPrcSuiviContratAbstractAutomatedTask.java/1.1//-kk/
-Unchanged CCRPrcSuiviContratAbstractAutomatedTask.java
-Entry /CCRPrcSuiviContratAbstractTask.java/1.3//-kk/
-Unchanged CCRPrcSuiviContratAbstractTask.java
-Entry /CCRPrcSuiviContratSigneTask.java/1.2//-kk/
-Unchanged CCRPrcSuiviContratSigneTask.java
-Entry /CCRPrcSuiviContratWorkflow.java/1.3//-kk/
-Unchanged CCRPrcSuiviContratWorkflow.java
-Entry /CCRPrcSuiviContratWorkflowJbpmDefinition.java/1.3//-kk/
-Unchanged CCRPrcSuiviContratWorkflowJbpmDefinition.java
-Directory PRCWorkflow/ccr/prc/contrat/wf/jbpm
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/prc/contrat/wf/jbpm
-Entry /.gpd.CCRPrcSuiviContrat.xml/1.1//-kk/
-Unchanged .gpd.CCRPrcSuiviContrat.xml
-Entry /CCRPrcSuiviContrat.jpg/1.1//-kb/
-Unchanged CCRPrcSuiviContrat.jpg
-Entry /CCRPrcSuiviContrat.xml/1.2//-kk/
-Unchanged CCRPrcSuiviContrat.xml
-Directory PRCWorkflow/ccr/prc/contrat/wf/manager
-/cvsdata/repository/ApplicationContentManager/PRCWorkflow/ccr/prc/contrat/wf/manager
-Entry /CCRPrcSuiviContratUFManager.java/1.10//-kk/
-Unchanged CCRPrcSuiviContratUFManager.java
-Directory launches
-/cvsdata/repository/ApplicationContentManager/launches
-Entry /TestPrcPreferencesContextManager.launch/1.3//-kk/
-Unchanged TestPrcPreferencesContextManager.launch
-Entry /[PARC - PrÚfÚrences] CCRPrcPreferencesToolsLauncher.launch/1.1//-kk/
-Unchanged [PARC - PrÚfÚrences] CCRPrcPreferencesToolsLauncher.launch
-Entry /[PARC] CCRContentPersistentSampleLauncher.launch/1.1//-kk/
-Unchanged [PARC] CCRContentPersistentSampleLauncher.launch
-Entry /[PARC] CCRPrcIntegrationDocumentLauncher.launch/1.5///
-Unchanged [PARC] CCRPrcIntegrationDocumentLauncher.launch
-Entry /[PARC] Lancement BATCH Reprise local.launch/1.4///
-Unchanged [PARC] Lancement BATCH Reprise local.launch
-Entry /[PARC] Relance de tÔche.launch/1.3//-kk/
-Unchanged [PARC] Relance de tÔche.launch
-Directory lib
-/cvsdata/repository/ApplicationContentManager/lib
-Directory request
-/cvsdata/repository/ApplicationContentManager/request
-Entry /CirculationWF.uad/1.2//-kb/
-Unchanged CirculationWF.uad
-Entry /InjectionMailWF.uad/1.2//-kb/
-Unchanged InjectionMailWF.uad
-Entry /anciennes taches WF Injection.sql/1.6//-kk/
-Unchanged anciennes taches WF Injection.sql
-Entry /wf_taches_non_indexees.sql/1.3//-kk/
-Unchanged wf_taches_non_indexees.sql
-Entry /workflow_tasks.sql/1.5//-kb/
-Unchanged workflow_tasks.sql
-Entry /workflow_tasks_Indexed.sql/1.15//-kb/
-Unchanged workflow_tasks_Indexed.sql
-Entry /workflow_tasks_Router_Error.sql/1.1//-kk/
-Unchanged workflow_tasks_Router_Error.sql
-Directory test
-/cvsdata/repository/ApplicationContentManager/test
-Directory test/base
-/cvsdata/repository/ApplicationContentManager/test/base
-Directory test/base/referentiel
-/cvsdata/repository/ApplicationContentManager/test/base/referentiel
-Entry /PerfsPrcTest.java/1.5//-kk/
-Unchanged PerfsPrcTest.java
-Entry /TestCCRCapDBMarcheAdapter.java/1.2//-kk/
-Unchanged TestCCRCapDBMarcheAdapter.java
-Entry /TestOtherFctParc.java/1.5//-kk/
-Unchanged TestOtherFctParc.java
-Entry /ThreadedPrcTest.java/1.1//-kk/
-Unchanged ThreadedPrcTest.java
-Entry /TimedPrcTest.java/1.2//-kk/
-Unchanged TimedPrcTest.java
-Directory test/ccr
-/cvsdata/repository/ApplicationContentManager/test/ccr
-Directory test/ccr/prc
-/cvsdata/repository/ApplicationContentManager/test/ccr/prc
-Directory test/ccr/prc/ged
-/cvsdata/repository/ApplicationContentManager/test/ccr/prc/ged
-Directory test/ccr/prc/ged/workflow
-/cvsdata/repository/ApplicationContentManager/test/ccr/prc/ged/workflow
-Entry /TestGedRequester.java/1.7///
-Unchanged TestGedRequester.java
-Directory test/ccr/prc/indexation
-/cvsdata/repository/ApplicationContentManager/test/ccr/prc/indexation
-Directory test/ccr/prc/indexation/manager
-/cvsdata/repository/ApplicationContentManager/test/ccr/prc/indexation/manager
-Entry /CCRWFIndexationEngineTest.java/1.1//-kk/
-Unchanged CCRWFIndexationEngineTest.java
-Entry /TestCCRPrcPreferencesBlobManager.java/1.16//-kk/
-Unchanged TestCCRPrcPreferencesBlobManager.java
-Entry /TestPrcPreferencesContextManager.java/1.27///
-Unchanged TestPrcPreferencesContextManager.java
-Directory test/ccr/prc/indexation/vue
-/cvsdata/repository/ApplicationContentManager/test/ccr/prc/indexation/vue
-Entry /TestWF.java/1.6//-kk/
-Unchanged TestWF.java
-Argument .
-Directory .
-/cvsdata/repository/ApplicationContentManager
-update
-E cvs server: Updating .
-E cvs server: Updating .externalToolBuilders
-E cvs server: Updating CCRCapCotation
-E cvs server: Updating CCRCapCotation/ccr
-E cvs server: Updating CCRCapCotation/ccr/cotation
-E cvs server: Updating CCRCapCotation/ccr/cotation/batch
-E cvs server: Updating CCRCapCotation/ccr/cotation/context
-E cvs server: Updating CCRCapCotation/ccr/cotation/excel
-E cvs server: Updating CCRCapCotation/ccr/cotation/manager
-E cvs server: Updating CCRCapCotation/ccr/cotation/util
-E cvs server: Updating CCRCapCotation/ccr/cotation/vue
-E cvs server: Updating CCRCapCotation/ccr/cotation/vue/context
-E cvs server: Updating CCRCapCotation/ccr/cotation/vue/renderer
-E cvs server: Updating CCRCapCotation/ccr/cotation/vue/state
-E cvs server: Updating CCRCapCotation/ccr/cotation/workflow
-E cvs server: Updating CCRCapCotation/ccr/cotation/workflow/jbpm
-E cvs server: Updating CCRCapCotation/ccr/cotation/workflow/manager
-E cvs server: Updating CCRCapCotation/ccr/cotation/workflow/sample
-E cvs server: Updating CCRCapCotation/ccr/cotation/workflow/state
-E cvs server: Updating CCRCapCotation/ccr/db2
-E cvs server: Updating CCRCapCotation/ccr/db2/cotation
-E cvs server: Updating CCRCapCotation/ccr/db2/cotation/workflow
-E cvs server: Updating CCRCapCotation/ccr/db2/cotation/workflow/jbpm
-E cvs server: Updating CCRCapCotation/ccr/db2/cotation/workflow/manager
-E cvs server: Updating CCRCapCotation/ccr/db2/cotation/workflow/sample
-E cvs server: Updating CCRCapCotation/ccr/domino
-E cvs server: Updating CCRCapCotation/ccr/domino/manager
-E cvs server: Updating CCRCapCotation/ccr/domino/manager/capcotation
-E cvs server: Updating CCRCapCotation/ccr/domino/manager/capcotation/natif
-E cvs server: Updating CCRCapCotation/ccr/reprise
-E cvs server: Updating CCRCapCotation/ccr/reprise/launcher
-E cvs server: Updating CCRCapCotationDB2
-E cvs server: Updating CCRCapCotationDB2/ccr
-E cvs server: Updating CCRCapCotationDB2/ccr/db2
-E cvs server: Updating CCRCapCotationDB2/ccr/db2/cotation
-E cvs server: Updating CCRCapCotationDB2/ccr/db2/cotation/batch
-E cvs server: Updating CCRCapCotationDB2/ccr/db2/cotation/excel
-E cvs server: Updating CCRCapCotationDB2/ccr/db2/cotation/manager
-E cvs server: Updating CCRCapCotationDB2/ccr/db2/cotation/vue
-E cvs server: Updating CCRCapCotationDB2/ccr/db2/cotation/vue/context
-E cvs server: Updating CCRCapCotationDB2/ccr/db2/cotation/vue/renderer
-E cvs server: Updating CCRCapCotationDB2/ccr/db2/cotation/vue/state
-E cvs server: Updating CCRCapCotationDB2/ccr/db2/cotation/workflow
-E cvs server: Updating CCRCapCotationDB2/ccr/db2/cotation/workflow/jbpm
-E cvs server: Updating CCRCapCotationDB2/ccr/db2/cotation/workflow/manager
-E cvs server: Updating CCRCapCotationDB2/ccr/db2/cotation/workflow/sample
-E cvs server: Updating CCRCapCotationDB2/ccr/db2/domino
-E cvs server: Updating CCRCapCotationDB2/ccr/db2/domino/manager
-E cvs server: Updating CCRCapCotationDB2/ccr/db2/domino/manager/capcotation
-E cvs server: Updating CCRCapCotationDB2/ccr/db2/reprise
-E cvs server: Updating CCRCapCotationDB2/ccr/db2/reprise/launcher
-E cvs server: Updating CCRPrcIndexation
-E cvs server: Updating CCRPrcIndexation/ccr
-E cvs server: Updating CCRPrcIndexation/ccr/prc
-E cvs server: Updating CCRPrcIndexation/ccr/prc/indexation
-E cvs server: Updating CCRPrcIndexation/ccr/prc/indexation/util
-E cvs server: Updating CCRPrcIndexation/ccr/prc/indexation/vue
-E cvs server: Updating CMAGIRCpt
-E cvs server: Updating CMAGIRCpt/ccr
-E cvs server: Updating CMAGIRCpt/ccr/cm
-E cvs server: Updating CMAGIRCpt/ccr/cm/agir
-E cvs server: Updating CMAGIRCpt/ccr/cm/agir/cpt
-E cvs server: Updating CMAGIRCpt/ccr/cm/agir/cpt/batch
-E cvs server: Updating CMAGIRCpt/ccr/cm/agir/cpt/manager
-E cvs server: Updating CMAGIRCpt/ccr/prc
-E cvs server: Updating CMAGIRCpt/ccr/prc/agir
-E cvs server: Updating CMAGIRCpt/ccr/prc/agir/cpt
-E cvs server: Updating CMAGIRCpt/ccr/prc/agir/cpt/batch
-E cvs server: Updating CMAGIRCpt/ccr/prc/agir/cpt/manager
-E cvs server: Updating CMAGIRCpt/ccr/prc/cpt
-E cvs server: Updating CMAGIRCpt/ccr/prc/cpt/batch
-E cvs server: Updating CMAGIRCpt/ccr/prc/cpt/manager
-E cvs server: Updating CMAGIRGca
-E cvs server: Updating CMAGIRGca/ccr
-E cvs server: Updating CMAGIRGca/ccr/cm
-E cvs server: Updating CMAGIRGca/ccr/cm/agir
-E cvs server: Updating CMAGIRGca/ccr/cm/agir/gca
-E cvs server: Updating CMAGIRGca/ccr/cm/agir/gca/batch
-E cvs server: Updating CMAGIRGca/ccr/cm/agir/gca/manager
-E cvs server: Updating CMAGIRGca/ccr/prc
-E cvs server: Updating CMAGIRGca/ccr/prc/agir
-E cvs server: Updating CMAGIRGca/ccr/prc/agir/gca
-E cvs server: Updating CMAGIRGca/ccr/prc/agir/gca/batch
-E cvs server: Updating CMAGIRGca/ccr/prc/agir/gca/manager
-E cvs server: Updating CMAGIRGca/ccr/prc/agir/gca/vue
-E cvs server: Updating CMAGIRGca/ccr/prc/gca
-E cvs server: Updating CMAGIRGca/ccr/prc/gca/adapter
-E cvs server: Updating CMAGIRGca/ccr/prc/gca/batch
-E cvs server: Updating CMAGIRGca/ccr/prc/gca/manager
-E cvs server: Updating CMAGIRRef
-E cvs server: Updating CMAGIRRef/ccr
-E cvs server: Updating CMAGIRRef/ccr/cm
-E cvs server: Updating CMAGIRRef/ccr/cm/agir
-E cvs server: Updating CMAGIRRef/ccr/cm/agir/ref
-E cvs server: Updating CMAGIRRef/ccr/cm/agir/ref/batch
-E cvs server: Updating CMAGIRRef/ccr/prc
-E cvs server: Updating CMAGIRRef/ccr/prc/agir
-E cvs server: Updating CMAGIRRef/ccr/prc/agir/ref
-E cvs server: Updating CMAGIRRef/ccr/prc/agir/ref/batch
-E cvs server: Updating CMAGIRStc
-E cvs server: Updating CMAGIRStc/ccr
-E cvs server: Updating CMAGIRStc/ccr/cm
-E cvs server: Updating CMAGIRStc/ccr/cm/agir
-E cvs server: Updating CMAGIRStc/ccr/cm/agir/stc
-E cvs server: Updating CMAGIRStc/ccr/cm/agir/stc/batch
-E cvs server: Updating CMAGIRStc/ccr/cm/agir/stc/manager
-E cvs server: Updating CMAGIRStc/ccr/cm/agir/stc/moteur
-E cvs server: Updating CMAGIRStc/ccr/prc
-E cvs server: Updating CMAGIRStc/ccr/prc/agir
-E cvs server: Updating CMAGIRStc/ccr/prc/agir/stc
-E cvs server: Updating CMAGIRStc/ccr/prc/agir/stc/batch
-E cvs server: Updating CMAGIRStc/ccr/prc/agir/stc/manager
-E cvs server: Updating CMAGIRStc/ccr/prc/agir/stc/moteur
-E cvs server: Updating CMAGIRStc/ccr/prc/stc
-E cvs server: Updating CMAGIRStc/ccr/prc/stc/batch
-E cvs server: Updating CMAGIRStc/ccr/prc/stc/manager
-E cvs server: Updating CMAGIRStc/ccr/prc/stc/moteur
-E cvs server: Updating CMApplicationConstant
-E cvs server: Updating CMApplicationConstant/META-INF
-E cvs server: Updating CMApplicationConstant/ccr
-E cvs server: Updating CMApplicationConstant/ccr/cm
-E cvs server: Updating CMApplicationConstant/ccr/cm/application
-E cvs server: Updating CMApplicationConstant/ccr/cm/application/constant
-E cvs server: Updating CMApplicationConstant/ccr/prc
-E cvs server: Updating CMApplicationConstant/ccr/prc/application
-E cvs server: Updating CMApplicationConstant/ccr/prc/application/constant
-E cvs server: Updating CMBatch
-E cvs server: Updating CMBenchmark
-E cvs server: Updating CMBenchmark/ccr
-E cvs server: Updating CMBenchmark/ccr/cm
-E cvs server: Updating CMBenchmark/ccr/cm/benchmark
-E cvs server: Updating CMBenchmark/ccr/cm/benchmark/connection
-E cvs server: Updating CMBenchmark/ccr/cm/benchmark/context
-E cvs server: Updating CMBenchmark/ccr/cm/benchmark/retrieve
-E cvs server: Updating CMBenchmark/ccr/cm/benchmark/retrieve/data
-E cvs server: Updating CMBenchmark/ccr/cm/benchmark/retrieve/items
-E cvs server: Updating CMBenchmark/ccr/cm/sample
-E cvs server: Updating CMBenchmark/common
-E cvs server: Updating CMDomino
-E cvs server: Updating CMDomino/ccr
-E cvs server: Updating CMDomino/ccr/agir
-E cvs server: Updating CMDomino/ccr/agir/cap
-E cvs server: Updating CMDomino/ccr/agir/cap/manager
-E cvs server: Updating CMDomino/ccr/cm
-E cvs server: Updating CMDomino/ccr/cm/annuaire
-E cvs server: Updating CMDomino/ccr/cm/annuaire/batch
-E cvs server: Updating CMDomino/ccr/cm/annuaire/manager
-E cvs server: Updating CMDomino/ccr/cm/cap
-E cvs server: Updating CMDomino/ccr/cm/cap/carnadpr
-E cvs server: Updating CMDomino/ccr/cm/cap/carnadpr/batch
-E cvs server: Updating CMDomino/ccr/cm/cap/carnadpr/manager
-E cvs server: Updating CMDomino/ccr/cm/cap/correspondance
-E cvs server: Updating CMDomino/ccr/cm/cap/correspondance/batch
-E cvs server: Updating CMDomino/ccr/cm/cap/correspondance/manager
-E cvs server: Updating CMDomino/ccr/cm/cap/cotation
-E cvs server: Updating CMDomino/ccr/cm/cap/cotation/batch
-E cvs server: Updating CMDomino/ccr/cm/cap/cotation/manager
-E cvs server: Updating CMDomino/ccr/cm/cap/launcher
-E cvs server: Updating CMDomino/ccr/domino
-E cvs server: Updating CMDomino/ccr/domino/annuaire
-E cvs server: Updating CMDomino/ccr/domino/annuaire/manager
-E cvs server: Updating CMDomino/ccr/domino/cap
-E cvs server: Updating CMDomino/ccr/domino/cap/carnadpr
-E cvs server: Updating CMDomino/ccr/domino/cap/carnadpr/manager
-E cvs server: Updating CMDomino/ccr/prc
-E cvs server: Updating CMDomino/ccr/prc/cap
-E cvs server: Updating CMDomino/ccr/prc/cap/carnadpr
-E cvs server: Updating CMDomino/ccr/prc/cap/carnadpr/manager
-E cvs server: Updating CMDomino/ccr/prc/cap/correspondance
-E cvs server: Updating CMDomino/ccr/prc/cap/correspondance/batch
-E cvs server: Updating CMDomino/ccr/prc/cap/correspondance/manager
-E cvs server: Updating CMDomino/ccr/prc/cap/cotation
-E cvs server: Updating CMDomino/ccr/prc/cap/cotation/adapter
-E cvs server: Updating CMDomino/ccr/prc/cap/cotation/batch
-E cvs server: Updating CMDomino/ccr/prc/cap/cotation/manager
-E cvs server: Updating CMDomino/ccr/prc/cap/launcher
-E cvs server: Updating CMDomino/ccr/prc/domino
-E cvs server: Updating CMDomino/ccr/prc/domino/batch
-E cvs server: Updating CMDossierVisite
-E cvs server: Updating CMDossierVisite/ccr
-E cvs server: Updating CMDossierVisite/ccr/cm
-E cvs server: Updating CMDossierVisite/ccr/cm/visite
-E cvs server: Updating CMDossierVisite/ccr/cm/visite/batch
-E cvs server: Updating CMDossierVisite/ccr/cm/visite/cache
-E cvs server: Updating CMDossierVisite/ccr/cm/visite/launcher
-E cvs server: Updating CMDossierVisite/ccr/cm/visite/manager
-E cvs server: Updating CMDossierVisite/ccr/cm/visite/util
-E cvs server: Updating CMDossierVisite/ccr/cm/visite/vue
-E cvs server: Updating CMDossierVisite/ccr/cm/visite/vue/component
-E cvs server: Updating CMDossierVisite/ccr/cm/visite/vue/component/panel
-E cvs server: Updating CMDossierVisite/ccr/cm/visite/vue/component/tree
-E cvs server: Updating CMDossierVisite/ccr/cm/visite/vue/component/treetable
-E cvs server: Updating CMDossierVisite/ccr/cm/visite/vue/component/treetable/node
-E cvs server: Updating CMDossierVisite/ccr/cm/visite/vue/component/treetable/node/batch
-E cvs server: Updating CMDossierVisite/ccr/cm/visite/vue/component/treetable/sorttreetable
-E cvs server: Updating CMDossierVisite/ccr/cm/visite/vue/component/treetable/sorttreetable/comparator
-E cvs server: Updating CMDossierVisite/ccr/cm/visite/vue/component/treetable/ui
-E cvs server: Updating CMDossierVisite/ccr/prc
-E cvs server: Updating CMDossierVisite/ccr/prc/checktree
-E cvs server: Updating CMDossierVisite/ccr/prc/launcher
-E cvs server: Updating CMDossierVisite/ccr/prc/manager
-E cvs server: Updating CMDossierVisite/ccr/prc/panel
-E cvs server: Updating CMDossierVisite/ccr/prc/renderer
-E cvs server: Updating CMDossierVisite/ccr/prc/tree
-E cvs server: Updating CMDossierVisite/ccr/prc/util
-E cvs server: Updating CMDossierVisite/ccr/prc/visite
-E cvs server: Updating CMDossierVisite/ccr/prc/visite/batch
-E cvs server: Updating CMDossierVisite/ccr/prc/visite/manager
-E cvs server: Updating CMDossierVisite/ccr/prc/visite/tree
-E cvs server: Updating CMDossierVisite/ccr/prc/visite/util
-E cvs server: Updating CMDossierVisite/ccr/prc/visite/vue
-E cvs server: Updating CMDossierVisite/ccr/prc/visite/vue/component
-E cvs server: Updating CMDossierVisite/ccr/prc/visite/vue/component/treetable
-E cvs server: Updating CMDossierVisite/ccr/prc/visite/vue/component/treetable/node
-E cvs server: Updating CMDossierVisite/ccr/prc/visite/vue/component/treetable/sorttreetable
-E cvs server: Updating CMDossierVisite/ccr/prc/visite/vue/component/treetable/sorttreetable/comparator
-E cvs server: Updating CMDossierVisite/ccr/prc/visite/vue/component/treetable/ui
-E cvs server: Updating CMDossierVisite/ccr/prc/vue
-E cvs server: Updating CMDossierVisite/test
-E cvs server: Updating CMDossierVisite/test/divers
-E cvs server: Updating CMDossierVisite/test/htmlviewer
-E cvs server: Updating CMDossierVisite/test/rmi
-E cvs server: Updating CMDossierVisite/tmp
-E cvs server: Updating CMEISDonneesContractuelles
-E cvs server: Updating CMEISDonneesContractuelles/ccr
-E cvs server: Updating CMEISDonneesContractuelles/ccr/cm
-E cvs server: Updating CMEISDonneesContractuelles/ccr/cm/eis
-E cvs server: Updating CMEISDonneesContractuelles/ccr/cm/eis/dco
-E cvs server: Updating CMEISDonneesContractuelles/ccr/cm/eis/dco/batch
-E cvs server: Updating CMEISDonneesContractuelles/ccr/cm/eis/dco/manager
-E cvs server: Updating CMEISDonneesContractuelles/ccr/prc
-E cvs server: Updating CMEISDonneesContractuelles/ccr/prc/dco
-E cvs server: Updating CMEISDonneesContractuelles/ccr/prc/dco/batch
-E cvs server: Updating CMEISDonneesContractuelles/ccr/prc/dco/manager
-E cvs server: Updating CMEISDonneesContractuelles/ccr/prc/eis
-E cvs server: Updating CMEISDonneesContractuelles/ccr/prc/eis/dco
-E cvs server: Updating CMEISDonneesContractuelles/ccr/prc/eis/dco/batch
-E cvs server: Updating CMEISDonneesContractuelles/ccr/prc/eis/dco/manager
-E cvs server: Updating CMGenerique
-E cvs server: Updating CMGenerique/ccr
-E cvs server: Updating CMGenerique/ccr/cm
-E cvs server: Updating CMGenerique/ccr/cm/generique
-E cvs server: Updating CMGenerique/ccr/cm/generique/batch
-E cvs server: Updating CMGenerique/ccr/cm/generique/manager
-E cvs server: Updating CMGenerique/ccr/cm/vue
-E cvs server: Updating CMGenerique/ccr/cm/vue/components
-E cvs server: Updating CMGenerique/ccr/cm/vue/components/agir
-E cvs server: Updating CMGenerique/ccr/cm/vue/components/agir/formattedtable
-E cvs server: Updating CMGenerique/ccr/cm/vue/components/popups
-E cvs server: Updating CMGenerique/ccr/cm/vue/components/tabbedpane
-E cvs server: Updating CMGenerique/ccr/prc
-E cvs server: Updating CMGenerique/ccr/prc/generique
-E cvs server: Updating CMGenerique/ccr/prc/generique/batch
-E cvs server: Updating CMGenerique/ccr/prc/generique/manager
-E cvs server: Updating CMGenerique/ccr/prc/generique/renderer
-E cvs server: Updating CMGenerique/ccr/prc/generique/viewer
-E cvs server: Updating CMGenerique/ccr/prc/vue
-E cvs server: Updating CMGenerique/ccr/prc/vue/components
-E cvs server: Updating CMGenerique/ccr/prc/vue/components/agir
-E cvs server: Updating CMGenerique/ccr/prc/vue/components/agir/formattedtable
-E cvs server: Updating CMGenerique/ccr/prc/vue/components/tabbedpane
-E cvs server: Updating CMSamples
-E cvs server: Updating CMSamples/ccr
-E cvs server: Updating CMSamples/ccr/cm
-E cvs server: Updating CMSamples/ccr/cm/sample
-E cvs server: Updating CMTool
-E cvs server: Updating CMTool/ccr
-E cvs server: Updating CMTool/ccr/cm
-E cvs server: Updating CMTool/ccr/cm/util
-E cvs server: Updating CMTool/ccr/cm/util/pdf
-E cvs server: Updating CMTool/ccr/cm/view
-E cvs server: Updating CMTool/ccr/cm/view/components
-E cvs server: Updating CMTool/ccr/cm/view/components/checktree
-E cvs server: Updating CMTool/ccr/cm/view/components/htmlviewer
-E cvs server: Updating CMTool/ccr/cm/view/components/treenode
-E cvs server: Updating CMTool/ccr/prc
-E cvs server: Updating CMTool/ccr/prc/view
-E cvs server: Updating CMTool/ccr/prc/view/components
-E cvs server: Updating CMTool/ccr/prc/view/components/checktree
-E cvs server: Updating CMTool/ccr/prc/view/components/htmlviewer
-E cvs server: Updating CMTool/ccr/prc/view/components/treenode
-E cvs server: Updating PRCAGIRCpt
-E cvs server: Updating PRCAGIRCpt/ccr
-E cvs server: Updating PRCAGIRCpt/ccr/prc
-E cvs server: Updating PRCAGIRCpt/ccr/prc/cpt
-E cvs server: Updating PRCAGIRCpt/ccr/prc/cpt/batch
-E cvs server: Updating PRCAGIRCpt/ccr/prc/cpt/manager
-E cvs server: Updating PRCAGIRGca
-E cvs server: Updating PRCAGIRGca/ccr
-E cvs server: Updating PRCAGIRGca/ccr/prc
-E cvs server: Updating PRCAGIRGca/ccr/prc/agir
-E cvs server: Updating PRCAGIRGca/ccr/prc/agir/gca
-E cvs server: Updating PRCAGIRGca/ccr/prc/agir/gca/vue
-E cvs server: Updating PRCAGIRGca/ccr/prc/gca
-E cvs server: Updating PRCAGIRGca/ccr/prc/gca/adapter
-E cvs server: Updating PRCAGIRGca/ccr/prc/gca/batch
-E cvs server: Updating PRCAGIRGca/ccr/prc/gca/manager
-E cvs server: Updating PRCAGIRStc
-E cvs server: Updating PRCAGIRStc/ccr
-E cvs server: Updating PRCAGIRStc/ccr/prc
-E cvs server: Updating PRCAGIRStc/ccr/prc/stc
-E cvs server: Updating PRCAGIRStc/ccr/prc/stc/batch
-E cvs server: Updating PRCAGIRStc/ccr/prc/stc/manager
-E cvs server: Updating PRCAGIRStc/ccr/prc/stc/moteur
-E cvs server: Updating PRCBusinessProcessCreationRules
-E cvs server: Updating PRCBusinessProcessCreationRules/ccr
-E cvs server: Updating PRCBusinessProcessCreationRules/ccr/process
-E cvs server: Updating PRCBusinessProcessCreationRules/ccr/process/indexation
-E cvs server: Updating PRCBusinessProcessCreationRules/ccr/process/indexation/rule
-E cvs server: Updating PRCBusinessProcessCreationRules/ccr/process/rule
-E cvs server: Updating PRCBusinessProcessCreationRules/ccr/process/rule/ad
-E cvs server: Updating PRCBusinessProcessCreationRules/ccr/process/rule/b2
-E cvs server: Updating PRCCluster
-E cvs server: Updating PRCCluster/ccr
-E cvs server: Updating PRCCluster/ccr/prc
-E cvs server: Updating PRCCluster/ccr/prc/as400
-E cvs server: Updating PRCCluster/ccr/prc/as400/batch
-E cvs server: Updating PRCCluster/ccr/prc/as400/launcher
-E cvs server: Updating PRCCluster/ccr/prc/as400/manager
-E cvs server: Updating PRCCluster/ccr/prc/folder
-E cvs server: Updating PRCCluster/ccr/prc/folder/manager
-E cvs server: Updating PRCCluster/ccr/prc/folder/node
-E cvs server: Updating PRCCluster/ccr/prc/folder/node/context
-E cvs server: Updating PRCCluster/ccr/prc/folder/view
-E cvs server: Updating PRCCluster/ccr/prc/proto
-E cvs server: Updating PRCCluster/ccr/prc/proto/indexation
-E cvs server: Updating PRCCluster/ccr/prc/proto/indexation/manager
-E cvs server: Updating PRCCluster/ccr/prc/proto/indexation/process
-E cvs server: Updating PRCDomino
-E cvs server: Updating PRCDomino/ccr
-E cvs server: Updating PRCDomino/ccr/prc
-E cvs server: Updating PRCDomino/ccr/prc/cap
-E cvs server: Updating PRCDomino/ccr/prc/cap/carnadpr
-E cvs server: Updating PRCDomino/ccr/prc/cap/carnadpr/manager
-E cvs server: Updating PRCDomino/ccr/prc/cap/correspondance
-E cvs server: Updating PRCDomino/ccr/prc/cap/correspondance/batch
-E cvs server: Updating PRCDomino/ccr/prc/cap/correspondance/manager
-E cvs server: Updating PRCDomino/ccr/prc/cap/cotation
-E cvs server: Updating PRCDomino/ccr/prc/cap/cotation/adapter
-E cvs server: Updating PRCDomino/ccr/prc/cap/cotation/batch
-E cvs server: Updating PRCDomino/ccr/prc/cap/cotation/manager
-E cvs server: Updating PRCDomino/ccr/prc/domino
-E cvs server: Updating PRCDomino/ccr/prc/domino/batch
-E cvs server: Updating PRCDomino/ccr/prc/generique
-E cvs server: Updating PRCDomino/ccr/prc/generique/manager
-E cvs server: Updating PRCDossierAssure
-E cvs server: Updating PRCDossierAssure/ccr
-E cvs server: Updating PRCDossierAssure/ccr/prc
-E cvs server: Updating PRCDossierAssure/ccr/prc/portail
-E cvs server: Updating PRCDossierAssure/ccr/prc/portail/assure
-E cvs server: Updating PRCDossierAssure/ccr/prc/portail/assure/vue
-E cvs server: Updating PRCDossierAssure/ccr/prc/portail/vue
-E cvs server: Updating PRCDossierContrat
-E cvs server: Updating PRCDossierContrat/ccr
-E cvs server: Updating PRCDossierContrat/ccr/prc
-E cvs server: Updating PRCDossierContrat/ccr/prc/contrat
-E cvs server: Updating PRCDossierContrat/ccr/prc/contrat/suivi
-E cvs server: Updating PRCDossierContrat/ccr/prc/contrat/suivi/context
-E cvs server: Updating PRCDossierContrat/ccr/prc/contrat/suivi/vue
-E cvs server: Updating PRCDossierContrat/ccr/prc/portail
-E cvs server: Updating PRCDossierContrat/ccr/prc/portail/contrat
-E cvs server: Updating PRCDossierContrat/ccr/prc/portail/contrat/manager
-E cvs server: Updating PRCDossierContrat/ccr/prc/portail/contrat/tree
-E cvs server: Updating PRCDossierContrat/ccr/prc/portail/contrat/util
-E cvs server: Updating PRCDossierContrat/ccr/prc/portail/contrat/vue
-E cvs server: Updating PRCDossierContrat/ccr/prc/portail/societe_agir
-E cvs server: Updating PRCDossierContrat/ccr/prc/portail/societe_agir/vue
-E cvs server: Updating PRCDossierFacultatives
-E cvs server: Updating PRCDossierFacultatives/ccr
-E cvs server: Updating PRCDossierFacultatives/ccr/prc
-E cvs server: Updating PRCDossierFacultatives/ccr/prc/portail
-E cvs server: Updating PRCDossierFacultatives/ccr/prc/portail/facs
-E cvs server: Updating PRCDossierFacultatives/ccr/prc/portail/facs/context
-E cvs server: Updating PRCDossierFacultatives/ccr/prc/portail/facs/manager
-E cvs server: Updating PRCDossierFacultatives/ccr/prc/portail/facs/panel
-E cvs server: Updating PRCDossierFacultatives/ccr/prc/portail/facs/vue
-E cvs server: Updating PRCDossierSociete
-E cvs server: Updating PRCDossierSociete/ccr
-E cvs server: Updating PRCDossierSociete/ccr/prc
-E cvs server: Updating PRCDossierSociete/ccr/prc/portail
-E cvs server: Updating PRCDossierSociete/ccr/prc/portail/societe
-E cvs server: Updating PRCDossierSociete/ccr/prc/portail/societe/adapter
-E cvs server: Updating PRCDossierSociete/ccr/prc/portail/societe/context
-E cvs server: Updating PRCDossierSociete/ccr/prc/portail/societe/listener
-E cvs server: Updating PRCDossierSociete/ccr/prc/portail/societe/manager
-E cvs server: Updating PRCDossierSociete/ccr/prc/portail/societe/panel
-E cvs server: Updating PRCDossierSociete/ccr/prc/portail/societe/renderer
-E cvs server: Updating PRCDossierSociete/ccr/prc/portail/societe/tree
-E cvs server: Updating PRCDossierSociete/ccr/prc/portail/societe/util
-E cvs server: Updating PRCDossierSociete/ccr/prc/portail/societe/viewer
-E cvs server: Updating PRCDossierSociete/ccr/prc/portail/societe/vue
-E cvs server: Updating PRCDossierSocieteAGIR
-E cvs server: Updating PRCDossierSocieteAGIR/ccr
-E cvs server: Updating PRCDossierSocieteAGIR/ccr/prc
-E cvs server: Updating PRCDossierSocieteAGIR/ccr/prc/portail
-E cvs server: Updating PRCDossierSocieteAGIR/ccr/prc/portail/societe
-E cvs server: Updating PRCDossierSocieteAGIR/ccr/prc/portail/societe/agir
-E cvs server: Updating PRCDossierSocieteAGIR/ccr/prc/portail/societe/agir/vue
-E cvs server: Updating PRCEISDonneesContractuelles
-E cvs server: Updating PRCEISDonneesContractuelles/ccr
-E cvs server: Updating PRCEISDonneesContractuelles/ccr/prc
-E cvs server: Updating PRCEISDonneesContractuelles/ccr/prc/dco
-E cvs server: Updating PRCEISDonneesContractuelles/ccr/prc/dco/batch
-E cvs server: Updating PRCEISDonneesContractuelles/ccr/prc/dco/manager
-E cvs server: Updating PRCExploitation
-E cvs server: Updating PRCExploitation/ccr
-E cvs server: Updating PRCExploitation/ccr/pgm
-E cvs server: Updating PRCExploitation/ccr/pgm/expl
-E cvs server: Updating PRCExploitation/ccr/pgm/expl/nat
-E cvs server: Updating PRCExploitation/ccr/pgm/expl/prc
-E cvs server: Updating PRCExploitation/ccr/pgm/expl/prc/cap
-E cvs server: Updating PRCExploitation/ccr/pgm/expl/prc/cap/correspondance
-E cvs server: Updating PRCExploitation/ccr/pgm/expl/prc/cap/cotation
-E cvs server: Updating PRCExploitation/ccr/pgm/expl/prc/cpt
-E cvs server: Updating PRCExploitation/ccr/pgm/expl/prc/dco
-E cvs server: Updating PRCExploitation/ccr/pgm/expl/prc/gca
-E cvs server: Updating PRCExploitation/ccr/pgm/expl/prc/stc
-E cvs server: Updating PRCExploitation/ccr/pgm/expl/prc/vst
-E cvs server: Updating PRCExploitation/ccr/pgm/expl/vst
-E cvs server: Updating PRCExploitation/ccr/prc
-E cvs server: Updating PRCExploitation/ccr/prc/batch
-E cvs server: Updating PRCExploitation/ccr/prc/batch/local
-E cvs server: Updating PRCExploitation/ccr/prc/batch/local/launcher
-E cvs server: Updating PRCGenerique
-E cvs server: Updating PRCGenerique/ccr
-E cvs server: Updating PRCGenerique/ccr/prc
-E cvs server: Updating PRCGenerique/ccr/prc/cache
-E cvs server: Updating PRCGenerique/ccr/prc/context
-E cvs server: Updating PRCGenerique/ccr/prc/dossier
-E cvs server: Updating PRCGenerique/ccr/prc/dossier/tree
-E cvs server: Updating PRCGenerique/ccr/prc/dossier/util
-E cvs server: Updating PRCGenerique/ccr/prc/generique
-E cvs server: Updating PRCGenerique/ccr/prc/generique/batch
-E cvs server: Updating PRCGenerique/ccr/prc/generique/dossier
-E cvs server: Updating PRCGenerique/ccr/prc/generique/dossier/adapter
-E cvs server: Updating PRCGenerique/ccr/prc/generique/dossier/manager
-E cvs server: Updating PRCGenerique/ccr/prc/generique/dossier/tree
-E cvs server: Updating PRCGenerique/ccr/prc/generique/dossier/util
-E cvs server: Updating PRCGenerique/ccr/prc/generique/dossier/util/tunneling
-E cvs server: Updating PRCGenerique/ccr/prc/generique/manager
-E cvs server: Updating PRCGenerique/ccr/prc/generique/manager/process
-E cvs server: Updating PRCGenerique/ccr/prc/generique/util
-E cvs server: Updating PRCGenerique/ccr/prc/generique/viewer
-E cvs server: Updating PRCGenerique/ccr/prc/portail
-E cvs server: Updating PRCGenerique/ccr/prc/portail/vue
-E cvs server: Updating PRCGenerique/ccr/prc/preferences
-E cvs server: Updating PRCGenerique/ccr/prc/user
-E cvs server: Updating PRCGenerique/ccr/prc/user/prefs
-E cvs server: Updating PRCGenerique/ccr/prc/util
-E cvs server: Updating PRCGenerique/ccr/prc/vue
-E cvs server: Updating PRCGenerique/ccr/prc/vue/components
-E cvs server: Updating PRCGenerique/ccr/prc/vue/components/agir
-E cvs server: Updating PRCIndexation
-E cvs server: Updating PRCIndexation/ccr
-E cvs server: Updating PRCIndexation/ccr/prc
-E cvs server: Updating PRCIndexation/ccr/prc/indexation
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/ad
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/adapter
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/b2
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/batch
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/context
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/editpolicy
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/generique
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/generique/action
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/generique/manager
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/manager
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/paper
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/paper/util
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/paper/vue
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/papier
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/papier/vue
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/parametre
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/servlet
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/util
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/util/view
-E cvs server: Updating PRCIndexation/ccr/prc/indexation/vue
-E cvs server: Updating PRCPaperDocument
-E cvs server: Updating PRCPaperDocument/ccr
-E cvs server: Updating PRCPaperDocument/ccr/prc
-E cvs server: Updating PRCPaperDocument/ccr/prc/paper
-E cvs server: Updating PRCPaperDocument/ccr/prc/paper/indexation
-E cvs server: Updating PRCPaperDocument/ccr/prc/paper/indexation/vue
-E cvs server: Updating PRCPaperDocument/ccr/prc/paper/manager
-E cvs server: Updating PRCRecherche
-E cvs server: Updating PRCRecherche/ccr
-E cvs server: Updating PRCRecherche/ccr/prc
-E cvs server: Updating PRCRecherche/ccr/prc/portail
-E cvs server: Updating PRCRecherche/ccr/prc/portail/recherche
-E cvs server: Updating PRCRecherche/ccr/prc/portail/recherche/adapter
-E cvs server: Updating PRCRecherche/ccr/prc/portail/recherche/node
-E cvs server: Updating PRCRecherche/ccr/prc/portail/recherche/node/context
-E cvs server: Updating PRCRecherche/ccr/prc/portail/recherche/panel
-E cvs server: Updating PRCRecherche/ccr/prc/portail/recherche/vue
-E cvs server: Updating PRCRecherche/ccr/prc/recherche
-E cvs server: Updating PRCRecherche/ccr/prc/recherche/workflow
-E cvs server: Updating PRCRecherche/ccr/prc/recherche/workflow/jbpm
-E cvs server: Updating PRCRecherche/ccr/prc/recherche/workflow/manager
-E cvs server: Updating PRCRepriseContent
-E cvs server: Updating PRCRepriseContent/ccr
-E cvs server: Updating PRCRepriseContent/ccr/prc
-E cvs server: Updating PRCRepriseContent/ccr/prc/content
-E cvs server: Updating PRCRepriseContent/ccr/prc/content/reprise
-E cvs server: Updating PRCTroncCommun
-E cvs server: Updating PRCTroncCommun/ccr
-E cvs server: Updating PRCTroncCommun/ccr/prc
-E cvs server: Updating PRCTroncCommun/ccr/prc/application
-E cvs server: Updating PRCTroncCommun/ccr/prc/application/constant
-E cvs server: Updating PRCTroncCommun/ccr/prc/view
-E cvs server: Updating PRCTroncCommun/ccr/prc/view/components
-E cvs server: Updating PRCTroncCommun/ccr/prc/view/components/checktree
-E cvs server: Updating PRCTroncCommun/ccr/prc/view/components/htmlviewer
-E cvs server: Updating PRCTroncCommun/ccr/prc/view/components/treenode
-E cvs server: Updating PRCTroncCommun/ccr/prc/vue
-E cvs server: Updating PRCTroncCommun/ccr/prc/vue/components
-E cvs server: Updating PRCTroncCommun/ccr/prc/vue/components/agir
-E cvs server: Updating PRCTroncCommun/ccr/prc/vue/components/agir/formattedtable
-E cvs server: Updating PRCTroncCommun/ccr/prc/vue/components/tabbedpane
-E cvs server: Updating PRCWorkflow
-E cvs server: Updating PRCWorkflow/ccr
-E cvs server: Updating PRCWorkflow/ccr/ged
-E cvs server: Updating PRCWorkflow/ccr/ged/cap
-E cvs server: Updating PRCWorkflow/ccr/ged/cap/correspondance
-E cvs server: Updating PRCWorkflow/ccr/ged/cap/correspondance/base
-E cvs server: Updating PRCWorkflow/ccr/ged/cap/correspondance/injection
-E cvs server: Updating PRCWorkflow/ccr/ged/cap/correspondance/injection/batch
-E cvs server: Updating PRCWorkflow/ccr/ged/cap/correspondance/injection/wf
-E cvs server: Updating PRCWorkflow/ccr/ged/cap/correspondance/injection/wf/jbpm
-E cvs server: Updating PRCWorkflow/ccr/ged/cap/correspondance/injection/wf/manager
-E cvs server: Updating PRCWorkflow/ccr/ged/cap/correspondance/process
-E cvs server: Updating PRCWorkflow/ccr/ged/cap/correspondance/util
-E cvs server: Updating PRCWorkflow/ccr/ged/cap/correspondance/util/tunneling
-E cvs server: Updating PRCWorkflow/ccr/ged/cap/correspondance/wf
-E cvs server: Updating PRCWorkflow/ccr/ged/cap/correspondance/wf/batch
-E cvs server: Updating PRCWorkflow/ccr/ged/cap/correspondance/wf/jbpm
-E cvs server: Updating PRCWorkflow/ccr/ged/cap/correspondance/wf/manager
-E cvs server: Updating PRCWorkflow/ccr/ged/cap/correspondance/wf/pgm
-E cvs server: Updating PRCWorkflow/ccr/ged/cap/correspondance/wf/pgm/expl
-E cvs server: Updating PRCWorkflow/ccr/ged/circulation
-E cvs server: Updating PRCWorkflow/ccr/ged/circulation/wf
-E cvs server: Updating PRCWorkflow/ccr/ged/circulation/wf/jbpm
-E cvs server: Updating PRCWorkflow/ccr/ged/circulation/wf/manager
-E cvs server: Updating PRCWorkflow/ccr/ged/circulation/wf/test
-E cvs server: Updating PRCWorkflow/ccr/ged/indexation
-E cvs server: Updating PRCWorkflow/ccr/ged/indexation/wf
-E cvs server: Updating PRCWorkflow/ccr/ged/indexation/wf/jbpm
-E cvs server: Updating PRCWorkflow/ccr/ged/indexation/wf/manager
-E cvs server: Updating PRCWorkflow/ccr/ged/pap
-E cvs server: Updating PRCWorkflow/ccr/ged/pap/scan
-E cvs server: Updating PRCWorkflow/ccr/ged/pap/scan/process
-E cvs server: Updating PRCWorkflow/ccr/ged/pap/scan/wf
-E cvs server: Updating PRCWorkflow/ccr/ged/pap/scan/wf/jbpm
-E cvs server: Updating PRCWorkflow/ccr/ged/pap/scan/wf/manager
-E cvs server: Updating PRCWorkflow/ccr/ged/paper
-E cvs server: Updating PRCWorkflow/ccr/ged/paper/process
-E cvs server: Updating PRCWorkflow/ccr/ged/paper/wf
-E cvs server: Updating PRCWorkflow/ccr/ged/paper/wf/jbpm
-E cvs server: Updating PRCWorkflow/ccr/ged/paper/wf/manager
-E cvs server: Updating PRCWorkflow/ccr/ged/util
-E cvs server: Updating PRCWorkflow/ccr/ged/util/vue
-E cvs server: Updating PRCWorkflow/ccr/prc
-E cvs server: Updating PRCWorkflow/ccr/prc/contrat
-E cvs server: Updating PRCWorkflow/ccr/prc/contrat/wf
-E cvs server: Updating PRCWorkflow/ccr/prc/contrat/wf/jbpm
-E cvs server: Updating PRCWorkflow/ccr/prc/contrat/wf/manager
-E cvs server: Updating launches
-E cvs server: Updating lib
-E cvs server: Updating request
-E cvs server: Updating test
-E cvs server: Updating test/base
-E cvs server: Updating test/base/referentiel
-E cvs server: Updating test/ccr
-E cvs server: Updating test/ccr/prc
-E cvs server: Updating test/ccr/prc/ged
-E cvs server: Updating test/ccr/prc/ged/workflow
-E cvs server: Updating test/ccr/prc/indexation
-E cvs server: Updating test/ccr/prc/indexation/manager
-E cvs server: Updating test/ccr/prc/indexation/vue
-ok
-RESULT> Status OK: org.eclipse.team.cvs.core code=0 ok null
diff --git a/tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/bug152581case2.txt b/tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/bug152581case2.txt
deleted file mode 100644
index 7e9a178..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/resources/BenchmarkTest/bug152581case2.txt
+++ /dev/null
@@ -1,1519 +0,0 @@
-I LOVE YOU
-Valid-responses ok error M E Checked-in Valid-requests Template Set-sticky Clear-static-directory Module-expansion Set-static-directory Clear-sticky New-entry Merged Removed Updated Remove-entry Updat
-e-existing Copy-file Created Notified Mod-time
-valid-requests
-Valid-requests Root Valid-responses valid-requests Repository Directory Max-dotdot Static-directory Sticky Entry Kopt Checkin-time Modified Is-modified UseUnchanged Unchanged Notify Questionable Case
-Argument Argumentx Global_option Gzip-stream wrapper-sendme-rcsOptions Set expand-modules ci co update diff log rlog add remove update-patches gzip-file-contents status rdiff tag rtag import admin exp
-ort history release watch-on watch-off watch-add watch-remove watchers editors init annotate rannotate noop version
-ok
-Root /export/home/cvs/scp
-CMD> cvs -n update -d "/scp"
-Global_option -n
-Argument -d
-Directory .
-/export/home/cvs/scp/scp
-Entry /.project/1.1//-kk/
-Unchanged .project
-Entry /pom.xml/1.28//-kk/
-Unchanged pom.xml
-Directory core
-/export/home/cvs/scp/scp/core
-Entry /.checkstyle/1.2//-kb/
-Unchanged .checkstyle
-Entry /.cvsignore/1.2//-kk/
-Unchanged .cvsignore
-Entry /.jupiter/1.1//-kk/
-Unchanged .jupiter
-Entry /pom.xml/1.56//-kk/
-Unchanged pom.xml
-Directory core/src
-/export/home/cvs/scp/scp/core/src
-Directory core/src/main
-/export/home/cvs/scp/scp/core/src/main
-Directory core/src/main/java
-/export/home/cvs/scp/scp/core/src/main/java
-Entry /overview.html/1.4//-kk/
-Unchanged overview.html
-Directory core/src/main/java/be
-/export/home/cvs/scp/scp/core/src/main/java/be
-Directory core/src/main/java/com/mycompany
-/export/home/cvs/scp/scp/core/src/main/java/com/mycompany
-Directory core/src/main/java/com/mycompany/common
-/export/home/cvs/scp/scp/core/src/main/java/com/mycompany/common
-Directory core/src/main/java/com/mycompany/common/scp
-/export/home/cvs/scp/scp/core/src/main/java/com/mycompany/common/scp
-Entry /IdentificationNumber.java/1.2//-kk/
-Unchanged IdentificationNumber.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory core/src/main/java/com/mycompany/common/scp/date
-/export/home/cvs/scp/scp/core/src/main/java/com/mycompany/common/scp/date
-Entry /BirthDate.java/1.2//-kk/
-Unchanged BirthDate.java
-Entry /Date.java/1.2//-kk/
-Unchanged Date.java
-Entry /Time.java/1.2//-kk/
-Unchanged Time.java
-Entry /YearQuarter.java/1.2//-kk/
-Unchanged YearQuarter.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory core/src/main/java/com/mycompany/common/scp/exception
-/export/home/cvs/scp/scp/core/src/main/java/com/mycompany/common/scp/exception
-Entry /InvalidChecksumException.java/1.2//-kk/
-Unchanged InvalidChecksumException.java
-Entry /InvalidLengthException.java/1.2//-kk/
-Unchanged InvalidLengthException.java
-Entry /InvalidValueException.java/1.2//-kk/
-Unchanged InvalidValueException.java
-Entry /ValueOutOfRangeException.java/1.2//-kk/
-Unchanged ValueOutOfRangeException.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory core/src/main/java/com/mycompany/common/scp/buz
-/export/home/cvs/scp/scp/core/src/main/java/com/mycompany/common/scp/buz
-Entry /ActivityCode.java/1.3//-kk/
-Unchanged ActivityCode.java
-Entry /AdministrativeCode.java/1.2//-kk/
-Unchanged AdministrativeCode.java
-Entry /AdministrativeSystem.java/1.2//-kk/
-Unchanged AdministrativeSystem.java
-Entry /CompanyId.java/1.3//-kk/
-Unchanged CompanyId.java
-Entry /ContributionType.java/1.2//-kk/
-Unchanged ContributionType.java
-Entry /DimaNumber.java/1.3//-kk/
-Unchanged DimaNumber.java
-Entry /EmployerClass.java/1.2//-kk/
-Unchanged EmployerClass.java
-Entry /EmployerClassType.java/1.2//-kk/
-Unchanged EmployerClassType.java
-Entry /EstablishmentId.java/1.1///
-Unchanged EstablishmentId.java
-Entry /IdentificationNumber7M.java/1.3//-kk/
-Unchanged IdentificationNumber7M.java
-Entry /ImportanceCode.java/1.3//-kk/
-Unchanged ImportanceCode.java
-Entry /IniDdNumber.java/1.3//-kk/
-Unchanged IniDdNumber.java
-Entry /IniHopiNumber.java/1.3//-kk/
-Unchanged IniHopiNumber.java
-Entry /IncapacityDegree.java/1.3//-kk/
-Unchanged IncapacityDegree.java
-Entry /JointCommissionNumber.java/1.4//-kk/
-Unchanged JointCommissionNumber.java
-Entry /LocalUnitId.java/1.3//-kk/
-Unchanged LocalUnitId.java
-Entry /opttBuildingOwnerPP.java/1.3//-kk/
-Unchanged opttBuildingOwnerPP.java
-Entry /opttBuildingPP.java/1.3//-kk/
-Unchanged opttBuildingPP.java
-Entry /opttBuildingPPForATCE.java/1.3//-kk/
-Unchanged opttBuildingPPForATCE.java
-Entry /opttContractorPP.java/1.6//-kk/
-Unchanged opttContractorPP.java
-Entry /opttCuratorPP.java/1.8//-kk/
-Unchanged opttCuratorPP.java
-Entry /opttEmployerClass.java/1.3//-kk/
-Unchanged opttEmployerClass.java
-Entry /opttKoppelBaasPP.java/1.5//-kk/
-Unchanged opttKoppelBaasPP.java
-Entry /opttLpaEmployerClass.java/1.3//-kk/
-Unchanged opttLpaEmployerClass.java
-Entry /opttLpaPP.java/1.3//-kk/
-Unchanged opttLpaPP.java
-Entry /opttPP.java/1.4//-kk/
-Unchanged opttPP.java
-Entry /opttItemSecretariatPP.java/1.5//-kk/
-Unchanged opttItemSecretariatPP.java
-Entry /opttSubContractorPP.java/1.6//-kk/
-Unchanged opttSubContractorPP.java
-Entry /opttTemporaryPPForDbeo.java/1.3//-kk/
-Unchanged opttTemporaryPPForDbeo.java
-Entry /opttTemporaryPPForDima.java/1.3//-kk/
-Unchanged opttTemporaryPPForDima.java
-Entry /OccupationNumber.java/1.2//-kk/
-Unchanged OccupationNumber.java
-Entry /PP.java/1.2//-kk/
-Unchanged PP.java
-Entry /PPFactory.java/1.3//-kk/
-Unchanged PPFactory.java
-Entry /PPType.java/1.6//-kk/
-Unchanged PPType.java
-Entry /SisCardNumber.java/1.3//-kk/
-Unchanged SisCardNumber.java
-Entry /ItemSecretariatNumber.java/1.2//-kk/
-Unchanged ItemSecretariatNumber.java
-Entry /buzNumber.java/1.3//-kk/
-Unchanged buzNumber.java
-Entry /WorkerCode.java/1.2//-kk/
-Unchanged WorkerCode.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory core/src/main/java/com/mycompany/common/scp/utils
-/export/home/cvs/scp/scp/core/src/main/java/com/mycompany/common/scp/utils
-Entry /EqualsUtil.java/1.2//-kk/
-Unchanged EqualsUtil.java
-Entry /FormatUtil.java/1.2//-kk/
-Unchanged FormatUtil.java
-Entry /HashCodeUtil.java/1.2//-kk/
-Unchanged HashCodeUtil.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory core/src/main/java/com/mycompany/common/scp/various
-/export/home/cvs/scp/scp/core/src/main/java/com/mycompany/common/scp/various
-Entry /Address.java/1.2//-kk/
-Unchanged Address.java
-Entry /User.java/1.2//-kk/
-Unchanged User.java
-Entry /UserType.java/1.2//-kk/
-Unchanged UserType.java
-Entry /BeUser.java/1.2//-kk/
-Unchanged BeUser.java
-Entry /BuildingSiteNumber.java/1.2//-kk/
-Unchanged BuildingSiteNumber.java
-Entry /CountryCode.java/1.3//-kk/
-Unchanged CountryCode.java
-Entry /DeUser.java/1.2//-kk/
-Unchanged DeUser.java
-Entry /Email.java/1.2//-kk/
-Unchanged Email.java
-Entry /FrUser.java/1.2//-kk/
-Unchanged FrUser.java
-Entry /GbUser.java/1.2//-kk/
-Unchanged GbUser.java
-Entry /Gender.java/1.2//-kk/
-Unchanged Gender.java
-Entry /IeUser.java/1.2//-kk/
-Unchanged IeUser.java
-Entry /LanguageCode.java/1.2//-kk/
-Unchanged LanguageCode.java
-Entry /LuUser.java/1.2//-kk/
-Unchanged LuUser.java
-Entry /NlUser.java/1.2//-kk/
-Unchanged NlUser.java
-Entry /TicketNumber.java/1.2//-kk/
-Unchanged TicketNumber.java
-Entry /package.html/1.3//-kk/
-Unchanged package.html
-Directory core/src/main/java/com/mycompany/common/scp/various/myNumber
-/export/home/cvs/scp/scp/core/src/main/java/com/mycompany/common/scp/various/myNumber
-Entry /AtmyNumber.java/1.1//-kk/
-Unchanged AtmyNumber.java
-Entry /BemyNumber.java/1.4//-kk/
-Unchanged BemyNumber.java
-Entry /CymyNumber.java/1.1//-kk/
-Unchanged CymyNumber.java
-Entry /CzmyNumber.java/1.3//-kk/
-Unchanged CzmyNumber.java
-Entry /DemyNumber.java/1.2//-kk/
-Unchanged DemyNumber.java
-Entry /DkmyNumber.java/1.4//-kk/
-Unchanged DkmyNumber.java
-Entry /EemyNumber.java/1.2//-kk/
-Unchanged EemyNumber.java
-Entry /ElmyNumber.java/1.2//-kk/
-Unchanged ElmyNumber.java
-Entry /EsmyNumber.java/1.4//-kk/
-Unchanged EsmyNumber.java
-Entry /FimyNumber.java/1.2//-kk/
-Unchanged FimyNumber.java
-Entry /FrmyNumber.java/1.4//-kk/
-Unchanged FrmyNumber.java
-Entry /GbmyNumber.java/1.1//-kk/
-Unchanged GbmyNumber.java
-Entry /HumyNumber.java/1.2//-kk/
-Unchanged HumyNumber.java
-Entry /IemyNumber.java/1.5//-kk/
-Unchanged IemyNumber.java
-Entry /ItmyNumber.java/1.3//-kk/
-Unchanged ItmyNumber.java
-Entry /LtmyNumber.java/1.2//-kk/
-Unchanged LtmyNumber.java
-Entry /LumyNumber.java/1.2//-kk/
-Unchanged LumyNumber.java
-Entry /LvmyNumber.java/1.2//-kk/
-Unchanged LvmyNumber.java
-Entry /MtmyNumber.java/1.2//-kk/
-Unchanged MtmyNumber.java
-Entry /NlmyNumber.java/1.5//-kk/
-Unchanged NlmyNumber.java
-Entry /PlmyNumber.java/1.2//-kk/
-Unchanged PlmyNumber.java
-Entry /PtmyNumber.java/1.2//-kk/
-Unchanged PtmyNumber.java
-Entry /SemyNumber.java/1.2//-kk/
-Unchanged SemyNumber.java
-Entry /SimyNumber.java/1.2//-kk/
-Unchanged SimyNumber.java
-Entry /SkmyNumber.java/1.2//-kk/
-Unchanged SkmyNumber.java
-Entry /myNumber.java/1.5//-kk/
-Unchanged myNumber.java
-Entry /myNumberType.java/1.2//-kk/
-Unchanged myNumberType.java
-Entry /package.html/1.1//-kk/
-Unchanged package.html
-Directory core/src/main/java/doc-files
-/export/home/cvs/scp/scp/core/src/main/java/doc-files
-Entry /complexbusinessobject.gif/1.1//-kb/
-Unchanged complexbusinessobject.gif
-Entry /mapping.html/1.3//-kk/
-Unchanged mapping.html
-Entry /packages.gif/1.1//-kb/
-Unchanged packages.gif
-Entry /simplebusinessobject.gif/1.1//-kb/
-Unchanged simplebusinessobject.gif
-Directory core/src/site
-/export/home/cvs/scp/scp/core/src/site
-Entry /.cvsignore/1.1//-kk/
-Unchanged .cvsignore
-Entry /changes.xml/1.15//-kk/
-Unchanged changes.xml
-Entry /site.xml/1.11//-kk/
-Unchanged site.xml
-Directory core/src/site/fml
-/export/home/cvs/scp/scp/core/src/site/fml
-Entry /faq.fml/1.12//-kb/
-Unchanged faq.fml
-Directory core/src/site/resources
-/export/home/cvs/scp/scp/core/src/site/resources
-Directory core/src/site/resources/images
-/export/home/cvs/scp/scp/core/src/site/resources/images
-Entry /packages.gif/1.1//-kb/
-Unchanged packages.gif
-Directory core/src/site/xdoc
-/export/home/cvs/scp/scp/core/src/site/xdoc
-Entry /vision-statement.xml/1.10//-kk/
-Unchanged vision-statement.xml
-Directory core/src/test
-/export/home/cvs/scp/scp/core/src/test
-Directory core/src/test/java
-/export/home/cvs/scp/scp/core/src/test/java
-Directory core/src/test/java/be
-/export/home/cvs/scp/scp/core/src/test/java/be
-Directory core/src/test/java/com/mycompany
-/export/home/cvs/scp/scp/core/src/test/java/com/mycompany
-Directory core/src/test/java/com/mycompany/common
-/export/home/cvs/scp/scp/core/src/test/java/com/mycompany/common
-Directory core/src/test/java/com/mycompany/common/scp
-/export/home/cvs/scp/scp/core/src/test/java/com/mycompany/common/scp
-Entry /AllTests.java/1.1//-kk/
-Unchanged AllTests.java
-Entry /Deserializer.java/1.2//-kk/
-Unchanged Deserializer.java
-Entry /PP.java/1.1//-kk/
-Unchanged PP.java
-Entry /Serializer.java/1.3//-kk/
-Unchanged Serializer.java
-Directory core/src/test/java/com/mycompany/common/scp/date
-/export/home/cvs/scp/scp/core/src/test/java/com/mycompany/common/scp/date
-Entry /AllTests.java/1.1//-kk/
-Unchanged AllTests.java
-Entry /TEST_BirthDate.java/1.1//-kk/
-Unchanged TEST_BirthDate.java
-Entry /TEST_Date.java/1.1//-kk/
-Unchanged TEST_Date.java
-Entry /TEST_Time.java/1.1//-kk/
-Unchanged TEST_Time.java
-Entry /TEST_YearQuarter.java/1.6//-kk/
-Unchanged TEST_YearQuarter.java
-Directory core/src/test/java/com/mycompany/common/scp/buz
-/export/home/cvs/scp/scp/core/src/test/java/com/mycompany/common/scp/buz
-Entry /AllTests.java/1.1//-kk/
-Unchanged AllTests.java
-Entry /TEST_ActivityCode.java/1.1//-kk/
-Unchanged TEST_ActivityCode.java
-Entry /TEST_AdministrativeCode.java/1.1//-kk/
-Unchanged TEST_AdministrativeCode.java
-Entry /TEST_AdministrativeSystem.java/1.1//-kk/
-Unchanged TEST_AdministrativeSystem.java
-Entry /TEST_CompanyId.java/1.1//-kk/
-Unchanged TEST_CompanyId.java
-Entry /TEST_ContributionType.java/1.1//-kk/
-Unchanged TEST_ContributionType.java
-Entry /TEST_DimaNumber.java/1.1//-kk/
-Unchanged TEST_DimaNumber.java
-Entry /TEST_EmployerClass.java/1.1//-kk/
-Unchanged TEST_EmployerClass.java
-Entry /TEST_EstablishmentId.java/1.2///
-Unchanged TEST_EstablishmentId.java
-Entry /TEST_IdentificationNumber7M.java/1.1//-kk/
-Unchanged TEST_IdentificationNumber7M.java
-Entry /TEST_ImportanceCode.java/1.1//-kk/
-Unchanged TEST_ImportanceCode.java
-Entry /TEST_IniDdNumber.java/1.1//-kk/
-Unchanged TEST_IniDdNumber.java
-Entry /TEST_IniHopiNumber.java/1.1//-kk/
-Unchanged TEST_IniHopiNumber.java
-Entry /TEST_IncapacityDegree.java/1.1//-kk/
-Unchanged TEST_IncapacityDegree.java
-Entry /TEST_JointCommissionNumber.java/1.2//-kk/
-Unchanged TEST_JointCommissionNumber.java
-Entry /TEST_LocalUnitId.java/1.1//-kk/
-Unchanged TEST_LocalUnitId.java
-Entry /TEST_OccupationNumber.java/1.1//-kk/
-Unchanged TEST_OccupationNumber.java
-Entry /TEST_PP.java/1.7//-kk/
-Unchanged TEST_PP.java
-Entry /TEST_PPFactory.java/1.4//-kk/
-Unchanged TEST_PPFactory.java
-Entry /TEST_SisCardNumber.java/1.1//-kk/
-Unchanged TEST_SisCardNumber.java
-Entry /TEST_ItemSecretariatNumber.java/1.1//-kk/
-Unchanged TEST_ItemSecretariatNumber.java
-Entry /TEST_buzNumber.java/1.2//-kk/
-Unchanged TEST_buzNumber.java
-Entry /TEST_WorkerCode.java/1.1//-kk/
-Unchanged TEST_WorkerCode.java
-Directory core/src/test/java/com/mycompany/common/scp/utils
-/export/home/cvs/scp/scp/core/src/test/java/com/mycompany/common/scp/utils
-Entry /AllTests.java/1.1//-kk/
-Unchanged AllTests.java
-Entry /TEST_EqualsUtil.java/1.1//-kk/
-Unchanged TEST_EqualsUtil.java
-Entry /TEST_FormatUtil.java/1.1//-kk/
-Unchanged TEST_FormatUtil.java
-Entry /TEST_HashCodeUtil.java/1.1//-kk/
-Unchanged TEST_HashCodeUtil.java
-Directory core/src/test/java/com/mycompany/common/scp/various
-/export/home/cvs/scp/scp/core/src/test/java/com/mycompany/common/scp/various
-Entry /AllTests.java/1.3//-kk/
-Unchanged AllTests.java
-Entry /TEST_Address.java/1.1//-kk/
-Unchanged TEST_Address.java
-Entry /TEST_BeUser.java/1.1//-kk/
-Unchanged TEST_BeUser.java
-Entry /TEST_BuildingSiteNumber.java/1.1//-kk/
-Unchanged TEST_BuildingSiteNumber.java
-Entry /TEST_CountryCode.java/1.1//-kk/
-Unchanged TEST_CountryCode.java
-Entry /TEST_DeUser.java/1.1//-kk/
-Unchanged TEST_DeUser.java
-Entry /TEST_Email.java/1.2//-kk/
-Unchanged TEST_Email.java
-Entry /TEST_FrUser.java/1.1//-kk/
-Unchanged TEST_FrUser.java
-Entry /TEST_GbUser.java/1.1//-kk/
-Unchanged TEST_GbUser.java
-Entry /TEST_Gender.java/1.1//-kk/
-Unchanged TEST_Gender.java
-Entry /TEST_IeUser.java/1.1//-kk/
-Unchanged TEST_IeUser.java
-Entry /TEST_LanguageCode.java/1.1//-kk/
-Unchanged TEST_LanguageCode.java
-Entry /TEST_LuUser.java/1.1//-kk/
-Unchanged TEST_LuUser.java
-Entry /TEST_NlUser.java/1.1//-kk/
-Unchanged TEST_NlUser.java
-Entry /TEST_TicketNumber.java/1.1//-kk/
-Unchanged TEST_TicketNumber.java
-Directory core/src/test/java/com/mycompany/common/scp/various/myNumber
-/export/home/cvs/scp/scp/core/src/test/java/com/mycompany/common/scp/various/myNumber
-Entry /AllTests.java/1.3//-kk/
-Unchanged AllTests.java
-Entry /TEST_AtmyNumber.java/1.1//-kk/
-Unchanged TEST_AtmyNumber.java
-Entry /TEST_BemyNumber.java/1.3//-kk/
-Unchanged TEST_BemyNumber.java
-Entry /TEST_CymyNumber.java/1.1//-kk/
-Unchanged TEST_CymyNumber.java
-Entry /TEST_CzmyNumber.java/1.1//-kk/
-Unchanged TEST_CzmyNumber.java
-Entry /TEST_DemyNumber.java/1.1//-kk/
-Unchanged TEST_DemyNumber.java
-Entry /TEST_DkmyNumber.java/1.1//-kk/
-Unchanged TEST_DkmyNumber.java
-Entry /TEST_EemyNumber.java/1.1//-kk/
-Unchanged TEST_EemyNumber.java
-Entry /TEST_ElmyNumber.java/1.1//-kk/
-Unchanged TEST_ElmyNumber.java
-Entry /TEST_EsmyNumber.java/1.2//-kk/
-Unchanged TEST_EsmyNumber.java
-Entry /TEST_FimyNumber.java/1.1//-kk/
-Unchanged TEST_FimyNumber.java
-Entry /TEST_FrmyNumber.java/1.1//-kk/
-Unchanged TEST_FrmyNumber.java
-Entry /TEST_GbmyNumber.java/1.1//-kk/
-Unchanged TEST_GbmyNumber.java
-Entry /TEST_HumyNumber.java/1.1//-kk/
-Unchanged TEST_HumyNumber.java
-Entry /TEST_IemyNumber.java/1.1//-kk/
-Unchanged TEST_IemyNumber.java
-Entry /TEST_ItmyNumber.java/1.2//-kk/
-Unchanged TEST_ItmyNumber.java
-Entry /TEST_LtmyNumber.java/1.1//-kk/
-Unchanged TEST_LtmyNumber.java
-Entry /TEST_LumyNumber.java/1.1//-kk/
-Unchanged TEST_LumyNumber.java
-Entry /TEST_LvmyNumber.java/1.1//-kk/
-Unchanged TEST_LvmyNumber.java
-Entry /TEST_MtmyNumber.java/1.1//-kk/
-Unchanged TEST_MtmyNumber.java
-Entry /TEST_NlmyNumber.java/1.1//-kk/
-Unchanged TEST_NlmyNumber.java
-Entry /TEST_PlmyNumber.java/1.1//-kk/
-Unchanged TEST_PlmyNumber.java
-Entry /TEST_PtmyNumber.java/1.1//-kk/
-Unchanged TEST_PtmyNumber.java
-Entry /TEST_SemyNumber.java/1.1//-kk/
-Unchanged TEST_SemyNumber.java
-Entry /TEST_SimyNumber.java/1.1//-kk/
-Unchanged TEST_SimyNumber.java
-Entry /TEST_SkmyNumber.java/1.1//-kk/
-Unchanged TEST_SkmyNumber.java
-Directory formatter
-/export/home/cvs/scp/scp/formatter
-Entry /.checkstyle/1.1//-kb/
-Unchanged .checkstyle
-Entry /.cvsignore/1.2//-kk/
-Unchanged .cvsignore
-Entry /pom.xml/1.34//-kk/
-Unchanged pom.xml
-Directory formatter/src
-/export/home/cvs/scp/scp/formatter/src
-Directory formatter/src/main
-/export/home/cvs/scp/scp/formatter/src/main
-Directory formatter/src/main/java
-/export/home/cvs/scp/scp/formatter/src/main/java
-Directory formatter/src/main/java/be
-/export/home/cvs/scp/scp/formatter/src/main/java/be
-Directory formatter/src/main/java/com/mycompany
-/export/home/cvs/scp/scp/formatter/src/main/java/com/mycompany
-Directory formatter/src/main/java/com/mycompany/common
-/export/home/cvs/scp/scp/formatter/src/main/java/com/mycompany/common
-Directory formatter/src/main/java/com/mycompany/common/scp
-/export/home/cvs/scp/scp/formatter/src/main/java/com/mycompany/common/scp
-Entry /scpFormatter.java/1.2//-kk/
-Unchanged scpFormatter.java
-Directory formatter/src/main/java/com/mycompany/common/scp/date
-/export/home/cvs/scp/scp/formatter/src/main/java/com/mycompany/common/scp/date
-Directory formatter/src/main/java/com/mycompany/common/scp/date/formatter
-/export/home/cvs/scp/scp/formatter/src/main/java/com/mycompany/common/scp/date/formatter
-Entry /BirthDateFormat.java/1.3//-kk/
-Unchanged BirthDateFormat.java
-Entry /BirthDateFormatter.java/1.2//-kk/
-Unchanged BirthDateFormatter.java
-Entry /BirthDatePattern.java/1.2//-kk/
-Unchanged BirthDatePattern.java
-Entry /DateFormat.java/1.3//-kk/
-Unchanged DateFormat.java
-Entry /DateFormatter.java/1.2//-kk/
-Unchanged DateFormatter.java
-Entry /TimeFormat.java/1.3//-kk/
-Unchanged TimeFormat.java
-Entry /TimeFormatter.java/1.2//-kk/
-Unchanged TimeFormatter.java
-Entry /YearQuarterFormat.java/1.3//-kk/
-Unchanged YearQuarterFormat.java
-Entry /YearQuarterFormatter.java/1.2//-kk/
-Unchanged YearQuarterFormatter.java
-Entry /YearQuarterPattern.java/1.2//-kk/
-Unchanged YearQuarterPattern.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory formatter/src/main/java/com/mycompany/common/scp/buz
-/export/home/cvs/scp/scp/formatter/src/main/java/com/mycompany/common/scp/buz
-Directory formatter/src/main/java/com/mycompany/common/scp/buz/formatter
-/export/home/cvs/scp/scp/formatter/src/main/java/com/mycompany/common/scp/buz/formatter
-Entry /ActivityCodeFormat.java/1.3//-kk/
-Unchanged ActivityCodeFormat.java
-Entry /ActivityCodeFormatter.java/1.2//-kk/
-Unchanged ActivityCodeFormatter.java
-Entry /ActivityCodePattern.java/1.2//-kk/
-Unchanged ActivityCodePattern.java
-Entry /CompanyIdFormat.java/1.4//-kk/
-Unchanged CompanyIdFormat.java
-Entry /CompanyIdFormatter.java/1.3//-kk/
-Unchanged CompanyIdFormatter.java
-Entry /CompanyIdPattern.java/1.2//-kk/
-Unchanged CompanyIdPattern.java
-Entry /DimaNumberFormat.java/1.3//-kk/
-Unchanged DimaNumberFormat.java
-Entry /DimaNumberFormatter.java/1.2//-kk/
-Unchanged DimaNumberFormatter.java
-Entry /DimaNumberPattern.java/1.2//-kk/
-Unchanged DimaNumberPattern.java
-Entry /EmployerClassFormat.java/1.4//-kk/
-Unchanged EmployerClassFormat.java
-Entry /EmployerClassFormatterFactory.java/1.1//-kk/
-Unchanged EmployerClassFormatterFactory.java
-Entry /EmployerClassPattern.java/1.2//-kk/
-Unchanged EmployerClassPattern.java
-Entry /EstablishmentIdFormat.java/1.1///
-Unchanged EstablishmentIdFormat.java
-Entry /EstablishmentIdFormatter.java/1.1///
-Unchanged EstablishmentIdFormatter.java
-Entry /EstablishmentIdPattern.java/1.1///
-Unchanged EstablishmentIdPattern.java
-Entry /IdentificationNumber7MFormat.java/1.3//-kk/
-Unchanged IdentificationNumber7MFormat.java
-Entry /IdentificationNumber7MFormatter.java/1.2//-kk/
-Unchanged IdentificationNumber7MFormatter.java
-Entry /IdentificationNumber7MPattern.java/1.2//-kk/
-Unchanged IdentificationNumber7MPattern.java
-Entry /ImportanceCodeFormat.java/1.3//-kk/
-Unchanged ImportanceCodeFormat.java
-Entry /ImportanceCodeFormatter.java/1.2//-kk/
-Unchanged ImportanceCodeFormatter.java
-Entry /ImportanceCodePattern.java/1.2//-kk/
-Unchanged ImportanceCodePattern.java
-Entry /IniDdNumberFormat.java/1.3//-kk/
-Unchanged IniDdNumberFormat.java
-Entry /IniDdNumberFormatter.java/1.2//-kk/
-Unchanged IniDdNumberFormatter.java
-Entry /IniDdNumberPattern.java/1.2//-kk/
-Unchanged IniDdNumberPattern.java
-Entry /IniHopiNumberFormat.java/1.3//-kk/
-Unchanged IniHopiNumberFormat.java
-Entry /IniHopiNumberFormatter.java/1.2//-kk/
-Unchanged IniHopiNumberFormatter.java
-Entry /IniHopiNumberPattern.java/1.2//-kk/
-Unchanged IniHopiNumberPattern.java
-Entry /IncapacityDegreeFormat.java/1.3//-kk/
-Unchanged IncapacityDegreeFormat.java
-Entry /IncapacityDegreeFormatter.java/1.2//-kk/
-Unchanged IncapacityDegreeFormatter.java
-Entry /IncapacityDegreePattern.java/1.2//-kk/
-Unchanged IncapacityDegreePattern.java
-Entry /JointCommissionNumberFormat.java/1.3//-kk/
-Unchanged JointCommissionNumberFormat.java
-Entry /JointCommissionNumberFormatter.java/1.4//-kk/
-Unchanged JointCommissionNumberFormatter.java
-Entry /JointCommissionNumberPattern.java/1.3//-kk/
-Unchanged JointCommissionNumberPattern.java
-Entry /LocalUnitIdFormat.java/1.3//-kk/
-Unchanged LocalUnitIdFormat.java
-Entry /LocalUnitIdFormatter.java/1.2//-kk/
-Unchanged LocalUnitIdFormatter.java
-Entry /LocalUnitIdPattern.java/1.2//-kk/
-Unchanged LocalUnitIdPattern.java
-Entry /opttBuildingOwnerPPFormatter.java/1.1//-kk/
-Unchanged opttBuildingOwnerPPFormatter.java
-Entry /opttBuildingPPForATCEFormatter.java/1.1//-kk/
-Unchanged opttBuildingPPForATCEFormatter.java
-Entry /opttBuildingPPFormatter.java/1.2//-kk/
-Unchanged opttBuildingPPFormatter.java
-Entry /opttContractorPPFormatter.java/1.2//-kk/
-Unchanged opttContractorPPFormatter.java
-Entry /opttCuratorPPFormatter.java/1.3//-kk/
-Unchanged opttCuratorPPFormatter.java
-Entry /opttEmployerClassFormatter.java/1.2//-kk/
-Unchanged opttEmployerClassFormatter.java
-Entry /opttKoppelBaasPPFormatter.java/1.2//-kk/
-Unchanged opttKoppelBaasPPFormatter.java
-Entry /opttLpaEmployerClassFormatter.java/1.2//-kk/
-Unchanged opttLpaEmployerClassFormatter.java
-Entry /opttLpaPPFormatter.java/1.3//-kk/
-Unchanged opttLpaPPFormatter.java
-Entry /opttPPFormatter.java/1.3//-kk/
-Unchanged opttPPFormatter.java
-Entry /opttItemSecretariatPPFormatter.java/1.3//-kk/
-Unchanged opttItemSecretariatPPFormatter.java
-Entry /opttSubContractorPPFormatter.java/1.2//-kk/
-Unchanged opttSubContractorPPFormatter.java
-Entry /opttTemporaryPPForDbeoFormatter.java/1.3//-kk/
-Unchanged opttTemporaryPPForDbeoFormatter.java
-Entry /opttTemporaryPPForDimaFormatter.java/1.3//-kk/
-Unchanged opttTemporaryPPForDimaFormatter.java
-Entry /OccupationNumberFormat.java/1.3//-kk/
-Unchanged OccupationNumberFormat.java
-Entry /OccupationNumberFormatter.java/1.2//-kk/
-Unchanged OccupationNumberFormatter.java
-Entry /OccupationNumberPattern.java/1.2//-kk/
-Unchanged OccupationNumberPattern.java
-Entry /PPFormat.java/1.5//-kk/
-Unchanged PPFormat.java
-Entry /PPFormatterFactory.java/1.4//-kk/
-Unchanged PPFormatterFactory.java
-Entry /PPPattern.java/1.3//-kk/
-Unchanged PPPattern.java
-Entry /SisCardNumberFormat.java/1.3//-kk/
-Unchanged SisCardNumberFormat.java
-Entry /SisCardNumberFormatter.java/1.2//-kk/
-Unchanged SisCardNumberFormatter.java
-Entry /SisCardNumberPattern.java/1.2//-kk/
-Unchanged SisCardNumberPattern.java
-Entry /buzNumberFormat.java/1.3//-kk/
-Unchanged buzNumberFormat.java
-Entry /buzNumberFormatter.java/1.2//-kk/
-Unchanged buzNumberFormatter.java
-Entry /buzNumberPattern.java/1.2//-kk/
-Unchanged buzNumberPattern.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory formatter/src/main/java/com/mycompany/common/scp/various
-/export/home/cvs/scp/scp/formatter/src/main/java/com/mycompany/common/scp/various
-Directory formatter/src/main/java/com/mycompany/common/scp/various/formatter
-/export/home/cvs/scp/scp/formatter/src/main/java/com/mycompany/common/scp/various/formatter
-Entry /UserFormat.java/1.4//-kk/
-Unchanged UserFormat.java
-Entry /UserFormatterFactory.java/1.1//-kk/
-Unchanged UserFormatterFactory.java
-Entry /UserPattern.java/1.2//-kk/
-Unchanged UserPattern.java
-Entry /BeUserFormatter.java/1.2//-kk/
-Unchanged BeUserFormatter.java
-Entry /CountryCodeFormat.java/1.2//-kk/
-Unchanged CountryCodeFormat.java
-Entry /CountryCodeFormatter.java/1.2//-kk/
-Unchanged CountryCodeFormatter.java
-Entry /CountryCodePattern.java/1.2//-kk/
-Unchanged CountryCodePattern.java
-Entry /DeUserFormatter.java/1.2//-kk/
-Unchanged DeUserFormatter.java
-Entry /FrUserFormatter.java/1.2//-kk/
-Unchanged FrUserFormatter.java
-Entry /GbUserFormatter.java/1.2//-kk/
-Unchanged GbUserFormatter.java
-Entry /IeUserFormatter.java/1.2//-kk/
-Unchanged IeUserFormatter.java
-Entry /LuUserFormatter.java/1.2//-kk/
-Unchanged LuUserFormatter.java
-Entry /NlUserFormatter.java/1.2//-kk/
-Unchanged NlUserFormatter.java
-Entry /TicketNumberFormat.java/1.2//-kk/
-Unchanged TicketNumberFormat.java
-Entry /TicketNumberFormatter.java/1.2//-kk/
-Unchanged TicketNumberFormatter.java
-Entry /TicketNumberPattern.java/1.2//-kk/
-Unchanged TicketNumberPattern.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory formatter/src/main/java/com/mycompany/common/scp/various/myNumber
-/export/home/cvs/scp/scp/formatter/src/main/java/com/mycompany/common/scp/various/myNumber
-Directory formatter/src/main/java/com/mycompany/common/scp/various/myNumber/formatter
-/export/home/cvs/scp/scp/formatter/src/main/java/com/mycompany/common/scp/various/myNumber/formatter
-Entry /AtmyNumberFormatter.java/1.2//-kk/
-Unchanged AtmyNumberFormatter.java
-Entry /BemyNumberFormatter.java/1.7//-kk/
-Unchanged BemyNumberFormatter.java
-Entry /CymyNumberFormatter.java/1.2//-kk/
-Unchanged CymyNumberFormatter.java
-Entry /CzmyNumberFormatter.java/1.2//-kk/
-Unchanged CzmyNumberFormatter.java
-Entry /DemyNumberFormatter.java/1.2//-kk/
-Unchanged DemyNumberFormatter.java
-Entry /DkmyNumberFormatter.java/1.3//-kk/
-Unchanged DkmyNumberFormatter.java
-Entry /EemyNumberFormatter.java/1.2//-kk/
-Unchanged EemyNumberFormatter.java
-Entry /ElmyNumberFormatter.java/1.2//-kk/
-Unchanged ElmyNumberFormatter.java
-Entry /EsmyNumberFormatter.java/1.2//-kk/
-Unchanged EsmyNumberFormatter.java
-Entry /FimyNumberFormatter.java/1.2//-kk/
-Unchanged FimyNumberFormatter.java
-Entry /FrmyNumberFormatter.java/1.2//-kk/
-Unchanged FrmyNumberFormatter.java
-Entry /GbmyNumberFormatter.java/1.3//-kk/
-Unchanged GbmyNumberFormatter.java
-Entry /HumyNumberFormatter.java/1.2//-kk/
-Unchanged HumyNumberFormatter.java
-Entry /IemyNumberFormatter.java/1.2//-kk/
-Unchanged IemyNumberFormatter.java
-Entry /ItmyNumberFormatter.java/1.2//-kk/
-Unchanged ItmyNumberFormatter.java
-Entry /LtmyNumberFormatter.java/1.2//-kk/
-Unchanged LtmyNumberFormatter.java
-Entry /LumyNumberFormatter.java/1.2//-kk/
-Unchanged LumyNumberFormatter.java
-Entry /LvmyNumberFormatter.java/1.2//-kk/
-Unchanged LvmyNumberFormatter.java
-Entry /MtmyNumberFormatter.java/1.2//-kk/
-Unchanged MtmyNumberFormatter.java
-Entry /NlmyNumberFormatter.java/1.2//-kk/
-Unchanged NlmyNumberFormatter.java
-Entry /PlmyNumberFormatter.java/1.2//-kk/
-Unchanged PlmyNumberFormatter.java
-Entry /PtmyNumberFormatter.java/1.2//-kk/
-Unchanged PtmyNumberFormatter.java
-Entry /SemyNumberFormatter.java/1.2//-kk/
-Unchanged SemyNumberFormatter.java
-Entry /SimyNumberFormatter.java/1.2//-kk/
-Unchanged SimyNumberFormatter.java
-Entry /SkmyNumberFormatter.java/1.2//-kk/
-Unchanged SkmyNumberFormatter.java
-Entry /myNumberFactory.java/1.3//-kk/
-Unchanged myNumberFactory.java
-Entry /myNumberFormat.java/1.8//-kk/
-Unchanged myNumberFormat.java
-Entry /myNumberFormatterFactory.java/1.1//-kk/
-Unchanged myNumberFormatterFactory.java
-Entry /myNumberPattern.java/1.4//-kk/
-Unchanged myNumberPattern.java
-Entry /package.html/1.1//-kk/
-Unchanged package.html
-Directory formatter/src/site
-/export/home/cvs/scp/scp/formatter/src/site
-Entry /changes.xml/1.7//-kk/
-Unchanged changes.xml
-Entry /site.xml/1.3//-kk/
-Unchanged site.xml
-Directory formatter/src/test
-/export/home/cvs/scp/scp/formatter/src/test
-Directory formatter/src/test/java
-/export/home/cvs/scp/scp/formatter/src/test/java
-Directory formatter/src/test/java/be
-/export/home/cvs/scp/scp/formatter/src/test/java/be
-Directory formatter/src/test/java/com/mycompany
-/export/home/cvs/scp/scp/formatter/src/test/java/com/mycompany
-Directory formatter/src/test/java/com/mycompany/common
-/export/home/cvs/scp/scp/formatter/src/test/java/com/mycompany/common
-Directory formatter/src/test/java/com/mycompany/common/scp
-/export/home/cvs/scp/scp/formatter/src/test/java/com/mycompany/common/scp
-Entry /AllTests.java/1.3//-kk/
-Unchanged AllTests.java
-Directory formatter/src/test/java/com/mycompany/common/scp/date
-/export/home/cvs/scp/scp/formatter/src/test/java/com/mycompany/common/scp/date
-Directory formatter/src/test/java/com/mycompany/common/scp/date/formatter
-/export/home/cvs/scp/scp/formatter/src/test/java/com/mycompany/common/scp/date/formatter
-Entry /AllTests.java/1.2//-kk/
-Unchanged AllTests.java
-Entry /TEST_BirthDateFormat.java/1.4//-kk/
-Unchanged TEST_BirthDateFormat.java
-Entry /TEST_DateFormat.java/1.4//-kk/
-Unchanged TEST_DateFormat.java
-Entry /TEST_TimeFormat.java/1.4//-kk/
-Unchanged TEST_TimeFormat.java
-Entry /TEST_YearQuarterFormat.java/1.4//-kk/
-Unchanged TEST_YearQuarterFormat.java
-Directory formatter/src/test/java/com/mycompany/common/scp/buz
-/export/home/cvs/scp/scp/formatter/src/test/java/com/mycompany/common/scp/buz
-Directory formatter/src/test/java/com/mycompany/common/scp/buz/formatter
-/export/home/cvs/scp/scp/formatter/src/test/java/com/mycompany/common/scp/buz/formatter
-Entry /AllTests.java/1.2//-kk/
-Unchanged AllTests.java
-Entry /TEST_ActivityCodeFormat.java/1.4//-kk/
-Unchanged TEST_ActivityCodeFormat.java
-Entry /TEST_CompanyIdFormat.java/1.5//-kk/
-Unchanged TEST_CompanyIdFormat.java
-Entry /TEST_DimaNumberFormat.java/1.4//-kk/
-Unchanged TEST_DimaNumberFormat.java
-Entry /TEST_EmployerClassFormat.java/1.4//-kk/
-Unchanged TEST_EmployerClassFormat.java
-Entry /TEST_EstablishmentIdFormat.java/1.1///
-Unchanged TEST_EstablishmentIdFormat.java
-Entry /TEST_IdentificationNumber7MFormat.java/1.4//-kk/
-Unchanged TEST_IdentificationNumber7MFormat.java
-Entry /TEST_ImportanceCodeFormat.java/1.4//-kk/
-Unchanged TEST_ImportanceCodeFormat.java
-Entry /TEST_IniDdNumberFormat.java/1.3//-kk/
-Unchanged TEST_IniDdNumberFormat.java
-Entry /TEST_IniHopiNumberFormat.java/1.3//-kk/
-Unchanged TEST_IniHopiNumberFormat.java
-Entry /TEST_IncapacityDegreeFormat.java/1.3//-kk/
-Unchanged TEST_IncapacityDegreeFormat.java
-Entry /TEST_JointCommissionNumberFormat.java/1.6//-kk/
-Unchanged TEST_JointCommissionNumberFormat.java
-Entry /TEST_LocalUnitIdFormat.java/1.3//-kk/
-Unchanged TEST_LocalUnitIdFormat.java
-Entry /TEST_OccupationNumberFormat.java/1.3//-kk/
-Unchanged TEST_OccupationNumberFormat.java
-Entry /TEST_PPFormat.java/1.12//-kk/
-Unchanged TEST_PPFormat.java
-Entry /TEST_SisCardNumberFormat.java/1.3//-kk/
-Unchanged TEST_SisCardNumberFormat.java
-Entry /TEST_buzNumberFormat.java/1.3//-kk/
-Unchanged TEST_buzNumberFormat.java
-Directory formatter/src/test/java/com/mycompany/common/scp/various
-/export/home/cvs/scp/scp/formatter/src/test/java/com/mycompany/common/scp/various
-Directory formatter/src/test/java/com/mycompany/common/scp/various/formatter
-/export/home/cvs/scp/scp/formatter/src/test/java/com/mycompany/common/scp/various/formatter
-Entry /AllTests.java/1.3//-kk/
-Unchanged AllTests.java
-Entry /TEST_UserFormat.java/1.5//-kk/
-Unchanged TEST_UserFormat.java
-Entry /TEST_CountryCodeFormat.java/1.3//-kk/
-Unchanged TEST_CountryCodeFormat.java
-Entry /TEST_TicketNumberFormat.java/1.3//-kk/
-Unchanged TEST_TicketNumberFormat.java
-Directory formatter/src/test/java/com/mycompany/common/scp/various/myNumber
-/export/home/cvs/scp/scp/formatter/src/test/java/com/mycompany/common/scp/various/myNumber
-Directory formatter/src/test/java/com/mycompany/common/scp/various/myNumber/formatter
-/export/home/cvs/scp/scp/formatter/src/test/java/com/mycompany/common/scp/various/myNumber/formatter
-Entry /AllTests.java/1.4//-kk/
-Unchanged AllTests.java
-Entry /TEST_AtmyNumberFormat.java/1.2//-kk/
-Unchanged TEST_AtmyNumberFormat.java
-Entry /TEST_BemyNumberFormat.java/1.3//-kk/
-Unchanged TEST_BemyNumberFormat.java
-Entry /TEST_CymyNumberFormat.java/1.1//-kk/
-Unchanged TEST_CymyNumberFormat.java
-Entry /TEST_CzmyNumberFormat.java/1.1//-kk/
-Unchanged TEST_CzmyNumberFormat.java
-Entry /TEST_DemyNumberFormat.java/1.1//-kk/
-Unchanged TEST_DemyNumberFormat.java
-Entry /TEST_DkmyNumberFormat.java/1.1//-kk/
-Unchanged TEST_DkmyNumberFormat.java
-Entry /TEST_EemyNumberFormat.java/1.1//-kk/
-Unchanged TEST_EemyNumberFormat.java
-Entry /TEST_ElmyNumberFormat.java/1.1//-kk/
-Unchanged TEST_ElmyNumberFormat.java
-Entry /TEST_EsmyNumberFormat.java/1.1//-kk/
-Unchanged TEST_EsmyNumberFormat.java
-Entry /TEST_FimyNumberFormat.java/1.1//-kk/
-Unchanged TEST_FimyNumberFormat.java
-Entry /TEST_FrmyNumberFormat.java/1.1//-kk/
-Unchanged TEST_FrmyNumberFormat.java
-Entry /TEST_GbmyNumberFormat.java/1.2//-kk/
-Unchanged TEST_GbmyNumberFormat.java
-Entry /TEST_HumyNumberFormat.java/1.1//-kk/
-Unchanged TEST_HumyNumberFormat.java
-Entry /TEST_IemyNumberFormat.java/1.1//-kk/
-Unchanged TEST_IemyNumberFormat.java
-Entry /TEST_ItmyNumberFormat.java/1.2//-kk/
-Unchanged TEST_ItmyNumberFormat.java
-Entry /TEST_LtmyNumberFormat.java/1.1//-kk/
-Unchanged TEST_LtmyNumberFormat.java
-Entry /TEST_LumyNumberFormat.java/1.1//-kk/
-Unchanged TEST_LumyNumberFormat.java
-Entry /TEST_LvmyNumberFormat.java/1.1//-kk/
-Unchanged TEST_LvmyNumberFormat.java
-Entry /TEST_MtmyNumberFormat.java/1.1//-kk/
-Unchanged TEST_MtmyNumberFormat.java
-Entry /TEST_NlmyNumberFormat.java/1.1//-kk/
-Unchanged TEST_NlmyNumberFormat.java
-Entry /TEST_PlmyNumberFormat.java/1.1//-kk/
-Unchanged TEST_PlmyNumberFormat.java
-Entry /TEST_PtmyNumberFormat.java/1.1//-kk/
-Unchanged TEST_PtmyNumberFormat.java
-Entry /TEST_SemyNumberFormat.java/1.1//-kk/
-Unchanged TEST_SemyNumberFormat.java
-Entry /TEST_SimyNumberFormat.java/1.1//-kk/
-Unchanged TEST_SimyNumberFormat.java
-Entry /TEST_SkmyNumberFormat.java/1.1//-kk/
-Unchanged TEST_SkmyNumberFormat.java
-Entry /TEST_myNumberFactory.java/1.1//-kk/
-Unchanged TEST_myNumberFactory.java
-Directory gdf
-/export/home/cvs/scp/scp/gdf
-Entry /.checkstyle/1.1//-kb/
-Unchanged .checkstyle
-Entry /.cvsignore/1.2//-kk/
-Unchanged .cvsignore
-Entry /pom.xml/1.30//-kk/
-Unchanged pom.xml
-Directory gdf/src
-/export/home/cvs/scp/scp/gdf/src
-Directory gdf/src/main
-/export/home/cvs/scp/scp/gdf/src/main
-Directory gdf/src/main/java
-/export/home/cvs/scp/scp/gdf/src/main/java
-Directory gdf/src/main/java/be
-/export/home/cvs/scp/scp/gdf/src/main/java/be
-Directory gdf/src/main/java/com/mycompany
-/export/home/cvs/scp/scp/gdf/src/main/java/com/mycompany
-Directory gdf/src/main/java/com/mycompany/common
-/export/home/cvs/scp/scp/gdf/src/main/java/com/mycompany/common
-Directory gdf/src/main/java/com/mycompany/common/scp
-/export/home/cvs/scp/scp/gdf/src/main/java/com/mycompany/common/scp
-Directory gdf/src/main/java/com/mycompany/common/scp/gdf
-/export/home/cvs/scp/scp/gdf/src/main/java/com/mycompany/common/scp/gdf
-Entry /GdfscpTypes.java/1.6//-kk/
-Unchanged GdfscpTypes.java
-Entry /GdfscpValueCreatorFactory.java/1.3//-kk/
-Unchanged GdfscpValueCreatorFactory.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory gdf/src/main/java/com/mycompany/common/scp/gdf/date
-/export/home/cvs/scp/scp/gdf/src/main/java/com/mycompany/common/scp/gdf/date
-Entry /GdfQuarter.java/1.3//-kk/
-Unchanged GdfQuarter.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory gdf/src/main/java/com/mycompany/common/scp/gdf/buz
-/export/home/cvs/scp/scp/gdf/src/main/java/com/mycompany/common/scp/gdf/buz
-Entry /GdfCompanyId.java/1.3//-kk/
-Unchanged GdfCompanyId.java
-Entry /GdfEstablishmentId.java/1.1///
-Unchanged GdfEstablishmentId.java
-Entry /GdfIncapacityDegree.java/1.3//-kk/
-Unchanged GdfIncapacityDegree.java
-Entry /GdfLocalUnitId.java/1.3//-kk/
-Unchanged GdfLocalUnitId.java
-Entry /GdfopttBuildingOwnerRagiNbr.java/1.1//-kk/
-Unchanged GdfopttBuildingOwnerRagiNbr.java
-Entry /GdfopttBuildingRagiNbr.java/1.1//-kk/
-Unchanged GdfopttBuildingRagiNbr.java
-Entry /GdfopttBuildingRagiNbrForATCE.java/1.1//-kk/
-Unchanged GdfopttBuildingRagiNbrForATCE.java
-Entry /GdfopttContractorRagiNbr.java/1.1//-kk/
-Unchanged GdfopttContractorRagiNbr.java
-Entry /GdfopttCuratorRagiNbr.java/1.3//-kk/
-Unchanged GdfopttCuratorRagiNbr.java
-Entry /GdfopttKoppelBaasRagiNbr.java/1.1//-kk/
-Unchanged GdfopttKoppelBaasRagiNbr.java
-Entry /GdfopttLpaRagiNbr.java/1.3//-kk/
-Unchanged GdfopttLpaRagiNbr.java
-Entry /GdfopttRagiNbr.java/1.3//-kk/
-Unchanged GdfopttRagiNbr.java
-Entry /GdfRagiNbr.java/1.3//-kk/
-Unchanged GdfRagiNbr.java
-Entry /GdfItemSecretariatRagiNbr.java/1.1//-kk/
-Unchanged GdfItemSecretariatRagiNbr.java
-Entry /GdfbuzNbr.java/1.2//-kk/
-Unchanged GdfbuzNbr.java
-Entry /GdfSubContractorRagiNbr.java/1.1//-kk/
-Unchanged GdfSubContractorRagiNbr.java
-Entry /GdfTemporaryRagiNbrForDbeo.java/1.1//-kk/
-Unchanged GdfTemporaryRagiNbrForDbeo.java
-Entry /GdfTemporaryRagiNbrForDima.java/1.1//-kk/
-Unchanged GdfTemporaryRagiNbrForDima.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory gdf/src/main/java/com/mycompany/common/scp/gdf/various
-/export/home/cvs/scp/scp/gdf/src/main/java/com/mycompany/common/scp/gdf/various
-Entry /GdfSequenceNumber.java/1.3//-kk/
-Unchanged GdfSequenceNumber.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory gdf/src/site
-/export/home/cvs/scp/scp/gdf/src/site
-Entry /changes.xml/1.1//-kk/
-Unchanged changes.xml
-Entry /site.xml/1.2//-kk/
-Unchanged site.xml
-Directory gdf/src/test
-/export/home/cvs/scp/scp/gdf/src/test
-Directory gdf/src/test/java
-/export/home/cvs/scp/scp/gdf/src/test/java
-Directory hibernate3adapter
-/export/home/cvs/scp/scp/hibernate3adapter
-Entry /.checkstyle/1.1//-kb/
-Unchanged .checkstyle
-Entry /.cvsignore/1.2//-kk/
-Unchanged .cvsignore
-Entry /pom.xml/1.15//-kk/
-Unchanged pom.xml
-Directory hibernate3adapter/src
-/export/home/cvs/scp/scp/hibernate3adapter/src
-Directory hibernate3adapter/src/main
-/export/home/cvs/scp/scp/hibernate3adapter/src/main
-Directory hibernate3adapter/src/main/java
-/export/home/cvs/scp/scp/hibernate3adapter/src/main/java
-Directory hibernate3adapter/src/main/java/be
-/export/home/cvs/scp/scp/hibernate3adapter/src/main/java/be
-Directory hibernate3adapter/src/main/java/com/mycompany
-/export/home/cvs/scp/scp/hibernate3adapter/src/main/java/com/mycompany
-Directory hibernate3adapter/src/main/java/com/mycompany/common
-/export/home/cvs/scp/scp/hibernate3adapter/src/main/java/com/mycompany/common
-Directory hibernate3adapter/src/main/java/com/mycompany/common/scp
-/export/home/cvs/scp/scp/hibernate3adapter/src/main/java/com/mycompany/common/scp
-Directory hibernate3adapter/src/main/java/com/mycompany/common/scp/date
-/export/home/cvs/scp/scp/hibernate3adapter/src/main/java/com/mycompany/common/scp/date
-Directory hibernate3adapter/src/main/java/com/mycompany/common/scp/date/hibernate3
-/export/home/cvs/scp/scp/hibernate3adapter/src/main/java/com/mycompany/common/scp/date/hibernate3
-Entry /BirthDateUserType.java/1.2//-kk/
-Unchanged BirthDateUserType.java
-Entry /DateUserType.java/1.2//-kk/
-Unchanged DateUserType.java
-Entry /TimeUserType.java/1.2//-kk/
-Unchanged TimeUserType.java
-Entry /YearQuarterUserType.java/1.2//-kk/
-Unchanged YearQuarterUserType.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory hibernate3adapter/src/main/java/com/mycompany/common/scp/buz
-/export/home/cvs/scp/scp/hibernate3adapter/src/main/java/com/mycompany/common/scp/buz
-Directory hibernate3adapter/src/main/java/com/mycompany/common/scp/buz/factory
-/export/home/cvs/scp/scp/hibernate3adapter/src/main/java/com/mycompany/common/scp/buz/factory
-Entry /EmployerClassFactory.java/1.2//-kk/
-Unchanged EmployerClassFactory.java
-Entry /PPFactory.java/1.4//-kk/
-Unchanged PPFactory.java
-Directory hibernate3adapter/src/main/java/com/mycompany/common/scp/buz/hibernate3
-/export/home/cvs/scp/scp/hibernate3adapter/src/main/java/com/mycompany/common/scp/buz/hibernate3
-Entry /AbstractEmployerClassUserType.java/1.2//-kk/
-Unchanged AbstractEmployerClassUserType.java
-Entry /ActivityCodeUserType.java/1.2//-kk/
-Unchanged ActivityCodeUserType.java
-Entry /AdministrativeCodeUserType.java/1.2//-kk/
-Unchanged AdministrativeCodeUserType.java
-Entry /AdministrativeSystemUserType.java/1.2//-kk/
-Unchanged AdministrativeSystemUserType.java
-Entry /CompanyIdUserType.java/1.2//-kk/
-Unchanged CompanyIdUserType.java
-Entry /ContributionTypeUserType.java/1.2//-kk/
-Unchanged ContributionTypeUserType.java
-Entry /DimaNumberUserType.java/1.2//-kk/
-Unchanged DimaNumberUserType.java
-Entry /EmployerClassUserType.java/1.2//-kk/
-Unchanged EmployerClassUserType.java
-Entry /IdentificationNumber7MUserType.java/1.2//-kk/
-Unchanged IdentificationNumber7MUserType.java
-Entry /ImportanceCodeUserType.java/1.2//-kk/
-Unchanged ImportanceCodeUserType.java
-Entry /IniDdNumberUserType.java/1.2//-kk/
-Unchanged IniDdNumberUserType.java
-Entry /IniHopiNumberUserType.java/1.2//-kk/
-Unchanged IniHopiNumberUserType.java
-Entry /IncapacityDegreeUserType.java/1.2//-kk/
-Unchanged IncapacityDegreeUserType.java
-Entry /JointCommissionNumberUserType.java/1.2//-kk/
-Unchanged JointCommissionNumberUserType.java
-Entry /LocalUnitIdUserType.java/1.2//-kk/
-Unchanged LocalUnitIdUserType.java
-Entry /opttBuildingPPForATCEUserType.java/1.1//-kk/
-Unchanged opttBuildingPPForATCEUserType.java
-Entry /opttBuildingPPUserType.java/1.2//-kk/
-Unchanged opttBuildingPPUserType.java
-Entry /opttContractorPPUserType.java/1.1//-kk/
-Unchanged opttContractorPPUserType.java
-Entry /opttCuratorPPUserType.java/1.2//-kk/
-Unchanged opttCuratorPPUserType.java
-Entry /opttEmployerClassUserType.java/1.2//-kk/
-Unchanged opttEmployerClassUserType.java
-Entry /opttKoppelBassPPUserType.java/1.1//-kk/
-Unchanged opttKoppelBassPPUserType.java
-Entry /opttLpaEmployerClassUserType.java/1.2//-kk/
-Unchanged opttLpaEmployerClassUserType.java
-Entry /opttLpaPPUserType.java/1.2//-kk/
-Unchanged opttLpaPPUserType.java
-Entry /opttPPUserType.java/1.2//-kk/
-Unchanged opttPPUserType.java
-Entry /opttItemSecretariatPPUserType.java/1.1//-kk/
-Unchanged opttItemSecretariatPPUserType.java
-Entry /opttSubContractorPPUserType.java/1.1//-kk/
-Unchanged opttSubContractorPPUserType.java
-Entry /opttTemporaryPPForDbeoUserType.java/1.2//-kk/
-Unchanged opttTemporaryPPForDbeoUserType.java
-Entry /opttTemporaryPPForDimaUserType.java/1.2//-kk/
-Unchanged opttTemporaryPPForDimaUserType.java
-Entry /OccupationNumberUserType.java/1.2//-kk/
-Unchanged OccupationNumberUserType.java
-Entry /PPUserType.java/1.2//-kk/
-Unchanged PPUserType.java
-Entry /SisCardNumberUserType.java/1.2//-kk/
-Unchanged SisCardNumberUserType.java
-Entry /ItemSecretariatNumberUserType.java/1.2//-kk/
-Unchanged ItemSecretariatNumberUserType.java
-Entry /buzNumberUserType.java/1.2//-kk/
-Unchanged buzNumberUserType.java
-Entry /WorkerCodeUserType.java/1.2//-kk/
-Unchanged WorkerCodeUserType.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory hibernate3adapter/src/main/java/com/mycompany/common/scp/utils
-/export/home/cvs/scp/scp/hibernate3adapter/src/main/java/com/mycompany/common/scp/utils
-Directory hibernate3adapter/src/main/java/com/mycompany/common/scp/utils/hibernate3
-/export/home/cvs/scp/scp/hibernate3adapter/src/main/java/com/mycompany/common/scp/utils/hibernate3
-Entry /AbstractCompositeUserType.java/1.2//-kk/
-Unchanged AbstractCompositeUserType.java
-Entry /AbstractUserType.java/1.2//-kk/
-Unchanged AbstractUserType.java
-Entry /ByteBasedUserType.java/1.2//-kk/
-Unchanged ByteBasedUserType.java
-Entry /DoubleBasedUserType.java/1.2//-kk/
-Unchanged DoubleBasedUserType.java
-Entry /IdentificationNumberUserType.java/1.2//-kk/
-Unchanged IdentificationNumberUserType.java
-Entry /ImmutableCompositeUserType.java/1.2//-kk/
-Unchanged ImmutableCompositeUserType.java
-Entry /ImmutableUserType.java/1.2//-kk/
-Unchanged ImmutableUserType.java
-Entry /IntegerBasedUserType.java/1.2//-kk/
-Unchanged IntegerBasedUserType.java
-Entry /LongBasedUserType.java/1.2//-kk/
-Unchanged LongBasedUserType.java
-Entry /MutableCompositeUserType.java/1.2//-kk/
-Unchanged MutableCompositeUserType.java
-Entry /NullableCompositeUserType.java/1.3//-kk/
-Unchanged NullableCompositeUserType.java
-Entry /NullableUserType.java/1.3//-kk/
-Unchanged NullableUserType.java
-Entry /ShortBasedUserType.java/1.2//-kk/
-Unchanged ShortBasedUserType.java
-Entry /StringBasedUserType.java/1.2//-kk/
-Unchanged StringBasedUserType.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory hibernate3adapter/src/main/java/com/mycompany/common/scp/various
-/export/home/cvs/scp/scp/hibernate3adapter/src/main/java/com/mycompany/common/scp/various
-Directory hibernate3adapter/src/main/java/com/mycompany/common/scp/various/factory
-/export/home/cvs/scp/scp/hibernate3adapter/src/main/java/com/mycompany/common/scp/various/factory
-Entry /UserFactory.java/1.2//-kk/
-Unchanged UserFactory.java
-Directory hibernate3adapter/src/main/java/com/mycompany/common/scp/various/hibernate3
-/export/home/cvs/scp/scp/hibernate3adapter/src/main/java/com/mycompany/common/scp/various/hibernate3
-Entry /AbstractUserUserType.java/1.2//-kk/
-Unchanged AbstractUserUserType.java
-Entry /AddressUserType.java/1.2//-kk/
-Unchanged AddressUserType.java
-Entry /UserUserType.java/1.2//-kk/
-Unchanged UserUserType.java
-Entry /BeUserUserType.java/1.2//-kk/
-Unchanged BeUserUserType.java
-Entry /CountryCodeUserType.java/1.2//-kk/
-Unchanged CountryCodeUserType.java
-Entry /DeUserUserType.java/1.2//-kk/
-Unchanged DeUserUserType.java
-Entry /EmailUserType.java/1.2//-kk/
-Unchanged EmailUserType.java
-Entry /FrUserUserType.java/1.2//-kk/
-Unchanged FrUserUserType.java
-Entry /GbUserUserType.java/1.2//-kk/
-Unchanged GbUserUserType.java
-Entry /GenderUserType.java/1.2//-kk/
-Unchanged GenderUserType.java
-Entry /IeUserUserType.java/1.2//-kk/
-Unchanged IeUserUserType.java
-Entry /LanguageCodeUserType.java/1.2//-kk/
-Unchanged LanguageCodeUserType.java
-Entry /LuUserUserType.java/1.2//-kk/
-Unchanged LuUserUserType.java
-Entry /NlUserUserType.java/1.2//-kk/
-Unchanged NlUserUserType.java
-Entry /TicketNumberUserType.java/1.2//-kk/
-Unchanged TicketNumberUserType.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory hibernate3adapter/src/main/java/com/mycompany/common/scp/various/myNumber
-/export/home/cvs/scp/scp/hibernate3adapter/src/main/java/com/mycompany/common/scp/various/myNumber
-Directory hibernate3adapter/src/main/java/com/mycompany/common/scp/various/myNumber/hibernate3
-/export/home/cvs/scp/scp/hibernate3adapter/src/main/java/com/mycompany/common/scp/various/myNumber/hibernate3
-Entry /myNumberUserType.java/1.1//-kk/
-Unchanged myNumberUserType.java
-Entry /package.html/1.1//-kk/
-Unchanged package.html
-Directory hibernate3adapter/src/site
-/export/home/cvs/scp/scp/hibernate3adapter/src/site
-Entry /changes.xml/1.3//-kk/
-Unchanged changes.xml
-Entry /site.xml/1.3//-kk/
-Unchanged site.xml
-Directory hibernate3adapter/src/site/fml
-/export/home/cvs/scp/scp/hibernate3adapter/src/site/fml
-Entry /faq.fml/1.2//-kb/
-Unchanged faq.fml
-Directory hibernate3adapter/src/site/resources
-/export/home/cvs/scp/scp/hibernate3adapter/src/site/resources
-Directory hibernate3adapter/src/site/resources/images
-/export/home/cvs/scp/scp/hibernate3adapter/src/site/resources/images
-Entry /packages.gif/1.1//-kb/
-Unchanged packages.gif
-Directory hibernate3adapter/src/site/xdoc
-/export/home/cvs/scp/scp/hibernate3adapter/src/site/xdoc
-Entry /vision-statement.xml/1.3//-kk/
-Unchanged vision-statement.xml
-Directory hibernate3adapter/src/test
-/export/home/cvs/scp/scp/hibernate3adapter/src/test
-Directory hibernate3adapter/src/test/java
-/export/home/cvs/scp/scp/hibernate3adapter/src/test/java
-Entry /log4j.properties/1.1//-kk/
-Unchanged log4j.properties
-Directory hibernate3adapter/src/test/java/be
-/export/home/cvs/scp/scp/hibernate3adapter/src/test/java/be
-Directory hibernate3adapter/src/test/java/com/mycompany
-/export/home/cvs/scp/scp/hibernate3adapter/src/test/java/com/mycompany
-Directory hibernate3adapter/src/test/java/com/mycompany/common
-/export/home/cvs/scp/scp/hibernate3adapter/src/test/java/com/mycompany/common
-Directory hibernate3adapter/src/test/java/com/mycompany/common/scp
-/export/home/cvs/scp/scp/hibernate3adapter/src/test/java/com/mycompany/common/scp
-Directory hibernate3adapter/src/test/java/com/mycompany/common/scp/date
-/export/home/cvs/scp/scp/hibernate3adapter/src/test/java/com/mycompany/common/scp/date
-Directory hibernate3adapter/src/test/java/com/mycompany/common/scp/date/hibernate3
-/export/home/cvs/scp/scp/hibernate3adapter/src/test/java/com/mycompany/common/scp/date/hibernate3
-Entry /DateAssertingBean.java/1.2//-kk/
-Unchanged DateAssertingBean.java
-Directory hibernate3adapter/src/test/java/com/mycompany/common/scp/buz
-/export/home/cvs/scp/scp/hibernate3adapter/src/test/java/com/mycompany/common/scp/buz
-Directory hibernate3adapter/src/test/java/com/mycompany/common/scp/buz/hibernate3
-/export/home/cvs/scp/scp/hibernate3adapter/src/test/java/com/mycompany/common/scp/buz/hibernate3
-Entry /buzAssertingBean.java/1.4//-kk/
-Unchanged buzAssertingBean.java
-Directory hibernate3adapter/src/test/java/com/mycompany/common/scp/utils
-/export/home/cvs/scp/scp/hibernate3adapter/src/test/java/com/mycompany/common/scp/utils
-Directory hibernate3adapter/src/test/java/com/mycompany/common/scp/utils/hibernate3
-/export/home/cvs/scp/scp/hibernate3adapter/src/test/java/com/mycompany/common/scp/utils/hibernate3
-Entry /AbstractAssertingBean.java/1.2//-kk/
-Unchanged AbstractAssertingBean.java
-Entry /TEST_HibernateUserTypes.java/1.2//-kk/
-Unchanged TEST_HibernateUserTypes.java
-Directory hibernate3adapter/src/test/java/com/mycompany/common/scp/various
-/export/home/cvs/scp/scp/hibernate3adapter/src/test/java/com/mycompany/common/scp/various
-Directory hibernate3adapter/src/test/java/com/mycompany/common/scp/various/hibernate3
-/export/home/cvs/scp/scp/hibernate3adapter/src/test/java/com/mycompany/common/scp/various/hibernate3
-Entry /MiscAssertingBean.java/1.4//-kk/
-Unchanged MiscAssertingBean.java
-Entry /VariousAssertingBean.java/1.4//-kk/
-Unchanged VariousAssertingBean.java
-Directory master
-/export/home/cvs/scp/scp/master
-Entry /.project/1.3//-kk/
-Unchanged .project
-Directory master/src
-/export/home/cvs/scp/scp/master/src
-Directory master/src/site
-/export/home/cvs/scp/scp/master/src/site
-Directory src
-/export/home/cvs/scp/scp/src
-Directory src/site
-/export/home/cvs/scp/scp/src/site
-Directory taglib
-/export/home/cvs/scp/scp/taglib
-Entry /.checkstyle/1.1//-kb/
-Unchanged .checkstyle
-Entry /.cvsignore/1.2//-kk/
-Unchanged .cvsignore
-Entry /pom.xml/1.35//-kk/
-Unchanged pom.xml
-Directory taglib/src
-/export/home/cvs/scp/scp/taglib/src
-Directory taglib/src/main
-/export/home/cvs/scp/scp/taglib/src/main
-Directory taglib/src/main/java
-/export/home/cvs/scp/scp/taglib/src/main/java
-Directory taglib/src/main/java/be
-/export/home/cvs/scp/scp/taglib/src/main/java/be
-Directory taglib/src/main/java/com/mycompany
-/export/home/cvs/scp/scp/taglib/src/main/java/com/mycompany
-Directory taglib/src/main/java/com/mycompany/common
-/export/home/cvs/scp/scp/taglib/src/main/java/com/mycompany/common
-Directory taglib/src/main/java/com/mycompany/common/scp
-/export/home/cvs/scp/scp/taglib/src/main/java/com/mycompany/common/scp
-Directory taglib/src/main/java/com/mycompany/common/scp/date
-/export/home/cvs/scp/scp/taglib/src/main/java/com/mycompany/common/scp/date
-Directory taglib/src/main/java/com/mycompany/common/scp/date/taglib
-/export/home/cvs/scp/scp/taglib/src/main/java/com/mycompany/common/scp/date/taglib
-Entry /BirthDateTag.java/1.2//-kk/
-Unchanged BirthDateTag.java
-Entry /DateTag.java/1.2//-kk/
-Unchanged DateTag.java
-Entry /TimeTag.java/1.2//-kk/
-Unchanged TimeTag.java
-Entry /YearQuarterTag.java/1.2//-kk/
-Unchanged YearQuarterTag.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory taglib/src/main/java/com/mycompany/common/scp/buz
-/export/home/cvs/scp/scp/taglib/src/main/java/com/mycompany/common/scp/buz
-Directory taglib/src/main/java/com/mycompany/common/scp/buz/taglib
-/export/home/cvs/scp/scp/taglib/src/main/java/com/mycompany/common/scp/buz/taglib
-Entry /ActivityCodeTag.java/1.2//-kk/
-Unchanged ActivityCodeTag.java
-Entry /CompanyIdTag.java/1.3//-kk/
-Unchanged CompanyIdTag.java
-Entry /DimaNumberTag.java/1.2//-kk/
-Unchanged DimaNumberTag.java
-Entry /EmployerClassTag.java/1.2//-kk/
-Unchanged EmployerClassTag.java
-Entry /EstablishmentIdTag.java/1.2///
-Unchanged EstablishmentIdTag.java
-Entry /IdentificationNumber7MTag.java/1.2//-kk/
-Unchanged IdentificationNumber7MTag.java
-Entry /ImportanceCodeTag.java/1.2//-kk/
-Unchanged ImportanceCodeTag.java
-Entry /IniDdNumberTag.java/1.2//-kk/
-Unchanged IniDdNumberTag.java
-Entry /IniHopiNumberTag.java/1.2//-kk/
-Unchanged IniHopiNumberTag.java
-Entry /IncapacityDegreeTag.java/1.2//-kk/
-Unchanged IncapacityDegreeTag.java
-Entry /JointCommissionNumberTag.java/1.2//-kk/
-Unchanged JointCommissionNumberTag.java
-Entry /LocalUnitIdTag.java/1.2//-kk/
-Unchanged LocalUnitIdTag.java
-Entry /OccupationNumberTag.java/1.2//-kk/
-Unchanged OccupationNumberTag.java
-Entry /PPTag.java/1.2//-kk/
-Unchanged PPTag.java
-Entry /SisCardNumberTag.java/1.2//-kk/
-Unchanged SisCardNumberTag.java
-Entry /buzNumberTag.java/1.2//-kk/
-Unchanged buzNumberTag.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory taglib/src/main/java/com/mycompany/common/scp/utils
-/export/home/cvs/scp/scp/taglib/src/main/java/com/mycompany/common/scp/utils
-Directory taglib/src/main/java/com/mycompany/common/scp/utils/taglib
-/export/home/cvs/scp/scp/taglib/src/main/java/com/mycompany/common/scp/utils/taglib
-Entry /BasePatternRenderTag.java/1.2//-kk/
-Unchanged BasePatternRenderTag.java
-Entry /RenderTag.java/1.2//-kk/
-Unchanged RenderTag.java
-Entry /SimpleFormatTag.java/1.2//-kk/
-Unchanged SimpleFormatTag.java
-Entry /StaticFormatTag.java/1.2//-kk/
-Unchanged StaticFormatTag.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory taglib/src/main/java/com/mycompany/common/scp/various
-/export/home/cvs/scp/scp/taglib/src/main/java/com/mycompany/common/scp/various
-Directory taglib/src/main/java/com/mycompany/common/scp/various/taglib
-/export/home/cvs/scp/scp/taglib/src/main/java/com/mycompany/common/scp/various/taglib
-Entry /UserTag.java/1.2//-kk/
-Unchanged UserTag.java
-Entry /CountryCodeTag.java/1.2//-kk/
-Unchanged CountryCodeTag.java
-Entry /TicketNumberTag.java/1.2//-kk/
-Unchanged TicketNumberTag.java
-Entry /package.html/1.2//-kk/
-Unchanged package.html
-Directory taglib/src/main/java/com/mycompany/common/scp/various/myNumber
-/export/home/cvs/scp/scp/taglib/src/main/java/com/mycompany/common/scp/various/myNumber
-Directory taglib/src/main/java/com/mycompany/common/scp/various/myNumber/taglib
-/export/home/cvs/scp/scp/taglib/src/main/java/com/mycompany/common/scp/various/myNumber/taglib
-Entry /myNumberTag.java/1.1//-kk/
-Unchanged myNumberTag.java
-Entry /package.html/1.1//-kk/
-Unchanged package.html
-Directory taglib/src/site
-/export/home/cvs/scp/scp/taglib/src/site
-Entry /changes.xml/1.3//-kk/
-Unchanged changes.xml
-Entry /site.xml/1.3//-kk/
-Unchanged site.xml
-Directory taglib/src/test
-/export/home/cvs/scp/scp/taglib/src/test
-Directory taglib/src/test/java
-/export/home/cvs/scp/scp/taglib/src/test/java
-Argument .
-Directory .
-/export/home/cvs/scp/scp
-update
-E cvs server: Updating .
-E cvs server: Updating core
-E cvs server: Updating core/src
-E cvs server: Updating core/src/main
-E cvs server: Updating core/src/main/java
-E cvs server: Updating core/src/main/java/be
-E cvs server: Updating core/src/main/java/com/mycompany
-E cvs server: Updating core/src/main/java/com/mycompany/common
-E cvs server: Updating core/src/main/java/com/mycompany/common/scp
-E cvs server: Updating core/src/main/java/com/mycompany/common/scp/date
-E cvs server: Updating core/src/main/java/com/mycompany/common/scp/exception
-E cvs server: Updating core/src/main/java/com/mycompany/common/scp/buz
-E cvs server: Updating core/src/main/java/com/mycompany/common/scp/utils
-E cvs server: Updating core/src/main/java/com/mycompany/common/scp/various
-E cvs server: Updating core/src/main/java/com/mycompany/common/scp/various/myNumber
-E cvs server: Updating core/src/main/java/doc-files
-E cvs server: Updating core/src/site
-E cvs server: Updating core/src/site/fml
-E cvs server: Updating core/src/site/resources
-E cvs server: Updating core/src/site/resources/images
-E cvs server: Updating core/src/site/xdoc
-E cvs server: Updating core/src/test
-E cvs server: Updating core/src/test/java
-E cvs server: Updating core/src/test/java/be
-E cvs server: Updating core/src/test/java/com/mycompany
-E cvs server: Updating core/src/test/java/com/mycompany/common
-E cvs server: Updating core/src/test/java/com/mycompany/common/scp
-E cvs server: Updating core/src/test/java/com/mycompany/common/scp/date
-E cvs server: Updating core/src/test/java/com/mycompany/common/scp/buz
-E cvs server: Updating core/src/test/java/com/mycompany/common/scp/utils
-E cvs server: Updating core/src/test/java/com/mycompany/common/scp/various
-E cvs server: Updating core/src/test/java/com/mycompany/common/scp/various/myNumber
-E cvs server: Updating formatter
-E cvs server: Updating formatter/src
-E cvs server: Updating formatter/src/main
-E cvs server: Updating formatter/src/main/java
-E cvs server: Updating formatter/src/main/java/be
-E cvs server: Updating formatter/src/main/java/com/mycompany
-E cvs server: Updating formatter/src/main/java/com/mycompany/common
-E cvs server: Updating formatter/src/main/java/com/mycompany/common/scp
-E cvs server: Updating formatter/src/main/java/com/mycompany/common/scp/date
-E cvs server: Updating formatter/src/main/java/com/mycompany/common/scp/date/formatter
-E cvs server: Updating formatter/src/main/java/com/mycompany/common/scp/buz
-E cvs server: Updating formatter/src/main/java/com/mycompany/common/scp/buz/formatter
-E cvs server: Updating formatter/src/main/java/com/mycompany/common/scp/various
-E cvs server: Updating formatter/src/main/java/com/mycompany/common/scp/various/formatter
-E cvs server: Updating formatter/src/main/java/com/mycompany/common/scp/various/myNumber
-E cvs server: Updating formatter/src/main/java/com/mycompany/common/scp/various/myNumber/formatter
-E cvs server: Updating formatter/src/site
-E cvs server: Updating formatter/src/test
-E cvs server: Updating formatter/src/test/java
-E cvs server: Updating formatter/src/test/java/be
-E cvs server: Updating formatter/src/test/java/com/mycompany
-E cvs server: Updating formatter/src/test/java/com/mycompany/common
-E cvs server: Updating formatter/src/test/java/com/mycompany/common/scp
-E cvs server: Updating formatter/src/test/java/com/mycompany/common/scp/date
-E cvs server: Updating formatter/src/test/java/com/mycompany/common/scp/date/formatter
-E cvs server: Updating formatter/src/test/java/com/mycompany/common/scp/buz
-E cvs server: Updating formatter/src/test/java/com/mycompany/common/scp/buz/formatter
-E cvs server: Updating formatter/src/test/java/com/mycompany/common/scp/various
-E cvs server: Updating formatter/src/test/java/com/mycompany/common/scp/various/formatter
-E cvs server: Updating formatter/src/test/java/com/mycompany/common/scp/various/myNumber
-E cvs server: Updating formatter/src/test/java/com/mycompany/common/scp/various/myNumber/formatter
-E cvs server: Updating gdf
-E cvs server: Updating gdf/src
-E cvs server: Updating gdf/src/main
-E cvs server: Updating gdf/src/main/java
-E cvs server: Updating gdf/src/main/java/be
-E cvs server: Updating gdf/src/main/java/com/mycompany
-E cvs server: Updating gdf/src/main/java/com/mycompany/common
-E cvs server: Updating gdf/src/main/java/com/mycompany/common/scp
-E cvs server: Updating gdf/src/main/java/com/mycompany/common/scp/gdf
-E cvs server: Updating gdf/src/main/java/com/mycompany/common/scp/gdf/date
-E cvs server: Updating gdf/src/main/java/com/mycompany/common/scp/gdf/buz
-E cvs server: Updating gdf/src/main/java/com/mycompany/common/scp/gdf/various
-E cvs server: Updating gdf/src/site
-E cvs server: Updating gdf/src/test
-E cvs server: Updating gdf/src/test/java
-E cvs server: Updating hibernate3adapter
-E cvs server: Updating hibernate3adapter/src
-E cvs server: Updating hibernate3adapter/src/main
-E cvs server: Updating hibernate3adapter/src/main/java
-E cvs server: Updating hibernate3adapter/src/main/java/be
-E cvs server: Updating hibernate3adapter/src/main/java/com/mycompany
-E cvs server: Updating hibernate3adapter/src/main/java/com/mycompany/common
-E cvs server: Updating hibernate3adapter/src/main/java/com/mycompany/common/scp
-E cvs server: Updating hibernate3adapter/src/main/java/com/mycompany/common/scp/date
-E cvs server: Updating hibernate3adapter/src/main/java/com/mycompany/common/scp/date/hibernate3
-E cvs server: Updating hibernate3adapter/src/main/java/com/mycompany/common/scp/buz
-E cvs server: Updating hibernate3adapter/src/main/java/com/mycompany/common/scp/buz/factory
-E cvs server: Updating hibernate3adapter/src/main/java/com/mycompany/common/scp/buz/hibernate3
-E cvs server: Updating hibernate3adapter/src/main/java/com/mycompany/common/scp/utils
-E cvs server: Updating hibernate3adapter/src/main/java/com/mycompany/common/scp/utils/hibernate3
-E cvs server: Updating hibernate3adapter/src/main/java/com/mycompany/common/scp/various
-E cvs server: Updating hibernate3adapter/src/main/java/com/mycompany/common/scp/various/factory
-E cvs server: Updating hibernate3adapter/src/main/java/com/mycompany/common/scp/various/hibernate3
-E cvs server: Updating hibernate3adapter/src/main/java/com/mycompany/common/scp/various/myNumber
-E cvs server: Updating hibernate3adapter/src/main/java/com/mycompany/common/scp/various/myNumber/hibernate3
-E cvs server: Updating hibernate3adapter/src/site
-E cvs server: Updating hibernate3adapter/src/site/fml
-E cvs server: Updating hibernate3adapter/src/site/resources
-E cvs server: Updating hibernate3adapter/src/site/resources/images
-E cvs server: Updating hibernate3adapter/src/site/xdoc
-E cvs server: Updating hibernate3adapter/src/test
-E cvs server: Updating hibernate3adapter/src/test/java
-E cvs server: Updating hibernate3adapter/src/test/java/be
-E cvs server: Updating hibernate3adapter/src/test/java/com/mycompany
-E cvs server: Updating hibernate3adapter/src/test/java/com/mycompany/common
-E cvs server: Updating hibernate3adapter/src/test/java/com/mycompany/common/scp
-E cvs server: Updating hibernate3adapter/src/test/java/com/mycompany/common/scp/date
-E cvs server: Updating hibernate3adapter/src/test/java/com/mycompany/common/scp/date/hibernate3
-E cvs server: Updating hibernate3adapter/src/test/java/com/mycompany/common/scp/buz
-E cvs server: Updating hibernate3adapter/src/test/java/com/mycompany/common/scp/buz/hibernate3
-E cvs server: Updating hibernate3adapter/src/test/java/com/mycompany/common/scp/utils
-E cvs server: Updating hibernate3adapter/src/test/java/com/mycompany/common/scp/utils/hibernate3
-E cvs server: Updating hibernate3adapter/src/test/java/com/mycompany/common/scp/various
-E cvs server: Updating hibernate3adapter/src/test/java/com/mycompany/common/scp/various/hibernate3
-E cvs server: Updating master
-E cvs server: Updating master/src
-E cvs server: Updating master/src/site
-E cvs server: Updating src
-E cvs server: Updating src/site
-E cvs server: Updating taglib
-E cvs server: Updating taglib/src
-E cvs server: Updating taglib/src/main
-E cvs server: Updating taglib/src/main/java
-E cvs server: Updating taglib/src/main/java/be
-E cvs server: Updating taglib/src/main/java/com/mycompany
-E cvs server: Updating taglib/src/main/java/com/mycompany/common
-E cvs server: Updating taglib/src/main/java/com/mycompany/common/scp
-E cvs server: Updating taglib/src/main/java/com/mycompany/common/scp/date
-E cvs server: Updating taglib/src/main/java/com/mycompany/common/scp/date/taglib
-E cvs server: Updating taglib/src/main/java/com/mycompany/common/scp/buz
-E cvs server: Updating taglib/src/main/java/com/mycompany/common/scp/buz/taglib
-E cvs server: Updating taglib/src/main/java/com/mycompany/common/scp/utils
-E cvs server: Updating taglib/src/main/java/com/mycompany/common/scp/utils/taglib
-E cvs server: Updating taglib/src/main/java/com/mycompany/common/scp/various
-E cvs server: Updating taglib/src/main/java/com/mycompany/common/scp/various/taglib
-E cvs server: Updating taglib/src/main/java/com/mycompany/common/scp/various/myNumber
-E cvs server: Updating taglib/src/main/java/com/mycompany/common/scp/various/myNumber/taglib
-E cvs server: Updating taglib/src/site
-E cvs server: Updating taglib/src/test
-E cvs server: Updating taglib/src/test/java
-ok
-RESULT> Status OK: org.eclipse.team.cvs.core code=4 ok null
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/CVSROOT/modules b/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/CVSROOT/modules
deleted file mode 100644
index 3ab59a6..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/CVSROOT/modules
+++ /dev/null
@@ -1,65 +0,0 @@
-# Three different line formats are valid:
-#	key	-a    aliases...
-#	key [options] directory
-#	key [options] directory files...
-#
-# Where "options" are composed of:
-#	-i prog		Run "prog" on "cvs commit" from top-level of module.
-#	-o prog		Run "prog" on "cvs checkout" of module.
-#	-e prog		Run "prog" on "cvs export" of module.
-#	-t prog		Run "prog" on "cvs rtag" of module.
-#	-u prog		Run "prog" on "cvs update" of module.
-#	-d dir		Place module in directory "dir" instead of module name.
-#	-l		Top-level directory only -- do not recurse.
-#
-# NOTE:  If you change any of the "Run" options above, you'll have to
-# release and re-checkout any working directories of these modules.
-#
-# And "directory" is a path to a directory relative to $CVSROOT.
-#
-# The "-a" option specifies an alias.  An alias is interpreted as if
-# everything on the right of the "-a" had been typed on the command line.
-#
-# You can encode a module within a module by using the special '&'
-# character to interpose another module into the current module.  This
-# can be useful for creating a module that consists of many directories
-# spread out over the entire source repository.
-
-# Block access to CVS hogs
-#world		-a denied___checkout_of_world_takes_too_long
-#.		-a denied___checkout_of_world_takes_too_long
-
-# self referencing modules
-project1 project1
-
-# checkout docs in flattened structure
-docs		-d docs common/docs
-macros common/macros
-
-# include docs with project
-project2		project2 &docs
-# only project2
-project2-only project2
-
-# a use of alias
-project3-src  project3/src
-project3-src_file -a project3-src/file.c project3-src/file.h
-project3-sub  project3/sub &project3-src_file
-
-# embeddings
-project4 project4 &macros
-project5-project4 -d extensions/project4 project4
-project5 project5 &project5-project4 &macros
-
-# using -d to build a project from other projects
-project6-dirA -d dirA project6/A
-project6-dirB -d dirB project6/B
-project6 &project6-dirA &project6-dirB
-
-# using aliases to provide packaging
-project7-common -a project7/common
-project7-pc -a project7-common project7/pc
-project7-linux -a project7-common project7/linux
-
-# simple use of module alias
-project8-alias -a project8 common
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/common/docs/readme.html b/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/common/docs/readme.html
deleted file mode 100644
index 8c7fe21..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/common/docs/readme.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<html>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/common/macros/macro1 b/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/common/macros/macro1
deleted file mode 100644
index c88e4d6..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/common/macros/macro1
+++ /dev/null
@@ -1 +0,0 @@
-This is a macro
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project1/f1/file-in-p1.txt b/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project1/f1/file-in-p1.txt
deleted file mode 100644
index 5ba54a8..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project1/f1/file-in-p1.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is a file in project1
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project2/file-p2.txt b/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project2/file-p2.txt
deleted file mode 100644
index 547cc5e..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project2/file-p2.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is a file in project 2
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project3/src/file.c b/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project3/src/file.c
deleted file mode 100644
index a3f314b..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project3/src/file.c
+++ /dev/null
@@ -1 +0,0 @@
-This is a c file
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project3/src/file.h b/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project3/src/file.h
deleted file mode 100644
index d45f90e..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project3/src/file.h
+++ /dev/null
@@ -1 +0,0 @@
-This is an h file
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project3/sub/file-sub.txt b/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project3/sub/file-sub.txt
deleted file mode 100644
index d45364e..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project3/sub/file-sub.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is a file in project3/sub
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project7/common/common.txt b/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project7/common/common.txt
deleted file mode 100644
index 1275067..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project7/common/common.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is a common file
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project7/linux/linux.txt b/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project7/linux/linux.txt
deleted file mode 100644
index c7078a3..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project7/linux/linux.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is a linux file
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project7/pc/pc.txt b/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project7/pc/pc.txt
deleted file mode 100644
index 4bf706a..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project7/pc/pc.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is a pc file
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project8/file-p8.txt b/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project8/file-p8.txt
deleted file mode 100644
index e9257eb..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/resources/CommandTest/project8/file-p8.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is a file in project8
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/self-host.xml b/tests/org.eclipse.team.tests.cvs.core/self-host.xml
deleted file mode 100644
index 0a93874..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/self-host.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0"?>
-<project name="Build Team and CVS plugins" basedir="." default="init">
-
-  <property name="root" value="${basedir}/.."/>
-  <property name="temp" value="${root}/__temp"/>
-  <property name="plugins" value="${temp}/eclipse/plugins"/>
-  <property name="versionSuffix" value="_3.0.0"/>
-
-  <target name="init">
-    <tstamp/>
-
-    <delete dir="${temp}"/>
-    <mkdir dir="${plugins}"/>
-
-    <antcall target="org.eclipse.team.core"/>
-    <antcall target="org.eclipse.team.ui"/>
-    <antcall target="org.eclipse.team.cvs.core"/>
-    <antcall target="org.eclipse.team.cvs.ui"/>
-    <antcall target="org.eclipse.team.cvs.ssh"/>
-    <antcall target="org.eclipse.releng.tools"/>
-    <zip zipfile="${basedir}/selfhost${DSTAMP}.zip"
-       basedir="${temp}"
-    />
-
-    <delete dir="${temp}"/>
-    <eclipse.refreshLocal resource="org.eclipse.team.tests.cvs.core"/>
-  </target>
-
-  <target name="org.eclipse.team.core">
-    <antcall target="buildPlugin">
-      <param name="pluginName" value="org.eclipse.team.core" />
-      <param name="jarName" value="team.jar" />
-    </antcall>
-  </target>
-
-  <target name="org.eclipse.releng.tools">
-    <antcall target="buildPlugin">
-      <param name="pluginName" value="org.eclipse.releng.tools" />
-      <param name="jarName" value="tools.jar" />
-    </antcall>
-  </target>
-
-  <target name="org.eclipse.team.ui">
-    <antcall target="buildPlugin">
-      <param name="pluginName" value="org.eclipse.team.ui" />
-      <param name="jarName" value="teamui.jar" />
-    </antcall>
-  </target>
-
-  <target name="org.eclipse.team.cvs.core">
-    <antcall target="buildPlugin">
-      <param name="pluginName" value="org.eclipse.team.cvs.core" />
-      <param name="jarName" value="cvs.jar" />
-    </antcall>
-  </target>
-
-  <target name="org.eclipse.team.cvs.ui">
-    <antcall target="buildPlugin">
-      <param name="pluginName" value="org.eclipse.team.cvs.ui" />
-      <param name="jarName" value="teamcvsui.jar" />
-    </antcall>
-  </target>
-
-  <target name="org.eclipse.team.cvs.ssh">
-    <antcall target="buildPlugin">
-      <param name="pluginName" value="org.eclipse.team.cvs.ssh" />
-      <param name="jarName" value="teamcvsssh.jar" />
-    </antcall>
-  </target>
-          
-  <target name="buildPlugin">
-    <copy todir="${plugins}/${pluginName}${versionSuffix}">
-      <fileset dir="${root}/${pluginName}"/>
-    </copy>
-    <jar jarfile="${plugins}/${pluginName}${versionSuffix}/${jarName}"
-         basedir="${plugins}/${pluginName}${versionSuffix}/bin"
-    />
-    <delete dir="${plugins}/${pluginName}${versionSuffix}/bin"/>
-  </target>
-
-</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/AllCoreTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/AllCoreTests.java
deleted file mode 100644
index c42a281..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/AllCoreTests.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.team.tests.ccvs.core.cvsresources.AllTestsCVSResources;
-
-/**
- * Tests that don't require the Team UI plugin to be loaded.
- */
-public class AllCoreTests extends EclipseTest {
-
-	public AllCoreTests() {
-		super();
-	}
-
-	public AllCoreTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTest(AllTestsCVSResources.suite());
-		return new CVSTestSetup(suite);
-	}
-}
-
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/AllTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/AllTests.java
deleted file mode 100644
index c90e3b5..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/AllTests.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.team.tests.ccvs.core.mappings.ResourceMapperTests;
-import org.eclipse.team.tests.ccvs.core.provider.AllTestsProvider;
-import org.eclipse.team.tests.ccvs.core.subscriber.AllTestsTeamSubscriber;
-import org.eclipse.team.tests.ccvs.ui.AllUITests;
-
-public class AllTests extends EclipseTest {
-
-	public AllTests() {
-		super();
-	}
-
-	public AllTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTest(AllTestsProvider.suite());
-		suite.addTest(AllTestsTeamSubscriber.suite());
-		suite.addTest(AllUITests.suite());
-		suite.addTest(ResourceMapperTests.suite());
-		return new CVSUITestSetup(suite);
-	}
-}
-
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CVSClientException.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CVSClientException.java
deleted file mode 100644
index cb04eb0..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CVSClientException.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-
-public class CVSClientException extends CVSException {
-	
-	/**
-     * Comment for <code>serialVersionUID</code>
-     */
-    private static final long serialVersionUID = 1L;
-
-    public CVSClientException(String message) {
-		super(message);
-	}
-
-}
-
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CVSTestLogListener.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CVSTestLogListener.java
deleted file mode 100644
index ee90c4d..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CVSTestLogListener.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-
-/**
- * Listener that accumulates test errors
- */
-public class CVSTestLogListener implements ILogListener {
-
-	Map errors = new HashMap();
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.ILogListener#logging(org.eclipse.core.runtime.IStatus, java.lang.String)
-	 */
-	public void logging(IStatus status, String plugin) {
-		List pluginErrors = (List)errors.get(plugin);
-		if (pluginErrors == null) {
-			pluginErrors = new ArrayList();
-			errors.put(plugin, pluginErrors);
-		}
-		pluginErrors.add(status);
-	}
-
-	public void checkErrors() throws CoreException {
-		if (errors.isEmpty()) return;
-		List allErrors = new ArrayList();
-		for (Iterator iter = errors.values().iterator(); iter.hasNext();) {
-			allErrors.addAll((List)iter.next());
-		}
-		errors.clear();
-		if (allErrors.isEmpty()) return;
-		IStatus status = null;
-		if (allErrors.size() == 1) {
-			status = (IStatus)allErrors.get(0);
-			if (!status.isMultiStatus()) {
-				throw new CVSException(status);
-			}
-		}
-		if (status == null) {
-			status = new MultiStatus("org.eclipse.team.tests.cvs.core", 0, 
-					(IStatus[]) allErrors.toArray(new IStatus[allErrors.size()]), 
-					"Errors were logged during this test. Check the log file for details", null);
-		}
-		throw new CoreException(status);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CVSTestSetup.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CVSTestSetup.java
deleted file mode 100644
index d8cd588..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CVSTestSetup.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core;
-import java.io.*;
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.connection.CVSCommunicationException;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.util.KnownRepositories;
-
-public class CVSTestSetup extends TestSetup {
-	public static final String REPOSITORY_LOCATION;
-	public static final boolean INITIALIZE_REPO;
-	public static final boolean DEBUG;
-	public static final boolean LOCAL_REPO;
-	public static final String RSH;
-	public static final int WAIT_FACTOR;
-	public static final int COMPRESSION_LEVEL;
-	public static final boolean FAIL_IF_EXCEPTION_LOGGED;
-    public static final boolean RECORD_PROTOCOL_TRAFFIC;
-    public static final boolean ENSURE_SEQUENTIAL_ACCESS;
-    public static final boolean FAIL_ON_BAD_DIFF;
-	
-	public static CVSRepositoryLocation repository;
-	public static CVSTestLogListener logListener;
-	
-	// Static initializer for constants
-	static {
-		loadProperties();
-		REPOSITORY_LOCATION = System.getProperty("eclipse.cvs.repository");
-		INITIALIZE_REPO = Boolean.valueOf(System.getProperty("eclipse.cvs.initrepo", "false")).booleanValue();
-		DEBUG = Boolean.valueOf(System.getProperty("eclipse.cvs.debug", "false")).booleanValue();
-		RSH = System.getProperty("eclipse.cvs.rsh", "rsh");
-		LOCAL_REPO = Boolean.valueOf(System.getProperty("eclipse.cvs.localRepo", "false")).booleanValue();
-		WAIT_FACTOR = Integer.parseInt(System.getProperty("eclipse.cvs.waitFactor", "1"));
-		COMPRESSION_LEVEL = Integer.parseInt(System.getProperty("eclipse.cvs.compressionLevel", "0"));
-		FAIL_IF_EXCEPTION_LOGGED = Boolean.valueOf(System.getProperty("eclipse.cvs.failLog", "true")).booleanValue();
-        RECORD_PROTOCOL_TRAFFIC = Boolean.valueOf(System.getProperty("eclipse.cvs.recordProtocolTraffic", "false")).booleanValue();
-        ENSURE_SEQUENTIAL_ACCESS = Boolean.valueOf(System.getProperty("eclipse.cvs.sequentialAccess", "false")).booleanValue();
-        FAIL_ON_BAD_DIFF = Boolean.valueOf(System.getProperty("eclipse.cvs.failOnBadDiff", "false")).booleanValue();
-	}
-
-	public static void loadProperties() {
-		String propertiesFile = System.getProperty("eclipse.cvs.properties");
-		if (propertiesFile == null) return;
-		File file = new File(propertiesFile);
-		if (file.isDirectory()) file = new File(file, "repository.properties");
-		try {
-			BufferedReader reader = new BufferedReader(new FileReader(file));
-			try {
-				for (String line; (line = reader.readLine()) != null; ) {
-					if (line.startsWith("#")) continue;					
-					int sep = line.indexOf("=");
-					String property = line.substring(0, sep).trim();
-					String value = line.substring(sep + 1).trim();
-					System.setProperty("eclipse.cvs." + property, value);
-				}
-			} finally {
-				reader.close();
-			}
-		} catch (Exception e) {
-			System.err.println("Could not read repository properties file: " + file.getAbsolutePath());
-		}
-	}	
-
-	/**
-	 * Constructor for CVSTestSetup.
-	 */
-	public CVSTestSetup(Test test) {
-		super(test);
-	}
-
-	public static void executeRemoteCommand(ICVSRepositoryLocation repository, String commandLine) {
-		if (! LOCAL_REPO) {
-			commandLine = RSH + " " + repository.getHost() + " -l " + repository.getUsername() + " " + commandLine;
-		}
-		int returnCode = executeCommand(commandLine, null, null);
-		if (returnCode != -1 && returnCode != 0) {
-			System.err.println("Remote command returned " + returnCode + ": " + commandLine);
-		}
-	}
-	
-	/**
-	 * Executes a command.
-	 * Returns the command's return code, or -1 on failure.
-	 * 
-	 * @param commandLine the local command line to run
-	 * @param environment the new environment variables, or null to inherit from parent process
-	 * @param workingDirectory the new workingDirectory, or null to inherit from parent process
-	 */
-	public static int executeCommand(String commandLine, String[] environment, File workingDirectory) {
-		PrintStream debugStream = CVSTestSetup.DEBUG ? System.out : null;
-		try {
-			if (debugStream != null) {
-				// while debugging, dump CVS command line client results to stdout
-				// prefix distinguishes between message source stream
-				debugStream.println();
-				printPrefixedLine(debugStream, "CMD> ", commandLine);
-				if (workingDirectory != null) printPrefixedLine(debugStream, "DIR> ", workingDirectory.toString());
-			}
-			Process cvsProcess = Runtime.getRuntime().exec(commandLine, environment, workingDirectory);
-			// stream output must be dumped to avoid blocking the process or causing a deadlock
-			startBackgroundPipeThread(cvsProcess.getErrorStream(), debugStream, "ERR> ");
-			startBackgroundPipeThread(cvsProcess.getInputStream(), debugStream, "MSG> ");
-
-			int returnCode = cvsProcess.waitFor();			
-			if (debugStream != null) debugStream.println("RESULT> " + returnCode);
-			return returnCode;
-		} catch (IOException e) {
-			printPrefixedLine(System.err, "Unable to execute command: ", commandLine);
-			e.printStackTrace(System.err);
-		} catch (InterruptedException e) {
-			printPrefixedLine(System.err, "Unable to execute command: ", commandLine);
-			e.printStackTrace(System.err);
-		}
-		return -1;
-	}
-	
-	private static void startBackgroundPipeThread(final InputStream is, final PrintStream os,
-		final String prefix) {
-		new Thread() {
-			public void run() {
-				BufferedReader reader = null;
-				try {
-					try {
-						reader = new BufferedReader(new InputStreamReader(is));
-						for (;;) {
-							String line = reader.readLine();
-							if (line == null) break;
-							if (os != null) printPrefixedLine(os, prefix, line);
-						}
-					} finally {
-						if (reader != null) reader.close();
-					}
-				} catch (IOException e) {
-					e.printStackTrace();
-				}
-			}
-		}.start();
-	}
-	
-	private static void printPrefixedLine(PrintStream os, String prefix, String line) {
-		os.print(prefix);
-		os.println(line.substring(0, Math.min(line.length(), 256))); // trim long lines
-	}
-
-	/*
-	 * Use rsh to delete any contents of the repository and initialize it again
-	 */
-	private static void initializeRepository(CVSRepositoryLocation repository) {
-		String repoRoot = repository.getRootDirectory();
-		executeRemoteCommand(repository, "rm -rf " + repoRoot);
-		executeRemoteCommand(repository, "cvs -d " + repoRoot + " init");
-	}
-	
-	public void setUp() throws CoreException {
-		if (repository == null) {
-			repository = setupRepository(REPOSITORY_LOCATION);
-		}
-		CVSProviderPlugin.getPlugin().setCompressionLevel(COMPRESSION_LEVEL);
-		// Add a log listener so we can ensure that nothing is logged during a test
-		if (logListener == null) {
-			logListener = new CVSTestLogListener();
-			Platform.addLogListener(logListener);
-		}
-	}
-
-	protected CVSRepositoryLocation setupRepository(String location) throws CVSException {
-		
-		// Validate that we can connect, also creates and caches the repository location. This
-		// is important for the UI tests.
-		CVSRepositoryLocation repository = (CVSRepositoryLocation)KnownRepositories.getInstance().getRepository(location);
-		KnownRepositories.getInstance().addRepository(repository, false);
-		repository.setUserAuthenticator(new TestsUserAuthenticator());
-		
-		// Give some info about which repository the tests are running with
-		System.out.println("Connecting to: " + repository.getHost() + ":" + repository.getMethod().getName());
-		
-		try {
-			try {
-				repository.validateConnection(new NullProgressMonitor());
-			} catch (CVSCommunicationException e) {
-				// Try once more, just in case it is a transient server problem
-				repository.validateConnection(new NullProgressMonitor());
-			} catch (OperationCanceledException e) {
-				// This can occur if authentication fails
-				throw new CVSException(new CVSStatus(IStatus.ERROR, "The connection was canceled, possibly due to an authentication failure."));
-			}
-		} catch (CVSException e) {
-			System.out.println("Unable to connect to remote repository: " + repository.toString());
-			System.out.println(e.getMessage());
-			throw e;
-		}
-		
-		// Initialize the repo if requested (requires rsh access)
-		if( INITIALIZE_REPO ) {
-			initializeRepository(repository);
-		}
-		
-		return repository;
-	}
-	
-	public void tearDown() throws CVSException {
-		// Nothing to do here
-	}
-
-}
-
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CVSUITestSetup.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CVSUITestSetup.java
deleted file mode 100644
index a91052c..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CVSUITestSetup.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core;
-
-import junit.framework.Test;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin;
-import org.eclipse.ui.PlatformUI;
-
-public class CVSUITestSetup extends CVSTestSetup implements Test {
-
-	public CVSUITestSetup(Test test) {
-		super(test);
-	}
-	
-	/* (non-Javadoc)
-	 * @see junit.extensions.TestSetup#setUp()
-	 */
-	public void setUp() throws CoreException {
-		super.setUp();
-		PlatformUI.getWorkbench().getDecoratorManager().setEnabled(CVSUIPlugin.DECORATOR_ID, true);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CommandLineCVSClient.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CommandLineCVSClient.java
deleted file mode 100644
index 3088fc4..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/CommandLineCVSClient.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core;
-
-import java.io.File;
-
-import junit.framework.Assert;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-
-public class CommandLineCVSClient implements ICVSClient {
-	public static final ICVSClient INSTANCE = new CommandLineCVSClient();
-	private static final String cvsExecutable =
-		System.getProperty("eclipse.cvs.command");
-		
-	public void executeCommand(ICVSRepositoryLocation repositoryLocation,
-		IContainer localRoot, String command, String[] globalOptions,
-		String[] localOptions, String[] arguments) throws CVSException {
-		execute(repositoryLocation.getLocation(false), localRoot.getLocation().toFile(), command,
-			globalOptions, localOptions, arguments);
-		try {
-			localRoot.refreshLocal(IResource.DEPTH_INFINITE, null);
-		} catch (CoreException e) {
-			throw new CVSClientException("CoreException during refreshLocal: " + e.getMessage());
-		}
-	}
-	
-	public static void execute(
-		String repositoryLocation, File localRoot, String command,
-		String[] globalOptions, String[] localOptions,
-		String[] arguments) throws CVSException {
-		// test arguments
-		Assert.assertNotNull(repositoryLocation);
-		Assert.assertNotNull(localRoot);
-		Assert.assertNotNull(command);
-		Assert.assertNotNull(globalOptions);
-		Assert.assertNotNull(localOptions);
-		Assert.assertNotNull(arguments);
-		Assert.assertTrue(localRoot.exists());
-
-		// build command line
-		StringBuffer commandLineBuf = new StringBuffer(cvsExecutable);
-		commandLineBuf.append(" -d \"");
-		commandLineBuf.append(repositoryLocation);
-		commandLineBuf.append('"');
-		appendStrings(commandLineBuf, globalOptions);
-		commandLineBuf.append(' ');
-		commandLineBuf.append(command);
-		appendStrings(commandLineBuf, localOptions);
-		appendStrings(commandLineBuf, arguments);
-		
-		// execute command
-		JUnitTestCase.waitMsec(1500);
-		int returnCode = CVSTestSetup.executeCommand(commandLineBuf.toString(), null, localRoot);
-		if (returnCode != 0) {
-			throw new CVSClientException("Command line client returned non-zero code: " + returnCode);
-		}
-	}
-		
-	private static void appendStrings(StringBuffer commandLine, String[] strings) {	
-		for (int i = 0; i < strings.length; i++) {
-			String string = strings[i];
-			if (string != null && string.length() != 0) {
-				commandLine.append(" \"");
-				commandLine.append(string);
-				commandLine.append('"');
-			}
-		}
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/EclipseCVSClient.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/EclipseCVSClient.java
deleted file mode 100644
index 6c071c8..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/EclipseCVSClient.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import junit.framework.Assert;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSStatus;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.client.Command;
-import org.eclipse.team.internal.ccvs.core.client.Session;
-import org.eclipse.team.internal.ccvs.core.client.Command.GlobalOption;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-
-public class EclipseCVSClient implements ICVSClient {
-	public static final ICVSClient INSTANCE = new EclipseCVSClient();
-	private static final HashMap commandPool = new HashMap();
-	static {
-		commandPool.put("update", Command.UPDATE);
-		commandPool.put("co", Command.CHECKOUT);
-		commandPool.put("ci", Command.COMMIT);
-		commandPool.put("import", Command.IMPORT);
-		commandPool.put("add", Command.ADD);
-		commandPool.put("remove", Command.REMOVE);
-		commandPool.put("status", Command.STATUS);
-		commandPool.put("log", Command.LOG);
-		commandPool.put("tag", Command.TAG);
-		commandPool.put("rtag", Command.RTAG);
-		commandPool.put("admin", Command.ADMIN);
-		commandPool.put("diff", Command.DIFF);
-	}
-	
-	public void executeCommand(ICVSRepositoryLocation repositoryLocation,
-		IContainer localRoot, String command, String[] globalOptions,
-		String[] localOptions, String[] arguments) throws CVSException {
-		execute(repositoryLocation, CVSWorkspaceRoot.getCVSFolderFor(localRoot), command,
-			globalOptions, localOptions, arguments);
-	}
-	
-	public static void execute(
-		ICVSRepositoryLocation cvsRepositoryLocation, ICVSFolder cvsLocalRoot,
-		String command, String[] globalOptions, String[] localOptions,
-		String[] arguments) throws CVSException {
-		// test arguments
-		Assert.assertNotNull(cvsRepositoryLocation);
-		Assert.assertNotNull(cvsLocalRoot);
-		Assert.assertNotNull(command);
-		Assert.assertNotNull(globalOptions);
-		Assert.assertNotNull(localOptions);
-		Assert.assertNotNull(arguments);
-		Assert.assertTrue(cvsLocalRoot.exists());
-
-		// get command instance
-		Command cvsCommand = (Command) commandPool.get(command);
-			
-		// get global options
-		List globals = new ArrayList();
-		for (int i = 0; i < globalOptions.length; i++) {
-			globals.add(new CustomGlobalOption(globalOptions[i]));
-		}
-		GlobalOption[] cvsGlobalOptions = (GlobalOption[]) globals.toArray(new GlobalOption[globals.size()]);
-		
-		// get local options
-		List locals = new ArrayList();
-		for (int i = 0; i < localOptions.length; i++) {
-			String option = localOptions[i];
-			String argument = null;
-			if ((i < localOptions.length - 1) && (localOptions[i + 1].charAt(0) != '-')) {
-				argument = localOptions[++i];
-			}
-			locals.add(new CustomLocalOption(option, argument));
-		}
-		LocalOption[] cvsLocalOptions = (LocalOption[]) locals.toArray(new LocalOption[locals.size()]);
-		
-		// execute command
-		IProgressMonitor monitor = new NullProgressMonitor();
-		Session session = new Session(cvsRepositoryLocation, cvsLocalRoot);
-		try {
-			session.open(monitor, true /* open for modification */);
-			IStatus status = cvsCommand.execute(session,
-				cvsGlobalOptions, cvsLocalOptions, arguments, null, monitor);
-			if (status.getCode() == CVSStatus.SERVER_ERROR) {
-				throw new CVSClientException("Eclipse client returned non-ok status: " + status);
-			}
-		} finally {
-			session.close();
-			monitor.done();
-		}
-	}
-
-	private static class CustomGlobalOption extends GlobalOption {
-		public CustomGlobalOption(String option) {
-			super(option);
-		}
-	}
-
-	private static class CustomLocalOption extends LocalOption {
-		public CustomLocalOption(String option, String arg) {
-			super(option, arg);
-		}
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/EclipseRunnable.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/EclipseRunnable.java
deleted file mode 100644
index 3ded341..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/EclipseRunnable.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.ui.TeamOperation;
-
-public class EclipseRunnable implements Runnable {
-	private TeamOperation op;
-	private Exception ex;
-	private IProgressMonitor monitor;
-	
-	public EclipseRunnable(TeamOperation op, IProgressMonitor monitor) {
-		this.monitor = monitor;
-		this.op = op;
-	}
-	
-	public void run() {
-		try {
-			op.run(monitor);
-		} catch (InvocationTargetException e) {
-			ex = e;
-		} catch (InterruptedException e) {
-			ex = e;
-		}
-	}
-	
-	public Exception getException(){
-		return ex;
-	}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/EclipseTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/EclipseTest.java
deleted file mode 100644
index 3ef7724..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/EclipseTest.java
+++ /dev/null
@@ -1,1414 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core;
-import java.io.*;
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import junit.framework.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.mapping.ResourceMapping;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.tests.resources.ResourceTest;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.*;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-import org.eclipse.team.internal.ccvs.core.connection.*;
-import org.eclipse.team.internal.ccvs.core.resources.*;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.core.util.SyncFileChangeListener;
-import org.eclipse.team.internal.ccvs.ui.mappings.ModelReplaceOperation;
-import org.eclipse.team.internal.ccvs.ui.mappings.ModelUpdateOperation;
-import org.eclipse.team.internal.ccvs.ui.operations.*;
-import org.eclipse.team.internal.core.subscribers.SubscriberSyncInfoCollector;
-import org.eclipse.team.ui.TeamOperation;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.internal.decorators.DecoratorManager;
-
-public class EclipseTest extends ResourceTest { 
-
-	private static final int LOCK_WAIT_TIME = 1000;
-    private static final String CVS_TEST_LOCK_FILE = ".lock";
-    private static final String CVS_TEST_LOCK_PROJECT  = "cvsTestLock";
-    protected static IProgressMonitor DEFAULT_MONITOR = new NullProgressMonitor();
-	protected static final int RANDOM_CONTENT_SIZE = 3876;
-	protected static String eol = System.getProperty("line.separator");
-	private static boolean modelSync = true;
-    private static final long LOCK_EXPIRATION_THRESHOLD = 1000 * 60 * 10; // 10 minutes
-    private static final int MAX_LOCK_ATTEMPTS = 60 * 30; // 30 minutes
-    private String lockId;
-	
-	public static Test suite(Class c) {
-		String testName = System.getProperty("eclipse.cvs.testName");
-		if (testName == null) {
-			TestSuite suite = new TestSuite(c);
-			return new CVSTestSetup(suite);
-		} else {
-			try {
-				return new CVSTestSetup((Test)c.getConstructor(new Class[] { String.class }).newInstance(new Object[] {testName}));
-			} catch (Exception e) {
-				fail(e.getMessage());
-				// Above will throw so below is never actually reached
-				return null;
-			}
-		}
-	}
-	
-	public static boolean isModelSyncEnabled() {
-		return modelSync;
-	}
-	
-	public static void setModelSync(boolean modelSync) {
-		EclipseTest.modelSync = modelSync;
-	}
-	
-	public EclipseTest() {
-		super();
-		if (eol == null) eol = "\n";
-	}
-
-	public EclipseTest(String name) {
-		super(name);
-		if (eol == null) eol = "\n";
-	}
-
-	public ICVSRemoteResource getRemoteTree(IResource resource, CVSTag tag, IProgressMonitor progress) throws TeamException {
-		return CVSWorkspaceRoot.getRemoteTree(resource, tag, false /* cache file contents hint */, IResource.DEPTH_INFINITE, progress);
-	}
-	
-	/*
-	 * Get the resources for the given resource names
-	 */
-	public IResource[] getResources(IContainer container, String[] hierarchy) {
-		IResource[] resources = new IResource[hierarchy.length];
-		for (int i=0;i<resources.length;i++) {
-			resources[i] = container.findMember(hierarchy[i]);
-			if (resources[i] == null) {
-				resources[i] = buildResources(container, new String[] {hierarchy[i]})[0];
-			}
-		}
-		return resources;
-	}
-	
-	/**
-	 * Add the resources to an existing container and upload them to CVS
-	 */
-	public IResource[] addResources(IContainer container, String[] hierarchy, boolean checkin) throws CoreException, TeamException {
-		IResource[] newResources = buildResources(container, hierarchy, false);
-		addResources(newResources);
-		if (checkin) commitResources(newResources, IResource.DEPTH_ZERO);
-		return newResources;
-	}
-	
-	protected void addResources(IResource[] newResources) throws CoreException {
-		if (newResources.length == 0) return;
-		ResourceMapping[] mappings = asResourceMappers(newResources, IResource.DEPTH_INFINITE);
-        add(mappings);
-	}
-
-    protected void add(ResourceMapping[] mappings) throws CVSException {
-        executeHeadless(new AddOperation(null, mappings));
-    }
-	
-	/**
-	 * Perform a CVS edit of the given resources
-	 */
-	public IResource[] editResources(IContainer container, String[] hierarchy) throws CoreException, TeamException {
-		IResource[] resources = getResources(container, hierarchy);
-		getProvider(container).edit(resources, true /* recurse */, true /* notifyServer */, false /* notifyForWritable */, ICVSFile.NO_NOTIFICATION, DEFAULT_MONITOR);
-		assertReadOnly(resources, false /* isReadOnly */, true /* recurse */);
-		return resources;
-	}
-	
-	/**
-	 * Perform a CVS unedit of the given resources
-	 */
-	public IResource[] uneditResources(IContainer container, String[] hierarchy) throws CoreException, TeamException {
-		IResource[] resources = getResources(container, hierarchy);
-		getProvider(container).unedit(resources, true /* recurse */, true/* notifyServer */, DEFAULT_MONITOR);
-		assertReadOnly(resources, true /* isReadOnly */, true /* recurse */);
-		return resources;
-	}
-	
-	public void appendText(IResource resource, String text, boolean prepend) throws CoreException, IOException, CVSException {
-		IFile file = (IFile)resource;
-		String contents = getFileContents(file);
-		StringBuffer buffer = new StringBuffer();
-		if (prepend) {
-			buffer.append(text);
-		}
-		buffer.append(contents);
-		if (!prepend) {
-			buffer.append(eol + text);
-		}
-		setContentsAndEnsureModified(file, buffer.toString());
-	}
-	
-	public void assertEndsWith(IFile file, String text) throws IOException, CoreException {
-		assertTrue(getFileContents(file).endsWith(text));		
-	}
-	
-	public void assertStartsWith(IFile file, String text) throws IOException, CoreException {
-		assertTrue(getFileContents(file).startsWith(text));		
-	}
-	
-	public static String getFileContents(IFile file) throws IOException, CoreException {
-		StringBuffer buf = new StringBuffer();
-		Reader reader = new InputStreamReader(new BufferedInputStream(file.getContents()));
-		try {
-			int c;
-			while ((c = reader.read()) != -1) buf.append((char)c);
-		} finally {
-			reader.close();
-		}
-		return buf.toString();		
-	}
-	
-	/**
-	 * Delete the resources from an existing container and the changes to CVS
-	 */
-	public IResource[] changeResources(IContainer container, String[] hierarchy, boolean checkin) throws CoreException, TeamException {
-		List changedResources = new ArrayList(hierarchy.length);
-		for (int i=0;i<hierarchy.length;i++) {
-			IResource resource = container.findMember(hierarchy[i]);
-			if (resource.getType() == IResource.FILE) {
-				changedResources.add(resource);
-				setContentsAndEnsureModified((IFile)resource);
-			}
-		}
-		IResource[] resources = (IResource[])changedResources.toArray(new IResource[changedResources.size()]);
-		if (checkin) commitResources(resources, IResource.DEPTH_ZERO);
-		return resources;
-	}
-	
-	/**
-	 * Delete the resources from an existing container and the changes to CVS
-	 */
-	public IResource[] deleteResources(IContainer container, String[] hierarchy, boolean checkin) throws CoreException, TeamException {
-		IResource[] resources = getResources(container, hierarchy);
-		deleteResources(resources);
-		if (checkin)
-			commitResources(resources, IResource.DEPTH_INFINITE);
-		return resources;
-	}
-	
-	/**
-	 * Delete the resources and mark them as outgoing deletions.
-	 * Deleting the resources is enough since the move/delete hook will
-	 * tak care of making them outgoing deletions.
-	 */
-	protected void deleteResources(IResource[] resources) throws TeamException, CoreException {
-		if (resources.length == 0) return;
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			resource.delete(false, DEFAULT_MONITOR);
-		}
-	}
-	/**
-	 * Unmanage the resources
-	 */
-	public void unmanageResources(IContainer container, String[] hierarchy) throws CoreException, TeamException {
-		IResource[] resources = getResources(container, hierarchy);
-		unmanageResources(resources);
-	}
-	
-	protected void unmanageResources(IResource[] resources) throws TeamException, CoreException {
-		for (int i=0;i<resources.length;i++) {
-			CVSWorkspaceRoot.getCVSResourceFor(resources[i]).unmanage(null);
-		}
-	}
-	
-	/**
-	 * Update the resources from an existing container with the changes from the CVS repository
-	 */
-	public IResource[] updateResources(IContainer container, String[] hierarchy, boolean ignoreLocalChanges) throws CoreException, TeamException {
-		IResource[] resources = getResources(container, hierarchy);
-		return updateResources(resources, ignoreLocalChanges);
-	}
-	
-	/**
-	 * Update the resources from an existing container with the changes from the CVS repository
-	 */
-    protected IResource[] updateResources(IResource[] resources, boolean ignoreLocalChanges) throws CVSException {
-        LocalOption[] options = Command.NO_LOCAL_OPTIONS;
-		if(ignoreLocalChanges) {
-			options = new LocalOption[] {Update.IGNORE_LOCAL_CHANGES};
-		}
-        ResourceMapping[] mappers = asResourceMappers(resources, IResource.DEPTH_INFINITE);
-		update(mappers, options);
-		return resources;
-    }
-
-    /**
-     * Update the resources contained in the given mappers.
-     */
-    protected void update(ResourceMapping[] mappings, LocalOption[] options) throws CVSException {
-        if (options == null)
-            options = Command.NO_LOCAL_OPTIONS;
-        if (isModelSyncEnabled() && options == Command.NO_LOCAL_OPTIONS) {
-	        executeHeadless(new ModelUpdateOperation(null, mappings, false) {
-	        	protected boolean isAttemptHeadlessMerge() {
-	        		return true;
-	        	}
-	        	protected void handlePreviewRequest() {
-	        		// Don't preview anything
-	        	}
-	        	protected void handleNoChanges() {
-	        		// Do nothing
-	        	}
-	        	protected void handleValidationFailure(IStatus status) {
-	        		// Do nothing
-	        	}
-	        	protected void handleMergeFailure(IStatus status) {
-	        		// Do nothing
-	        	}
-	        });
-        } else {
-        	executeHeadless(new UpdateOperation(null, mappings, options, null));
-        }
-    }
-
-	protected void replace(IContainer container, String[] hierarchy, CVSTag tag, boolean recurse) throws CoreException {
-		IResource[] resources = getResources(container, hierarchy);
-		replace(resources, tag, recurse);
-	}
-	
-	protected void replace(IResource[] resources, CVSTag tag, boolean recurse) throws CoreException {
-		ReplaceOperation op = new ReplaceOperation(null, resources, tag, recurse);
-		executeHeadless(op);
-	}
-	
-    protected void replace(ResourceMapping[] mappings) throws CVSException {
-    	if (isModelSyncEnabled()) {
-	        executeHeadless(new ModelReplaceOperation(null, mappings, false) {
-	        	protected boolean promptForOverwrite() {
-	        		return true;
-	        	}
-	        	protected void handlePreviewRequest() {
-	        		// Don't prompt
-	        	}
-	        	protected void handleMergeFailure(IStatus status) {
-	        		// Don't prompt
-	        	}
-	        	protected void handleValidationFailure(IStatus status) {
-	        		// Don't prompt
-	        	}
-	        });
-    	} else {
-    		executeHeadless(new ReplaceOperation(null, mappings, null));
-    	}
-    }
-    
-	public void updateProject(IProject project, CVSTag tag, boolean ignoreLocalChanges) throws TeamException {
-		if (tag == null) {
-			ResourceMapping[] mappings = asResourceMappers(new IResource[] { project }, IResource.DEPTH_INFINITE);
-			if (ignoreLocalChanges)
-				replace(mappings);
-			else
-				update(mappings, Command.NO_LOCAL_OPTIONS);
-		} else {
-			LocalOption[] options = Command.NO_LOCAL_OPTIONS;
-			if(ignoreLocalChanges) {
-				options = new LocalOption[] {Update.IGNORE_LOCAL_CHANGES};
-			}
-			executeHeadless(new UpdateOperation(null, new IResource[] {project}, options, tag));
-		}
-	}
-	
-	public void commitProject(IProject project) throws TeamException, CoreException {
-		commitResources(project, true);
-	}
-	
-	public void commitResources(IContainer container, boolean deep) throws TeamException, CoreException {
-		commitResources(new IResource[] {container }, deep?IResource.DEPTH_INFINITE:IResource.DEPTH_ZERO);
-	}
-	
-	/**
-	 * Commit the resources from an existing container to the CVS repository
-	 */
-	public IResource[] commitResources(IContainer container, String[] hierarchy) throws CoreException, TeamException {
-		IResource[] resources = getResources(container, hierarchy);
-		commitResources(resources, IResource.DEPTH_ZERO);
-		return resources;
-	}
-	
-	protected void commitResources(IResource[] resources, int depth) throws TeamException, CoreException {
-		commitResources(resources, depth, "");
-	}
-	
-	/*
-	 * Commit the provided resources which must all be in the same project
-	 */
-	protected void commitResources(IResource[] resources, int depth, String message) throws TeamException, CoreException {
-		if (resources.length == 0) return;
-		ResourceMapping[] resourceMappers = asResourceMappers(resources, depth);
-        commit(resourceMappers, message);
-	}
-
-    /**
-     * Commit the resources contained by the mappers.
-     */
-    protected void commit(ResourceMapping[] mappers, String message) throws CVSException {
-        executeHeadless(new CommitOperation(null, mappers, new Command.LocalOption[0], message));
-    }
-
-    /**
-     * Convert the resources to a resource mapper that traverses the resources
-     * to the specified depth.
-     * @param resources the resource
-     * @return a resource mapper for traversing the resources to the depth specified
-     */
-    protected ResourceMapping[] asResourceMappers(IResource[] resources, int depth) {
-        return WorkspaceResourceMapper.asResourceMappers(resources, depth);
-    }
-    
-    protected ICVSResource asCVSResource(IResource resource) {
-        return CVSWorkspaceRoot.getCVSResourceFor(resource);
-    }
-    
-	/**
-	 * Commit the resources from an existing container to the CVS repository
-	 */
-	public void tagProject(IProject project, CVSTag tag, boolean force) throws TeamException {
-		ResourceMapping[] mappings = RepositoryProviderOperation.asResourceMappers(new IResource[] {project});
-        tag(mappings, tag, force);
-	}
-
-    /**
-     * Tag the resources contained in the given mappings
-     */
-    protected void tag(ResourceMapping[] mappings, CVSTag tag, boolean force) throws TeamException {
-        ITagOperation op = new TagOperation((IWorkbenchPart)null, mappings);
-        runTag(op, tag, force);
-    }
-	
-	public void tagRemoteResource(ICVSRemoteResource resource, CVSTag tag, boolean force) throws TeamException  {
-		ITagOperation op = new TagInRepositoryOperation(null, new ICVSRemoteResource[] {resource});
-		runTag(op, tag, force);
-	}
-    
-	private void runTag(ITagOperation op, CVSTag tag, boolean force) throws TeamException {
-		if (force) op.moveTag();
-		op.setTag(tag);
-		try {
-			((CVSOperation)op).run(DEFAULT_MONITOR);
-		} catch (InterruptedException e) {
-			fail("Tag interrupted.");
-		} catch (InvocationTargetException e) {
-			if (e.getTargetException() instanceof TeamException)  {
-				throw (TeamException) e.getTargetException();
-			} else  {
-				e.printStackTrace();
-				fail("Unexpected error while tagging");
-			}
-		}
-	}
-	public void makeBranch(IResource[] resources, CVSTag version, CVSTag branch, boolean update) throws CVSException {
-		ResourceMapping[] mappings = asResourceMappers(resources, IResource.DEPTH_INFINITE);
-        branch(mappings, version, branch, update);
-	}
-
-    protected void branch(ResourceMapping[] mappings, CVSTag version, CVSTag branch, boolean update) throws CVSException {
-        BranchOperation op = new BranchOperation(null, mappings);
-        op.setTags(version, branch, update);
-        executeHeadless(op);
-    }
-    
-	/**
-	 * Return a collection of resources defined by hierarchy. The resources
-	 * are added to the workspace and to the file system. If the manage flag is true, the
-	 * resources are auto-managed, if false, they are left un-managed.
-	 */
-	public IResource[] buildResources(IContainer container, String[] hierarchy, boolean includeContainer) throws CoreException {
-		List resources = new ArrayList(hierarchy.length + 1);
-		resources.addAll(Arrays.asList(buildResources(container, hierarchy)));
-		if (includeContainer)
-			resources.add(container);
-		IResource[] result = (IResource[]) resources.toArray(new IResource[resources.size()]);
-		ensureExistsInWorkspace(result, true);
-		for (int i = 0; i < result.length; i++) {
-			if (result[i].getType() == IResource.FILE)
-				// 3786 bytes is the average size of Eclipse Java files!
-				 ((IFile) result[i]).setContents(getRandomContents(RANDOM_CONTENT_SIZE), true, false, null);
-		}
-		return result;
-	}
-
-	/*
-	 * Checkout a copy of the project into a project with the given postfix
-	 */
-	 protected IProject checkoutCopy(IProject project, String postfix) throws TeamException {
-		// Check the project out under a different name and validate that the results are the same
-		IProject copy = getWorkspace().getRoot().getProject(project.getName() + postfix);
-		checkout(getRepository(), copy, CVSWorkspaceRoot.getCVSFolderFor(project).getFolderSyncInfo().getRepository(), null, DEFAULT_MONITOR);
-		return copy;
-	 }
-	 
-	 protected IProject checkoutCopy(IProject project, CVSTag tag) throws TeamException {
-		// Check the project out under a different name and validate that the results are the same
-		IProject copy = getWorkspace().getRoot().getProject(project.getName() + tag.getName());
-		checkout(getRepository(), copy, 
-			CVSWorkspaceRoot.getCVSFolderFor(project).getFolderSyncInfo().getRepository(), 
-			tag, DEFAULT_MONITOR);
-		return copy;
-	 }
-	 
-	public static void checkout(
-		final ICVSRepositoryLocation repository,
-		final IProject project,
-		final String sourceModule,
-		final CVSTag tag,
-		IProgressMonitor monitor)
-		throws TeamException {
-		
-		RemoteFolder remote = new RemoteFolder(null, repository, sourceModule == null ? project.getName() : sourceModule, tag);
-		executeHeadless(new CheckoutSingleProjectOperation(null, remote, project, null, false /* the project is not preconfigured */) {
-			public boolean promptToOverwrite(String title, String msg, IResource resource) {
-				return true;
-			}
-		});
-
-	}
-
-	protected IProject checkoutProject(IProject project, String moduleName, CVSTag tag) throws TeamException {
-	 	if (project == null)
-	 		project = getWorkspace().getRoot().getProject(new Path(moduleName).lastSegment());
-		checkout(getRepository(), project, moduleName, tag, DEFAULT_MONITOR);
-		return project;
-	 }
-	/*
-	 * This method creates a project with the given resources, imports
-	 * it to CVS and checks it out
-	 */
-	protected IProject createProject(String prefix, String[] resources) throws CoreException, TeamException {
-		IProject project = getUniqueTestProject(prefix);
-		buildResources(project, resources, true);
-		shareProject(project);
-		assertValidCheckout(project);
-		return project;
-	}
-	
-	/*
-	 * Create a test project using the currently running test case as the project name prefix
-	 */
-	protected IProject createProject(String[] strings) throws CoreException {
-		return createProject(getName(), strings);
-	}
-	
-	/*
-	 * Compare two projects by comparing thier providers
-	 */
-	protected void assertEquals(IProject project1, IProject project2) throws CoreException, IOException {
-		assertEquals(project1, project2, false, false);
-	}
-	
-	protected void assertEquals(IProject project1, IProject project2, boolean includeTimestamps, boolean includeTags) throws CoreException, IOException {
-		assertEquals(getProvider(project1), getProvider(project2), includeTimestamps, includeTags);
-	}
-	
-	/*
-	 * Compare CVS team providers by comparing the cvs resource corresponding to the provider's project
-	 */
-	protected void assertEquals(CVSTeamProvider provider1, CVSTeamProvider provider2, boolean includeTimestamps, boolean includeTags) throws CoreException, IOException {
-		assertEquals(Path.EMPTY, CVSWorkspaceRoot.getCVSFolderFor(provider1.getProject()), 
-			CVSWorkspaceRoot.getCVSFolderFor(provider2.getProject()), 
-			includeTimestamps, includeTags);
-	}
-	
-	protected void assertContentsEqual(IContainer c1, IContainer c2) throws CoreException {
-		assertTrue("The number of resource in " + c1.getProjectRelativePath().toString() + " differs", 
-			c1.members().length == c2.members().length);
-		IResource[] resources = c1.members();
-		for (int i= 0;i <resources.length;i++) {
-			assertContentsEqual(resources[i], c2.findMember(resources[i].getName()));
-		}
-	}
-	
-	protected void assertContentsEqual(IResource resource, IResource resource2) throws CoreException {
-		if (resource.getType() == IResource.FILE) {
-			assertContentsEqual((IFile)resource, (IFile)resource2);
-		} else {
-			assertContentsEqual((IContainer)resource, (IContainer)resource2);
-		}
-	}
-
-	protected void assertContentsEqual(IFile resource, IFile resource2) throws CoreException {
-		assertTrue("Contents of " + resource.getProjectRelativePath() + " do not match", compareContent(resource.getContents(), resource2.getContents()));
-	}
-	
-	protected void assertContentsEqual(IFile file, String contents) throws CoreException {
-		assertTrue(compareContent(file.getContents(), new ByteArrayInputStream(contents.getBytes())));
-	}
-	
-	/*
-	 * Compare resources by casting them to their prpoer type
-	 */
-	protected void assertEquals(IPath parent, ICVSResource resource1, ICVSResource resource2, boolean includeTimestamps, boolean includeTags) throws CoreException, CVSException, IOException {
-        if ((resource1 == null && resource2 == null) 
-                || (resource1 == null && ! resource2.exists())
-                || (resource2 == null && ! resource1.exists()))
-            return;
-        if (resource1 == null && resource2 != null) {
-        	fail("Expected no resource for " + resource2.getRepositoryRelativePath() + " but there was one");
-        }
-        if (resource2 == null && resource1 != null) {
-        	fail("Expected resource " + resource1.getRepositoryRelativePath() + " was missing");
-        }
-		assertEquals("Resource types do not match for " + parent.append(resource1.getName()), resource1.isFolder(), resource2.isFolder());
-		if (!resource1.isFolder())
-			assertEquals(parent, (ICVSFile)resource1, (ICVSFile)resource2, includeTimestamps, includeTags);
-		else 
-			assertEquals(parent, (ICVSFolder)resource1, (ICVSFolder)resource2, includeTimestamps, includeTags);
-	}
-	
-	/*
-	 * Compare folders by comparing their folder sync info and there children
-	 * 
-	 * XXX What about unmanaged children?
-	 */
-	protected void assertEquals(IPath parent, ICVSFolder container1, ICVSFolder container2, boolean includeTimestamps, boolean includeTags) throws CoreException, CVSException, IOException {
-		IPath path = parent.append(container1.getName());
-		assertEquals(path, container1.getFolderSyncInfo(), container2.getFolderSyncInfo(), includeTags);
-		assertTrue("The number of resource in " + path.toString() + " differs", 
-			container1.members(ICVSFolder.ALL_EXISTING_MEMBERS).length 
-			== container2.members(ICVSFolder.ALL_EXISTING_MEMBERS).length);
-		ICVSResource[] resources = container1.members(ICVSFolder.ALL_EXISTING_MEMBERS);
-		for (int i= 0;i <resources.length;i++) {
-			assertEquals(path, resources[i], container2.getChild(resources[i].getName()), includeTimestamps, includeTags);
-		}
-
-	}
-	
-	/*
-	 * Compare the files contents and sync information
-	 */
-	protected void assertEquals(IPath parent, ICVSFile file1, ICVSFile file2, boolean includeTimestamps, boolean includeTags) throws CoreException, CVSException {
-		if (file1.getName().equals(".project")) return;
-		// Getting the contents first is important as it will fetch the proper sync info if one of the files is a remote handle
-		assertEquals(parent.append(file1.getName()), file1.getSyncInfo(), file2.getSyncInfo(), includeTimestamps, includeTags);
-		assertTrue("Contents of " + parent.append(file1.getName()) + " do not match", compareContent(getContents(file1), getContents(file2)));
-	}
-	
-	protected boolean isFailOnSyncInfoMismatch() {
-		return true;
-	}
-	
-	/*
-	 * Compare sync info by comparing the entry line generated by the sync info
-	 */
-	protected void assertEquals(IPath path, ResourceSyncInfo info1, ResourceSyncInfo info2, boolean includeTimestamp, boolean includeTag) {
-		if (!isFailOnSyncInfoMismatch())
-			return;
-		if (info1 == null || info2 == null) {
-			if (info1 == info2) return;
-			if (info1 == null) {
-				fail("Expected no resource sync info  for " + path.toString() + " but it was " + info2 + " instead");
-			}
-			if (info2 == null) {
-				fail("Expected resource sync info of " + info1 + " for " + path.toString() + " but there was no sync info.");
-			}
-			fail("Shouldn't be able to get here");
-			return;
-		}
-		String line1;
-		String line2;
-		if(includeTimestamp) {
-			line1 = info1.getEntryLine();
-			line2 = info2.getEntryLine();
-		} else {
-			line1 = info1.getServerEntryLine(null);
-			line2 = info2.getServerEntryLine(null);
-		}
-		if (!includeTag) {
-			// Strip everything past the last slash
-			line1 = line1.substring(0, line1.lastIndexOf('/'));
-			line2 = line2.substring(0, line2.lastIndexOf('/'));
-		}
-		assertEquals("Resource Sync info differs for " + path.toString(), line1, line2);
-	}
-	
-	/*
-	 * Use the equals of folder sync info unless the tag is not included in which case we just
-	 * compare the root and repository
-	 */
-	protected void assertEquals(IPath path, FolderSyncInfo info1, FolderSyncInfo info2, boolean includeTag) {
-		if (info1 == null && info2 == null) {
-			return;
-		} else if (info1 == null) {
-			fail("Expected " + path.toString() + " not to be a CVS folder but it is.");
-		} else if (info2 == null) {
-			fail("Expected " + path.toString() + " to be a CVS folder but it isn't.");
-		}
-		
-		if (includeTag) {
-			assertTrue("Folder sync info differs for " + path.toString(), info1.equals(info2));
-		} else {
-			assertTrue("Repository Root differs for " + path.toString(), info1.getRoot().equals(info2.getRoot()));
-			assertTrue("Repository relative path differs for " + path.toString(), info1.getRepository().equals(info2.getRepository()));
-		}
-	}
-	
-	
-	/*
-	 * Compare folders by comparing their folder sync info and there children
-	 * 
-	 * XXX What about unmanaged children?
-	 */
-	protected void assertEquals(IPath parent, RemoteFolder container1, RemoteFolder container2, boolean includeTags) throws CoreException, TeamException, IOException {
-		IPath path = parent.append(container1.getName());
-		assertEquals(path, container1.getFolderSyncInfo(), container2.getFolderSyncInfo(), includeTags);
-		ICVSRemoteResource[] members1 = container1.getMembers(DEFAULT_MONITOR);
-		ICVSRemoteResource[] members2 = container2.getMembers(DEFAULT_MONITOR);
-		assertTrue("Number of members differ for " + path, members1.length == members2.length);
-		Map memberMap2 = new HashMap();
-		for (int i= 0;i <members2.length;i++) {
-			memberMap2.put(members2[i].getName(), members2[i]);
-		}
-		for (int i= 0;i <members1.length;i++) {
-			ICVSRemoteResource member2 = (ICVSRemoteResource)memberMap2.get(members1[i].getName());
-			assertNotNull("Resource does not exist: " + path.append(members1[i].getName()) + member2);
-			assertEquals(path, members1[i], member2, includeTags);
-		}
-	}
-	protected void assertEquals(IPath parent, ICVSRemoteResource resource1, ICVSRemoteResource resource2, boolean includeTags) throws CoreException, TeamException, IOException {
-		assertEquals("Resource types do not match for " + parent.append(resource1.getName()), resource1.isContainer(), resource2.isContainer());
-		if (resource1.isContainer())
-			assertEquals(parent, (RemoteFolder)resource1, (RemoteFolder)resource2, includeTags);
-		else 
-			assertEquals(parent, (ICVSFile)resource1, (ICVSFile)resource2, false, includeTags);
-	}
-	
-	
-	/*
-	 * Compare the local project with the remote state by checking out a copy of the project.
-	 */
-	protected void assertLocalStateEqualsRemote(IProject project) throws TeamException, CoreException, IOException {
-		assertEquals(getProvider(project), getProvider(checkoutCopy(project, "-remote")), false, true);
-	}
-	
-	/*
-	 * Compare the local project with the remote state indicated by the given tag by checking out a copy of the project.
-	 */
-	protected void assertLocalStateEqualsRemote(String message, IProject project, CVSTag tag) throws TeamException, CoreException, IOException {
-		assertEquals(getProvider(project), getProvider(checkoutCopy(project, tag)), true, false);
-	}
-	
-	protected void assertHasNoRemote(String prefix, IResource[] resources) {
-		for (int i=0;i<resources.length;i++) 
-			assertHasNoRemote(prefix, resources[i]);
-	}
-	
-	protected void assertHasNoRemote(String prefix, IResource resource) {
-		assertTrue(prefix + " resource should not have a remote", !CVSWorkspaceRoot.hasRemote(resource));
-	}
-	
-	protected void assertHasRemote(String prefix, IResource[] resources) {
-		for (int i=0;i<resources.length;i++) 
-			assertHasRemote(prefix, resources[i]);
-	}
-	
-	protected void assertHasRemote(String prefix, IResource resource) {
-		assertTrue(prefix + " resource should have a remote", CVSWorkspaceRoot.hasRemote(resource));
-	}
-	
-	protected void assertIsModified(String prefix, IResource[] resources) throws TeamException {
-		for (int i=0;i<resources.length;i++) 
-			assertIsModified(prefix, resources[i]);
-	}
-	
-	protected void assertIsModified(String prefix, IResource resource) throws TeamException {
-		// Only check for files as CVS doesn't dirty folders
-		if (resource.getType() == IResource.FILE)
-			assertTrue(prefix + " resource " + resource.getFullPath() + " should be dirty.", ((ICVSFile)getCVSResource(resource)).isModified(null));
-	}
-	
-	protected void assertNotModified(String prefix, IResource[] resources) throws TeamException {
-		for (int i=0;i<resources.length;i++) 
-			assertNotModified(prefix, resources[i]);
-	}
-	
-	protected void assertNotModified(String prefix, IResource resource) throws TeamException {
-		assertTrue(prefix + " resource should be dirty", !((ICVSFile)getCVSResource(resource)).isModified(null));
-	}
-	
-	protected void assertIsIgnored(IResource resource, boolean ignoredState) throws TeamException {
-		assertEquals("Resource " + resource.getFullPath() + " should be ignored but isn't.", 
-						ignoredState, getCVSResource(resource).isIgnored());
-	}
-	
-	protected void assertValidCheckout(IProject project) {
-		// NOTE: Add code to ensure that the project was checkout out properly
-		CVSTeamProvider provider = (CVSTeamProvider)RepositoryProvider.getProvider(project);
-		assertNotNull(provider);
-	}
-
-	protected void assertReadOnly(IResource[] resources, final boolean isReadOnly, final boolean recurse) throws CoreException {
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			resource.accept(new IResourceVisitor() {
-				public boolean visit(IResource resource) throws CoreException {
-					if (resource.getType() == IResource.FILE) {
-						assertEquals(isReadOnly, resource.getResourceAttributes().isReadOnly());
-					}
-					return recurse;
-				}
-			});
-		}
-	}
-	
-	protected InputStream getContents(ICVSFile file) throws CVSException {
-		if (file instanceof ICVSRemoteFile)
-			return ((RemoteFile)file).getContents(DEFAULT_MONITOR);
-		else
-			return new BufferedInputStream(file.getContents());
-	}
-	
-	/*
-	 * Get the CVS Resource for the given resource
-	 */
-	protected ICVSResource getCVSResource(IResource resource) {
-		return CVSWorkspaceRoot.getCVSResourceFor(resource);
-	}
-	
-	protected IProject getNamedTestProject(String name) throws CoreException {
-		IProject target = getWorkspace().getRoot().getProject(name);
-		if (!target.exists()) {
-			target.create(null);
-			target.open(null);		
-		}
-		assertExistsInFileSystem(target);
-		return target;
-	}
-	protected CVSTeamProvider getProvider(IResource resource) {
-		return (CVSTeamProvider)RepositoryProvider.getProvider(resource.getProject());
-	}
-	protected static InputStream getRandomContents(int sizeAtLeast) {
-		StringBuffer randomStuff = new StringBuffer(sizeAtLeast + 100);
-		while (randomStuff.length() < sizeAtLeast) {
-			randomStuff.append(getRandomSnippet() + eol);
-		}
-		return new ByteArrayInputStream(randomStuff.toString().getBytes());
-	}
-	/**
-	 * Return String with some random text to use
-	 * as contents for a file resource.
-	 */
-	public static String getRandomSnippet() {
-		switch ((int) Math.round(Math.random() * 10)) {
-			case 0 :
-				return "este e' o meu conteudo (portuguese)";
-			case 1 :
-				return "Dann brauchen wir aber auch einen deutschen Satz!";
-			case 2 :
-				return "I'll be back";
-			case 3 :
-				return "don't worry, be happy";
-			case 4 :
-				return "there is no imagination for more sentences";
-			case 5 :
-				return "customize yours";
-			case 6 :
-				return "foo";
-			case 7 :
-				return "bar";
-			case 8 :
-				return "foobar";
-			case 9 :
-				return "case 9";
-			default :
-				return "these are my contents";
-		}
-	}
-	protected IProject getUniqueTestProject(String prefix) throws CoreException {
-		// manage and share with the default stream create by this class
-		return getNamedTestProject(prefix + "-" + Long.toString(System.currentTimeMillis()));
-	}
-	
-	protected CVSRepositoryLocation getRepository() {
-		return CVSTestSetup.repository;
-	}
-	protected void importProject(IProject project) throws TeamException {
-		
-		// Create the root folder for the import operation
-		ICVSFolder root = CVSWorkspaceRoot.getCVSFolderFor(project);
-
-		// Perform the import
-		IStatus status;
-		Session s = new Session(getRepository(), root);
-		s.open(DEFAULT_MONITOR, true /* open for modification */);
-		try {
-			status = Command.IMPORT.execute(s,
-				Command.NO_GLOBAL_OPTIONS,
-				new LocalOption[] {Import.makeArgumentOption(Command.MESSAGE_OPTION, "Initial Import")},
-				new String[] { project.getName(), getRepository().getUsername(), "start" },
-				null,
-				DEFAULT_MONITOR);
-		} finally {
-			s.close();
-		}
-
-		if (status.getCode() == CVSStatus.SERVER_ERROR) {
-			throw new CVSServerException(status);
-		}
-	}
-	
-	protected void shareProject(IProject project) throws TeamException, CoreException {
-		mapNewProject(project);
-		commitNewProject(project);
-	}
-	
-	protected void mapNewProject(IProject project) throws TeamException {
-		shareProject(getRepository(), project, null, DEFAULT_MONITOR);
-	}
-	
-	/**
-	 * Map the given local project to remote folder, creating the remote folder or any of
-	 * its ancestors as necessary.
-	 * @param location
-	 * @param project
-	 * @param moduleName
-	 * @param default_monitor
-	 */
-	protected void shareProject(CVSRepositoryLocation location, IProject project, String moduleName, IProgressMonitor default_monitor) throws CVSException {
-		ShareProjectOperation op = new ShareProjectOperation(null, location, project, moduleName);
-		executeHeadless(op);
-	}
-	
-	protected void commitNewProject(IProject project) throws CoreException, CVSException, TeamException {
-		List resourcesToAdd = new ArrayList();
-		IResource[] members = project.members();
-		for (int i = 0; i < members.length; i++) {
-			if ( ! CVSWorkspaceRoot.getCVSResourceFor(members[i]).isIgnored()) {
-				resourcesToAdd.add(members[i]);
-			}
-		}
-		addResources((IResource[]) resourcesToAdd.toArray(new IResource[resourcesToAdd.size()]));
-		commitResources(new IResource[] {project}, IResource.DEPTH_INFINITE);
-		// Pause to ensure that future operations happen later than timestamp of committed resources
-		waitMsec(1500);
-	}
-	
-	/**
-	 * Return an input stream with some random text to use
-	 * as contents for a file resource.
-	 */
-	public InputStream getRandomContents() {
-		return getRandomContents(RANDOM_CONTENT_SIZE);
-	}
-	
-	protected void setContentsAndEnsureModified(IFile file) throws CoreException, TeamException {
-		setContentsAndEnsureModified(file, getRandomContents());
-	}
-	
-	protected void setContentsAndEnsureModified(IFile file, String contents) throws CoreException, CVSException {
-		if (contents == null) contents ="";
-		setContentsAndEnsureModified(file, new ByteArrayInputStream(contents.getBytes()));
-	}
-	
-	protected void setContentsAndEnsureModified(IFile file, InputStream stream) throws CoreException, CVSException {
-		ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor(file);
-		int count = 0;
-		file.setContents(stream, false, false, null);
-		do {
-			assertTrue("Timestamp granularity is too small. Increase test wait factor", count <= CVSTestSetup.WAIT_FACTOR);
-			if (!cvsFile.isModified(null)) {
-				waitMsec(1500);
-				count++;
-				try {
-					file.setContents(new ByteArrayInputStream(getFileContents(file).getBytes()), false, false, null);
-				} catch (IOException e) {
-					CVSStatus status = new CVSStatus(IStatus.ERROR, "Error reading file contents", e);
-					throw new CVSException(status);
-				}
-			}
-		} while (!cvsFile.isModified(null));
-	}
-	
-	public void waitMsec(int msec) {	
-		try {
-			Thread.sleep(msec);
-		} catch(InterruptedException e) {
-			fail("wait-problem");
-		}
-	}
-	
-	public static void waitForJobCompletion(Job job) {
-		// process UI events first, give the main thread a chance
-		// to handle any syncExecs or asyncExecs posted as a result
-		// of the event processing thread.
-		while (Display.getCurrent().readAndDispatch()) {};
-		
-		// wait for the event handler to process changes.
-		while(job.getState() != Job.NONE) {
-			while (Display.getCurrent().readAndDispatch()) {};
-			try {
-				Thread.sleep(10);		
-			} catch (InterruptedException e) {
-			}
-		}
-		while (Display.getCurrent().readAndDispatch()) {};
-	}
-	
-	public static void waitForIgnoreFileHandling() {
-		waitForJobCompletion(SyncFileChangeListener.getDeferredHandler().getEventHandlerJob());
-        waitForDecorator();
-	}
-
-    protected static void waitForDecorator() {
-        // Wait for the decorator job
-        Job[] decorators = Platform.getJobManager().find(DecoratorManager.FAMILY_DECORATE);
-        for (int i = 0; i < decorators.length; i++) {
-            Job job = decorators[i];
-            waitForJobCompletion(job);
-        }
-    }
-	
-	public static void waitForSubscriberInputHandling(SubscriberSyncInfoCollector input) {
-		input.waitForCollector(new IProgressMonitor() {
-			public void beginTask(String name, int totalWork) {
-			}
-			public void done() {
-			}
-			public void internalWorked(double work) {
-			}
-			public boolean isCanceled() {
-				return false;
-			}
-			public void setCanceled(boolean value) {
-			}
-			public void setTaskName(String name) {
-			}
-			public void subTask(String name) {
-			}
-			public void worked(int work) {
-				while (Display.getCurrent().readAndDispatch()) {}
-			}
-		});
-	}
-	
-	protected static void executeHeadless(final TeamOperation op) throws CVSException {
-		EclipseRunnable tempRunnable = new EclipseRunnable(op, DEFAULT_MONITOR);
-		Thread tempThread = new Thread(tempRunnable);
-		tempThread.start();
-		while (tempThread.isAlive()) {
-			try {
-				Thread.sleep(100);
-				while (Display.getCurrent().readAndDispatch()) {}
-			} catch (InterruptedException e) {
-				//ignore
-			}
-		}
-		//check for errors
-		Exception ex = tempRunnable.getException();
-		if (ex instanceof InvocationTargetException)
-			throw CVSException.wrapException(ex);
-	}
-    
-    protected void setUp() throws Exception {
-    	RepositoryProviderOperation.consultModelsWhenBuildingScope = false;
-    	if (CVSTestSetup.ENSURE_SEQUENTIAL_ACCESS)
-    		obtainCVSServerLock();
-        super.setUp();
-    }
-
-    /* (non-Javadoc)
-	 * @see junit.framework.TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		RepositoryProviderOperation.consultModelsWhenBuildingScope = true;
-		if (CVSTestSetup.ENSURE_SEQUENTIAL_ACCESS)
-			releaseCVSServerLock();
-		super.tearDown();
-		if (CVSTestSetup.logListener != null) {
-			try {
-				CVSTestSetup.logListener.checkErrors();
-			} catch (CoreException e) {
-				if (CVSTestSetup.FAIL_IF_EXCEPTION_LOGGED) {
-					fail("Exception written to log: ", e);
-				} else {
-					// Write the log to standard out so it can be more easily seen
-					write(e.getStatus(), 0);
-				}
-			}
-		}
-	}
-        
-    private void obtainCVSServerLock() {
-        IProject project = null;
-        boolean firstTry = true;
-        while (project == null) {
-            try {
-                project = checkoutProject(null, CVS_TEST_LOCK_PROJECT , null);
-            } catch (TeamException e) {
-                // The checkout of the lock project failed so lets create it if it doesn't exist
-                if (firstTry) {
-                    try {
-                        createTestLockProject(DEFAULT_MONITOR);
-                    } catch (TeamException e1) {
-                        // We couldn't check out the project or create it
-                        // It's possible someone beat us to it so we'll try the checkout again.
-                    }
-                } else {
-                    // We tried twice to check out the project and failed.
-                    // Lets just go ahead and run but we'll log the fact that we couldn't get the lock
-                    write(new CVSStatus(IStatus.ERROR, "Could not obtain the CVS server lock. The test will containue but any performance timings may be affected", e), 0);
-                    return;
-                }
-                firstTry = false;
-            }
-        }
-        if (project != null) {
-            IFile lockFile = project.getFile(CVS_TEST_LOCK_FILE);
-            boolean obtained = false;
-            int attempts = 0;
-            while (!obtained) {
-                attempts++;
-                if (lockFile.exists()) {
-                    // If the file exists, check if the lock has expired
-                    if (hasExpired(lockFile)) {
-                        try {
-                            overwriteLock(lockFile);
-                            return;
-                        } catch (CoreException e) {
-                            // Ignore the error and continue
-                        }
-                    }
-                } else {
-                    try {
-                        writeLock(lockFile);
-                        return;
-                    } catch (CoreException e) {
-                        // Ignore the error, since it probably means someone beat us to it.
-                    }
-                }
-                // Wait for a while before testing the lock again
-                try {
-                    Thread.sleep(LOCK_WAIT_TIME);
-                } catch (InterruptedException e) {
-                    // Ignore
-                }
-                try {
-                    // Update the lockfile in case someone else got to it first
-                    replace(new IResource[] { lockFile }, null, true);
-                } catch (CoreException e) {
-                    // An error updated is not recoverable so just continue
-                    write(new CVSStatus(IStatus.ERROR, "Could not obtain the CVS server lock. The test will continue but any performance timings may be affected", e), 0);
-                    return;
-                }
-                if (attempts > MAX_LOCK_ATTEMPTS) {
-                    write(new CVSStatus(IStatus.ERROR, "Could not obtain the CVS server lock. The test will continue but any performance timings may be affected", new Exception()), 0);
-                    return;
-                }
-            }
-        }
-    }
-    
-    private boolean hasExpired(IFile lockFile) {
-        long timestamp = lockFile.getLocalTimeStamp();
-        return System.currentTimeMillis() - timestamp > LOCK_EXPIRATION_THRESHOLD;
-    }
-
-    private void overwriteLock(IFile lockFile) throws CoreException {
-        lockFile.setContents(getLockContents(), true, true, null);
-        commitResources(new IResource[] { lockFile }, IResource.DEPTH_ZERO);
-    }
-
-    private void writeLock(IFile lockFile) throws CoreException {
-        lockFile.create(getLockContents(), false, null);
-        addResources(new IResource[] { lockFile });
-        commitResources(new IResource[] { lockFile }, IResource.DEPTH_ZERO);
-    }
-
-    private InputStream getLockContents() {
-        lockId = Long.toString(System.currentTimeMillis());
-        return new ByteArrayInputStream(lockId.getBytes());
-    }
-
-    private void createTestLockProject(IProgressMonitor monitor) throws TeamException {
-        CVSRepositoryLocation repository = getRepository();
-        RemoteFolderTree root = new RemoteFolderTree(null, repository, Path.EMPTY.toString(), null);
-        RemoteFolderTree child = new RemoteFolderTree(root, CVS_TEST_LOCK_PROJECT, repository, new Path(null, root.getRepositoryRelativePath()).append(CVS_TEST_LOCK_PROJECT).toString(), null);
-        root.setChildren(new ICVSRemoteResource[] { child });
-        Session s = new Session(repository, root);
-        s.open(monitor, true /* open for modification */);
-        try {
-            IStatus status = Command.ADD.execute(s,
-                    Command.NO_GLOBAL_OPTIONS,
-                    Command.NO_LOCAL_OPTIONS,
-                    new String[] { CVS_TEST_LOCK_PROJECT },
-                    null,
-                    monitor);
-            // If we get a warning, the operation most likely failed so check that the status is OK
-            if (status.getCode() == CVSStatus.SERVER_ERROR  || ! status.isOK()) {
-                throw new CVSServerException(status);
-            }
-        } finally {
-            s.close();
-        }
-    }
-        
-	private void releaseCVSServerLock() {
-        if (lockId != null) {
-    	    try {
-                IProject project = getWorkspace().getRoot().getProject(CVS_TEST_LOCK_PROJECT);
-                // Update the project and verify we still have the lock
-                IFile file = project.getFile(CVS_TEST_LOCK_FILE);
-                String id = getFileContents(file);
-                if (id.equals(lockId)) {
-                    // We have the lock so let's free it (but first check if someone preempted us)
-                    ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor(file);
-                    byte[] bytes = cvsFile.getSyncBytes();
-                    if (bytes != null) {
-                        String revision = ResourceSyncInfo.getRevision(bytes);
-                        updateResources(new IResource[] { file }, true);
-                        bytes = cvsFile.getSyncBytes();
-                        if (bytes == null || !ResourceSyncInfo.getRevision(bytes).equals(revision)) {
-                            write(new CVSStatus(IStatus.ERROR, "The CVS server lock expired while this test was running. Any performance timings may be affected", new Exception()), 0);
-                            return;
-                        }
-                    }
-                    // Delete the lock file and commit
-                    deleteResources(project, new String[] { CVS_TEST_LOCK_FILE }, true);
-                }
-            } catch (CoreException e) {
-                write(e.getStatus(), 0);
-            } catch (IOException e) {
-                write(new CVSStatus(IStatus.ERROR, "An error occurred while reading the lock file", e), 0);
-            }
-        }
-    }
-
-    protected void write(IStatus status, int indent) {
-		PrintStream output = System.out;
-		indent(output, indent);
-		output.println("Severity: " + status.getSeverity());
-
-		indent(output, indent);
-		output.println("Plugin ID: " + status.getPlugin());
-
-		indent(output, indent);
-		output.println("Code: " + status.getCode());
-
-		indent(output, indent);
-		output.println("Message: " + status.getMessage());
-		
-		Throwable t = status.getException();
-		if (t != null) {
-			t.printStackTrace(output);
-			if (t instanceof CoreException) {
-				write(((CoreException)t).getStatus(), indent + 1);
-			}
-		}
-
-		if (status.isMultiStatus()) {
-			IStatus[] children = status.getChildren();
-			for (int i = 0; i < children.length; i++)
-				write(children[i], indent + 1);
-		}
-	}
-	
-	protected static void indent(OutputStream output, int indent) {
-		for (int i = 0; i < indent; i++)
-			try {
-				output.write("  ".getBytes());
-			} catch (IOException e) {
-				// ignore
-			}
-	}
-	
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#runBare()
-	 */
-	public void runBare() throws Throwable {
-		try {
-			super.runBare();
-		} catch (CVSException e) {
-			// If a communication exception occurred
-			// perhaps it is a server problem
-			// Try again, just in case it is
-			if (containsCommunicationException(e)) {
-				super.runBare();
-			} else {
-				throw e;
-			}
-		}
-	}
-
-	private boolean containsCommunicationException(CVSException e) {
-		if (e instanceof CVSCommunicationException) return true;
-		IStatus status = e.getStatus();
-		if (status.getException() instanceof CVSCommunicationException) return true;
-		if (status.isMultiStatus()) {
-			IStatus[] children = status.getChildren();
-			for (int i = 0; i < children.length; i++) {
-				IStatus child = children[i];
-				if (child.getException() instanceof CVSCommunicationException) return true;
-			}
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.tests.harness.EclipseWorkspaceTest#ensureDoesNotExistInWorkspace(org.eclipse.core.resources.IResource)
-	 */
-	public void ensureDoesNotExistInWorkspace(IResource resource) {
-		// Overridden to change how the workspace is deleted on teardown
-		if (resource.getType() == IResource.ROOT) {
-			// Delete each project individually
-			Job[] allJobs = Platform.getJobManager().find(null /* all families */);
-			IProject[] projects = ((IWorkspaceRoot)resource).getProjects();
-			try {
-				ensureDoesNotExistInWorkspace(projects);
-			} catch (AssertionFailedError e) {
-				// The delete failed. Write the active jobs to stdout
-				System.out.println(e.getMessage());
-				System.out.println("Jobs active at time of deletion failure: "); //$NON-NLS-1$
-				if (allJobs.length == 0) {
-					System.out.println("None"); //$NON-NLS-1$
-				}
-				for (int i = 0; i < allJobs.length; i++) {
-					Job job = allJobs[i];
-					System.out.println(job.getName());
-				}
-				if (CVSTestSetup.FAIL_IF_EXCEPTION_LOGGED) {
-					throw e;
-				}
-			}
-		} else {
-			ensureNotReadOnly(resource);
-			super.ensureDoesNotExistInWorkspace(resource);
-		}
-	}
-	
-	private void ensureNotReadOnly(IResource resource) {
-		if (resource.exists()) {
-			try {
-				resource.accept(new IResourceVisitor() {
-					public boolean visit(IResource resource) throws CoreException {
-						ResourceAttributes attrs = resource.getResourceAttributes();
-						if (resource.exists() && attrs.isReadOnly()) {
-							attrs.setReadOnly(false);
-							resource.setResourceAttributes(attrs);
-						}
-						return true;
-					}
-				});
-			} catch (CoreException e) {
-				fail("#ensureNotReadOnly " + resource.getFullPath(), e);
-			}
-		}
-		
-	}
-
-	/**
-	 * Delete each project from the workspace and return a status that
-	 * contains any failures
-	 */
-	public void ensureDoesNotExistInWorkspace(final IProject[] projects) {
-		final Map failures = new HashMap();
-		IWorkspaceRunnable body = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) {
-				for (int i = 0; i < projects.length; i++) {
-					try {
-						if (projects[i].exists()) {
-							try {
-								projects[i].delete(true, null);
-							} catch (CoreException e) {
-								// Ignore the exception and try again after making
-								// sure the project doesn't contain any read-only resources
-								ensureNotReadOnly(projects[i]);
-								if (projects[i].exists()) {
-									projects[i].refreshLocal(IResource.DEPTH_INFINITE, null);
-									projects[i].delete(true, null);
-								}
-							}
-						}
-					} catch (CoreException e) {
-						write(new CVSStatus(IStatus.ERROR, "Could not delete project " + projects[i].getName(), e), 0);
-						failures.put(projects[i], e);
-					}
-				}
-			}
-		};
-		try {
-			getWorkspace().run(body, null);
-		} catch (CoreException e) {
-			fail("#ensureDoesNotExistInWorkspace(IResource[])", e);
-		}
-		if (!failures.isEmpty()) {
-			StringBuffer text = new StringBuffer();
-			text.append("Could not delete all projects: ");
-			for (Iterator iter = failures.keySet().iterator(); iter.hasNext();) {
-				IProject project = (IProject) iter.next();
-				text.append(project.getName());
-			}
-			fail(text.toString());
-		}
-	}
-	
-    protected void assertStatusContainsCode(IStatus status, int code) {
-        if (status.isMultiStatus()) {
-            IStatus[] children = status.getChildren();
-            for (int i = 0; i < children.length; i++) {
-                IStatus child = children[i];
-                if (child.getCode() == code)
-                    return;
-            }
-            fail("Expected status code was not present");
-        } else {
-            assertEquals("Status code is not what is expected", status.getCode(), code);
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see junit.framework.TestCase#runTest()
-     */
-    protected void runTest() throws Throwable {
-        if (!CVSTestSetup.RECORD_PROTOCOL_TRAFFIC) {
-            super.runTest();
-            return;
-        }
-        ByteArrayOutputStream os = new ByteArrayOutputStream();
-        Policy.recorder = new PrintStream(os);
-        try {
-            try {
-                // Override the runTest method in order to print the entire trace of a
-                // test that failed due to a CoreException including nested exceptions
-                super.runTest();
-            } catch (CoreException e) {
-                e.printStackTrace();
-                write(e.getStatus(), 0);
-                throw e;
-            }
-        } catch (Throwable e) {
-            // Transfer the recorded debug info to stdout
-            Policy.recorder.close();
-            System.out.println(new String(os.toByteArray()));
-            throw e;
-        } finally {
-            Policy.recorder.close();
-            Policy.recorder = null;
-        }
-    }
-    
-    protected void cleanup() throws CoreException {
-		ensureDoesNotExistInWorkspace(getWorkspace().getRoot());
-		getWorkspace().save(true, null);
-		//don't leak builder jobs, since they may affect subsequent tests
-		waitForBuild();
-    }
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/FindCommittersTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/FindCommittersTest.java
deleted file mode 100644
index f84fd02..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/FindCommittersTest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Command;
-import org.eclipse.team.internal.ccvs.core.client.RLog;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.ui.operations.RemoteLogOperation;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class FindCommittersTest extends EclipseTest {
-
-	public class FindCommittersOperation extends RemoteLogOperation {
-		private LogEntryCache cache;
-		private Set authors;
-
-		public FindCommittersOperation(IWorkbenchPart part,
-				ICVSRemoteResource[] remoteResources, CVSTag tag1, CVSTag tag2,
-				LogEntryCache cache) {
-			super(part, remoteResources, tag1, tag2, cache);
-			this.cache = cache;
-		}
-
-		protected LocalOption[] getLocalOptions(CVSTag tag1, CVSTag tag2) {
-			return new Command.LocalOption[] {RLog.NO_TAGS, RLog.ONLY_INCLUDE_CHANGES, RLog.REVISIONS_ON_DEFAULT_BRANCH, new LocalOption("-d" + tag1.asDate() + "<" + tag2.asDate().toString(), null) {
-				
-			}};
-		}
-		protected void execute(ICVSRepositoryLocation location,
-				ICVSRemoteResource[] remoteResources, IProgressMonitor monitor)
-				throws CVSException {
-			super.execute(location, remoteResources, monitor);
-			processAuthors();
-		}
-
-		private void processAuthors() {
-			authors = getAuthors(cache);
-		}
-		
-		private Set getAuthors(RemoteLogOperation.LogEntryCache logEntryCache) {
-			String[] paths = logEntryCache.getCachedFilePaths();
-			Set authors = new HashSet();
-			for (int i = 0; i < paths.length; i++) {
-				String path = paths[i];
-				ILogEntry[] entries = logEntryCache.getLogEntries(path);
-				for (int j = 0; j < entries.length; j++) {
-					ILogEntry entry = entries[j];
-					authors.add(entry.getAuthor());
-				}
-			}
-			return authors;
-		}
-
-		public Set getAuthors() {
-			return authors;
-		}
-	}
-	
-	/**
-	 * Constructor for CVSProviderTest
-	 */
-	public FindCommittersTest() {
-		super();
-	}
-
-	/**
-	 * Constructor for CVSProviderTest
-	 */
-	public FindCommittersTest(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		return new TestSuite(FindCommittersTest.class);
-	}
-	
-	public void testFetchLogs() throws CVSException, InvocationTargetException, InterruptedException {
-		CVSRepositoryLocation location = CVSRepositoryLocation.fromString(":pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse");
-		ICVSRemoteResource[] members = location.members(null, false, DEFAULT_MONITOR);
-		Set authors = fetchLogs(members);
-		for (Iterator iterator = authors.iterator(); iterator.hasNext();) {
-			String name = (String) iterator.next();
-			System.out.println(name);
-		}
-		
-	}
-
-	private Set fetchLogs(
-			ICVSRemoteResource[] members) throws InvocationTargetException,
-			InterruptedException {
-		CVSTag tag1 = new CVSTag(new Date(101, 10, 07));
-		CVSTag tag2 = new CVSTag(new Date());
-		RemoteLogOperation.LogEntryCache logEntryCache = new RemoteLogOperation.LogEntryCache();
-		FindCommittersOperation op = new FindCommittersOperation(null, members, tag1, tag2, logEntryCache);
-		op.run(DEFAULT_MONITOR);
-		return op.getAuthors();
-	}
-	
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/ICVSClient.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/ICVSClient.java
deleted file mode 100644
index 3e57ede..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/ICVSClient.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-
-public interface ICVSClient {
-	public void executeCommand(
-		ICVSRepositoryLocation repositoryLocation, IContainer localRoot, String command,
-		String[] globalOptions, String[] localOptions, String[] arguments)
-		throws CVSException;
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/JUnitTestCase.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/JUnitTestCase.java
deleted file mode 100644
index 157d419..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/JUnitTestCase.java
+++ /dev/null
@@ -1,329 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core;
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.PrintStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.awtui.TestRunner;
-import junit.framework.TestCase;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-
-/**
- * Base-class to the low level-testcases for the Session.
- * Supplies convinience-methods and default attributes for the testcases.
- * Especally data for a default-connection to the server is stored.
- */
-public abstract class JUnitTestCase extends TestCase {
-	protected static final int RANDOM_CONTENT_SIZE = 10000;
-	protected static final boolean NEWLINE_TEST = false;
-	protected static final String PLATFORM_NEWLINE = System.getProperty("line.separator");
-	protected static final IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-	
-	public static final String[] EMPTY_ARGS = new String[0];
-
-	/**
-	 * Init the options and arguments to standard-values
-	 */
-	public JUnitTestCase(String name) {
-		super(name);
-	}
-
-	/**
-	 * Delete a project/resource form the standard cvs-server
-	 */
-	protected void magicDeleteRemote(String remoteName) throws CVSException {
-		magicDeleteRemote(CVSTestSetup.repository, remoteName);
-	}
-
-	/**
-	 * Delete a project/resource form the specified cvs-server
-	 */
-	protected static void magicDeleteRemote(ICVSRepositoryLocation location, String remoteName)
-		throws CVSException {
-		CVSTestSetup.executeRemoteCommand(location, "rm -rf " + 
-			new Path(location.getRootDirectory()).append(remoteName).toString());
-	}
-
-	/**
-	 * Sends the project to the standard cvs-server so that it contains the resources
-	 * described in createResources.  The files have random content.
-	 *
-	 * @param projectName the name of the project to import
-	 * @param createResources e.g. new String[]{"a.txt","f1/b.txt","f1/c.txt","f2/d.txt"}
-	 */
-	protected void magicSetUpRepo(String projectName, String[] createResources)
-		throws  IOException, CoreException, CVSException {
-		magicSetUpRepo(CVSTestSetup.repository, projectName, createResources);
-	}
-	
-	/**
-	 * Sends the project to the specified cvs-server so that it contains the resources
-	 * described in createResources.  The files have random content.
-	 * 
-	 * @param location the CVS repository location
-	 * @param projectName the name of the project to import
-	 * @param createResources e.g. new String[]{"a.txt","f1/b.txt","f1/c.txt","f2/d.txt"}
-	 */
-	protected static void magicSetUpRepo(ICVSRepositoryLocation location, String projectName,
-		String[] createResources) throws IOException, CoreException, CVSException {
-		IProject projectRoot = workspaceRoot.getProject(projectName + "-setup-tmp");
-		mkdirs(projectRoot);
-		createRandomFile(projectRoot, createResources);
-		magicDeleteRemote(location, projectName);
-		
-		String[] lOptions = new String[]{"-m","msg"};
-		String[] args = new String[]{projectName,"a","b"};
-	
-		EclipseCVSClient.execute(location, CVSWorkspaceRoot.getCVSFolderFor(projectRoot),
-			"import", EMPTY_ARGS, lOptions, args);
-		projectRoot.delete(false /*force*/, null);
-	}
-	
-	/**
-	 *  Compare Arrays and find the first different element
-	 */
-	protected static void assertEqualsArrays(Object[] obArr1, Object[] obArr2) {
-		
-		assertEquals("Called assertEqualsArrays with null on one side", obArr1 == null,obArr2 == null);
-		if (obArr1 == null) {
-			return;
-		}
-
-		for (int i=0; i<Math.min(obArr1.length,obArr2.length); i++) {
-			assertEquals("At Element " + i + " of the array",obArr1[i],obArr2[i]);
-		}
-		
-		// If the Arrays are different in length, look for the first
-		// not existing element and compare it to the existing in the
-		// other array
-		if (obArr1.length > obArr2.length) {
-			assertEquals("Arrays of different length",obArr1[obArr2.length],null);
-			return;
-		}
-	
-		if (obArr1.length < obArr2.length) {
-			assertEquals("Arrays of different length",obArr2[obArr1.length],null);
-			return;
-		}
-			
-	}
-	
-	/**
-	 * Write text lines to file from an array of strings.
-	 */
-	protected static void writeToFile(IFile file, String[] contents)
-		throws IOException, CoreException {
-		ByteArrayOutputStream bos = new ByteArrayOutputStream();
-		PrintStream os = new PrintStream(bos);
-		try {
-			for (int i = 0; i < contents.length; i++) {
-				os.println(contents[i]);
-			}
-			ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
-			if (file.exists()) {
-				file.setContents(bis, false /*force*/, true /*keepHistory*/, null);
-			} else {
-				mkdirs(file.getParent());
-				file.create(bis, false /*force*/, null);
-			}
-		} finally {
-			os.close();
-		}
-	}
-	
-	/**
-	 * Read text lines from file into an array of strings.
-	 */
-	protected static String[] readFromFile(IFile file)
-		throws IOException, CoreException {
-		if (! file.exists()) return null;
-		BufferedReader reader = new BufferedReader(new InputStreamReader(file.getContents()));
-		List fileContentStore = new ArrayList();
-		try {
-			String line;
-			while ((line = reader.readLine()) != null) {
-				fileContentStore.add(line);
-			}			
-		} finally {
-			reader.close();
-		}
-		return (String[]) fileContentStore.toArray(new String[fileContentStore.size()]);
-	}
-
-	/**
-	 * Append text files to file from an array of strings, create new file if it
-	 * does not exist yet.
-	 */
-	protected static void appendToFile(IFile file, String[] contents)
-		throws IOException, CoreException {
-		String[] oldContents = readFromFile(file);
-		String[] newContents;
-		if (oldContents == null) {
-			newContents = contents;
-		} else {
-			newContents = new String[oldContents.length + contents.length];
-			System.arraycopy(oldContents, 0, newContents, 0, oldContents.length);
-			System.arraycopy(contents, 0, newContents, oldContents.length, contents.length);
-		}
-		writeToFile(file, newContents);
-	}
-	
-	/**
-	 * Pre-Append text files to file from an array of strings, create new file if it
-	 * does not exist yet.
-	 */
-	protected static void prefixToFile(IFile file, String[] contents)
-		throws IOException, CoreException {
-		String[] oldContents = readFromFile(file);
-		String[] newContents;
-		if (oldContents == null) {
-			newContents = contents;
-		} else {
-			newContents = new String[oldContents.length + contents.length];
-			System.arraycopy(contents, 0, newContents, 0, contents.length);
-			System.arraycopy(oldContents, 0, newContents, contents.length, oldContents.length);
-		}
-		writeToFile(file, newContents);
-	}
-	
-	/**
-	 * genertates Random content meand to be written in a File
-	 */
-	protected static String createRandomContent() {
-		
-		StringBuffer content = new StringBuffer();
-		int contentSize;
-		
-		content.append("Random file generated for test" + PLATFORM_NEWLINE);
-		
-		contentSize = (int) Math.round(RANDOM_CONTENT_SIZE * 2 * Math.random());
-		for (int i=0; i<contentSize; i++) {
-			
-			if (Math.random()>0.99) {
-				content.append(PLATFORM_NEWLINE);
-			}
-
-			if (Math.random()>0.99) {
-				content.append("\n");
-			}
-			
-			if (NEWLINE_TEST) {
-				if (Math.random()>0.99) {
-					content.append("\n\r");
-				}
-				if (Math.random()>0.99) {
-					content.append('\r');
-				}
-				if (Math.random()>0.99) {
-					content.append("\r\n");
-				}
-				if (Math.random()>0.99) {
-					content.append("\n");
-				}
-				if (Math.random()>0.99) {
-					content.append("\n\n");
-				}
-				if (Math.random()>0.99) {
-					content.append("\r\r");
-				}
-			}
-			
-			content.append((char)('\u0021' + Math.round(60 * Math.random())));
-		}
-		
-		return content.toString();
-	}
-	
-	/**
-	 * Creates a folder (and its parents if needed).
-	 */
-	protected static void mkdirs(IContainer container) throws CoreException {
-		if (container.getType() == IResource.PROJECT) {
-			IProject project = (IProject) container;
-			if (! project.exists()) {
-				project.create(null);
-			}
-			project.open(null);
-		} else if (container.getType() == IResource.FOLDER) {
-			IFolder folder = (IFolder) container;
-			if (! folder.exists()) {
-				mkdirs(folder.getParent());
-				folder.create(false /*force*/, true /*local*/, null);
-			}
-		}
-	}
-
-	/**
-	 * Creates the file with random content, and all the folders on the
-	 * way to there.
-	 */
-	private static void createRandomFile(IFile file)
-		throws IOException, CoreException {
-		mkdirs(file.getParent());
-		writeToFile(file, new String[] { createRandomContent() });
-	}
-		
-	/**
-	 * Build the given fileStructure, all files are going to have
-	 * sample content, all folders on the way are created.
-	 */
-	protected static void createRandomFile(IContainer parent, String[] fileNameArray) 
-		throws IOException, CoreException {
-		for (int i = 0; i < fileNameArray.length; i++) {
-			IFile file = parent.getFile(new Path(fileNameArray[i]));
-			createRandomFile(file);
-		}
-	}
-
-	/**
-	 * wait milliseconds to continou the execution
-	 */
-	public static void waitMsec(int msec) {	
-		try {
-			int wait = CVSTestSetup.WAIT_FACTOR * msec;
-			long start = System.currentTimeMillis();
-			Thread.sleep(wait);
-			long end = System.currentTimeMillis();
-			// Allow a 100 ms error in waiting
-			assertTrue("Error in thread class. Did not wait long enough", (end - start) > (wait - 100));
-		} catch(InterruptedException e) {
-			fail("wait-problem");
-		}
-	}
-	
-	/**
-	 * Call this method from the main-method of your test-case.
-	 * It initialises some required parameter and runs the testcase.
-	 */
-	protected static void run(Class test) {
-		// XXX is this property used anywhere?
-		System.setProperty("eclipse.cvs.standalone", "true");
-		TestRunner.run(test);
-	}
-}
-
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/ProjectSetImporterTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/ProjectSetImporterTests.java
deleted file mode 100644
index 4c599d6..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/ProjectSetImporterTests.java
+++ /dev/null
@@ -1,137 +0,0 @@
-package org.eclipse.team.tests.ccvs.core;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ui.ProjectSetImporter;
-
-public class ProjectSetImporterTests extends EclipseTest {
-
-	private final static String PSF_FILENAME = "temp.psf";
-	private final static File PSF_FILE = new File(PSF_FILENAME);
-	private static final int PROJECTS_NO = 50;
-
-	private final static String psf_header_0 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
-	private final static String psf_header_1 = "<psf version=\"2.0\">";
-	private final static String psf_header_2 = "<provider id=\"org.eclipse.team.cvs.core.cvsnature\">";
-	private final static String psf_0 = "<project reference=\"1.0,"
-			+ CVSTestSetup.REPOSITORY_LOCATION + ",";
-	private final static String psf_1 = ",";
-	private final static String psf_2 = "\"/>";
-	private final static String psf_footer_0 = "</provider>";
-	private final static String psf_footer_1 = "</psf>";
-
-	public ProjectSetImporterTests() {
-		super();
-	}
-
-	public ProjectSetImporterTests(String name) {
-		super(name);
-	}
-	
-	public static Test suite() {
-		TestSuite suite = new TestSuite(ProjectSetImporterTests.class);
-		return new CVSTestSetup(suite);
-	}
-
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		PSF_FILE.delete();
-	}
-
-	public void testImportOneProject() throws TeamException, CoreException {
-		IProject project = createProject("ProjectSetImporterTests", new String[] { "file.txt", "folder1/",
-				"folder1/a.txt" });
-		PrintWriter out = null;
-		try {
-			out = new PrintWriter(new BufferedWriter(new FileWriter(PSF_FILE)),
-					true);
-
-			out.println(psf_header_0);
-			out.println(psf_header_1);
-			out.println("\t" + psf_header_2);
-			out.println("\t\t" + psf_0 + project.getName() /* module */+ psf_1
-					+ project.getName() /* project */+ psf_2);
-			out.println("\t" + psf_footer_0);
-			out.println(psf_footer_1);
-
-			project.delete(true, null);
-
-			IProject[] importProjectSet = null;
-			importProjectSet = ProjectSetImporter.importProjectSet(
-					PSF_FILENAME, Display.getDefault().getActiveShell(), null);
-
-			assertEquals(project, importProjectSet[0]);
-		} catch (InvocationTargetException e) {
-			fail(e.getLocalizedMessage());
-		} catch (IOException ioe) {
-			fail(ioe.getLocalizedMessage());
-		} finally {
-			if (out != null)
-				out.close();
-		}
-	}
-
-	public void testImportMultipleProjects() throws TeamException,
-			CoreException {
-
-		List projects = new ArrayList(PROJECTS_NO);
-
-		StringBuffer sb = new StringBuffer();
-		for (int i = 0; i < PROJECTS_NO; i++) {
-			IProject project = createProject("ProjectSetImporterTests", new String[] { "file.txt", "folder1/",
-					"folder1/a.txt" });
-
-			projects.add(project);
-
-			sb.append("\t\t" + psf_0 + project.getName() /* module */+ psf_1
-					+ project.getName() /* project */+ psf_2);
-			if (i < PROJECTS_NO - 1)
-				sb.append("\n");
-
-			project.delete(true, null);
-		}
-
-		PrintWriter out = null;
-		try {
-			out = new PrintWriter(new BufferedWriter(new FileWriter(PSF_FILE)),
-					true);
-
-			out.println(psf_header_0);
-			out.println(psf_header_1);
-			out.println("\t" + psf_header_2);
-			out.println(sb.toString());
-			out.println("\t" + psf_footer_0);
-			out.println(psf_footer_1);
-
-			IProject[] importProjectSet = null;
-			importProjectSet = ProjectSetImporter.importProjectSet(
-					PSF_FILENAME, Display.getDefault().getActiveShell(), null);
-
-			for (int i = 0; i < importProjectSet.length; i++) {
-				if (!projects.contains(importProjectSet[i]))
-					fail();
-			}
-		} catch (InvocationTargetException e) {
-			fail(e.getLocalizedMessage());
-		} catch (IOException ioe) {
-			fail(ioe.getLocalizedMessage());
-		} finally {
-			if (out != null)
-				out.close();
-		}
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/TestConnection.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/TestConnection.java
deleted file mode 100644
index 471204b..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/TestConnection.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.IServerConnection;
-import org.eclipse.team.internal.ccvs.core.connection.CVSAuthenticationException;
-
-/**
- * @author Administrator
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class TestConnection implements IServerConnection {
-
-	public static TestConnection currentConnection;
-	
-	public static List previousLines;
-	public static StringBuffer currentLine;
-	
-	
-	private ByteArrayInputStream serverResponse;
-	
-	private static final String VALID_SERVER_REQUESTS = "Valid-requests Root Valid-responses valid-requests Repository Directory Max-dotdot Static-directory Sticky Checkin-prog Update-prog Entry Kopt Checkin-time Modified Is-modified UseUnchanged Unchanged Notify Questionable Case Argument Argumentx Global_option Gzip-stream wrapper-sendme-rcsOptions Set Kerberos-encrypt Gssapi-encrypt Gssapi-authenticate expand-modules ci co update diff log rlog add remove update-patches gzip-file-contents status rdiff tag rtag import admin export history release watch-on watch-off watch-add watch-remove watchers editors init annotate rannotate noop version";
-
-	public static IServerConnection createConnection(ICVSRepositoryLocation location, String password) {
-		currentConnection = new TestConnection();
-		return currentConnection;
-	}
-	
-	public static String getLastLine() {
-		if (previousLines.isEmpty()) return null;
-		return (String)previousLines.get(previousLines.size() - 1);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.IServerConnection#open(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void open(IProgressMonitor monitor) throws IOException, CVSAuthenticationException {
-		resetStreams();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.IServerConnection#close()
-	 */
-	public void close() throws IOException {
-		resetStreams();
-	}
-
-	/**
-	 * 
-	 */
-	private void resetStreams() {
-		currentLine = new StringBuffer();
-		previousLines = new ArrayList();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.IServerConnection#getInputStream()
-	 */
-	public InputStream getInputStream() {
-		// TODO Auto-generated method stub
-		return new InputStream() {
-			public int read() throws IOException {
-				if (serverResponse == null) {
-					throw new IOException("Not prepared to make a response");
-				} else {
-					return serverResponse.read();
-				}	
-			}
-		};
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.IServerConnection#getOutputStream()
-	 */
-	public OutputStream getOutputStream() {
-		return new OutputStream() {
-			public void write(int output) throws IOException {
-				byte b = (byte)output;
-				if (b == '\n') {
-					String sentLine = currentLine.toString();
-					previousLines.add(sentLine);
-					currentLine = new StringBuffer();
-					respondToSentLine(sentLine);
-				} else {
-					currentLine.append((char)b);
-				}
-			}
-		};
-	}
-
-	/**
-	 * @param sentLine
-	 */
-	protected void respondToSentLine(String sentLine) {
-		if (sentLine.equals("valid-requests")) {
-			serverResponse = new ByteArrayInputStream((VALID_SERVER_REQUESTS + "\nok\n").getBytes());
-		}
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/TestConnectionMethod.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/TestConnectionMethod.java
deleted file mode 100644
index 64d0f98..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/TestConnectionMethod.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core;
-
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.IConnectionMethod;
-import org.eclipse.team.internal.ccvs.core.IServerConnection;
-
-/**
- * @author Administrator
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class TestConnectionMethod implements IConnectionMethod {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.IConnectionMethod#getName()
-	 */
-	public String getName() {
-		return "test";
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.IConnectionMethod#createConnection(org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation, java.lang.String)
-	 */
-	public IServerConnection createConnection(ICVSRepositoryLocation location, String password) {
-		return TestConnection.createConnection(location, password);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.IConnectionMethod#disconnect(org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation)
-	 */
-	public void disconnect(ICVSRepositoryLocation location) {
-		// Nothing need to be done
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/TestsUserAuthenticator.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/TestsUserAuthenticator.java
deleted file mode 100644
index 4b8fa1e..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/TestsUserAuthenticator.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core;
-
-import java.util.Map;
-
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.IUserAuthenticator;
-import org.eclipse.team.internal.ccvs.core.IUserInfo;
-
-/**
- * A test authenticator that provide defaults for all methods.
- */
-public class TestsUserAuthenticator implements IUserAuthenticator {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.IUserAuthenticator#promptForUserInfo(org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation, org.eclipse.team.internal.ccvs.core.IUserInfo, java.lang.String)
-	 */
-	public void promptForUserInfo(ICVSRepositoryLocation location, IUserInfo userInfo, String message) throws CVSException {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.IUserAuthenticator#prompt(org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation, int, java.lang.String, java.lang.String, int[], int)
-	 */
-	public int prompt(ICVSRepositoryLocation location, int promptType, String title, String message, int[] promptResponses, int defaultResponseIndex) {
-		return defaultResponseIndex;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.core.IUserAuthenticator#promptForKeyboradInteractive(org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation, java.lang.String, java.lang.String, java.lang.String, java.lang.String[], boolean[])
-	 */
-	public String[] promptForKeyboradInteractive(ICVSRepositoryLocation location, String destination, String name, String instruction, String[] prompt, boolean[] echo) throws CVSException {
-		return prompt;
-	}
-
-    public boolean promptForHostKeyChange(ICVSRepositoryLocation location) {
-        return false;
-    }
-
-	public Map promptToConfigureRepositoryLocations(Map alternativeMap) {
-		return null;
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/AllTestsCompatibility.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/AllTestsCompatibility.java
deleted file mode 100644
index 37a80df..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/AllTestsCompatibility.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.compatible;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTestsCompatibility extends TestSuite {
-			
-	public static Test suite() {	
-		TestSuite suite = new TestSuite();
-		suite.addTest(BasicTest.suite());
-		suite.addTest(ConflictTest.suite());
-		suite.addTest(ModuleTest.suite());
-    	return new CompatibleTestSetup(suite);
-	}	
-	
-	public AllTestsCompatibility(String name) {
-		super(name);
-	}
-
-	public AllTestsCompatibility() {
-		super();
-	}
-}
-
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/BasicTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/BasicTest.java
deleted file mode 100644
index 64b194f..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/BasicTest.java
+++ /dev/null
@@ -1,496 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.compatible;
-import java.util.Date;
-import java.util.GregorianCalendar;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.team.tests.ccvs.core.JUnitTestCase;
-
-public class BasicTest extends JUnitTestCase {
-	SameResultEnv env1;
-	SameResultEnv env2;
-	
-	public BasicTest(String arg) {
-		super(arg);
-		env1 = new SameResultEnv(arg + "-checkout1");
-		env2 = new SameResultEnv(arg + "-checkout2");
-	}
-	
-	public BasicTest() {
-		this("BasicTest");
-	}
-
-	public static void main(String[] args) {	
-		run(BasicTest.class);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(BasicTest.class);
-		return new CompatibleTestSetup(suite);
-		//return new CompatibleTestSetup(new BasicTest("testReadOnly"));
-	}
-	public void setUp() throws Exception {
-		env1.setUp();
-		env2.setUp();
-
-		// Set the project to the content we need ...
-		env1.magicSetUpRepo("proj2",new String[]{"a.txt","f1/b.txt","f1/c.txt"});
-		env2.deleteFile("proj2");
-	}
-	
-	public void tearDown() throws Exception {
-		env1.tearDown();
-		env2.tearDown();
-	}
-	
-	public void testAdd() throws Exception {
-		
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"});
-		env1.writeToFile("proj2/d.txt",new String[]{"The file to be added","next"});
-		env1.mkdirs("proj2/f2/f3");
-		env1.mkdirs("proj2/f4/f5");
-		env1.writeToFile("proj2/f4/f5/e.txt", new String[]{"Another file to be added","next"});
-		
-		env1.execute("add",EMPTY_ARGS,new String[]{"d.txt"},"proj2");
-		env1.execute("add",EMPTY_ARGS,new String[]{"f2","f2/f3"},"proj2");
-		env1.execute("add",EMPTY_ARGS,new String[]{"f4"},"proj2");
-		env1.execute("add",EMPTY_ARGS,new String[]{"f4/f5"},"proj2");
-		env1.execute("add",EMPTY_ARGS,new String[]{"f4/f5/e.txt"},"proj2");
-		env1.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"});
-
-		// Check the stuff out somewhere else to acctually check, that
-		// the file has been accepted
-		env2.execute("co",EMPTY_ARGS,new String[]{"proj2"});		
-	}
-
-	public void testAddUpdate() throws Exception {
-		
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"});
-		env2.execute("co",EMPTY_ARGS,new String[]{"proj2"});		
-
-		env1.writeToFile("proj2/d.txt",new String[]{"The file to be added","next"});
-		env1.mkdirs("proj2/f2/f3");
-		env1.mkdirs("proj2/f4/f5");
-		env1.writeToFile("proj2/f4/f5/e.txt", new String[]{"Another file to be added","next"});
-		
-		env1.execute("add",EMPTY_ARGS,new String[]{"d.txt"},"proj2");
-		env1.execute("add",EMPTY_ARGS,new String[]{"f2","f2/f3"},"proj2");
-		env1.execute("add",EMPTY_ARGS,new String[]{"f4"},"proj2");
-		env1.execute("add",EMPTY_ARGS,new String[]{"f4/f5"},"proj2");
-		env1.execute("add",EMPTY_ARGS,new String[]{"f4/f5/e.txt"},"proj2");
-		env1.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"});
-
-		env2.execute("update",EMPTY_ARGS,new String[]{"proj2"});		
-
-	}
-
-	public void testRemove() throws Exception {
-		
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"});
-		env1.deleteFile("proj2/a.txt");
-		env1.deleteFile("proj2/f1/c.txt");
-		
-		env1.execute("remove",EMPTY_ARGS,new String[]{"a.txt"},"proj2");
-		env1.execute("remove",EMPTY_ARGS,new String[]{"f1/c.txt"},"proj2");
-		env1.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"});
-
-		// Check the stuff out somewhere else to acctually check, that
-		// the file has been accepted
-		env2.execute("co",EMPTY_ARGS,new String[]{"proj2"});		
-	}
-	
-	public void testRemoveRecusive() throws Exception {
-		
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"});
-		env2.execute("co",EMPTY_ARGS,new String[]{"proj2"});		
-
-		env1.deleteFile("proj2/a.txt");
-		env1.deleteFile("proj2/f1/c.txt");
-		
-		env1.execute("remove",EMPTY_ARGS,new String[0],"proj2");
-		env1.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"});
-
-		// Check the stuff out somewhere else to acctually check, that
-		// the file has been accepted
-		env2.execute("update",EMPTY_ARGS,new String[]{"proj2"});		
-	}
-	
-	public void testRoundRewrite() throws Exception {
-				
-		// Download content in two locations
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"},"");
-		env2.execute("co",EMPTY_ARGS,new String[]{"proj2"},"");
-		
-		// change the file "proj1/folder1/c.txt" in env1 check it in
-		// on the server
-		env1.appendToFile("proj2/f1/c.txt", new String[] { "AppendIt" });
-		env1.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"},"");
-		
-		// assure that the file is different in env1 and env2
-		// try {
-		//	assertEqualsArrays(env1.readFromFile("proj2/f1/c.txt"),
-		//				   	   env2.readFromFile("proj2/f1/c.txt"));
-		//	throw new IllegalArgumentException("This is a failed Assertion");
-		// } catch (AssertionFailedError e) {}
-		
-		// update env2 and make sure the changes are there
-		env2.execute("update",EMPTY_ARGS,new String[]{"proj2"},"");
-		// assertEqualsArrays(env1.readFromFile("proj2/f1/c.txt"),
-		//				   env2.readFromFile("proj2/f1/c.txt"));
-	}
-	
-	public void testUpdateMinusN() throws Exception {	
-		String[] fileContent1;
-		
-		fileContent1 = new String[]{"RandomNumber", Math.random() + ""};
-		
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"});
-		env2.execute("co",EMPTY_ARGS,new String[]{"proj2"});
-		
-		env1.writeToFile("proj1/folder1/c.txt",fileContent1);
-		
-		env1.execute("ci",new String[]{"-n"},new String[]{"-m","TestMessage"},new String[]{"proj2"},"");
-		env2.execute("update",EMPTY_ARGS,new String[]{"proj2"});		
-	}
-	
-	public void testStatus() throws Exception {
-		
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"});
-		env1.execute("status",EMPTY_ARGS,new String[]{"proj2"});
-		
-		env1.deleteFile("proj2/a.txt");
-		env1.deleteFile("proj2/f1/c.txt");
-		env1.appendToFile("proj2/f1/b.txt",new String[] { "AppendIt" });
-
-		env1.execute("status",EMPTY_ARGS,new String[]{"proj2"});
-		env1.execute("status",EMPTY_ARGS,new String[0],"proj2");
-
-		env1.createRandomFile("proj2/d.txt");
-
-		env1.execute("status",EMPTY_ARGS,new String[0],"proj2");
-		env1.execute("status",EMPTY_ARGS,new String[]{"f1/b.txt"},"proj2");
-		// env1.execute("status",localOptions,new String[]{"d.txt"},"proj2");
-	}
-
-	public void testLog() throws Exception {
-		
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"});
-		env1.execute("log",EMPTY_ARGS,new String[]{"proj2"});
-		
-		env1.deleteFile("proj2/a.txt");
-		env1.deleteFile("proj2/f1/c.txt");
-		env1.appendToFile("proj2/f1/b.txt",new String[] { "AppendIt" });
-
-		env1.execute("log",EMPTY_ARGS,new String[]{"proj2"});
-		env1.execute("log",EMPTY_ARGS,new String[0],"proj2");
-
-		env1.createRandomFile("proj2/d.txt");
-
-		env1.execute("log",EMPTY_ARGS,new String[0],"proj2");
-		env1.execute("log",EMPTY_ARGS,new String[]{"f1/b.txt"},"proj2");
-	
-	}	
-	
-	public void testBranchTag() throws Exception {
-		
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"});
-		env1.execute("tag",new String[]{"-b"},new String[]{"tag1","proj2"});
-		
-		env1.deleteFile("proj2/a.txt");
-		env1.deleteFile("proj2/f1/c.txt");
-		env1.appendToFile("proj2/f1/b.txt",new String[] { "AppendIt" });
-
-		env1.execute("tag",new String[]{"-b"},new String[]{"tag2","proj2"});
-
-		env1.createRandomFile("proj2/d.txt");
-		
-		env1.deleteFile("proj2");
-		
-		// Try an commit and an add in the two different streams
-		env1.execute("co",new String[]{"-r","tag1"},new String[]{"proj2"});
-		env1.appendToFile("proj2/f1/b.txt", new String[] { "AppendItTwo" });
-		env1.createRandomFile("proj2/d.txt");
-		env1.execute("add",new String[0],new String[]{"d.txt"},"proj2");
-		env1.execute("ci",new String[]{"-m","branch"},new String[]{"proj2"});
-		env1.deleteFile("proj2");
-		env1.execute("co",new String[]{"-r","tag1"},new String[]{"proj2"});
-
-		env2.execute("co",new String[]{"-r","tag2"},new String[]{"proj2"});
-		env2.appendToFile("proj2/f1/b.txt", new String[] { "AppendItThree" });
-		env2.createRandomFile("proj2/d.txt");
-		env2.execute("add",new String[0],new String[]{"d.txt"},"proj2");
-		env2.execute("ci",new String[]{"-m","branch"},new String[]{"proj2"});	
-		env2.deleteFile("proj2");
-		env2.execute("co",new String[]{"-r","tag2"},new String[]{"proj2"});
-	}
-		
-	public void testBranchingWithLocalChanges() throws Exception {
-		// Try to branch of a workspace with local changes
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"});
-		JUnitTestCase.waitMsec(1500);
-		env1.appendToFile("proj2/f1/b.txt",new String[] { "AppendIt" });
-		env1.execute("tag",new String[]{"-b"},new String[]{"branch-with-changes","proj2"});
-		env1.execute("update",new String[]{"-r", "branch-with-changes"},new String[]{"proj2"});
-	}
-
-	public void testTag() throws Exception {
-		
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"});
-		env1.execute("tag",EMPTY_ARGS,new String[]{"tag1","proj2"});
-		
-		env1.deleteFile("proj2/a.txt");
-		env1.deleteFile("proj2/f1/c.txt");
-		env1.appendToFile("proj2/f1/b.txt",new String[] { "AppendIt" });
-
-		env1.execute("tag",EMPTY_ARGS,new String[]{"tag2","proj2"});
-		env1.execute("tag",EMPTY_ARGS,new String[]{"tag2"},"proj2");
-
-		env1.createRandomFile("proj2/d.txt");
-
-		env1.execute("tag",EMPTY_ARGS,new String[]{"tag3"},"proj2");
-		env1.execute("tag",EMPTY_ARGS,new String[]{"tag3","f1/b.txt"},"proj2");
-		
-		env1.deleteFile("proj2");
-		env1.execute("co",new String[]{"-r","tag1"},new String[]{"proj2"});
-		env1.deleteFile("proj2");
-		env1.execute("co",new String[]{"-r","tag2"},new String[]{"proj2"});
-		env1.deleteFile("proj2");
-		env1.execute("co",new String[]{"-r","tag3"},new String[]{"proj2"});
-		
-		// env1.execute("tag",localOptions,new String[]{"d.txt"},"proj2");
-		
-		env1.execute("update", new String[]{"-r","tag1"}, new String[]{"proj2"});
-		env1.execute("update", new String[]{"-r","tag2"}, new String[]{"proj2"});
-		env1.execute("update", new String[]{"-r","tag3"}, new String[]{"proj2"});
-		env1.execute("update", new String[]{"-A"}, new String[]{"proj2"});
-	}
-	
-	public void testRTag() throws Exception {
-		
-		// Checkout and tag the project
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"});
-		env1.execute("tag",EMPTY_ARGS,new String[]{"tag1","proj2"});
-		env1.deleteFile("proj2");
-		
-		// Use rtag to tag the above tag as both a version and a branch
-		env1.execute("rtag",new String[]{"-r", "tag1"},new String[]{"rtag1","proj2"});
-		env1.execute("rtag",new String[]{"-b", "-r", "tag1"},new String[]{"btag1","proj2"});
-		
-		// Checkout the version and branch
-		env1.deleteFile("proj2");
-		env1.execute("co",new String[]{"-r","rtag1"},new String[]{"proj2"});
-		env1.deleteFile("proj2");
-		env1.execute("co",new String[]{"-r","btag1"},new String[]{"proj2"});
-	}
-	
-	public void testPrune() throws Exception {
-				
-		// Download content in two locations
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"},"");
-		env2.execute("co",EMPTY_ARGS,new String[]{"proj2"},"");
-		
-		// change the file "proj1/folder1/c.txt" in env1 check it in
-		// on the server
-		env1.deleteFile("proj2/f1/b.txt");
-		env1.deleteFile("proj2/f1/c.txt");
-		env1.execute("remove",EMPTY_ARGS,new String[0],"proj2");
-		
-		env1.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"},"");
-		env1.execute("update",new String[]{"-P"},new String[]{"proj2"},"");
-		
-		// update env2 and make sure the changes are there
-		env2.execute("update",new String[]{"-P"},new String[]{"proj2"},"");
-
-	}
-	
-	public void testPrune2() throws Exception {
-				
-		// Download content in two locations
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"},"");
-		env2.execute("co",EMPTY_ARGS,new String[]{"proj2"},"");
-		
-		// change the file "proj1/folder1/c.txt" in env1 check it in
-		// on the server
-		env1.deleteFile("proj2/f1/b.txt");
-		env1.deleteFile("proj2/f1/c.txt");
-		env1.execute("remove",EMPTY_ARGS,new String[0],"proj2");
-		
-		env1.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"},"");
-		env1.execute("update",new String[]{"-P"},new String[]{},"proj2");
-		
-		// update env2 and make sure the changes are there
-		env2.execute("update",new String[]{"-P"},new String[]{},"proj2");
-
-	}
-	
-	public void testAdmin() throws Exception {
-				
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"},"");
-		
-		env1.execute("admin",new String[]{"-kb"},new String[]{"proj2/f1/b.txt"},"");
-		env1.execute("update",EMPTY_ARGS,new String[]{"proj2"},"");
-		
-		env2.execute("co",EMPTY_ARGS,new String[]{"proj2"},"");
-	}
-
-	public void testDiff() throws Exception {
-		
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"});
-		env1.execute("diff",EMPTY_ARGS,new String[]{"proj2"});
-		
-		env1.setIgnoreExceptions(true);
-		
-		env1.appendToFile("proj2/f1/c.txt",new String[] {"AppendIt2" });
-		env1.appendToFile("proj2/f1/b.txt",new String[] { "AppendIt" });
-		
-		env1.execute("diff",EMPTY_ARGS,new String[]{"proj2"});
-		env1.execute("diff",EMPTY_ARGS,new String[0],"proj2");
-		
-		env1.createRandomFile("proj2/d.txt");
-
-		env1.execute("diff",EMPTY_ARGS,new String[0],"proj2");
-		env1.execute("diff",EMPTY_ARGS,new String[]{"f1/b.txt"},"proj2");
-		// env1.execute("diff",localOptions,new String[]{"d.txt"},"proj2");
-
-		env1.setIgnoreExceptions(false);
-	}
-
-	public void testReadOnly() throws Exception {
-		
-		// Checkout a read-only copy
-		env1.execute("co",new String[]{"-r"},EMPTY_ARGS,new String[]{"proj2"},"");
-		// Checkout and modify a writable copy
-		env2.execute("co",new String[]{},EMPTY_ARGS,new String[]{"proj2"},"");
-		env2.appendToFile("proj2/f1/c.txt",new String[] {"AppendIt2" });
-		// Update the read only copy
-		env1.execute("update",new String[] {"-r"},EMPTY_ARGS,new String[]{"proj2"},"");
-		
-		// Update the read-only copy to writable
-		env1.execute("update",new String[] {},EMPTY_ARGS,new String[]{"proj2"},"");
-	}
-	
-	public void testQuestionables() throws Exception {			
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"},"");
-		env1.writeToFile("proj2/f2/d.txt", new String[]{"content"});
-		env1.writeToFile("proj2/f3/f4/d.txt", new String[]{"content"});	
-		env1.writeToFile("proj2/f5/f6/f7/d.txt", new String[]{"content"});	
-		env1.execute("add",new String[0],new String[]{"f3"},"proj2");
-		env1.execute("add",new String[0],new String[]{"f3/f4"},"proj2");
-		env1.execute("update",new String[0],new String[]{"."},"proj2");
-	}
-	
-	public void testImportWrappers() throws Exception {
-		// Make the project empty
-		env1.magicSetUpRepo("proj3",new String[]{"NoImportant.txt"});
-		env2.deleteFile("proj3");
-		
-		// Create resouces and import them with the 
-		// special wrapper
-		env1.createRandomFile(new String[]{"a.txt","a.class","a.xxx"},"proj3");
-		env1.execute("import",
-					new String[]{"-W","*.txt -k 'kv'","-W","*.class -k 'b'","-I","*.xxx","-m","msg"},
-					new String[]{"proj3","aTag","bTag"},
-					"proj3");
-		
-		// download the server-version	
-		env2.execute("co",EMPTY_ARGS,new String[]{"proj3"},"");
-	}
-	
-	public void testImportIgnores() throws Exception {
-		// Make the project empty
-		env1.magicSetUpRepo("proj3",new String[]{"NoImportant.txt"});
-		env2.deleteFile("proj3");
-		
-		// Create resouces and import them with the 
-		// special wrapper
-		env1.createRandomFile(new String[]{"a.txt","a.class","a.xxx"},"proj3");
-		env1.execute("import",
-					new String[]{"-I","*.xxx","-m","msg"},
-					new String[]{"proj3","aTag","bTag"},
-					"proj3");
-		
-		// download the server-version	
-		env2.execute("co",EMPTY_ARGS,new String[]{"proj3"},"");
-	}
-	
-	private String toGMTString(Date d) {
-		return d.toGMTString();
-	}
-	
-	public void testDate() throws Exception {
-		
-		// IMPOTANT:
-		// Do not make tests with relative dates, because the times coming back form the server will 
-		// sometimes differ from the reference-client to the eclipse-client due to the time-delay in calling
-
-		Date beforeChange;
-		Date firstChange;
-		Date secondChange;
-		
-		env1.execute("co",new String[0],new String[]{"proj2"});
-		
-		// Change the file "a.txt" and record the times you are doing that at
-		waitMsec(1100); // here we wait for the import to finish
-		beforeChange = GregorianCalendar.getInstance().getTime();
-
-		waitMsec(1100);
-	
-		env1.appendToFile("proj2/a.txt",new String[] { "AppendIt" });
-		env1.execute("ci",new String[]{"-m","msg"},new String[]{"proj2"});
-		firstChange = GregorianCalendar.getInstance().getTime();
-
-		waitMsec(1100);
-			
-		env1.appendToFile("proj2/a.txt",new String[] { "AppendIt2" });
-		env1.appendToFile("proj2/f1/b.txt",new String[] { "AppendIt2" });
-		env1.execute("ci",new String[]{"-m","msg"},new String[]{"proj2"});
-		secondChange = GregorianCalendar.getInstance().getTime();
-
-		waitMsec(1100);		
-
-		env1.deleteFile("proj2");
-		
-		// Now check the project at different times out
-		env1.execute("co",new String[]{"-D",toGMTString(beforeChange)},new String[]{"proj2"});
-		env1.deleteFile("proj2");
-		
-		env1.execute("co",new String[]{"-D",toGMTString(firstChange)},new String[]{"proj2"});
-		env1.deleteFile("proj2");
-		
-		env1.execute("co",new String[]{"-D",toGMTString(secondChange)},new String[]{"proj2"});
-		env1.deleteFile("proj2");
-		
-		// Now do some updates to look if update -D works
-		env1.execute("co",new String[0],new String[]{"proj2"});
-		env1.execute("update",new String[]{"-D",toGMTString(beforeChange)},new String[]{"proj2"});
-		env1.execute("update",new String[]{"-D",toGMTString(firstChange)},new String[]{"proj2"});
-		env1.execute("update",new String[]{"-D",toGMTString(secondChange)},new String[]{"proj2"});
-
-		// We look if the parameter -a is working
-		env1.execute("update",new String[]{"-D",toGMTString(beforeChange),"-A"},new String[]{"proj2"});
-		env1.execute("update",new String[]{"-D",toGMTString(secondChange)},new String[]{"proj2"});
-		env1.deleteFile("proj2");
-		
-		// We get try to merge changes from different dates
-		env1.execute("co",new String[0],new String[]{"proj2"});
-		env1.appendToFile("proj2/a.txt", new String[] { "This is the world ..." });
-		env1.execute("update",new String[]{"-D",toGMTString(beforeChange)},new String[]{"proj2"});
-		env1.appendToFile("proj2/a.txt", new String[] {"... which constantly changes" });
-		env1.execute("update",new String[]{"-A"},new String[]{"proj2"});
-		// Change something to be able to commit
-		env1.appendToFile("proj2/a.txt", new String[] { "... and the changes are approved" });
-		env1.execute("ci",new String[]{"-m","msg"},new String[]{"proj2"});
-		
-	}
-}
-
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/CompatibleTestSetup.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/CompatibleTestSetup.java
deleted file mode 100644
index 2d73c4f..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/CompatibleTestSetup.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.compatible;
-import junit.framework.Test;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-
-/**
- * @version 	1.0
- * @author 	${user}
- */
-public class CompatibleTestSetup extends CVSTestSetup {
-	public static final String ECLIPSE_REPOSITORY_LOCATION;
-	public static final String REFERENCE_REPOSITORY_LOCATION;
-	public static CVSRepositoryLocation referenceClientRepository;
-	public static CVSRepositoryLocation eclipseClientRepository;
-	
-	static {
-		REFERENCE_REPOSITORY_LOCATION = System.getProperty("eclipse.cvs.repository1");
-		ECLIPSE_REPOSITORY_LOCATION = System.getProperty("eclipse.cvs.repository2");
-	}	
-	
-	/**
-	 * Constructor for CompatibleTestSetup.
-	 */
-	public CompatibleTestSetup(Test test) {
-		super(test);
-	}
-	
-	/**
-	 * For compatibility testing, we need to set up two repositories
-	 */
-	public void setUp() throws CVSException {
-		CVSProviderPlugin.getPlugin().setPruneEmptyDirectories(false);
-		CVSProviderPlugin.getPlugin().setFetchAbsentDirectories(false);
-
-		// setup the repositories
-		if (referenceClientRepository == null)
-			referenceClientRepository = setupRepository(REFERENCE_REPOSITORY_LOCATION);
-		if (eclipseClientRepository == null)
-			eclipseClientRepository = setupRepository(ECLIPSE_REPOSITORY_LOCATION);
-	}
-	
-	public void tearDown() throws CVSException {
-		CVSProviderPlugin.getPlugin().setPruneEmptyDirectories(true);
-		CVSProviderPlugin.getPlugin().setFetchAbsentDirectories(true);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/ConflictTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/ConflictTest.java
deleted file mode 100644
index 621bf69..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/ConflictTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.compatible;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.team.tests.ccvs.core.JUnitTestCase;
-
-public class ConflictTest extends JUnitTestCase {
-	SameResultEnv env1;
-	SameResultEnv env2;
-	
-	public ConflictTest() {
-		this(null);
-	}
-	
-	public ConflictTest(String arg) {
-		super(arg);
-		env1 = new SameResultEnv(arg + "checkout1");
-		env2 = new SameResultEnv(arg + "checkout2");
-	}
-
-	public void setUp() throws Exception {
-		env1.setUp();
-		env2.setUp();
-
-		// Set the project to the content we need ...
-		env1.magicSetUpRepo("proj2",new String[]{"a.txt","f1/b.txt","f1/c.txt"});
-		env2.deleteFile("proj2");
-	}
-	
-	public void tearDown() throws Exception {
-		env1.tearDown();
-		env2.tearDown();
-	}
-	
-	public static Test suite() {
-		TestSuite suite = new TestSuite(ConflictTest.class);
-		//return new CompatibleTestSetup(new ConflictTest("testSimpleConflict"));
-		return new CompatibleTestSetup(suite);
-	}
-	
-	public void testSimpleConflict() throws Exception {
-		// Download content in two locations
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"},"");
-		env2.execute("co",EMPTY_ARGS,new String[]{"proj2"},"");
-		
-		// change the file in both directories in a different way
-		env1.appendToFile("proj2/f1/c.txt", new String[] { "AppendIt This" });
-		env2.appendToFile("proj2/f1/c.txt", new String[] { "AppendIt That" });
-		
-		// commit changes of the first
-		env1.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"},"");
-		
-		// load the changes into the changed file
-		// and submit the merge
-		env2.execute("update",EMPTY_ARGS,new String[]{"proj2"},"");
-		
-		// commit must fail because we have a merged conflict which has not been
-		// edited.
-		env2.setIgnoreExceptions(true);
-		env2.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"},"");
-		env2.setIgnoreExceptions(false);
-		
-		// Make a change to the file in order to let the cvs-client know
-		// that we solved the confilict
-		env2.appendToFile("proj2/f1/c.txt", new String[] { "That's allright" });
-		env2.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"},"");
-	}
-	
-	public void testMergedUpdate() throws Exception {
-		// Download content in two locations
-		env1.execute("co",EMPTY_ARGS,new String[]{"proj2"},"");
-		env2.execute("co",EMPTY_ARGS,new String[]{"proj2"},"");
-		
-		// change the file in both directories in a different way so that 
-		// can be merged without conflicts
-		env1.prefixToFile("proj2/f1/c.txt", new String[] { "AppendIt at top" });
-		env2.appendToFile("proj2/f1/c.txt", new String[] { "AppendIt at bottom" });
-		
-		// commit changes of the first
-		env1.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"},"");
-		
-		// changes should be merged
-		env2.execute("update",EMPTY_ARGS,new String[]{"proj2"},"");
-		env2.execute("ci",new String[]{"-m","TestMessage"},new String[]{"proj2"},"");	
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/ModuleTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/ModuleTest.java
deleted file mode 100644
index ed7ba79..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/ModuleTest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.compatible;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.team.tests.ccvs.core.JUnitTestCase;
-
-public class ModuleTest extends JUnitTestCase {
-	SameResultEnv env1;
-	SameResultEnv env2;
-	
-	public ModuleTest(String arg) {
-		super(arg);
-		env1 = new SameResultEnv(arg + "checkout1");
-		env2 = new SameResultEnv(arg + "checkout2");
-	}
-
-	public static void main(String[] args) {	
-		run(ModuleTest.class);
-	}
-
-	public void setUp() throws Exception {
-		env1.setUp();
-		env2.setUp();
-
-		// Set the project to the content we need ...
-		env1.magicDeleteRemote("CVSROOT/modules");
-		env1.magicDeleteRemote("CVSROOT/modules,v");
-		env1.magicSetUpRepo("proj2",new String[]{"a.txt","f1/b.txt","f1/c.txt","f2/d.txt","f2/f3/e.txt"});
-		env2.deleteFile("proj2");
-	}
-	
-	public void tearDown() throws Exception {
-		env1.tearDown();
-		env2.tearDown();
-	}
-	
-	public static Test suite() {
-		TestSuite suite = new TestSuite(ModuleTest.class);
-		return new CompatibleTestSetup(suite);
-	}	
-	
-	private void setUpModuleFile(String[] change) throws Exception {
-		
-		// Write the modules-file
-		env1.execute("co",EMPTY_ARGS,new String[]{"CVSROOT"});
-		env1.writeToFile("CVSROOT/modules",change);
-		
-		// Send it up to the server
-		env1.execute("add",new String[]{"-m","m"},new String[]{"modules"},"CVSROOT");
-		env1.execute("ci",new String[]{"-m","m"},new String[]{"CVSROOT"});
-		env1.deleteFile("CVSROOT");		
-	}
-	
-	public void testSimpleModule() throws Exception {
-		setUpModuleFile(new String[]{"mod1 proj2"});
-		env1.execute("co",EMPTY_ARGS,new String[]{"mod1"});
-		env1.appendToFile("mod1/a.txt", new String[] { "Append" });
-		env1.execute("ci",new String[]{"-m","m"},new String[]{"mod1"});
-		env1.execute("update",EMPTY_ARGS,new String[]{"mod1"});
-	}
-
-	public void testCompositeModule() throws Exception {
-		setUpModuleFile(new String[]{	"mod1-f1 proj2/f1",
-										"mod1-f2 proj2/f2",
-										"mod1f &mod1-f1 &mod1-f2"});
-		
-		env1.execute("co",EMPTY_ARGS,new String[]{"mod1f"});
-		env1.appendToFile("mod1f/mod1-f1/b.txt", new String[] { "Append" });
-		env1.execute("ci",new String[]{"-m","m"},new String[]{"mod1f"});
-		env1.execute("update",EMPTY_ARGS,new String[]{"mod1f"});
-	}
-
-	public void testCompositeAliasModule() throws Exception {
-		setUpModuleFile(new String[]{"mod1-f1 proj2/f1",
-										"mod1t proj2/f1 b.txt",
-										"mod1-f2 &proj2/f2 &mod1t",
-										"mod1f -a mod1-f1 mod1-f2"});
-		
-		env1.execute("co",EMPTY_ARGS,new String[]{"mod1f"});
-		env1.appendToFile("mod1-f1/b.txt", new String[] { "Append" });
-		env1.execute("ci",new String[]{"-m","m"},new String[]{"mod1-f1","mod1-f2"});
-		env1.execute("update",EMPTY_ARGS,new String[]{"mod1-f1","mod1-f2"});
-	}
-}
-
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/SameResultEnv.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/SameResultEnv.java
deleted file mode 100644
index 72ccda8..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/compatible/SameResultEnv.java
+++ /dev/null
@@ -1,464 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.compatible;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.tests.ccvs.core.*;
-
-
-/**
- * This is a TestCase that does provide the possibility
- * to run tests on both the reference reference-client and the
- * client provided by us, and to check on equal results
- * in files and messages to the consol.
- * 
- * No own tests should be placed here, instead you should
- * instanciate this testcase in order to make your test from
- * another suite.
- * The class is final, because you need to be able to open
- * two (or more) different enviorments to test certain things.
- */
-public final class SameResultEnv extends JUnitTestCase {
-	private IProject referenceProject;
-	private ICVSFolder referenceRoot;
-	private IProject eclipseProject;
-	private ICVSFolder eclipseRoot;
-
-	private boolean ignoreExceptions;
-
-	public SameResultEnv(String arg) {
-		super(arg);
-	}
-	
-	/**
-	 * Always to be called in the setUp of the testCase that wants to 
-	 * use the same-result Enviorment.
-	 */
-	public void setUp() throws Exception {
-		super.setUp();
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		// setup reference client test project
-		referenceProject = root.getProject(getName() + "-reference");
-		referenceProject.delete(true /*deleteContent*/, true /*force*/, null);
-		mkdirs(referenceProject);
-		referenceRoot = CVSWorkspaceRoot.getCVSFolderFor(referenceProject);
-		
-		// setup eclipse client test project
-		eclipseProject = root.getProject(getName() + "-eclipse");
-		eclipseProject.delete(true /*deleteContent*/, true /*force*/, null);
-		mkdirs(eclipseProject);
-		eclipseRoot = CVSWorkspaceRoot.getCVSFolderFor(eclipseProject);
-
-		// By default, exceptions are not ignored.
-		// Specific test cases can choose to ignore exceptions
-		ignoreExceptions = false;
-	}
-	
-	/**
-	 * Always to be called in the tearDown of the testCase that wants to 
-	 * use the same-result Enviorment.
-	 */
-	public void tearDown() throws Exception {
-		// we deliberately don't clean up test projects to simplify debugging
-		super.tearDown();
-	}
-	
-	/**
-	 * Helper method.
-	 * Calls execute(command, EMPTY_ARGS, localOptions, arguments, pathRelativeToRoot)
-	 */				
-	public void execute(String command, String[] localOptions, String[] arguments, String pathRelativeToRoot)
-		throws CVSException {
-		execute(command, EMPTY_ARGS, localOptions, arguments, pathRelativeToRoot);
-	}
-
-	/**
-	 * Helper method.
-	 * Calls execute(command, EMPTY_ARGS, localOptions, arguments, "")
-	 */				
-	public void execute(String command, String[] localOptions, String[] arguments)
-		throws CVSException {
-		execute(command, EMPTY_ARGS, localOptions, arguments, "");
-	}
-
-	/**
-	 * Runs a command twice, once in the reference environments, once
-	 * in the eclipse environment.  Compares the resulting resources
-	 * on disk, but not console output.
-	 */
-	public void execute(String command,
-		String[] globalOptions, String[] localOptions, String[] arguments,
-		String pathRelativeToRoot) throws CVSException {
-		
-		// run with reference client
-		boolean referenceClientException = execute(CommandLineCVSClient.INSTANCE,
-			CompatibleTestSetup.referenceClientRepository, referenceProject,
-			command, globalOptions, localOptions, arguments, pathRelativeToRoot);
-		// run with Eclipse client
-		boolean eclipseClientException = execute(EclipseCVSClient.INSTANCE,
-			CompatibleTestSetup.eclipseClientRepository, eclipseProject,
-			command, globalOptions, localOptions, arguments, pathRelativeToRoot);
-			
-		// assert same results
-		assertEquals(referenceClientException, eclipseClientException);
-		assertConsistent();
-	}
-	
-	private boolean execute(ICVSClient client, ICVSRepositoryLocation repositoryLocation,
-		IContainer localRoot, String command,
-		String[] globalOptions, String[] localOptions, String[] arguments,
-		String pathRelativeToRoot) throws CVSException {
-		try {
-			IPath path = new Path(pathRelativeToRoot);
-			if (path.segmentCount() != 0) {
-				localRoot = localRoot.getFolder(path);
-			}
-			client.executeCommand(repositoryLocation, localRoot, command, globalOptions,
-				localOptions, arguments);
-		} catch (CVSException e) {
-			if (ignoreExceptions) return true;
-			throw e;
-		}
-		return false;
-	}
-
-	/**
-	 * Deletes files on the both of the cvs-servers.
-	 */
-	public void magicDeleteRemote(String remoteName) throws CVSException {
-		super.magicDeleteRemote(CompatibleTestSetup.referenceClientRepository, remoteName);
-		super.magicDeleteRemote(CompatibleTestSetup.eclipseClientRepository, remoteName);		
-	}
-	
-	/**
-	 * Set up both of the repos on the cvs-server(s) with the standard
-	 * file-structure:
-	 * project
-	 *   a.txt
-	 *   f1
-	 *     b.txt
-	 *     c.txt
-	 */
-	public void magicSetUpRepo(String projectName)
-		throws IOException, CoreException, CVSException {
-		magicSetUpRepo(projectName, new String[]{"a.txt","f1/b.txt","f1/c.txt"});
-	}
-	
-	/**
-	 * Set up both of the repos on the cvs-server(s) with a filestructre
-	 * resulting for your input in the parameter createResources.
-	 */
-	public void magicSetUpRepo(String projectName, String[] createResources)
-		throws IOException, CoreException, CVSException {
-		magicDeleteRemote(projectName);
-
-		IProject projectRoot = workspaceRoot.getProject(projectName + "-setup-tmp");
-		mkdirs(projectRoot);
-		createRandomFile(projectRoot, createResources);
-		
-		String[] lOptions = new String[]{"-m","msg"};
-		String[] args = new String[]{projectName,"a","b"};
-	
-		magicDeleteRemote(CompatibleTestSetup.referenceClientRepository, projectName);
-		EclipseCVSClient.execute(CompatibleTestSetup.referenceClientRepository, CVSWorkspaceRoot.getCVSFolderFor(projectRoot),
-			"import", EMPTY_ARGS, lOptions, args);
-			
-		magicDeleteRemote(CompatibleTestSetup.eclipseClientRepository, projectName);
-		EclipseCVSClient.execute(CompatibleTestSetup.eclipseClientRepository, CVSWorkspaceRoot.getCVSFolderFor(projectRoot),
-			"import", EMPTY_ARGS, lOptions, args);
-
-		projectRoot.delete(false /*force*/, null);
-	}
-
-	/**
-	 * Create a file with random-content in both, the reference client and 
-	 * the eclipse-client.
-	 * 
-	 * @param relativeFileName is the relative path as allways in the 
-	           class used for access
-	 */
-	public void createRandomFile(String relativeFileName)
-		throws IOException, CoreException {
-		String[] contents = new String[] { createRandomContent() };
-		writeToFile(relativeFileName, contents);
-	}
-
-	/**
-	 * Call createRandomFile for every element of the array
-	 * 
-	 * @see SameResultEnv#createRandomFile(String)
-	 */
-	public void createRandomFile(String[] relativeFileNames,
-		String pathRelativeToRoot) throws CoreException, IOException {
-		if (pathRelativeToRoot == null) {
-			pathRelativeToRoot = "";
-		} else if (! pathRelativeToRoot.endsWith("/")) {
-			pathRelativeToRoot += "/";
-		}
-		for (int i = 0; i < relativeFileNames.length; i++) {
-			createRandomFile(pathRelativeToRoot + relativeFileNames[i]);
-		}
-	}
-	
-	/**
-	 * Read from the file (check that we have acctually got the same
-	 * content in both versions
-	 */
-	public String[] readFromFile(String relativeFileName)
-		throws IOException, CoreException {
-		IFile referenceFile = referenceProject.getFile(relativeFileName);
-		String[] content1 = super.readFromFile(referenceFile);
-		IFile eclipseFile = eclipseProject.getFile(relativeFileName);
-		String[] content2 = super.readFromFile(eclipseFile);
-		assertEqualsArrays(content1,content2);
-		return content1;
-	}
-	
-	/**
-	 * Delete a file / folder from both directories.
-	 */
-	public void deleteFile(String relativeFileName) throws CoreException {
-		IResource referenceFile, eclipseFile;
-		if (relativeFileName.length() != 0) {
-			referenceFile = referenceProject.findMember(relativeFileName);
-			eclipseFile = eclipseProject.findMember(relativeFileName);
-		} else {
-			referenceFile = referenceProject;
-			eclipseFile = eclipseProject;
-		}
-		assertEquals(referenceFile != null, eclipseFile != null);
-		if (referenceFile == null) return;
-		assertEquals(referenceFile.exists(), eclipseFile.exists());
-		referenceFile.delete(true, null);
-		eclipseFile.delete(true, null);
-	}
-	
-	/**
-	 * Creates a folder (and its parents if needed) in both environments.
-	 */
-	public void mkdirs(String relativeFolderName) throws CoreException {
-		IFolder referenceFolder = referenceProject.getFolder(relativeFolderName);
-		IFolder eclipseFolder = eclipseProject.getFolder(relativeFolderName);
-		assertEquals(referenceFolder.exists(), eclipseFolder.exists());
-		mkdirs(referenceFolder);
-		mkdirs(eclipseFolder);
-	}
-	
-	/**
-	 * Append a String to an file (acctally to both of the files, that are going
-	 * to have the same content)
-	 */
-	public void appendToFile(String relativeFileName, String[] contents)
-		throws IOException, CoreException {
-		// Wait a second so that the timestamp will change for sure
-		waitMsec(1500);
-
-		IFile referenceFile = referenceProject.getFile(relativeFileName);
-		appendToFile(referenceFile, contents);
-		IFile eclipseFile = eclipseProject.getFile(relativeFileName);
-		appendToFile(eclipseFile, contents);		
-	}
-	
-		/**
-	 * Append a String to an file (acctally to both of the files, that are going
-	 * to have the same content)
-	 */
-	public void prefixToFile(String relativeFileName, String[] contents)
-		throws IOException, CoreException {
-		// Wait a second so that the timestamp will change for sure
-		waitMsec(1500);
-
-		IFile referenceFile = referenceProject.getFile(relativeFileName);
-		prefixToFile(referenceFile, contents);
-		IFile eclipseFile = eclipseProject.getFile(relativeFileName);
-		prefixToFile(eclipseFile, contents);		
-	}
-	
-	/**
-	 * Write to the file (acctally to both of the files, that are going
-	 * to have the same content)
-	 */
-	public void writeToFile(String relativeFileName, String[] contents)
-		throws IOException, CoreException {
-		IFile referenceFile = referenceProject.getFile(relativeFileName);
-		writeToFile(referenceFile, contents);
-		IFile eclipseFile = eclipseProject.getFile(relativeFileName);
-		writeToFile(eclipseFile, contents);
-	}		
-
-	/**
-	 * Checks whether the two directories inside the environment
-	 * are equal and therefore the state valid.
-	 */
-	public void assertConsistent() throws CVSException {
-		assertEquals(referenceRoot, eclipseRoot);
-	}	
-
-	/**
-	 * Deep compare of two ManagedResources (most likly folders).
-	 * Passwords are ignored.
-	 * 
-	 * @param ignoreTimestamp if true timestamps of
-	           files are ignored for the comparison
-	 */
-	public static void assertEquals(ICVSResource mResource1, 
-										ICVSResource mResource2) 
-										throws CVSException {
-		
-		assertEquals(mResource1.isFolder(), mResource2.isFolder());
-		assertEquals(mResource1.isManaged() , mResource2.isManaged());
-		assertEquals(mResource1.exists(), mResource2.exists());
-		
-		if (!mResource1.exists()) {
-			return;
-		}
-		
-		if (mResource1.isFolder()) {
-			assertEquals((ICVSFolder)mResource1,(ICVSFolder)mResource2);
-		} else {
-			assertEquals((ICVSFile)mResource1,(ICVSFile)mResource2);
-		}	
-	}	
-	
-	/**
-	 * Assert that two CVSFile's are equal by comparing the content
-	 * and the metainformation out of the ResourceSync.
-	 */
-	private static void assertEquals(ICVSFile mFile1, ICVSFile mFile2) throws CVSException {
-		
-		if (mFile1.getName().equals(".project")) return;
-		
-		// Check the permissions on disk
-		assertEquals(mFile1.isReadOnly(), mFile2.isReadOnly());
-					
-		// Compare the content of the files
-		try {
-			InputStream in1 = mFile1.getContents();
-			InputStream in2 = mFile2.getContents();
-			byte[] buffer1 = new byte[(int)mFile1.getSize()];
-			byte[] buffer2 = new byte[(int)mFile2.getSize()];
-			// This is not the right way to do it, because the Stream
-			// may read less than the whoole file
-			in1.read(buffer1);
-			in2.read(buffer2);
-			in1.close();
-			in2.close();
-			assertEquals("Length differs for file " + mFile1.getName(), buffer1.length, buffer2.length);
-			assertEquals("Contents differs for file " + mFile1.getName(), new String(buffer1),new String(buffer2));
-		} catch (IOException e) {
-			throw new CVSException("Error in TestCase");
-		}
-
-		// We can not do the ceck, because the reference client does
-		// check out dirty files ?!?
-		// assertEquals(mFile1.isDirty(),mFile2.isDirty());
-		
-		assertEquals(mFile1.getSyncInfo() == null,mFile2.getSyncInfo() == null);
-		if (mFile1.getSyncInfo() == null) {
-			return;
-		}
-		
-		ResourceSyncInfo info1 = mFile1.getSyncInfo();
-		ResourceSyncInfo info2 = mFile2.getSyncInfo();
-		
-		assertEquals(info1.getKeywordMode(), info2.getKeywordMode());
-		assertEquals(info1.getTag(), info2.getTag());
-		assertEquals(info1.getName(), info2.getName());
-		assertEquals(info1.getRevision(), info2.getRevision());
-		
-		assertEquals(info1.isDeleted(), info2.isDeleted());
-		assertEquals(info1.isAdded(), info2.isAdded());
-		assertEquals(info1.isMerged(), info2.isMerged());
-		assertEquals(info1.isMergedWithConflicts(), info2.isMergedWithConflicts());
-		
-		// Ensure that timestamps are written using same timezone.
-		// assertTimestampEquals(info1.getTimeStamp(), info2.getTimeStamp());
-		
-		// We are not able to check for the permissions, as the reference-client doesn't save them
-	}
-	
-	/**
-	 * Assert that two CVSFile's are equal. First the 
-	 * metainformation out of the FolderSync for this 
-	 * folder is compared, then the amount of children is 
-	 * checked and finally the recussion is started to
-	 * compare the children of this folder.
-	 */
-	private static void assertEquals(ICVSFolder mFolder1, 
-										ICVSFolder mFolder2) 
-										throws CVSException {
-
-		assertEquals(mFolder1.isCVSFolder(),mFolder2.isCVSFolder());
-		
-		if (mFolder1.isCVSFolder()) {
-			String root1 = removePassword(mFolder1.getFolderSyncInfo().getRoot());
-			String root2 = removePassword(mFolder2.getFolderSyncInfo().getRoot());
-			root1 = root1.substring(0,root1.lastIndexOf("@"));
-			root2 = root2.substring(0,root2.lastIndexOf("@"));
-			assertEquals(root1,root2);
-			
-			assertEquals(mFolder1.getFolderSyncInfo().getRepository(),mFolder2.getFolderSyncInfo().getRepository());
-			assertEquals(mFolder1.getFolderSyncInfo().getIsStatic(),mFolder2.getFolderSyncInfo().getIsStatic());
-			assertEquals(mFolder1.getFolderSyncInfo().getTag(),mFolder2.getFolderSyncInfo().getTag());
-		}
-		
-		ICVSResource[] resourceList1 = mFolder1.members(ICVSFolder.FILE_MEMBERS | ICVSFolder.FOLDER_MEMBERS);
-		ICVSResource[] resourceList2 = mFolder2.members(ICVSFolder.FILE_MEMBERS | ICVSFolder.FOLDER_MEMBERS);
-		assertEquals(resourceList1.length, resourceList2.length);
-		for (int i=0; i<resourceList1.length; i++) {
-			boolean resourceFound = false;
-			for (int j=0; j<resourceList2.length; j++) {
-				if (resourceList1[i].getName().equals(resourceList2[j].getName())) {
-					assertEquals(resourceList1[i], resourceList2[j]);
-					resourceFound = true;
-					break;
-				}
-			}
-			assertTrue("Resource " + resourceList1[i].getName() + " not found in the list",resourceFound);
-		}
-	}
-	
-	/**
-	 * Sets whether Exceptions that are thrown in the execution of both of the clients are
-	 * catched or thrown to the upper level. If the exceptions are catched the result of the 
-	 * reference-client and this client are compared as if the execution succseded.
-	 */
-	public void setIgnoreExceptions(boolean ignoreExceptions) {
-		this.ignoreExceptions = ignoreExceptions;
-	}
-	
-	/**
-	 * returns ":pserver:nkrambro@fiji:/home/nkrambro/repo"
-	 *         when you insert ":pserver:nkrambro:password@fiji:/home/nkrambro/repo"
-	 */
-	public static String removePassword(String root) {
-		StringTokenizer tok = new StringTokenizer(root, ":@", true);
-		StringBuffer filteredRoot = new StringBuffer();
-		int colonCounter = 3;
-		while (tok.hasMoreTokens()) {
-			String token = tok.nextToken();
-			if ("@".equals(token)) colonCounter = -1;
-			if (":".equals(token)) {
-				if (--colonCounter == 0) continue; // skip colon
-			}
-			if (colonCounter == 0) continue; // skip password
-			filteredRoot.append(token);
-		}
-		return filteredRoot.toString();
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/AllTestsCVSResources.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/AllTestsCVSResources.java
deleted file mode 100644
index 733a84c..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/AllTestsCVSResources.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.cvsresources;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-
-public class AllTestsCVSResources extends EclipseTest {
-	public static Test suite() {	
-		TestSuite suite = new TestSuite();
-		suite.addTest(ResourceSyncInfoTest.suite());
-		suite.addTest(EclipseSynchronizerTest.suite());
-		suite.addTest(EclipseFolderTest.suite());
-		suite.addTest(ResourceSyncBytesTest.suite());
-		suite.addTest(CVSURITest.suite());
-    	return suite; 	
-	}	
-	
-	public AllTestsCVSResources(String name) {
-		super(name);
-	}
-	
-	public AllTestsCVSResources() {
-		super();
-	}
-}
-
-
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/BatchedTestSetup.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/BatchedTestSetup.java
deleted file mode 100644
index 6eecb4b..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/BatchedTestSetup.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.cvsresources;
-
-
-import junit.extensions.TestSetup;
-import junit.framework.Test;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer;
-
-public class BatchedTestSetup extends TestSetup {
-	private ISchedulingRule rule;
-
-	public BatchedTestSetup(Test test) {
-		super(test);
-	}
-
-	public void setUp() throws CVSException {
-		rule = EclipseSynchronizer.getInstance().beginBatching(ResourcesPlugin.getWorkspace().getRoot(), null);
-	}
-	
-	public void tearDown() throws CVSException {
-		EclipseSynchronizer.getInstance().endBatching(rule, null);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/CVSURITest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/CVSURITest.java
deleted file mode 100644
index 02e65ec..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/CVSURITest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.cvsresources;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSTag;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.filesystem.CVSURI;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-
-public class CVSURITest extends EclipseTest {
-
-	public CVSURITest() {
-		super();
-	}
-
-	public CVSURITest(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(CVSURITest.class);
-		return new CVSTestSetup(suite);
-	}
-	
-	public void testURIParse() throws URISyntaxException, CVSException {
-		URI uri = new URI("cvs://_pserver_user~host.here_!root!path/project/path");
-		CVSURI cvsUri = CVSURI.fromUri(uri);
-		assertEquals("/project/path", cvsUri.getPath().toString());
-		CVSRepositoryLocation location = CVSRepositoryLocation.fromString(":pserver:user@host.here:/root/path");
-		assertEquals(cvsUri.getRepository().getLocation(false), location.getLocation(false));
-		assertEquals(cvsUri.getTag(), null);
-		assertEquals(cvsUri.toURI(), uri);
-	}
-	
-	public void testURIParse2() throws URISyntaxException, CVSException {
-		URI uri = new URI("cvs://_pserver_user_password~host.here_1234!root!path/project/path");
-		CVSURI cvsUri = CVSURI.fromUri(uri);
-		assertEquals("/project/path", cvsUri.getPath().toString());
-		CVSRepositoryLocation location = CVSRepositoryLocation.fromString(":pserver:user:password@host.here:1234/root/path");
-		assertEquals(cvsUri.getRepository().getLocation(false), location.getLocation(false));
-		assertEquals(cvsUri.getTag(), null);
-		assertEquals(cvsUri.toURI(), uri);
-	}
-	
-	public void testURIParse3() throws URISyntaxException, CVSException {
-		URI uri = new URI("cvs://_pserver_user_password~host.here_1234!root!path/project/path?version=v1");
-		CVSURI cvsUri = CVSURI.fromUri(uri);
-		assertEquals("/project/path", cvsUri.getPath().toString());
-		CVSRepositoryLocation location = CVSRepositoryLocation.fromString(":pserver:user:password@host.here:1234/root/path");
-		assertEquals(cvsUri.getRepository().getLocation(false), location.getLocation(false));
-		assertEquals(cvsUri.getTag(), new CVSTag("v1", CVSTag.VERSION));
-		assertEquals(cvsUri.toURI(), uri);
-	}
-	
-	public void testURIParse4() throws URISyntaxException, CVSException {
-		URI uri = new URI("cvs://_pserver_user_password~host.here_1234!root!path/project/path?branch=b1");
-		CVSURI cvsUri = CVSURI.fromUri(uri);
-		assertEquals("/project/path", cvsUri.getPath().toString());
-		CVSRepositoryLocation location = CVSRepositoryLocation.fromString(":pserver:user:password@host.here:1234/root/path");
-		assertEquals(cvsUri.getRepository().getLocation(false), location.getLocation(false));
-		assertEquals(cvsUri.getTag(), new CVSTag("b1", CVSTag.BRANCH));
-		assertEquals(cvsUri.toURI(), uri);
-	}
-	
-	public void testURIParse5() throws URISyntaxException, CVSException {
-		URI uri = new URI("cvs://_pserver_user_password~host.here_1234!root!path/project/path?revision=1.5");
-		CVSURI cvsUri = CVSURI.fromUri(uri);
-		assertEquals("/project/path", cvsUri.getPath().toString());
-		CVSRepositoryLocation location = CVSRepositoryLocation.fromString(":pserver:user:password@host.here:1234/root/path");
-		assertEquals(cvsUri.getRepository().getLocation(false), location.getLocation(false));
-		assertEquals(cvsUri.getRevision(), "1.5");
-		assertEquals(cvsUri.toURI(), uri);
-	}
-	
-	public void testURIParse6() throws URISyntaxException, CVSException {
-		URI uri = new URI("cvs://_pserver_user_pass~~word~host.here_1234!the__root!path!!/project/path?revision=1.5");
-		CVSURI cvsUri = CVSURI.fromUri(uri);
-		assertEquals("/project/path", cvsUri.getPath().toString());
-		CVSRepositoryLocation location = CVSRepositoryLocation.fromString(":pserver:user:pass~word@host.here:1234/the_root/path!");
-		assertEquals(cvsUri.getRepository().getLocation(false), location.getLocation(false));
-		assertEquals(cvsUri.getRevision(), "1.5");
-		assertEquals(cvsUri.toURI(), uri);
-	}
-	
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/EclipseFolderTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/EclipseFolderTest.java
deleted file mode 100644
index 058e068..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/EclipseFolderTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.cvsresources;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceVisitor;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSResource;
-import org.eclipse.team.internal.ccvs.core.ICVSRunnable;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-
-/**
- * What does this class do?
- */
-public class EclipseFolderTest extends EclipseTest {
-	public EclipseFolderTest() {
-		super();
-	}
-	
-	public EclipseFolderTest(String name) {
-		super(name);
-	}
-	
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTestSuite(EclipseFolderTest.class);
-		return new CVSTestSetup(suite);
-	}
-	
-	protected void assertChildrenHaveSync(IContainer root, final boolean hasSync) throws CoreException, CVSException {
-		root.accept(new IResourceVisitor() {
-			public boolean visit(IResource resource) throws CoreException {
-				try {
-					ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource);
-					if(!cvsResource.isIgnored()) {
-						if(resource.getType()==IResource.FILE) {
-							assertTrue((cvsResource.getSyncInfo()!=null) == hasSync);
-						} else {
-							assertTrue((((ICVSFolder)cvsResource).getFolderSyncInfo()!=null) == hasSync);
-						}
-					}
-				} catch(CVSException e) {
-					throw new CoreException(e.getStatus());
-				}
-				return true;
-			}
-		});
-	}
-	
-	public void testUnmanageFolder() throws CoreException, TeamException {
-		IProject project = createProject("testUnmanageFolder_A", new String[] {"a.txt", "folder1/", "folder1/b.txt", "folder1/folder2/", "folder1/folder2/c.txt"});
-		ICVSFolder cvsProject = CVSWorkspaceRoot.getCVSFolderFor(project);
-		assertChildrenHaveSync(project, true);
-		
-		// test that unmanaging the project flushes sync info
-		cvsProject.unmanage(null);
-		assertChildrenHaveSync(project, false);
-		
-		final IProject projectB = createProject("testUnmanageFolder_B", new String[] {"a.txt", "folder1/", "folder1/b.txt", "folder1/folder2/", "folder1/folder2/c.txt"});
-		final ICVSFolder cvsProjectB = CVSWorkspaceRoot.getCVSFolderFor(projectB);
-		assertChildrenHaveSync(projectB, true);
-		
-		// test that unmanaging in a CVS runnable flushes too
-		cvsProjectB.run(new ICVSRunnable() {
-			public void run(IProgressMonitor monitor) throws CVSException {
-					try {
-						assertChildrenHaveSync(projectB, true);
-						cvsProjectB.unmanage(null);
-						assertChildrenHaveSync(projectB, false);
-					} catch(CoreException e) {
-						throw CVSException.wrapException(e);
-					}
-			}
-		}, null);		
-		assertChildrenHaveSync(projectB, false);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/EclipseSynchronizerTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/EclipseSynchronizerTest.java
deleted file mode 100644
index ba3502a..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/EclipseSynchronizerTest.java
+++ /dev/null
@@ -1,731 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.cvsresources;
-
-
-import java.util.*;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer;
-import org.eclipse.team.internal.ccvs.core.syncinfo.*;
-import org.eclipse.team.internal.ccvs.core.util.SyncFileWriter;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-
-/**
- * Tests the EclipseSynchronizer.
- * Does not test state change broadcasts.
- */
-public class EclipseSynchronizerTest extends EclipseTest {
-	private static EclipseSynchronizer sync = EclipseSynchronizer.getInstance();
-	
-	public EclipseSynchronizerTest() {
-		super();
-	}
-	
-	public EclipseSynchronizerTest(String name) {
-		super(name);
-	}
-	
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-
-		// Run all tests twice to ensure consistency between batched and non-batched behaviour.
-		// 1. First run -- no batching
-		suite.addTestSuite(EclipseSynchronizerTest.class);
-		// 2. Second run -- with batching
-		suite.addTest(new BatchedTestSetup(new TestSuite(EclipseSynchronizerTest.class)));
-		return new CVSTestSetup(suite);
-	}
-	
-	public void testFolderSync() throws CoreException, CVSException {
-		// Workspace root
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		// Setting should not be an error but sync info should always be null
-		FolderSyncInfo info = sync.getFolderSync(root);
-		assertNull(info);
-		sync.deleteFolderSync(root);
-		sync.setFolderSync(root, dummyFolderSync(root));
-		info = sync.getFolderSync(root);
-		assertNull(info);
-
-		// Non-existant project
-		IProject project = root.getProject(getName() + "-" + System.currentTimeMillis());
-		assertDoesNotExistInFileSystem(project);
-		_testFolderSyncInvalid(project);
-
-		// Project
-		project.create(null);
-		project.open(null);
-		_testFolderSyncValid(project);
-		
-		// Non-existant folder
-		IFolder folder = project.getFolder("folder1");
-		assertDoesNotExistInFileSystem(folder);
-		_testFolderSyncInvalid(folder);
-		
-		// Non-existant folder with non-existant parent
-		IFolder childFolder = folder.getFolder("folder2");
-		assertDoesNotExistInFileSystem(childFolder);
-		_testFolderSyncInvalid(childFolder);
-		
-		// Folder
-		folder.create(false /*force*/, true /*local*/, null);
-		_testFolderSyncValid(folder);
-		
-		// Child folder
-		childFolder.create(false /*force*/, true /*local*/, null);
-		_testFolderSyncValid(childFolder);
-		
-		// Deleted folder -- sync info should no longer exist
-		sync.setFolderSync(folder, dummyFolderSync(folder));
-		folder.delete(false /*force*/, null);
-		_testFolderSyncInvalid(folder); // verifies sync info was deleted
-		
-		// Recreated folder -- sync info should not be preserved across deletions
-		folder.create(false /*force*/, true /*local*/, null);
-		sync.setFolderSync(folder, dummyFolderSync(folder));
-		folder.delete(false /*force*/, null);
-		folder.create(false /*force*/, true /*local*/, null);
-		_testFolderSyncValid(folder); // verifies sync info has not reappeared
-		
-		// Deleted project
-		sync.setFolderSync(project, dummyFolderSync(project));
-		project.delete(false /*force*/, null);
-		_testFolderSyncInvalid(project);
-	}
-	
-	/*
-	 * Test get/set/delete folder sync for things that support it.
-	 * Assumes container does not already have sync info.
-	 */
-	private void _testFolderSyncValid(IContainer container) throws CoreException, CVSException {
-		FolderSyncInfo info = sync.getFolderSync(container);
-		assertNull(info);
-		sync.deleteFolderSync(container);
-		FolderSyncInfo newInfo = dummyFolderSync(container);
-		sync.setFolderSync(container, newInfo);
-		info = sync.getFolderSync(container);
-		assertEquals(newInfo, info);
-		// verify that deleteFolderSync() does the right thing
-		buildResources(container, new String[] { "hassync/", "nosync", "hassync.txt", "nosync.txt" }, true);
-		IResource resource = container.getFile(new Path("hassync.txt"));
-		sync.setResourceSync(resource, dummyResourceSync(resource));
-		resource = container.getFolder(new Path("hassync"));
-		sync.setResourceSync(resource, dummyResourceSync(resource));
-		assertNotNull(sync.getResourceSync(container.getFile(new Path("hassync.txt"))));
-		assertNull(sync.getResourceSync(container.getFile(new Path("nosync.txt"))));
-		assertNotNull(sync.getResourceSync(container.getFolder(new Path("hassync"))));
-		assertNull(sync.getResourceSync(container.getFolder(new Path("nosync"))));
-		if (container.getType() == IResource.FOLDER) {
-			sync.setResourceSync(container, dummyResourceSync(container));
-			assertNotNull(sync.getResourceSync(container));
-		}
-		// should delete folder sync for self, and resource sync for children
-		sync.deleteFolderSync(container);
-		info = sync.getFolderSync(container);
-		assertNull(info);
-		assertNull(sync.getResourceSync(container.getFile(new Path("hassync.txt"))));
-		assertNull(sync.getResourceSync(container.getFile(new Path("nosync.txt"))));
-		assertNull(sync.getResourceSync(container.getFolder(new Path("hassync"))));
-		assertNull(sync.getResourceSync(container.getFolder(new Path("nosync"))));
-		if (container.getType() == IResource.FOLDER) {
-			assertNotNull(sync.getResourceSync(container));
-		}
-	}
-	
-	/*
-	 * Test get/set/delete folder sync for things that should not support it.
-	 * Assumes container does not already have sync info.
-	 */
-	private void _testFolderSyncInvalid(IContainer container) throws CVSException {
-		FolderSyncInfo info = sync.getFolderSync(container);
-		assertNull(info);
-		sync.deleteFolderSync(container);
-		try {
-			sync.setFolderSync(container, dummyFolderSync(container));
-			fail("Expected CVSException");
-		} catch (CVSException e) {
-		}
-		info = sync.getFolderSync(container);
-		assertNull(info);
-	}
-	
-	public void testResourceSync() throws CoreException, CVSException {
-		// Workspace root
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		_testResourceSyncInvalid(root);
-
-		// Project
-		IProject project = getUniqueTestProject(getName());
-		assertExistsInFileSystem(project);
-		_testResourceSyncInvalid(project);
-		
-		// Folder
-		IFolder folder = project.getFolder("folder1");
-		folder.create(false /*force*/, true /*local*/, null);
-		_testResourceSyncValid(folder);
-		
-		// File
-		IFile file = folder.getFile("file1");
-		file.create(getRandomContents(), false /*force*/, null);
-		_testResourceSyncValid(file);
-		
-		// Deleted/recreated file -- if parent exists, sync info should be preserved across deletions
-		ResourceSyncInfo info = dummyResourceSync(file);
-		sync.setResourceSync(file, info);
-		// Note: deleting a resource will delete it's sync info unless the project has a CVS provider
-		file.delete(false /*force*/, null);
-		ResourceSyncInfo newInfo = sync.getResourceSync(file);
-		//assertEquals(newInfo, info);
-		assertEquals(newInfo, null); /* changed for reason noted above */
-		file.create(getRandomContents(), false /*force*/, null);
-		sync.setResourceSync(file, info); /* added for reason noted above */
-		newInfo = sync.getResourceSync(file);
-		assertEquals(newInfo, info);
-		sync.deleteResourceSync(file);
-		file.delete(false /*force*/, null);
-		_testResourceSyncValid(file);
-		
-		// Deleted parent -- sync info of children should also be deleted
-		sync.setResourceSync(file, info);
-		folder.delete(false /*force*/, null);
-		info = sync.getResourceSync(file);
-		assertNull(info);
-		
-		// File in non-existant folder
-		IFolder dummyFolder = project.getFolder("folder2");
-		assertDoesNotExistInFileSystem(dummyFolder);
-		IFile dummyFile = dummyFolder.getFile("file2");
-		assertDoesNotExistInFileSystem(dummyFile);
-		_testResourceSyncInvalid(dummyFile);
-	}
-	
-	/*
-	 * Test get/set/delete resource sync for things that support it.
-	 * Assumes resource does not already have sync info.
-	 */
-	private void _testResourceSyncValid(IResource resource) throws CVSException {
-		ResourceSyncInfo info = sync.getResourceSync(resource);
-		assertNull(info);
-		sync.deleteResourceSync(resource);
-		ResourceSyncInfo newInfo = dummyResourceSync(resource);
-		sync.setResourceSync(resource, newInfo);
-		info = sync.getResourceSync(resource);
-		assertEquals(newInfo, info);
-		sync.deleteResourceSync(resource);
-		info = sync.getResourceSync(resource);
-		assertNull(info);
-	}
-	
-	/*
-	 * Test get/set/delete resource sync for things that should not support it.
-	 * Assumes resource does not already have sync info.
-	 */
-	private void _testResourceSyncInvalid(IResource resource) throws CVSException {
-		ResourceSyncInfo info = sync.getResourceSync(resource);
-		assertNull(info);
-		sync.deleteResourceSync(resource);
-		try {
-			sync.setResourceSync(resource, dummyResourceSync(resource));
-			fail("Expected CVSException");
-		} catch (CVSException e) {
-		}
-		info = sync.getResourceSync(resource);
-		assertNull(info);
-	}
-
-	public void testIsIgnored() throws CoreException, TeamException {
-		IProject project = getUniqueTestProject("isIgnoredTests");
-		CVSTeamProvider.markAsTempShare(project);
-		buildResources(project, new String[] {"a.txt", "c.java", "folder1/", "folder1/b.txt", "folder2/"}, true /* include project */);
-		
-		sync.addIgnored(project, "*.txt");
-		
-		assertIsIgnored(project.getFile("a.txt"), true);
-		assertIsIgnored(project.getFile("c.java"), false);
-		assertIsIgnored(project.getFolder("folder1"), false);
-		assertIsIgnored(project.getFolder("folder2"), false);
-		assertIsIgnored(project.getFile("folder1/b.txt"), false);	
-		assertIsIgnored(project.getFile("folder1/not-existing.txt"), false);
-		assertIsIgnored(project.getParent(), false);
-		assertIsIgnored(project, false);
-		
-		sync.addIgnored(project, "folder1");
-		
-		assertIsIgnored(project.getFile("a.txt"), true);
-		assertIsIgnored(project.getFile("c.java"), false);
-		assertIsIgnored(project.getFolder("folder1"), true);
-		assertIsIgnored(project.getFolder("folder2"), false);
-		assertIsIgnored(project.getFile("folder1/b.txt"), true);	
-		assertIsIgnored(project.getFile("folder1/not-existing.txt"), true);
-		assertIsIgnored(project.getParent(), false);
-		assertIsIgnored(project, false);
-		
-		// delete the ignores, the resource delta should clear the cached
-		// ignore list
-		IResource cvsIgnore = project.getFile(".cvsignore");
-		cvsIgnore.delete(true, null);
-		waitForIgnoreFileHandling();
-		
-		assertIsIgnored(project.getFile("a.txt"), false);
-		assertIsIgnored(project.getFile("c.java"), false);
-		assertIsIgnored(project.getFolder("folder1"), false);
-		assertIsIgnored(project.getFolder("folder2"), false);
-		assertIsIgnored(project.getFile("folder1/b.txt"), false);	
-		assertIsIgnored(project.getFile("folder1/not-existing.txt"), false);
-		assertIsIgnored(project.getParent(), false);
-		assertIsIgnored(project, false);
-		project.delete(true, true, null);
-	}
-	
-	public void testIgnores() throws CoreException, CVSException {
-		// Workspace root
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		_testIgnoresInvalid(root);
-
-		// Non-existant project
-		IProject project = root.getProject(getName() + "-" + System.currentTimeMillis());
-		assertDoesNotExistInFileSystem(project);
-		_testIgnoresInvalid(project);
-
-		// Project
-		project.create(null);
-		project.open(null);
-		_testIgnoresValid(project);
-		
-		// Non-existant folder
-		IFolder folder = project.getFolder("folder1");
-		assertDoesNotExistInFileSystem(folder);
-		_testIgnoresInvalid(folder);
-		
-		// Non-existant folder with non-existant parent
-		IFolder childFolder = folder.getFolder("folder2");
-		assertDoesNotExistInFileSystem(childFolder);
-		_testIgnoresInvalid(childFolder);
-		
-		// Folder
-		folder.create(false /*force*/, true /*local*/, null);
-		_testIgnoresValid(folder);
-		
-		// Child folder
-		childFolder.create(false /*force*/, true /*local*/, null);
-		_testIgnoresValid(childFolder);
-		
-		// Deleted folder -- ignores should no longer exist
-		sync.addIgnored(folder, "*.foo");
-		folder.delete(false /*force*/, null);
-		_testIgnoresInvalid(folder); // verifies sync info was deleted
-		
-		// Recreated folder -- sync info should not be preserved across deletions
-		folder.create(false /*force*/, true /*local*/, null);
-		sync.addIgnored(folder, "*.foo");
-		folder.delete(false /*force*/, null);
-		folder.create(false /*force*/, true /*local*/, null);
-		_testIgnoresValid(folder); // verifies sync info has not reappeared
-		
-		// Deleted project
-		sync.addIgnored(project, "*.foo");
-		project.delete(false /*force*/, null);
-		_testIgnoresInvalid(project);
-	}
-	
-	
-	
-	/*
-	 * Test get/set ignores for things that should not support it.
-	 * Assumes resource does not already have ignores.
-	 */
-	private void _testIgnoresValid(IContainer container) throws CVSException {
-		String[] ignored = getIgnored(container);
-		assertTrue(ignored.length == 0);
-		sync.addIgnored(container, "*.xyz");
-		ignored = getIgnored(container);
-		assertBijection(ignored, new String[] { "*.xyz" }, null);
-		sync.addIgnored(container, "*.abc");
-		sync.addIgnored(container, "*.def");
-		ignored = getIgnored(container);
-		assertBijection(ignored, new String[] { "*.abc", "*.def", "*.xyz" }, null);
-	}
-
-	/**
-	 * TODO: should use chached ignores somehow
-	 * @param container
-	 * @return String[]
-	 * @throws CVSException
-	 */
-	private String[] getIgnored(IContainer container) throws CVSException {
-		if (container.getType() == IResource.ROOT) return new String[0];
-		String[] ignored = SyncFileWriter.readCVSIgnoreEntries(container);
-		if (ignored == null) return new String[0];
-		return ignored;
-	}
-
-	/*
-	 * Test get/set ignores for things that should not support it.
-	 * Assumes resource does not already have ignores.
-	 */
-	private void _testIgnoresInvalid(IContainer container) throws CVSException {
-		try {
-			sync.addIgnored(container, "*.xyz");
-			fail("Expected CVSException");
-		} catch (CVSException e) {
-		}
-	}
-	
-	public void testMembers() throws CoreException, CVSException {
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IProject project1 = getUniqueTestProject(getName() + "1");
-		IProject project2 = root.getProject(getName() + "2" + System.currentTimeMillis());
-
-		// Workspace root
-		IResource[] members = sync.members(ResourcesPlugin.getWorkspace().getRoot());
-		assertBijection(members, ResourcesPlugin.getWorkspace().getRoot().getProjects(), null);
-
-		// Non-existant project
-		members = sync.members(project2);
-		assertEquals("Non-existant project should have no members", 0, members.length);
-		
-		// Non-existant folder
-		IFolder folder = project1.getFolder("folder1");
-		assertDoesNotExistInFileSystem(folder);
-		members = sync.members(folder);
-		assertEquals("Non-existant folder should have no members", 0, members.length);
-		
-		// Non-existant folder with non-existant parent
-		IFolder childFolder = folder.getFolder("folder2");
-		assertDoesNotExistInFileSystem(childFolder);
-		members = sync.members(childFolder);
-		assertEquals("Non-existant folder should have no members", 0, members.length);
-		
-		// Project
-		buildResources(project1, new String[] {
-			"hassync.txt", "deleted_nosync.txt", "deleted.txt", "hassync/", "deleted/", "deleted_nosync/" }, true);
-
-		// initially none of the resources have sync info and they all exist
-		Object[] ignores = new Object[] { project1.getFolder("CVS") };
-		Set expectedMembers = new HashSet(Arrays.asList(project1.members()));
-		members = sync.members(project1);
-		assertBijection(expectedMembers.toArray(), members, ignores);
-		
-		// add sync info, resources should still appear exactly once
-		IResource resource = project1.getFile("hassync.txt");
-		sync.setResourceSync(resource, dummyResourceSync(resource));
-		resource = project1.getFolder("hassync");
-		sync.setResourceSync(resource, dummyResourceSync(resource));
-
-		resource = project1.getFile("deleted.txt");
-		sync.setResourceSync(resource, dummyResourceSync(resource));
-		resource = project1.getFolder("deleted");
-		sync.setResourceSync(resource, dummyResourceSync(resource));
-
-		members = sync.members(project1);
-		assertBijection(expectedMembers.toArray(), members, ignores);
-
-		// delete resources, those with sync info should still appear, those without should not
-		// (Note: This is only true for projects that have a CVS provider)
-		resource = project1.getFile("deleted.txt");
-		resource.delete(false /*force*/, null);
-		expectedMembers.remove(resource); /* added for reason noted above */
-		resource = project1.getFolder("deleted");
-		resource.delete(false /*force*/, null);
-		expectedMembers.remove(resource); /* added for reason noted above */
-
-		resource = project1.getFile("deleted_nosync.txt");
-		resource.delete(false /*force*/, null);
-		expectedMembers.remove(resource);
-		resource = project1.getFolder("deleted_nosync");
-		resource.delete(false /*force*/, null);
-		expectedMembers.remove(resource);
-
-		members = sync.members(project1);
-		assertBijection(expectedMembers.toArray(), members, ignores);
-		
-		// delete sync info, only those that exist should appear
-		resource = project1.getFile("hassync.txt");
-		sync.deleteResourceSync(resource);
-		resource = project1.getFolder("hassync");
-		sync.deleteResourceSync(resource);
-
-		resource = project1.getFile("deleted.txt");
-		sync.deleteResourceSync(resource);
-		expectedMembers.remove(resource);
-		resource = project1.getFolder("deleted");
-		sync.deleteResourceSync(resource);
-		expectedMembers.remove(resource);
-
-		members = sync.members(project1);
-		assertBijection(expectedMembers.toArray(), members, ignores);
-	}
-	
-	private FolderSyncInfo dummyFolderSync(IContainer container) {
-		return new FolderSyncInfo("repo", ":pserver:user@host:/root", CVSTag.DEFAULT, false);
-	}
-
-	private ResourceSyncInfo dummyResourceSync(IResource resource) {
-		if (resource.getType() == IResource.FILE) {
-			MutableResourceSyncInfo info = new MutableResourceSyncInfo(resource.getName(), "1.1");
-			info.setTag(CVSTag.DEFAULT);
-			return info;
-		} else {
-			return new ResourceSyncInfo(resource.getName());
-		}
-	}
-	
-	/**
-	 * Assert that there exists a bijection between the elements of the arrays.
-	 */
-	private void assertBijection(Object[] a, Object[] b, Object[] ignores) {
-		List listA = new LinkedList(Arrays.asList(a));
-		List listB = new LinkedList(Arrays.asList(b));
-		if (ignores != null) {
-			for (int i = 0; i < ignores.length; ++i ) {
-				listA.remove(ignores[i]);
-				listB.remove(ignores[i]);
-			}
-		}
-		assertEquals("Should have same number of elements", listA.size(), listB.size());
-		for (Iterator it = listB.iterator(); it.hasNext();) {
-			Object obj = it.next();
-			assertTrue("Should contain the same elements", listA.contains(obj));
-			listA.remove(obj);
-		}
-	}
-	
-	/**
-	 * Create a test project whose name is derived from the currently running test case.
-	 * The resources are built using the names supplied in the given String array.
-	 * Paths ending in / will be folders while others will be files. Intermediate folders
-	 * are created as needed. Dummy sync info is applied to all created resources and
-	 * the project is mapped to the CVS repository provider.
-	 * @param resourcePaths paths of resources to be generated
-	 * @return the create project
-	 */
-	protected IProject createProject(String[] resourcePaths) throws CoreException {
-		// Create the project and build the resources
-		IProject project = getUniqueTestProject(getName());
-		buildResources(project, resourcePaths, true);
-		
-		// Associate dummy sync info with al create resources
-		project.accept(new IResourceVisitor() {
-			public boolean visit(IResource resource) throws CoreException {
-				if (resource.getType() != IResource.PROJECT) {
-					sync.setResourceSync(resource, dummyResourceSync(resource));
-				}
-				if (resource.getType() != IResource.FILE) {
-					sync.setFolderSync((IContainer)resource, dummyFolderSync((IContainer)resource));
-				}
-				return true;
-			}
-		});
-		
-		// Map the project to CVS so the Move/Delete hook works
-		RepositoryProvider.map(project, CVSProviderPlugin.getTypeId());
-		return project;
-	}
-	
-	/**
-	 * Assert that the resources at the given resource paths have sync info.
-	 * Also assert that the ancestors of the resources also have sync info
-	 * @param project the project containing the resources
-	 * @param resourcePaths the project relative resource paths
-	 * @throws CVSException
-	 */
-	protected void assertHasSyncInfo(IProject project, String[] resourcePaths) throws CVSException {
-		for (int i = 0; i < resourcePaths.length; i++) {
-			String path = resourcePaths[i];
-			IResource resource = findResource(project, path);
-			assertHasSyncInfo(resource);
-		}
-	}
-
-	private IResource findResource(IProject project, String path) {
-		IResource resource = project.findMember(path);
-		if (resource == null) {
-			if (path.charAt(path.length()-1) == Path.SEPARATOR)
-				resource = (IResource) project.getFolder(path);
-			else
-				resource = (IResource) project.getFile(path);
-		}
-		return resource;
-	}
-
-	/**
-	 * Assert that the resource and its ancestors have sync info
-	 * @param resource the resource being queried
-	 * @throws CVSException
-	 */
-	protected void assertHasSyncInfo(IResource resource) throws CVSException {
-		if (resource.getType() == IResource.ROOT) return;
-		if (resource.getType() != IResource.FILE) {
-			assertNotNull("Folder should have folder sync info but does not: " + resource.getProjectRelativePath(), sync.getFolderSync((IContainer)resource));
-		}
-		if (resource.getType() != IResource.PROJECT) {
-			assertNotNull("Resource should have sync bytes but does not: " + resource.getProjectRelativePath(), sync.getSyncBytes(resource));
-			assertHasSyncInfo(resource.getParent());
-		}
-	}
-	
-	/**
-	 * Assert that the resources at the given resource paths do not have sync info.
-	 * Also assert that the descendants of the resources also do not have sync info
-	 * @param project
-	 * @param resourcePaths
-	 * @throws CVSException
-	 */
-	private void assertHasNoSyncInfo(IProject project, String[] resourcePaths) throws CoreException {
-		for (int i = 0; i < resourcePaths.length; i++) {
-			String path = resourcePaths[i];
-			IResource resource = findResource(project, path);
-			assertHasNoSyncInfo(resource);
-		}
-	}
-	
-	protected void assertHasNoSyncInfo(IResource resource) throws CoreException {
-		if (resource.getType() == IResource.ROOT) return;
-		if (resource.getType() != IResource.FILE) {
-			assertNull("Folder should not have folder sync but does: " + resource.getProjectRelativePath(), sync.getFolderSync((IContainer)resource));
-			IResource[] members = ((IContainer)resource).members();
-			for (int i = 0; i < members.length; i++) {
-				IResource child = members[i];
-				assertHasNoSyncInfo(child);
-			}
-		}
-		if (resource.getType() != IResource.PROJECT) {
-			assertNull("Resource should not have sync bytes but does: " + resource.getProjectRelativePath(), sync.getSyncBytes(resource));
-		}
-	}
-
-	public void testDeleteFile() throws CoreException {
-		// Create a project with dummy sync info
-		IProject project =  createProject(new String[] {"folder1/folder2/file1", "folder1/folder2/file2"});
-		
-		// Delete the file and assert old sync info is still in place and new has no sync info
-		IFile file = project.getFile("folder1/folder2/file1");
-		file.delete(false, false, null);
-		assertHasSyncInfo(project, new String[] {"folder1/folder2/file1"});
-	}
-	
-	public void testDeleteFolder() throws CoreException {
-		// Create a project with dummy sync info
-		IProject project =  createProject(new String[] {"folder1/folder2/file1", "folder1/folder2/file2"});
-		
-		// Delete the folder and assert old sync info is still in place and new has no sync info
-		IFolder folder = project.getFolder("folder1/folder2/");
-		folder.delete(false, false, null);
-		assertHasSyncInfo(project, new String[] {"folder1/folder2/file1", "folder1/folder2/file2"});
-	}
-	
-	public void testMoveFile() throws CoreException {
-		// Create a project with dummy sync info
-		IProject project =  createProject(new String[] {"folder1/folder2/file1", "folder1/folder2/file2"});
-		
-		// Move the file and assert old sync info is still in place and new has no sync info
-		IFile file = project.getFile("folder1/folder2/file1");
-		project.getFolder("folder1/folder3/").create(false, true, null);
-		file.move(project.getFolder("folder1/folder3/file1").getFullPath(), false, null);
-		assertHasSyncInfo(project, new String[] {"folder1/folder2/file1"});
-		assertHasNoSyncInfo(project, new String[] {"folder1/folder3"});
-	}
-	
-	public void testMoveFolder() throws CoreException {
-		// Create a project with dummy sync info
-		IProject project =  createProject(new String[] {"folder1/folder2/file1"});
-		
-		// Move the folder and assert old sync info is still in place and new has no sync info
-		IFolder folder = project.getFolder("folder1/folder2/");
-		folder.move(project.getFolder("folder1/folder3").getFullPath(), false, null);
-		assertHasSyncInfo(project, new String[] {"folder1/folder2/file1"});
-		assertHasNoSyncInfo(project, new String[] {"folder1/folder3/"});
-	}
-	
-	/*
-	 * See bug 44446
-	 */
-	public void testFileRecreation() throws CoreException {
-		// Create a project with dummy sync info
-		IProject project =  createProject(new String[] {"folder1/file1"});
-		
-		// Remove the file and assert that it still has sync info
-		IFile file = project.getFile("folder1/file1");
-		file.delete(false, false, null);
-		assertHasSyncInfo(file);
-		
-		// Recreate the file and assert that it still has sync info
-		file.create(getRandomContents(), false /*force*/, null);
-		assertHasSyncInfo(file);
-		
-		// unmanage the file and assert that sync info is gone
-		sync.deleteResourceSync(file);
-		assertHasNoSyncInfo(file);
-	}
-	
-	/*
-	 * This testcase simulates an update that has an incoming deletion and a merge 
-	 * (which may do a move).
-	 */
-	public void testFileMoveAndDelete() throws CoreException {
-		// Create a project with dummy sync info
-		final IProject project =  createProject(new String[] {"folder1/file1", "folder1/file2"});
-		
-		sync.run(project, new ICVSRunnable() {
-			public void run(IProgressMonitor monitor) throws CVSException {
-				try {
-					IFile file1 = project.getFile("folder1/file1");
-					IFile file2 = project.getFile("folder1/file2");
-					// Delete file 1
-					file1.delete(false, false, null);
-					assertHasSyncInfo(file1);
-					assertHasSyncInfo(file2);
-					sync.deleteResourceSync(file1);
-					assertHasNoSyncInfo(file1);
-					assertHasSyncInfo(file2);
-					// Move file 2
-					file2.move(new Path("file3"), false, false, null);
-					assertHasNoSyncInfo(file1);
-					assertHasSyncInfo(file2);
-				} catch (CoreException e) {
-					throw CVSException.wrapException(e);
-				}
-			}
-		}, null);
-	}
-	
-	public void testMoveFolderOverFolder() throws CoreException {
-		// Create a project with dummy sync info
-		final IProject project =  createProject(new String[] {"folder1/file1", "folder2/file1"});
-		
-		// Change the sync info of folder1/file1 to be revision 1.9
-		String revision = "1.9";
-		IFile file11 = project.getFile("folder1/file1");
-		ResourceSyncInfo info = sync.getResourceSync(file11);
-		MutableResourceSyncInfo muttable = info.cloneMutable();
-		muttable.setRevision(revision);
-		sync.setResourceSync(file11, muttable);
-		
-		// Move the folder and verify that the sync info stays
-		project.getFolder("folder2").delete(false, false, null);
-		project.getFolder("folder1").move(new Path("folder2"), false, false, null);
-		assertHasSyncInfo(file11);
-		IFile file21 = project.getFile("folder2/file1");
-		assertHasSyncInfo(file21);
-		assertTrue(sync.getResourceSync(file11).getRevision().equals(revision));
-		assertTrue(!sync.getResourceSync(file21).getRevision().equals(revision));
-		
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/ResourceSyncBytesTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/ResourceSyncBytesTest.java
deleted file mode 100644
index 0c92e1c..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/ResourceSyncBytesTest.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.cvsresources;
-
-import java.text.ParseException;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.client.Session;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.core.util.*;
-import org.eclipse.team.internal.ccvs.core.util.CVSDateFormatter;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-import org.eclipse.team.tests.ccvs.core.TestConnection;
-
-public class ResourceSyncBytesTest extends EclipseTest {
-
-	public ResourceSyncBytesTest() {
-		super();
-	}
-
-	public ResourceSyncBytesTest(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(ResourceSyncBytesTest.class);
-		return new CVSTestSetup(suite);
-	}
-	
-	/**
-	 * Convert the input to bytes and get the bytes in the given slot delimited by slash (/).
-	 * Only retieve the bytes in the given slot and not the rest.
-	 * @param input
-	 * @param slot
-	 * @return
-	 */
-	private byte[] getBytesForSlot(String input, int slot) {
-		return getBytesForSlot(input, slot, false /* include rest */);
-	}
-	
-	/**
-	 * Convert the input to bytes and get the bytes in the given slot delimited by slash (/).
-	 * @param input
-	 * @param slot
-	 * @return
-	 */
-	private byte[] getBytesForSlot(String input, int slot, boolean includeRest) {
-		byte[] result = Util.getBytesForSlot(input.getBytes(), (byte) '/', slot, includeRest);
-		return result;
-	}
-	
-	private void assertEqualBytes(String expected, byte[] actual) {
-		assertEquals(expected, new String(actual));
-	}
-	
-	public void testUtilGetBytesForSlot() {
-		// test success cases
-		String input = "zero/one/two";
-		assertEqualBytes("zero", getBytesForSlot(input, 0));
-		assertEqualBytes("one", getBytesForSlot(input, 1));
-		assertEqualBytes("two", getBytesForSlot(input, 2));
-		assertEqualBytes("one/two", getBytesForSlot(input, 1, true /* include rest */));
-		assertEqualBytes("", getBytesForSlot("///", 0));
-		assertEqualBytes("", getBytesForSlot("///", 1));
-		assertEqualBytes("", getBytesForSlot("///", 2));
-		assertEqualBytes("/", getBytesForSlot("///", 2, true /* include rest */));
-		
-		// test failure cases
-		input = "zero/one/two";
-		assertNull(getBytesForSlot(input, 3));
-		assertNull(getBytesForSlot(input, 4));
-		assertNull(getBytesForSlot(input, -1));
-	}
-
-	public void testSendEntry() throws CVSException, ParseException {
-		ICVSRepositoryLocation location = KnownRepositories.getInstance().getRepository(":test:user:password@host:/path");
-		// disable version detemrination to reduce traffic
-		CVSProviderPlugin.getPlugin().setDetermineVersionEnabled(false);
-		// create and open a session
-		Session session = new Session(location, CVSWorkspaceRoot.getCVSFolderFor(ResourcesPlugin.getWorkspace().getRoot()));
-		session.open(DEFAULT_MONITOR, false /* read-only */);
-		
-		// test a normal entry line
-		byte[] entryLine = "/plugin.xml/1.27/Tue Mar  4 19:47:36 2003/-ko/".getBytes();
-		session.sendEntry(entryLine, ResourceSyncInfo.getTimestampToServer(entryLine, CVSDateFormatter.entryLineToDate("Tue Mar  4 19:47:36 2003")));
-		assertEquals("Entry /plugin.xml/1.27//-ko/", TestConnection.getLastLine());
-		
-		// test a server merged with conflict entry line
-		entryLine = "/newfile.txt/1.10/Result of merge+Thu Mar 20 16:36:56 2003//".getBytes();
-		session.sendEntry(entryLine, ResourceSyncInfo.getTimestampToServer(entryLine, CVSDateFormatter.entryLineToDate("Thu Mar 20 16:36:56 2003")));
-		assertEquals("Entry /newfile.txt/1.10/+=//", TestConnection.getLastLine());
-		
-		// test a server merged entry line
-		entryLine = "/newfile.txt/1.10/Result of merge+Thu Mar 20 16:36:56 2003//".getBytes();
-		session.sendEntry(entryLine, ResourceSyncInfo.getTimestampToServer(entryLine, CVSDateFormatter.entryLineToDate("Thu Mar 20 16:37:56 2003")));
-		assertEquals("Entry /newfile.txt/1.10/+modified//", TestConnection.getLastLine());
-		
-		// test added entry line
-		entryLine = "/plugin.xml/0/dummy timestamp/-ko/".getBytes();
-		session.sendEntry(entryLine, ResourceSyncInfo.getTimestampToServer(entryLine, CVSDateFormatter.entryLineToDate("Tue Mar  4 19:47:36 2003")));
-		assertEquals("Entry /plugin.xml/0//-ko/", TestConnection.getLastLine());
-		
-		// test empty timestamp entry line
-		entryLine = "/plugin.xml/1.1//-ko/".getBytes();
-		session.sendEntry(entryLine, ResourceSyncInfo.getTimestampToServer(entryLine, CVSDateFormatter.entryLineToDate("Tue Mar  4 19:47:36 2003")));
-		assertEquals("Entry /plugin.xml/1.1//-ko/", TestConnection.getLastLine());
-		
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/ResourceSyncInfoTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/ResourceSyncInfoTest.java
deleted file mode 100644
index d448da7..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/cvsresources/ResourceSyncInfoTest.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.cvsresources;
-import java.util.Date;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-
-public class ResourceSyncInfoTest extends EclipseTest {
-
-	public ResourceSyncInfoTest() {
-		super();
-	}
-	
-	public ResourceSyncInfoTest(String name) {
-		super(name);
-	}
-	
-	public static Test suite() {
-		TestSuite suite = new TestSuite(ResourceSyncInfoTest.class);
-		return new CVSTestSetup(suite);
-	}
-		
-	public void testEntryLineParsing() {
-		
-		// testing malformed entry lines first
-		try {
-			new ResourceSyncInfo("//////", null);			
-			fail();
-		} catch(CVSException e) {
-			// Error expected
-		}
-		try {
-			new ResourceSyncInfo("//1.1///", null);			
-			fail();
-		} catch(CVSException e) {
-			// Error expected
-		}
-		try {
-			new ResourceSyncInfo("/file.txt////", null);			
-			fail();
-		} catch(CVSException e) {
-			// Error expected
-		}
-		try {
-			new ResourceSyncInfo("/file.txt//////////", null);			
-			fail();
-		} catch(CVSException e) {
-			// Error expected
-		}
-	}
-	
-	public void testEntryLineConstructor() throws CVSException {		
-		ResourceSyncInfo info;
-		info = new ResourceSyncInfo("/file.java/-1.1/Mon Feb 25 21:44:02 2002/-k/", null);
-		assertTrue(info.isDeleted());
-		
-		info = new ResourceSyncInfo("/file.java/0/something/-k/", null);
-		assertTrue(info.isAdded());
-		
-		info = new ResourceSyncInfo("/file.java/1.0/Mon Feb 25 21:44:02 2002/-k/Tv1", null);
-		assertTrue(info.getTag() != null);
-		
-		Date timestamp = new Date(123000);
-		info = new ResourceSyncInfo("/file.java/1.0/Mon Feb 25 21:44:02 2002/-k/Tv1", timestamp);
-		assertTrue(info.getTimeStamp().equals(timestamp));
-		
-		info = new ResourceSyncInfo("/file.java/0/Mon Feb 25 21:44:02 2002/-k/", timestamp);
-		assertTrue(info.getTimeStamp().equals(timestamp));
-		
-		info = new ResourceSyncInfo("D/file.java////", null);
-		assertTrue(info.isDirectory());
-	}
-	
-	public void testConstructor() throws CVSException {
-		ResourceSyncInfo info;
-		
-		info = new ResourceSyncInfo("folder");
-		assertTrue(info.isDirectory());
-		
-		info = new ResourceSyncInfo("/file.java/-2.34/Mon Feb 25 21:44:02 2002/-k/Tv1", null);
-		assertTrue(info.isDeleted());
-		assertTrue(info.getRevision().equals("2.34"));
-		
-		info = new ResourceSyncInfo("/file.java/0/Mon Feb 25 21:44:02 2002/-k/Tv1", null);
-		assertTrue(info.isAdded());
-	}
-	
-	public void testMergeTimestamps() throws CVSException {
-		ResourceSyncInfo info, info2;
-		Date timestamp = new Date(123000);
-		Date timestamp2 = new Date(654000);
-				
-		info = new ResourceSyncInfo("/file.java/1.1//-kb/", timestamp);
-		assertTrue(!info.isMerged());
-		assertTrue(!info.isNeedsMerge(timestamp));		
-		
-		// test merged entry lines the server and ensure that their entry line format is compatible
-		info = new ResourceSyncInfo("/file.java/1.1/+=/-kb/", timestamp);
-		String entryLine = info.getEntryLine();
-		info2 = new ResourceSyncInfo(entryLine, null);
-		assertTrue(info.isMerged() && info2.isMerged());
-		assertTrue(info.isNeedsMerge(timestamp) && info2.isNeedsMerge(timestamp));
-		assertTrue(!info.isNeedsMerge(timestamp2) && !info2.isNeedsMerge(timestamp2));
-		assertTrue(info.getTimeStamp().equals(timestamp) && info2.getTimeStamp().equals(timestamp));		
-
-		info = new ResourceSyncInfo("/file.java/1.1/+modified/-kb/", null);
-		entryLine = info.getEntryLine();
-		info2 = new ResourceSyncInfo(entryLine, null);	
-		assertTrue(info.isMerged() && info2.isMerged());
-		assertTrue(!info.isNeedsMerge(timestamp) && !info2.isNeedsMerge(timestamp));
-		assertTrue(!info.isNeedsMerge(timestamp2) && !info2.isNeedsMerge(timestamp2));
-		assertTrue(info.getTimeStamp()==null && info2.getTimeStamp()==null);
-	}
-	
-	public void testTimestampCompatibility() throws CVSException, CoreException {
-		String entryLine1 = "/a.bin/1.1/Mon Feb  9 21:44:02 2002/-kb/";
-		String entryLine2 = "/a.bin/1.1/Mon Feb 9 21:44:02 2002/-kb/";
-		String entryLine3 = "/a.bin/1.1/Mon Feb 09 21:44:02 2002/-kb/";		
-		ResourceSyncInfo info1 = new ResourceSyncInfo(entryLine1, null);
-		ResourceSyncInfo info2 = new ResourceSyncInfo(entryLine2, null);
-		ResourceSyncInfo info3 = new ResourceSyncInfo(entryLine3, null);
-		Date date1 = info1.getTimeStamp();
-		Date date2 = info2.getTimeStamp();
-		Date date3 = info3.getTimeStamp();
-		assertTrue(date1.equals(date2));
-		assertTrue(date1.equals(date3));
-		assertTrue(date2.equals(date3));
-	}
-	
-	public void testRevisionComparison() {
-		assertTrue(ResourceSyncInfo.isLaterRevision("1.9", "1.8"));
-		assertTrue( ! ResourceSyncInfo.isLaterRevision("1.8", "1.8"));
-		assertTrue( ! ResourceSyncInfo.isLaterRevision("1.8", "1.9"));
-		
-		assertTrue(ResourceSyncInfo.isLaterRevision("1.8.1.2", "1.8"));
-		assertTrue( ! ResourceSyncInfo.isLaterRevision("1.8", "1.8.1.2"));
-		assertTrue( ! ResourceSyncInfo.isLaterRevision("1.8.1.2", "1.7"));
-		
-		assertTrue( ! ResourceSyncInfo.isLaterRevision("0", "1.1"));
-		assertTrue(ResourceSyncInfo.isLaterRevision("1.1", "0"));
-	}
-	
-	public void testRevisionOnBranchComparison() throws CVSException {
-		ResourceSyncInfo syncInfo1 = new ResourceSyncInfo("/name/1.5/dummy timestamp//", null);
-		ResourceSyncInfo syncInfo2 = new ResourceSyncInfo("/name/1.4/dummy timestamp//", null);
-		
-		ResourceSyncInfo syncInfo3 = new ResourceSyncInfo("/name/1.4.1.2/dummy timestamp//Nb1", null);
-		ResourceSyncInfo syncInfo4 = new ResourceSyncInfo("/name/1.4/dummy timestamp//Nb1", null);
-		
-		ResourceSyncInfo syncInfo5 = new ResourceSyncInfo("/name/1.4.1.2/dummy timestamp//Tv1", null);
-		
-		assertTrue(ResourceSyncInfo.isLaterRevisionOnSameBranch(syncInfo1.getBytes(), syncInfo2.getBytes()));
-		assertTrue( ! ResourceSyncInfo.isLaterRevisionOnSameBranch(syncInfo2.getBytes(), syncInfo1.getBytes()));
-		assertTrue( ! ResourceSyncInfo.isLaterRevisionOnSameBranch(syncInfo1.getBytes(), syncInfo1.getBytes()));
-		
-		assertTrue(ResourceSyncInfo.isLaterRevisionOnSameBranch(syncInfo3.getBytes(), syncInfo4.getBytes()));
-		assertTrue( ! ResourceSyncInfo.isLaterRevisionOnSameBranch(syncInfo4.getBytes(), syncInfo3.getBytes()));
-		assertTrue( ! ResourceSyncInfo.isLaterRevisionOnSameBranch(syncInfo4.getBytes(), syncInfo4.getBytes()));
-		
-		assertTrue( ! ResourceSyncInfo.isLaterRevisionOnSameBranch(syncInfo5.getBytes(), syncInfo4.getBytes()));
-		assertTrue( ! ResourceSyncInfo.isLaterRevisionOnSameBranch(syncInfo4.getBytes(), syncInfo5.getBytes()));
-		assertTrue( ! ResourceSyncInfo.isLaterRevisionOnSameBranch(syncInfo5.getBytes(), syncInfo5.getBytes()));
-	}
-	
-	public void testRepositoryLocationFormats() throws CVSException {
-	    assertPathCorrect(CVSRepositoryLocation.fromString(":pserver:user@host:/home/path"), "/home/path");
-	    assertPathCorrect(CVSRepositoryLocation.fromString(":pserver:user:password@host:/home/path"), "/home/path");
-	    assertPathCorrect(CVSRepositoryLocation.fromString(":pserver:host:/home/path"), "/home/path");
-	    assertPathCorrect(CVSRepositoryLocation.fromString(":pserver:user@host:1234/home/path"), "/home/path");
-	    assertPathCorrect(CVSRepositoryLocation.fromString(":pserver:user:password@host:1234/home/path"), "/home/path");
-	    assertPathCorrect(CVSRepositoryLocation.fromString(":pserver:host:1234/home/path"), "/home/path");
-	    assertPathCorrect(CVSRepositoryLocation.fromString(":pserver:user@host/home/path"), "/home/path");
-	    assertPathCorrect(CVSRepositoryLocation.fromString(":pserver:user:password@host/home/path"), "/home/path");
-	    assertPathCorrect(CVSRepositoryLocation.fromString(":pserver:host/home/path"), "/home/path");
-	}
-
-    private void assertPathCorrect(CVSRepositoryLocation location, String string) throws CVSException {
-        assertEquals(location.getRootDirectory(), string);
-        FolderSyncInfo info = new FolderSyncInfo("childPath", location.getLocation(), null, false);
-        assertEquals(info.getRemoteLocation(), string + '/' + "childPath");
-        
-    }
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/ResourceMapperTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/ResourceMapperTests.java
deleted file mode 100644
index d150bc3..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/ResourceMapperTests.java
+++ /dev/null
@@ -1,710 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.mappings;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.*;
-
-import junit.framework.Test;
-
-import org.eclipse.core.internal.resources.mapping.SimpleResourceMapping;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.diff.*;
-import org.eclipse.team.core.mapping.IResourceDiffTree;
-import org.eclipse.team.core.mapping.provider.ResourceDiffTree;
-import org.eclipse.team.core.synchronize.*;
-import org.eclipse.team.core.variants.CachedResourceVariant;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFolderTree;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFolderTreeBuilder;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.ui.operations.CacheBaseContentsOperation;
-import org.eclipse.team.internal.ccvs.ui.operations.CacheRemoteContentsOperation;
-import org.eclipse.team.internal.core.ResourceVariantCache;
-import org.eclipse.team.internal.core.ResourceVariantCacheEntry;
-import org.eclipse.team.internal.core.mapping.SyncInfoToDiffConverter;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-
-/**
- * Tests for using CVS operations with deep and shallow resource mappings.
- */
-public class ResourceMapperTests extends EclipseTest {
-
-    public ResourceMapperTests() {
-        super();
-    }
-
-    public ResourceMapperTests(String name) {
-        super(name);
-    }
-
-    public static Test suite() {
-        return suite(ResourceMapperTests.class);
-    }
-    
-    /**
-     * Update the resources contained in the given mappers and ensure that the
-     * update was performed properly by comparing the result with the reference projects.
-     * @throws Exception 
-     */
-    protected void update(ResourceMapping mapper, LocalOption[] options) throws Exception {
-        SyncInfoTree incomingSet = getIncoming(mapper.getProjects());
-        update(new ResourceMapping[] { mapper }, options);
-        assertUpdate(mapper, incomingSet);
-    }
-   
-    /**
-     * Replace the resources contained in the given mappers and ensure that the
-     * update was performed properly by comparing the result with the reference projects.
-     * @throws Exception 
-     */
-    protected void replace(ResourceMapping mapper) throws Exception {
-        SyncInfoTree incomingSet = getIncoming(mapper.getProjects());
-        replace(new ResourceMapping[] { mapper });
-        assertUpdate(mapper, incomingSet);
-    } 
-
-    /**
-     * Commit and check that all resources in containing project that should have been committed were and
-     * that any not contained by the mappers were not.
-     * @throws CoreException 
-     * @see org.eclipse.team.tests.ccvs.core.EclipseTest#commit(org.eclipse.core.resources.mapping.IResourceMapper[], java.lang.String)
-     */
-    protected void commit(ResourceMapping mapper, String message) throws CoreException {
-        SyncInfoTree set = getOutgoing(mapper.getProjects());
-        commit(new ResourceMapping[] { mapper }, message);
-        assertCommit(mapper, set);
-    }
-    
-    /**
-     * Tag the given resource mappings and assert that only the resources
-     * within the mapping were tagged.
-     * @throws CoreException 
-     */
-    protected void tag(ResourceMapping mapping, CVSTag tag) throws CoreException {
-        tag(new ResourceMapping[] { mapping }, tag, false);
-        assertTagged(mapping, tag);
-    }
-    
-    /**
-     * Branch the resources in the given mapping.
-     * @throws CoreException 
-     * @throws IOException 
-     */
-    protected void branch(ResourceMapping mapping, CVSTag branch) throws CoreException, IOException {
-        CVSTag version = new CVSTag("Root_" + branch.getName(), CVSTag.VERSION);
-        branch(new ResourceMapping[] { mapping }, version, branch, true /* update */);
-        assertTagged(mapping, version);
-        assertBranched(mapping, branch);
-    }
-    
-    /**
-     * Add any resources contained by the mapping
-     * @param mapping
-     * @throws CoreException 
-     */
-    protected void add(ResourceMapping mapping) throws CoreException {
-        SyncInfoTree set = getUnaddedResource(mapping);
-        add(new ResourceMapping[] { mapping });
-        assertAdded(mapping, set);
-    }
-
-    private void assertAdded(ResourceMapping mapping, final SyncInfoTree set) throws CoreException {
-        // Assert that all resources covered by the mapping are now under version control (i.e. are in-sync)
-        // Remove the resources contained in the mapping from the set of unadded resources.
-        visit(mapping, ResourceMappingContext.LOCAL_CONTEXT, new IResourceVisitor() {
-            public boolean visit(IResource resource) throws CoreException {
-                ICVSResource cvsResource = getCVSResource(resource);
-                assertTrue("Resource was not added but should have been: " + resource.getFullPath(), 
-                        (cvsResource.isManaged() 
-                                || (cvsResource.isFolder() 
-                                        && ((ICVSFolder)cvsResource).isCVSFolder())));
-                set.remove(resource);
-                return true;
-            }
-        });
-        // Assert that the remaining unadded resources are still unadded
-        SyncInfo[] infos = set.getSyncInfos();
-        for (int i = 0; i < infos.length; i++) {
-            SyncInfo info = infos[i];
-            ICVSResource cvsResource = getCVSResource(info.getLocal());
-            assertTrue("Resource was added but should not have been: " + info.getLocal().getFullPath(), !cvsResource.isManaged());
-        }
-    }
-
-    /*
-     * Need to ensure that only the resources contained in the mapping
-     * have the branch tag associated with them.
-     */
-    private void assertBranched(ResourceMapping mapping, CVSTag branch) throws CoreException, IOException {
-        // First, make sure the proper resources are tagged in the repo
-        assertTagged(mapping, branch);
-        // Now make sure the proper local files are tagged
-        final Map remotes = getTaggedRemoteFilesByPath(mapping, branch);
-        final Map locals = getTaggedLocalFilesByPath(mapping, branch);
-        for (Iterator iter = remotes.keySet().iterator(); iter.hasNext();) {
-            String key = (String)iter.next();
-            ICVSRemoteFile remote = (ICVSRemoteFile)remotes.get(key);
-            ICVSFile local = (ICVSFile)locals.get(key);
-            assertNotNull("Remotely tagged resource was not tagged locally: " + remote.getRepositoryRelativePath(), local);
-            assertEquals(local.getIResource().getParent().getFullPath(), remote, local, false, false /* include tags */);
-            assertEquals("Remotely tagged resource was not tagged locally: " + remote.getRepositoryRelativePath(), branch, local.getSyncInfo().getTag());
-            locals.remove(key);
-            iter.remove();
-        }
-        // The remote map should be empty after traversal
-        for (Iterator iter = remotes.keySet().iterator(); iter.hasNext();) {
-            String path = (String) iter.next();
-            fail("Remote file " + path + " was tagged remotely but not locally.");
-        }
-        // The local map should be empty after traversal
-        for (Iterator iter = locals.keySet().iterator(); iter.hasNext();) {
-            String path = (String) iter.next();
-            fail("Local file " + path + " was tagged locally but not remotely.");
-        }
-    }
-
-    private void assertTagged(ResourceMapping mapping, final CVSTag tag) throws CoreException {
-        final Map tagged = getTaggedRemoteFilesByPath(mapping, tag);
-        // Visit all the resources in the traversal and ensure that they are tagged
-        visit(mapping, ResourceMappingContext.LOCAL_CONTEXT, new IResourceVisitor() {
-            public boolean visit(IResource resource) throws CoreException {
-                if (resource.getType() == IResource.FILE) {
-                    ICVSRemoteFile file = popRemote(resource, tagged);
-                    assertNotNull("Resource was not tagged: " + resource.getFullPath(), file);
-                }
-                return true;
-            }
-        });
-        
-        // The tagged map should be empty after traversal
-        for (Iterator iter = tagged.keySet().iterator(); iter.hasNext();) {
-            String path = (String) iter.next();
-            fail("Remote file " + path + " was tagged but should not have been.");
-        }
-    }
-
-    private Map getTaggedLocalFilesByPath(ResourceMapping mapping, final CVSTag branch) throws CoreException {
-        final Map tagged = new HashMap();
-        IProject[] projects = mapping.getProjects();
-        for (int i = 0; i < projects.length; i++) {
-            IProject project = projects[i];
-            project.accept(new IResourceVisitor() {
-                public boolean visit(IResource resource) throws CoreException {
-                    if (resource.getType() == IResource.FILE) {
-                        ICVSFile file = (ICVSFile)getCVSResource(resource);
-                        ResourceSyncInfo info = file.getSyncInfo();
-                        if (info != null && info.getTag() != null && info.getTag().equals(branch)) {
-                            tagged.put(file.getRepositoryRelativePath(), file);
-                        }
-                    }
-                    return true;
-                }
-            });
-        }
-        return tagged;
-    }
-    
-    private Map getTaggedRemoteFilesByPath(ResourceMapping mapping, final CVSTag tag) throws CVSException {
-        IProject[] projects = mapping.getProjects();
-        ICVSResource[] remotes = getRemoteTrees(projects, tag);
-        final Map tagged = getFilesByPath(remotes);
-        return tagged;
-    }
-
-    private ICVSResource[] getRemoteTrees(IProject[] projects, CVSTag tag) throws CVSException {
-        List result = new ArrayList();
-        for (int i = 0; i < projects.length; i++) {
-            IProject project = projects[i];
-            RemoteFolderTree tree = RemoteFolderTreeBuilder.buildRemoteTree(getRepository(), project, tag, DEFAULT_MONITOR);
-            result.add(tree);
-        }
-        return (ICVSResource[]) result.toArray(new ICVSResource[result.size()]);
-    }
-
-    private Map getFilesByPath(ICVSResource[] remotes) throws CVSException {
-        Map result = new HashMap();
-        for (int i = 0; i < remotes.length; i++) {
-            ICVSResource resource = remotes[i];
-            collectFiles(resource, result);
-        }
-        return result;
-    }
-
-    private void collectFiles(ICVSResource resource, Map result) throws CVSException {
-        if (resource.isFolder()) {
-            ICVSResource[] members = ((ICVSFolder)resource).members(ICVSFolder.ALL_EXISTING_MEMBERS);
-            for (int i = 0; i < members.length; i++) {
-                ICVSResource member = members[i];
-                collectFiles(member, result);
-            }
-        } else {
-            result.put(resource.getRepositoryRelativePath(), resource);
-        } 
-    }
-
-    private ICVSRemoteFile popRemote(IResource resource, Map tagged) throws CVSException {
-        ICVSResource cvsResource = getCVSResource(resource);
-        ICVSRemoteFile remote = (ICVSRemoteFile)tagged.get(cvsResource.getRepositoryRelativePath());
-        if (remote != null) {
-            tagged.remove(remote.getRepositoryRelativePath());
-        }
-        return remote;
-    }
-    
-    private ResourceMapping asResourceMapping(final IResource[] resources, final int depth) {
-        return new ResourceMapping() {
-        	private Object object = new Object();
-            public Object getModelObject() {
-                return object;
-            }
-            public IProject[] getProjects() {
-                return getProjects(resources);
-            }
-            private IProject[] getProjects(IResource[] resources) {
-                Set projects = new HashSet();
-                for (int i = 0; i < resources.length; i++) {
-                    IResource resource = resources[i];
-                    projects.add(resource.getProject());
-                }
-                return (IProject[]) projects.toArray(new IProject[projects.size()]);
-            }
-            public ResourceTraversal[] getTraversals(ResourceMappingContext context, IProgressMonitor monitor) throws CoreException {
-                return new ResourceTraversal[] {
-                        new ResourceTraversal(resources, depth, IResource.NONE)
-                    };
-            }
-			public String getModelProviderId() {
-				return "org.eclipse.team.tests.cvs.core.modelProvider";
-			}
-        };
-    }
-    
-    private void assertUpdate(ResourceMapping mapper, final SyncInfoTree set) throws Exception {
-        final Exception[] exception = new Exception[] { null };
-        visit(mapper, new SyncInfoSetTraveralContext(set), new IResourceVisitor() {
-            public boolean visit(IResource resource) throws CoreException {
-                SyncInfo info = set.getSyncInfo(resource);
-                if (info != null) {
-                    set.remove(resource);
-                    try {
-                        // Assert that the local sync info matches the remote info
-                        assertEquals(resource.getParent().getFullPath(), getCVSResource(resource), (ICVSResource)info.getRemote(), false, false);
-                    } catch (CVSException e) {
-                        exception[0] = e;
-                    } catch (CoreException e) {
-                        exception[0] = e;
-                    } catch (IOException e) {
-                        exception[0] = e;
-                    }
-                }
-                return true;
-            }
-        });
-        if (exception[0] != null) throw exception[0];
-        
-        // check the the state of the remaining resources has not changed
-        assertUnchanged(set);
-    }
-
-    private void assertCommit(ResourceMapping mapper, final SyncInfoTree set) throws CoreException {
-        visit(mapper, new SyncInfoSetTraveralContext(set), new IResourceVisitor() {
-            public boolean visit(IResource resource) throws CoreException {
-                SyncInfo info = set.getSyncInfo(resource);
-                if (info != null) {
-                    set.remove(resource);
-                    assertTrue("Committed resource is not in-sync: " + resource.getFullPath(), getSyncInfo(resource).getKind() == SyncInfo.IN_SYNC);
-                }
-                return true;
-            }
-        });
-        // check the the state of the remaining resources has not changed
-        assertUnchanged(set);
-    }
-
-    /*
-     * Assert that the state of the resources in the set have not changed
-     */
-    private void assertUnchanged(SyncInfoTree set) throws TeamException {
-        //TODO: Need to refresh the subscriber since flush of remote state is deep
-        CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber().refresh(set.getResources(), IResource.DEPTH_ZERO, DEFAULT_MONITOR);
-        SyncInfo[] infos = set.getSyncInfos();
-        for (int i = 0; i < infos.length; i++) {
-            SyncInfo info = infos[i];
-            assertUnchanged(info);
-        }
-    }
-
-    private void assertUnchanged(SyncInfo info) throws TeamException {
-        SyncInfo current = getSyncInfo(info.getLocal());
-        assertEquals("The sync info changed for " + info.getLocal().getFullPath(), info, current);
-    }
-
-    private SyncInfo getSyncInfo(IResource local) throws TeamException {
-        return CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber().getSyncInfo(local);
-    }
-
-    private SyncInfoTree getIncoming(IProject[] projects) throws TeamException {
-        CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber().refresh(projects, IResource.DEPTH_INFINITE, DEFAULT_MONITOR);
-        SyncInfoTree set = getAllOutOfSync(projects);
-        set.removeOutgoingNodes();
-        set.removeConflictingNodes();
-        return set;
-    }
-    
-    private SyncInfoTree getOutgoing(IProject[] projects) {
-        SyncInfoTree set = getAllOutOfSync(projects);
-        set.removeIncomingNodes();
-        set.removeConflictingNodes();
-        return set;
-    }
-
-    private SyncInfoTree getUnaddedResource(ResourceMapping mapping) {
-        SyncInfoTree set = getAllOutOfSync(mapping.getProjects());
-        set.selectNodes(new FastSyncInfoFilter() {
-            public boolean select(SyncInfo info) {
-                try {
-                    if (info.getLocal().getType() != IResource.PROJECT && info.getRemote() == null && info.getBase() == null) {
-                        ICVSResource resource = getCVSResource(info.getLocal());
-                        return !resource.isManaged();
-                    }
-                } catch (CVSException e) {
-                    fail(e.getMessage());
-                }
-                return false;
-            }
-        });
-        return set;
-    }
-    
-    private SyncInfoTree getAllOutOfSync(IProject[] projects) {
-        SyncInfoTree set = new SyncInfoTree();
-        CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber().collectOutOfSync(projects, IResource.DEPTH_INFINITE, set, DEFAULT_MONITOR);
-        return set;
-    }
-    
-    private IResourceDiffTree getAllDiffs(IProject[] projects) throws CoreException {
-        final ResourceDiffTree tree = new ResourceDiffTree();
-        CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber().accept(projects, IResource.DEPTH_INFINITE, new IDiffVisitor() {
-			public boolean visit(IDiff delta) {
-				tree.add(delta);
-				return true;
-			}
-		});
-        return tree;
-    }
-    
-    private void visit(ResourceMapping mapper, ResourceMappingContext context, IResourceVisitor visitor) throws CoreException {
-        ResourceTraversal[] traversals = mapper.getTraversals(context, null);
-        for (int i = 0; i < traversals.length; i++) {
-            ResourceTraversal traversal = traversals[i];
-            visit(traversal, context, visitor);
-        }
-    }
-
-    private void visit(ResourceTraversal traversal, ResourceMappingContext context, IResourceVisitor visitor) throws CoreException {
-        IResource[] resources = traversal.getResources();
-        for (int i = 0; i < resources.length; i++) {
-            IResource resource = resources[i];
-            visit(resource, visitor, context, traversal.getDepth());
-        }
-    }
-
-    private void visit(IResource resource, IResourceVisitor visitor, ResourceMappingContext context, int depth) throws CoreException {
-       if (!visitor.visit(resource) || depth == IResource.DEPTH_ZERO || resource.getType() == IResource.FILE) return;
-       Set members = new HashSet();
-       members.addAll(Arrays.asList(((IContainer)resource).members(false)));
-       if (context instanceof RemoteResourceMappingContext) {
-           RemoteResourceMappingContext remoteContext = (RemoteResourceMappingContext) context;  
-           members.addAll(Arrays.asList(remoteContext.fetchMembers((IContainer)resource, DEFAULT_MONITOR)));
-       }
-       for (Iterator iter = members.iterator(); iter.hasNext();) {
-           IResource member = (IResource) iter.next();
-           visit(member, visitor, context, depth == IResource.DEPTH_ONE ? IResource.DEPTH_ZERO : IResource.DEPTH_INFINITE);
-       }
-    }
-
-    public void testUpdate() throws Exception {
-        // Create a test project, import it into cvs and check it out
-        IProject project = createProject("testUpdate", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/b.txt", "folder1/subfolder1/c.txt" });
-
-        // Check the project out under a different name
-        IProject copy = checkoutCopy(project, "-copy");
-        
-        // Perform some operations on the copy and commit them all
-        addResources(copy, new String[] { "added.txt", "folder2/", "folder2/added.txt" }, false);
-        setContentsAndEnsureModified(copy.getFile("changed.txt"));
-        deleteResources(new IResource[] {copy.getFile("deleted.txt")});
-        setContentsAndEnsureModified(copy.getFile("folder1/a.txt"));
-        setContentsAndEnsureModified(copy.getFile("folder1/subfolder1/c.txt"));
-        commit(asResourceMapping(new IResource[] { copy }, IResource.DEPTH_INFINITE), "A commit message");
-        
-        // Update the project using depth one and ensure we got only what was asked for
-        update(asResourceMapping(new IResource[] { project }, IResource.DEPTH_ONE), null);
-        
-        // Update a subfolder using depth one and ensure we got only what was asked for
-        update(asResourceMapping(new IResource[] { project.getFolder("folder1") }, IResource.DEPTH_ONE), null);
-        
-        // Update the specific file
-        update(asResourceMapping(new IResource[] { project.getFile("folder1/subfolder1/c.txt") }, IResource.DEPTH_ZERO), null);
-        
-        // Update the remaining resources
-        update(asResourceMapping(new IResource[] { project.getFolder("folder2") }, IResource.DEPTH_INFINITE), null);
-        assertEquals(project, copy);
-    }
-    
-    public void testReplace() throws Exception {
-        // Create a test project, import it into cvs and check it out
-        IProject project = createProject("testReplace", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/b.txt", "folder1/subfolder1/c.txt" });
-
-        // Check the project out under a different name
-        IProject copy = checkoutCopy(project, "-copy");
-        
-        // Perform some operations on the copy and commit them all
-        addResources(copy, new String[] { "added.txt", "folder2/", "folder2/added.txt" }, false);
-        setContentsAndEnsureModified(copy.getFile("changed.txt"));
-        deleteResources(new IResource[] {copy.getFile("deleted.txt")});
-        setContentsAndEnsureModified(copy.getFile("folder1/a.txt"));
-        setContentsAndEnsureModified(copy.getFile("folder1/subfolder1/c.txt"));
-        commit(asResourceMapping(new IResource[] { copy }, IResource.DEPTH_INFINITE), "A commit message");
-        
-        // Update the project using depth one and ensure we got only what was asked for
-        replace(asResourceMapping(new IResource[] { project }, IResource.DEPTH_ONE));
-        
-        // Update a subfolder using depth one and ensure we got only what was asked for
-        deleteResources(new IResource[] {project.getFile("folder1/b.txt")});
-        replace(asResourceMapping(new IResource[] { project.getFolder("folder1") }, IResource.DEPTH_ONE));
-        
-        // Update the specific file
-        replace(asResourceMapping(new IResource[] { project.getFile("folder1/subfolder1/c.txt") }, IResource.DEPTH_ZERO));
-        
-        // Update the remaining resources
-        replace(asResourceMapping(new IResource[] { project.getFolder("folder2") }, IResource.DEPTH_INFINITE));
-        assertEquals(project, copy);
-    }
-
-    public void testCommit() throws Exception {
-        // Create a test project, import it into cvs and check it out
-        IProject project = createProject("testCommit", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/b.txt", "folder1/subfolder1/c.txt" });
-        
-        // Perform some operations on the copy and commit only the top level
-        addResources(project, new String[] { "added.txt", "folder2/", "folder2/added.txt" }, false);
-        setContentsAndEnsureModified(project.getFile("changed.txt"));
-        deleteResources(new IResource[] {project.getFile("deleted.txt")});
-        setContentsAndEnsureModified(project.getFile("folder1/a.txt"));
-        setContentsAndEnsureModified(project.getFile("folder1/subfolder1/c.txt"));
-        
-        // Commit the project shallow
-        commit(asResourceMapping(new IResource[] { project }, IResource.DEPTH_ONE), "A commit message");
-        
-        // Commit a subfolder shallow
-        commit(asResourceMapping(new IResource[] { project.getFolder("folder1") }, IResource.DEPTH_ONE), "A commit message");
-        
-        // Now commit the file specifically
-        commit(asResourceMapping(new IResource[] { project.getFile("folder1/subfolder1/c.txt") }, IResource.DEPTH_ZERO), "A commit message");
-        
-        // Now commit the rest
-        commit(asResourceMapping(new IResource[] { project.getFolder("folder2") }, IResource.DEPTH_INFINITE), "A commit message");
-        
-        // Check the project out under a different name
-        IProject copy = checkoutCopy(project, "-copy");
-        assertEquals(project, copy);
-    }
-    
-    public void testTag() throws Exception {
-        // Create a test project, import it into cvs and check it out
-        IProject project = createProject("testTag", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/b.txt", "folder1/subfolder1/c.txt" });
-
-        tag(asResourceMapping(new IResource[] { project }, IResource.DEPTH_ONE), new CVSTag("v1", CVSTag.VERSION));
-        tag(asResourceMapping(new IResource[] { project.getFolder("folder1") }, IResource.DEPTH_ONE), new CVSTag("v2", CVSTag.VERSION));
-        tag(asResourceMapping(new IResource[] { project.getFile("folder1/subfolder1/c.txt") }, IResource.DEPTH_ZERO), new CVSTag("v3", CVSTag.VERSION));
-        tag(asResourceMapping(new IResource[] { project}, IResource.DEPTH_INFINITE), new CVSTag("v4", CVSTag.VERSION));
-    }
-    
-    public void testBranch() throws Exception {
-        // Create a test project, import it into cvs and check it out
-        IProject project = createProject("testBranch", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/b.txt", "folder1/subfolder1/c.txt"  });
-
-        branch(asResourceMapping(new IResource[] { project }, IResource.DEPTH_ONE), new CVSTag("b1", CVSTag.BRANCH));
-        branch(asResourceMapping(new IResource[] { project.getFolder("folder1") }, IResource.DEPTH_ONE), new CVSTag("b2", CVSTag.BRANCH));
-        branch(asResourceMapping(new IResource[] { project.getFile("folder1/subfolder1/c.txt") }, IResource.DEPTH_ZERO), new CVSTag("b3", CVSTag.BRANCH));
-        branch(asResourceMapping(new IResource[] { project }, IResource.DEPTH_INFINITE), new CVSTag("b4", CVSTag.BRANCH));
-    }
-    
-    public void testAdd() throws TeamException, CoreException {
-        // Create an empty project
-        IProject project = createProject("testAdd", new String[] { });
-        // add some resources
-        buildResources(project, new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/b.txt", "folder1/subfolder1/c.txt"  }, false);
-        // add them to CVS
-        add(asResourceMapping(new IResource[] { project }, IResource.DEPTH_ONE));
-        add(asResourceMapping(new IResource[] { project.getFolder("folder1") }, IResource.DEPTH_ONE));
-        add(asResourceMapping(new IResource[] { project.getFile("folder1/subfolder1/c.txt") }, IResource.DEPTH_ZERO));
-        add(asResourceMapping(new IResource[] { project }, IResource.DEPTH_INFINITE));
-    }
-    
-    public void testCacheBase() throws TeamException, CoreException {
-        IProject project = createProject("testCacheBase", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/b.txt", "folder1/subfolder1/c.txt"  });
-        IProject copy = checkoutCopy(project, "-copy");
-        
-        // First, make some local changes and then cache the bases
-        setContentsAndEnsureModified(project.getFile("changed.txt"), "Uncommitted text");
-        setContentsAndEnsureModified(project.getFile("folder1/b.txt"));
-        project.getFile("deleted.txt").delete(false, true, null);
-        cacheBase(project, true /* cache for outgoing and conflicting */);
-        cacheBase(project, false /* cache for conflicting only*/);
-        
-        // Next, retry after releasing some changes (to ensure proper contents are fetched)
-        setContentsAndEnsureModified(copy.getFile("changed.txt"), "Text comited from the copy");
-        commitProject(copy);
-        cacheBase(project, true /* cache for outgoing and conflicting */);
-        cacheBase(project, false /* cache for conflicting only */);
-    }
-    
-    public void testCacheRemote() throws TeamException, CoreException {
-        IProject project = createProject("testCacheRemote", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/b.txt", "folder1/subfolder1/c.txt"  });
-        IProject copy = checkoutCopy(project, "-copy");
-        
-        // Make some remote changes
-        setContentsAndEnsureModified(copy.getFile("changed.txt"), "Uncommitted text");
-        setContentsAndEnsureModified(copy.getFile("folder1/b.txt"));
-        commitProject(copy);
-        // Delete a local file
-        project.getFile("deleted.txt").delete(false, true, null);
-        cacheRemote(project);
-    }
-
-	private void cacheRemote(IProject project) throws CoreException {
-		clearCache(project);
-		CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber().refresh(new IProject[] { project }, IResource.DEPTH_INFINITE, DEFAULT_MONITOR);
-		IResourceDiffTree tree = getAllDiffs(new IProject[] { project });
-		ResourceMapping[] mappings = new ResourceMapping[] {new SimpleResourceMapping(project)};
-		CacheRemoteContentsOperation op = new CacheRemoteContentsOperation(null, mappings, tree);
-		executeHeadless(op);
-		ensureRemoteCached(tree);
-	}
-
-	private void cacheBase(IProject project, boolean includeOutgoing) throws CoreException {
-		clearCache(project);
-		CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber().refresh(new IProject[] { project }, IResource.DEPTH_INFINITE, DEFAULT_MONITOR);
-		IResourceDiffTree tree = getAllDiffs(new IProject[] { project });
-		ResourceMapping[] mappings = new ResourceMapping[] {new SimpleResourceMapping(project)};
-		CacheBaseContentsOperation op = new CacheBaseContentsOperation(null, mappings, tree, includeOutgoing);
-		executeHeadless(op);
-		ensureBaseCached(tree, includeOutgoing);
-	}
-
-	private void ensureRemoteCached(IResourceDiffTree tree) {
-		IResource[] resources = tree.getAffectedResources();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			IDiff node = tree.getDiff(resource);
-			if (node instanceof IThreeWayDiff) {
-				IThreeWayDiff twd = (IThreeWayDiff) node;
-				IResourceVariant remote = SyncInfoToDiffConverter.getRemoteVariant(twd);
-				if (remote != null) {
-					boolean isCached = ((CachedResourceVariant)remote).isContentsCached();
-					int direction = twd.getDirection();
-					if (direction == IThreeWayDiff.CONFLICTING || direction == IThreeWayDiff.INCOMING) {
-						assertTrue(NLS.bind("The remote contents should be cached for {0}", new String[] {resource.getFullPath().toString()}), isCached);
-					} else {
-						assertFalse(NLS.bind("The base contents should NOT be cached for {0}", new String[] {resource.getFullPath().toString()}), isCached);
-					}
-				}
-			}
-		}
-	}
-	
-	private void ensureBaseCached(IResourceDiffTree tree, boolean includeOutgoing) throws TeamException, CoreException {
-		IResource[] resources = tree.getAffectedResources();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			IDiff node = tree.getDiff(resource);
-			if (node instanceof IThreeWayDiff) {
-				IThreeWayDiff twd = (IThreeWayDiff) node;
-				IResourceVariant base = SyncInfoToDiffConverter.getBaseVariant(twd);
-				if (base != null) {
-					boolean isCached = ((CachedResourceVariant)base).isContentsCached();
-					int direction = twd.getDirection();
-					if (direction == IThreeWayDiff.CONFLICTING || (includeOutgoing && direction == IThreeWayDiff.OUTGOING)) {
-						assertTrue(NLS.bind("The base contents should be cached for {0}", new String[] {resource.getFullPath().toString()}), isCached);
-						// For conflicts, ensure that the cache contents do not match the remote
-						if (direction == SyncInfo.CONFLICTING) {
-							IResourceVariant remote = SyncInfoToDiffConverter.getRemoteVariant(twd);
-							if (remote != null) {
-								InputStream baseIn = base.getStorage(DEFAULT_MONITOR).getContents();
-								if (baseIn == null) {
-									fail(NLS.bind("Base was not fetched for {0}", new String[] {resource.getFullPath().toString()}));
-								}
-								InputStream remoteIn = remote.getStorage(DEFAULT_MONITOR).getContents();
-								if (compareContent(baseIn, remoteIn)) {
-									fail(NLS.bind("The remote was fetched instead of the base for {0}", new String[] {resource.getFullPath().toString()}));
-								}
-							}
-						}
-					} else {
-						// assertFalse(NLS.bind("The base contents should NOT be cached for {0}", new String[] {resource.getFullPath().toString()}), isCached);
-					}
-				}
-			}
-		}
-	}
-
-	private void clearCache(IProject project) {
-		ResourceVariantCache cache = ResourceVariantCache.getCache(CVSProviderPlugin.ID);
-		if (cache != null) {
-			ResourceVariantCacheEntry[] entries = cache.getEntries();
-			for (int i = 0; i < entries.length; i++) {
-				ResourceVariantCacheEntry entry = entries[i];
-				entry.dispose();
-			}
-		}
-	}
-    
-	public void testBug134517() throws Exception {
-        IProject project = createProject("testBug134517", new String[] { "file1.txt", "file2.txt"});
-        IProject copy = checkoutCopy(project, "-copy");
-        addResources(copy, new String[] { "file0.txt", 
-        		"new_folder1/", "new_folder1/file2.txt", "new_folder1/new_folder2/", 
-        		"new_folder1/new_folder2/new_folder3/", "new_folder1/new_folder2/new_folder3/file3.txt"  }, true);
-        IResource[] resources = new IResource[] {
-        		project.getFile("file0.txt"),
-        		project.getFile("file1.txt"),
-        		project.getFile("new_folder1/file2.txt"),
-        		project.getFile("new_folder1/new_folder2/new_folder3/file3.txt")
-        };
-        update(asResourceMapping(resources, IResource.DEPTH_ZERO), null);
-        assertEquals(project, copy);
-	}
-	
-	public void testDeepNewFolder() throws Exception {
-        IProject project = createProject("testBug134517", new String[] { "file1.txt", "file2.txt"});
-        IProject copy = checkoutCopy(project, "-copy");
-        addResources(copy, new String[] {
-        		"new_folder1/", 
-        		"new_folder1/new_folder2/", 
-        		"new_folder1/new_folder2/new_folder3/", 
-        		"new_folder1/new_folder2/new_folder3/file3.txt"  }, true);
-        IResource[] resources = new IResource[] {
-        		project.getFolder("new_folder1/new_folder2/new_folder3/")
-        };
-        update(asResourceMapping(resources, IResource.DEPTH_INFINITE), null);
-        assertEquals(project, copy);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/SyncInfoSetTraveralContext.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/SyncInfoSetTraveralContext.java
deleted file mode 100644
index 6bd24ce..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/SyncInfoSetTraveralContext.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.mappings;
-
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.mapping.RemoteResourceMappingContext;
-import org.eclipse.core.resources.mapping.ResourceTraversal;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.team.core.synchronize.*;
-import org.eclipse.team.core.variants.IResourceVariant;
-
-/**
- * A traversal context that traverses the local workspace but also
- * adds resources that exist in the given sync info set but do not exist
- * locally.
- */
-public class SyncInfoSetTraveralContext extends RemoteResourceMappingContext {
-    
-    SyncInfoTree set;
-    
-    public SyncInfoSetTraveralContext(SyncInfoSet set) {
-        this.set = new SyncInfoTree();
-        this.set.addAll(set);
-    }
-
-    protected SyncInfo getSyncInfo(IFile file) {
-        return set.getSyncInfo(file);
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.core.resources.mapping.ITraversalContext#contentDiffers(org.eclipse.core.resources.IFile, org.eclipse.core.runtime.IProgressMonitor)
-     */
-    public boolean contentDiffers(IFile file, IProgressMonitor monitor) {
-        return getSyncInfo(file) != null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.resources.mapping.ITraversalContext#fetchContents(org.eclipse.core.resources.IFile, org.eclipse.core.runtime.IProgressMonitor)
-     */
-    public IStorage fetchRemoteContents(IFile file, IProgressMonitor monitor) throws CoreException {
-        SyncInfo info = getSyncInfo(file);
-        if (info == null)
-            return null;
-        IResourceVariant remote = info.getRemote();
-        if (remote == null)
-            return null;
-        return remote.getStorage(monitor);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.resources.mapping.ITraversalContext#fetchMembers(org.eclipse.core.resources.IContainer, org.eclipse.core.runtime.IProgressMonitor)
-     */
-    public IResource[] fetchMembers(IContainer container, IProgressMonitor monitor) throws CoreException {
-        Set members = new HashSet();
-        members.addAll(Arrays.asList(container.members(false)));
-        members.addAll(Arrays.asList(set.members(container)));
-        return (IResource[]) members.toArray(new IResource[members.size()]);
-    }
-
-    public void refresh(ResourceTraversal[] traversals, int flags, IProgressMonitor monitor) throws CoreException {
-        // Do nothing
-    }
-
-	public boolean isThreeWay() {
-		for (Iterator iter = set.iterator(); iter.hasNext();) {
-			SyncInfo info = (SyncInfo) iter.next();
-			return info.getComparator().isThreeWay();
-		}
-		return true;
-	}
-
-	public boolean hasRemoteChange(IResource resource, IProgressMonitor monitor) throws CoreException {
-		SyncInfo info = set.getSyncInfo(resource);
-		int direction = SyncInfo.getDirection(info.getKind());
-		return direction == SyncInfo.INCOMING || direction == SyncInfo.CONFLICTING;
-	}
-
-	public boolean hasLocalChange(IResource resource, IProgressMonitor monitor) throws CoreException {
-		SyncInfo info = set.getSyncInfo(resource);
-		int direction = SyncInfo.getDirection(info.getKind());
-		return direction == SyncInfo.OUTGOING || direction == SyncInfo.CONFLICTING;
-
-	}
-
-	public IStorage fetchBaseContents(IFile file, IProgressMonitor monitor) throws CoreException {
-        SyncInfo info = getSyncInfo(file);
-        if (info == null)
-            return null;
-        IResourceVariant base = info.getBase();
-        if (base == null)
-            return null;
-        return base.getStorage(monitor);
-	}
-
-	public IProject[] getProjects() {
-		return ResourcesPlugin.getWorkspace().getRoot().getProjects();
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/TestModelProvider.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/TestModelProvider.java
deleted file mode 100644
index 31929ce..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/mappings/TestModelProvider.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.mappings;
-
-import org.eclipse.core.resources.mapping.ModelProvider;
-import org.eclipse.team.core.mapping.IResourceMappingMerger;
-import org.eclipse.team.core.mapping.ResourceMappingMerger;
-
-public class TestModelProvider extends ModelProvider {
-
-	public Object getAdapter(Class adapter) {
-		if (adapter == IResourceMappingMerger.class) {
-			return new ResourceMappingMerger() {			
-				protected ModelProvider getModelProvider() {
-					return TestModelProvider.this;
-				}	
-			};
-		}
-		return super.getAdapter(adapter);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/AllTestsProvider.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/AllTestsProvider.java
deleted file mode 100644
index f84630b..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/AllTestsProvider.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.provider;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-
-public class AllTestsProvider extends EclipseTest {
-
-	public AllTestsProvider() {
-		super();
-	}
-
-	public AllTestsProvider(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		//suite.addTestSuite(ModuleTest.class);
-		suite.addTest(ImportTest.suite());
-		suite.addTest(RemoteResourceTest.suite());
-		suite.addTest(CVSProviderTest.suite());
-		suite.addTest(ResourceDeltaTest.suite());
-		suite.addTest(WatchEditTest.suite());
-		suite.addTest(LinkResourcesTest.suite());
-		suite.addTest(IsModifiedTests.suite());
-		return new CVSTestSetup(suite);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/CVSProviderTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/CVSProviderTest.java
deleted file mode 100644
index 5680ec8..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/CVSProviderTest.java
+++ /dev/null
@@ -1,746 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.provider;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.team.core.IFileTypeInfo;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.Team;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
-import org.eclipse.team.internal.ccvs.core.CVSStatus;
-import org.eclipse.team.internal.ccvs.core.CVSTag;
-import org.eclipse.team.internal.ccvs.core.CVSTeamProvider;
-import org.eclipse.team.internal.ccvs.core.ICVSFile;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.client.Command;
-import org.eclipse.team.internal.ccvs.core.client.Session;
-import org.eclipse.team.internal.ccvs.core.client.Update;
-import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.core.util.Util;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-
-/*
- * This class tests both the CVSProvider and the CVSTeamProvider
- */
-public class CVSProviderTest extends EclipseTest {
-
-	/**
-	 * Constructor for CVSProviderTest
-	 */
-	public CVSProviderTest() {
-		super();
-	}
-
-	/**
-	 * Constructor for CVSProviderTest
-	 */
-	public CVSProviderTest(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		return suite(CVSProviderTest.class);
-	}
-	
-	public void testAdd() throws TeamException, CoreException {
-		
-		// Test add with cvsignores
-		/*
-		IProject project = createProject("testAdd", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		IFile file = project.getFile(".cvsignore");
-		file.create(new ByteArrayInputStream("ignored.txt".getBytes()), false, null);
-		file = project.getFile("ignored.txt");
-		file.create(new ByteArrayInputStream("some text".getBytes()), false, null);
-		file = project.getFile("notignored.txt");
-		file.create(new ByteArrayInputStream("some more text".getBytes()), false, null);
-		file = project.getFile("folder1/.cvsignore");
-		file.create(new ByteArrayInputStream("ignored.txt".getBytes()), false, null);
-		file = project.getFile("folder1/ignored.txt");
-		file.create(new ByteArrayInputStream("some text".getBytes()), false, null);
-		file = project.getFile("folder1/notignored.txt");
-		file.create(new ByteArrayInputStream("some more text".getBytes()), false, null);
-		
-		getProvider(project).add(new IResource[] {project}, IResource.DEPTH_INFINITE, DEFAULT_MONITOR);
-		
-		assertTrue( ! CVSWorkspaceRoot.getCVSResourceFor(project.getFile("ignored.txt")).isManaged());
-		assertTrue( ! CVSWorkspaceRoot.getCVSResourceFor(project.getFile("folder1/ignored.txt")).isManaged());
-		
-		assertTrue(CVSWorkspaceRoot.getCVSResourceFor(project.getFile("notignored.txt")).isManaged());
-		assertTrue(CVSWorkspaceRoot.getCVSResourceFor(project.getFile("folder1/notignored.txt")).isManaged());
-		assertTrue(CVSWorkspaceRoot.getCVSResourceFor(project.getFile(".cvsignore")).isManaged());
-		assertTrue(CVSWorkspaceRoot.getCVSResourceFor(project.getFile("folder1/.cvsignore")).isManaged());
-		*/
-	}
-	
-	public void testDeleteHandling() throws TeamException, CoreException {
-		
-		IProject project = createProject("testDeleteHandling", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		
-		// Delete a file and ensure that it is an outgoing deletion
-		project.getFile("deleted.txt").delete(false, false, null);
-		ICVSFile file = CVSWorkspaceRoot.getCVSFileFor(project.getFile("deleted.txt"));
-		assertTrue("File is not outgoing deletion", file.getSyncInfo().isDeleted());
-		
-		// Delete a folder and ensure that the file is managed but doesn't exist
-		// (Special behavior is provider by the CVS move/delete hook but this is not part of CVS core)
-		project.getFolder("folder1").delete(false, false, null);
-		ICVSFolder folder = CVSWorkspaceRoot.getCVSFolderFor(project.getFolder("folder1"));
-		assertTrue("Deleted folder not in proper state", ! folder.exists() && folder.isManaged());
-	}
-	
-	public void testCheckin() throws TeamException, CoreException, IOException {
-		IProject project = createProject("testCheckin", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		
-		// Perform some operations on the project
-		IResource[] newResources = buildResources(project, new String[] { "added.txt", "folder2/", "folder2/added.txt" }, false);
-		setContentsAndEnsureModified(project.getFile("changed.txt"));
-		addResources(newResources);
-		deleteResources(new IResource[] {project.getFile("deleted.txt")});
-		assertIsModified("testDeepCheckin: ", newResources);
-		assertIsModified("testDeepCheckin: ", new IResource[] {project.getFile("deleted.txt"), project.getFile("changed.txt")});
-		commitResources(new IResource[] {project}, IResource.DEPTH_INFINITE);
-		assertLocalStateEqualsRemote(project);
-	}
-	
-	public void testMoveHandling() throws TeamException, CoreException {
-		IProject project = createProject("testMoveHandling", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		
-		// Move a file and ensure that it is an outgoing deletion at the source and unmanaged at the destination
-		project.getFile("deleted.txt").move(new Path("moved.txt"), false, false, null);
-		ICVSFile file = CVSWorkspaceRoot.getCVSFileFor(project.getFile("deleted.txt"));
-		assertTrue("Source is not outgoing deletion", file.getSyncInfo().isDeleted());
-		file = CVSWorkspaceRoot.getCVSFileFor(project.getFile("moved.txt"));
-		assertTrue("Destination not in proper state", ! file.isManaged());
-		
-		// Move a folder and ensure the source is deleted
-		project.getFolder("folder1").move(new Path("moved"), false, false, null);
-		ICVSFolder folder = CVSWorkspaceRoot.getCVSFolderFor(project.getFolder("folder1"));
-		assertTrue("Deleted folder not in proper state", ! folder.exists() && folder.isManaged());
-		folder = CVSWorkspaceRoot.getCVSFolderFor(project.getFolder("moved"));
-		assertTrue("Moved folder should not be managed", ! folder.isManaged());
-		assertTrue("Moved folder should not be a CVS folder", ! folder.isCVSFolder());
-	}
-	
-	public void testUpdate() throws TeamException, CoreException, IOException {
-		// Create a test project, import it into cvs and check it out
-		IProject project = createProject("testUpdate", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-
-		// Check the project out under a different name
-		IProject copy = checkoutCopy(project, "-copy");
-		
-		// Perform some operations on the copy
-		addResources(copy, new String[] { "added.txt", "folder2/", "folder2/added.txt" }, false);
-		setContentsAndEnsureModified(copy.getFile("changed.txt"));
-		deleteResources(new IResource[] {copy.getFile("deleted.txt")});
-		
-		// Commit the copy and update the project
-		commitResources(new IResource[] {copy}, IResource.DEPTH_INFINITE);
-		updateProject(project, null, false);
-		assertEquals(project, copy);
-	}
-	
-	public void testUpdate123280() throws CoreException {
-		IProject project = createProject(new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		
-		// Make a remote change
-		IProject copy = checkoutCopy(project, "-copy");
-		setContentsAndEnsureModified(copy.getFile("folder1/a.txt"));
-		commitProject(copy);
-		
-		// Delete locally and then update
-		project.getFile("deleted.txt").delete(false, null);
-		updateProject(project, null, false);
-		// Ensure that the file is still an outgoing deletion
-		ICVSFile file = CVSWorkspaceRoot.getCVSFileFor(project.getFile("deleted.txt"));
-		assertTrue(!file.exists() && file.isManaged());
-	}
-	
-	public void testVersionTag() throws TeamException, CoreException, IOException {
-		
-		// Create a test project, import it into cvs and check it out
-		IProject project = createProject("testVersionTag", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		
-		// Perform some operations on the copy and commit
-		IProject copy = checkoutCopy(project, "-copy");
-		addResources(copy, new String[] { "added.txt", "folder2/", "folder2/added.txt" }, false);
-		changeResources(copy, new String[] {"changed.txt"}, false);
-		deleteResources(copy, new String[] {"deleted.txt"}, false);
-		commitResources(copy, true);
-		
-		// Tag the original, checkout the tag and compare with original
-		CVSTag v1Tag = new CVSTag("v1", CVSTag.VERSION);
-		tagProject(project, v1Tag, false);
-		IProject v1 = checkoutCopy(project, v1Tag);
-		assertEquals(project, v1);
-		
-		// Update original to HEAD and compare with copy including tags
-		updateProject(project, null, false);
-		assertEquals(project, copy, false, true);
-		
-		// Update copy to v1 and compare with the copy (including tag)
-		updateProject(copy, v1Tag, false);
-		assertEquals(copy, v1, false, true);
-		
-		// Update copy back to HEAD and compare with project (including tag)
-		updateProject(copy, CVSTag.DEFAULT, false);
-		assertEquals(project, copy, false, true);
-	}
-	
-	public void testMakeBranch() throws TeamException, CoreException, IOException {
-		// Create a test project
-		IProject project = createProject("testMakeBranch", new String[] { "file1.txt", "file2.txt", "file3.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-
-		// Make some local modifications including "cvs adds" and "cvs removes"
-		addResources(project, new String[] {"folder1/c.txt"}, false);
-		deleteResources(project, new String[] {"folder1/b.txt"}, false);
-		changeResources(project, new String[] {"file2.txt"}, false);
-		
-		// Make the branch including a pre-version
-		CVSTag version = new CVSTag("v1", CVSTag.BRANCH);
-		CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
-		makeBranch(new IResource[] {project}, version, branch, true);
-
-		// Checkout a copy from the branch and version and compare
-		IProject branchCopy = checkoutCopy(project, branch);
-		IProject versionCopy = checkoutCopy(project, version);
-		assertEquals(branchCopy, versionCopy, true, false);
-		
-		// Commit the project, update the branch and compare
-		commitProject(project);
-		updateProject(branchCopy, null, false);
-		assertEquals(branchCopy, project, false, true);
-	}
-	
-	public void testDuplicatedBranch() throws TeamException, CoreException {
-		// Create a test project
-		IProject project = createProject("testDuplicatedBranch", new String[] {
-				"file1.txt", "file2.txt", "file3.txt", "folder1/",
-				"folder1/a.txt", "folder1/b.txt" });
-
-		// Create a branch
-		CVSTag version = new CVSTag("v1", CVSTag.BRANCH);
-		CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
-		makeBranch(new IResource[] { project }, version, branch, false);
-
-		// Create the second branch using the same names
-		try {
-			makeBranch(new IResource[] { project }, version, branch, false);
-			fail();
-		} catch (CVSException e) {
-
-		}
-	}
-
-	public void testPruning() throws TeamException, CoreException, IOException {
-		// Create a project with empty folders
-		CVSProviderPlugin.getPlugin().setPruneEmptyDirectories(false);
-		IProject project = createProject("testPruning", new String[] { "file.txt", "folder1/", "folder2/folder3/" });
-
-		// Disable pruning, checkout a copy and ensure original and copy are the same
-		IProject copy = checkoutCopy(project, "-copy");
-		assertEquals(project, copy); 
-
-		// Enable pruning, update copy and ensure emtpy folders are gone
-		CVSProviderPlugin.getPlugin().setPruneEmptyDirectories(true);
-		updateProject(copy, null, false);
-		assertDoesNotExistInFileSystem(new IResource[] {copy.getFolder("folder1"), copy.getFolder("folder2"), copy.getFolder("folder2/folder3")});
-		
-		// Checkout another copy and ensure that the two copies are the same (with pruning enabled)
-		IProject copy2 = checkoutCopy(project, "-copy2");
-		assertEquals(copy, copy2); 
-		
-		// Disable pruning, update copy and ensure directories come back
-		// TODO: disabled until bug 125037 can be resolved
-//		CVSProviderPlugin.getPlugin().setPruneEmptyDirectories(false);
-//		updateProject(copy, null, false);
-//		assertEquals(project, copy);
-		
-		// Enable pruning again since it's the default
-		CVSProviderPlugin.getPlugin().setPruneEmptyDirectories(true);
-	}
-
-	public void testGet() throws TeamException, CoreException, IOException {
-		
-		// Create a project
-		IProject project = createProject("testGet", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		
-		// Checkout a copy and modify locally
-		IProject copy = checkoutCopy(project, "-copy");
-		//addResources(copy, new String[] { "added.txt", "folder2/", "folder2/added.txt" }, false);
-		deleteResources(copy, new String[] {"deleted.txt"}, false);
-		setContentsAndEnsureModified(copy.getFile("changed.txt"));
-
-		// get the remote conetns
-		replace(new IResource[] {copy}, null, true);
-		assertEquals(project, copy);
-	}
-	
-	public void testReadOnly() throws TeamException, CoreException, IOException {
-		// IProject project = createProject("testReadOnly", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		// Need to check the project out as read-only
-	}
-	
-	public void testCleanLineDelimiters() throws TeamException, CoreException, IOException {
-		// Create a project
-		IProject project = getUniqueTestProject("testCleanLineDelimiters");
-		IFile file = project.getFile("testfile");
-		IProgressMonitor monitor = new NullProgressMonitor();
-
-		// empty file
-		setFileContents(file, "");
-		CVSTeamProvider.cleanLineDelimiters(file, false, monitor);
-		assertEqualsFileContents(file, "");
-		CVSTeamProvider.cleanLineDelimiters(file, true, monitor);
-		assertEqualsFileContents(file, "");
-		
-		// one byte
-		setFileContents(file, "a");
-		CVSTeamProvider.cleanLineDelimiters(file, false, monitor);
-		assertEqualsFileContents(file, "a");
-		CVSTeamProvider.cleanLineDelimiters(file, true, monitor);
-		assertEqualsFileContents(file, "a");
-		
-		// single orphan carriage return (should be preserved)
-		setFileContents(file, "\r");
-		CVSTeamProvider.cleanLineDelimiters(file, false, monitor);
-		assertEqualsFileContents(file, "\r");
-		CVSTeamProvider.cleanLineDelimiters(file, true, monitor);
-		assertEqualsFileContents(file, "\r");
-
-		// single line feed
-		setFileContents(file, "\n");
-		CVSTeamProvider.cleanLineDelimiters(file, false, monitor);
-		assertEqualsFileContents(file, "\n");
-		CVSTeamProvider.cleanLineDelimiters(file, true, monitor);
-		assertEqualsFileContents(file, "\r\n");
-		
-		// single carriage return line feed
-		setFileContents(file, "\r\n");
-		CVSTeamProvider.cleanLineDelimiters(file, true, monitor);
-		assertEqualsFileContents(file, "\r\n");
-		CVSTeamProvider.cleanLineDelimiters(file, false, monitor);
-		assertEqualsFileContents(file, "\n");
-		
-		// mixed text with orphaned CR's
-		setFileContents(file, "The \r\n quick brown \n fox \r\r\r\n jumped \n\n over \r\n the \n lazy dog.\r\n");
-		CVSTeamProvider.cleanLineDelimiters(file, false, monitor);
-		assertEqualsFileContents(file, "The \n quick brown \n fox \r\r\n jumped \n\n over \n the \n lazy dog.\n");
-		setFileContents(file, "The \r\n quick brown \n fox \r\r\r\n jumped \n\n over \r\n the \n lazy dog.\r\n");
-		CVSTeamProvider.cleanLineDelimiters(file, true, monitor);
-		assertEqualsFileContents(file, "The \r\n quick brown \r\n fox \r\r\r\n jumped \r\n\r\n over \r\n the \r\n lazy dog.\r\n");
-	}
-	
-	public void testKeywordSubstitution() throws TeamException, CoreException, IOException {
-		testKeywordSubstitution(Command.KSUBST_BINARY); // -kb
-		testKeywordSubstitution(Command.KSUBST_TEXT); // -ko
-		testKeywordSubstitution(Command.KSUBST_TEXT_EXPAND); // -kkv
-	}
-
-	private void testKeywordSubstitution(KSubstOption ksubst) throws TeamException, CoreException, IOException {
-		// setup some known file types
-		Team.setAllTypes( new String[] {"xbin", "xtxt"}, new int[] {Team.BINARY, Team.TEXT});
-		
-		// create a test project
-		IProject project = createProject("testKeywordSubstitution", new String[] { "dummy" });
-		addResources(project, new String[] { "binary.xbin", "text.xtxt", "folder1/", "folder1/a.xtxt" }, true);
-		addResources(project, new String[] { "added.xbin", "added.xtxt" }, false);
-		assertHasKSubstOption(project, "binary.xbin", Command.KSUBST_BINARY);
-		assertHasKSubstOption(project, "added.xbin", Command.KSUBST_BINARY);
-		assertHasKSubstOption(project, "text.xtxt", CVSProviderPlugin.DEFAULT_TEXT_KSUBST_OPTION);
-		assertHasKSubstOption(project, "folder1/a.xtxt", CVSProviderPlugin.DEFAULT_TEXT_KSUBST_OPTION);
-		assertHasKSubstOption(project, "added.xtxt", CVSProviderPlugin.DEFAULT_TEXT_KSUBST_OPTION);
-		
-		// change keyword substitution
-		Map map = new HashMap();
-		map.put(project.getFile("binary.xbin"), ksubst);
-		map.put(project.getFile("added.xbin"), ksubst);
-		map.put(project.getFile("text.xtxt"), ksubst);
-		map.put(project.getFile("folder1/a.xtxt"), ksubst);
-		map.put(project.getFile("added.xtxt"), ksubst);
-		
-		waitMsec(1500);
-		IStatus status = getProvider(project).setKeywordSubstitution(map, null, null);
-		assertTrue("Status should be ok, was: " + status.toString(), status.isOK());
-		assertHasKSubstOption(project, "binary.xbin", ksubst);
-		assertHasKSubstOption(project, "text.xtxt", ksubst);
-		assertHasKSubstOption(project, "folder1/a.xtxt", ksubst);
-		assertHasKSubstOption(project, "added.xtxt", ksubst);
-		assertHasKSubstOption(project, "added.xbin", ksubst);
-
-		// verify that substitution mode changed remotely and "added.xtxt", "added.xbin" don't exist
-		IProject copy = checkoutCopy(project, "-copy");
-		assertHasKSubstOption(copy, "binary.xbin", ksubst);
-		assertHasKSubstOption(copy, "text.xtxt", ksubst);
-		assertHasKSubstOption(copy, "folder1/a.xtxt", ksubst);
-		assertDoesNotExistInWorkspace(copy.getFile("added.xtxt"));
-		assertDoesNotExistInWorkspace(copy.getFile("added.xbin"));
-		
-		// commit added files then checkout the copy again
-		commitResources(project, new String[] { "added.xbin", "added.xtxt" });
-		IProject copy2 = checkoutCopy(project, "-copy2");
-		assertHasKSubstOption(copy2, "added.xtxt", ksubst);
-		assertHasKSubstOption(copy2, "added.xbin", ksubst);
-		
-		IFileTypeInfo[] infos = Team.getDefaultTypes();
-		String[] extensions = new String[infos.length];
-		int[] types = new int[infos.length];
-		for (int i = 0; i < infos.length; i++) {
-			IFileTypeInfo info = infos[i];
-			extensions[i] = info.getExtension();
-			types[i] = info.getType();
-		}
-		Team.setAllTypes(extensions, types);
-	}
-	
-	public void testKeywordSubsBinToText() throws TeamException, CoreException, IOException {
-		//create a test project
-		KSubstOption ksubst = Command.KSUBST_TEXT;
-		IProject project = createProject("testKeywordSubsBinToText", new String[] { "dummy" });
-		assertHasKSubstOption(project, "dummy", Command.KSUBST_BINARY);
-	
-		// change keyword substitution
-		Map map = new HashMap();
-		map.put(project.getFile("dummy"), ksubst);
-		
-		// change from binary to text should commit a new file with 
-		waitMsec(1500);
-		IStatus status = getProvider(project).setKeywordSubstitution(map, null, null);
-		assertTrue("Status should be ok, was: " + status.toString(), status.isOK());
-		assertHasKSubstOption(project, "dummy", ksubst);
-
-		IProject copy = checkoutCopy(project, "-copy");
-		assertHasKSubstOption(copy, "dummy", ksubst);
-		assertEquals(project, copy);		 		
-	}
-	
-	public static void setFileContents(IFile file, String string) throws CoreException {
-		InputStream is = new ByteArrayInputStream(string.getBytes());
-		if (file.exists()) {
-			file.setContents(is, false /*force*/, true /*keepHistory*/, null);
-		} else {
-			file.create(is, false /*force*/, null);
-		}
-	}
-	
-	public static void assertEqualsFileContents(IFile file, String string) throws CoreException, IOException {
-		String other = getFileContents(file);
-		assertEquals(string, other);
-	}
-	
-	public static void assertHasKSubstOption(IContainer container, String filename, KSubstOption ksubst)
-		throws TeamException {
-		IFile file = container.getFile(new Path(filename));
-		ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor(file);
-		ResourceSyncInfo info = cvsFile.getSyncInfo();
-		assertEquals(ksubst, info.getKeywordMode());
-	}
-	
-	public void testUnmap() throws CoreException, TeamException {
-		// Create a project
-		IProject project = createProject("testUnmap", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/", "folder1/folder2/deep.txt", "folder2/b.txt" });
-		// delete a file and folder to create phantoms
-		project.getFile("deleted.txt").delete(false, false, null);
-		assertTrue(project.getFile("deleted.txt").isPhantom());
-		project.getFolder("folder2").delete(false, false, null);
-		assertTrue(project.getFolder("folder2").isPhantom());
-		// unmap
-		RepositoryProvider.unmap(project);
-		// ensure that phantoms for the resoucrs no longer exist
-		assertFalse(project.getFile("deleted.txt").isPhantom());
-		assertFalse(project.getFolder("folder2").isPhantom());
-		
-		// Create a project
-		project = createProject("testUnmap2", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/", "folder1/folder2/deep.txt", "folder2/b.txt" });
-		// delete a deep folder to create phantoms
-		project.getFolder("folder1/folder2").delete(false, false, null);
-		assertTrue(project.getFolder("folder1/folder2").isPhantom());
-		// unmap
-		RepositoryProvider.unmap(project);
-		// ensure that phantoms for the resources no longer exist
-		assertFalse(project.getFolder("folder1/folder2").isPhantom());
-	}
-	
-	public void testForBinaryLinefeedCorruption() throws CoreException, TeamException, IOException {
-		String EOL = "\n";
-		IProject project = createProject("testForBinaryLinefeedCorruption", new String[] { "binaryFile" });
-		ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor(project.getFile("binaryFile"));
-		assertTrue(ResourceSyncInfo.isBinary(cvsFile.getSyncBytes()));
-		setContentsAndEnsureModified(project.getFile("binaryFile"), "line 1" + EOL + "line 2");
-		commitProject(project);
-		
-		// Checkout a copy and ensure the file was not corrupted
-		IProject copy = checkoutCopy(project, "-copy");
-		assertEquals(project, copy);
-	}
-	
-	public void test33984CannotCommitAfterConflictsMergedLocally() throws CoreException, TeamException, IOException {
-			String EOL = System.getProperty("line.separator");
-			
-			IProject project = createProject("test33984", new String[] { "a.txt", "b.txt" });
-			setContentsAndEnsureModified(project.getFile("a.txt"), "line 1");
-		    setContentsAndEnsureModified(project.getFile("b.txt"), ("line 1" + EOL + "line 2" + EOL + "line3"));
-
-			Map kMode = new HashMap();
-			kMode.put(project.getFile("a.txt"), Command.KSUBST_TEXT);
-			kMode.put(project.getFile("b.txt"), Command.KSUBST_TEXT);
-			getProvider(project).setKeywordSubstitution(kMode, "", null);
-		    
-			commitProject(project);
-			
-
-		
-			// Checkout a copy and ensure the file was not corrupted
-			IProject copy = checkoutCopy(project, "-copy");
-			assertEquals(project, copy);
-			
-			// TEST 1: simulate modifying same file by different users
-			// b.txt has non-conflicting changes 
-			setContentsAndEnsureModified(copy.getFile("b.txt"), ("line 1a" + EOL + "line 2" + EOL + "line3"));
-		    
-			commitProject(copy);
-			
-			// user updates which would cause a merge with conflict, a commit should not be allowed
-			
-			setContentsAndEnsureModified(project.getFile("b.txt"), ("line 1" + EOL + "line 2" + EOL + "line3a"));
-			updateProject(project, CVSTag.DEFAULT, false /* don't ignore local changes */);
-			commitProject(project);
-
-			// TEST 2: a.txt has conflicting changes
-			setContentsAndEnsureModified(copy.getFile("a.txt"), "line 1dfgdfne3");
-  
-			commitProject(copy);
-			
-			// user updates which would cause a merge with conflict, a commit should not be allowed
-			setContentsAndEnsureModified(project.getFile("a.txt"), "some other text");
-			updateProject(project, CVSTag.DEFAULT, false /* don't ignore local changes */);
-			try {
-				commitProject(project);
-				fail("should not be allowed to commit a resource with merged conflicts");
-			} catch(TeamException e) {
-			}
-	}
-	
-	public void testTagExistsFailure() throws TeamException, CoreException, IOException {
-		IProject project = createProject(new String[] { "a.txt", "b.txt" });
-		CVSTag tag = new CVSTag("v1", CVSTag.VERSION);
-		tagProject(project, tag, false);
-		
-		setContentsAndEnsureModified(project.getFile("a.txt"));
-		commitProject(project);
-		
-		try {
-			tagProject(project, tag, false/* don't force */);
-			fail("The tag should have failed since the tag already exists.");
-		} catch (TeamException e) {
-			// This is what we expected
-			assertTrue("This exception should be an error", e.getStatus().getSeverity() == IStatus.ERROR);
-		}
-		
-		tagProject(project, tag, true /* force */);
-		IProject copy = checkoutCopy(project, tag);
-		assertEquals(project, copy);
-	}
-	
-	public void testUpdateWithOverwrite() throws TeamException, CoreException {
-		// Create a project and ad an unmanaged resource
-		IProject project = createProject(new String[] { "a.txt", "b.txt" });
-		buildResources(project, new String[] { "new.txt" }, false);
-		// Checkout a copy and commit the same resource
-		IProject copy = checkoutCopy(project, "-copy");
-		addResources(copy, new String[] { "new.txt" }, true);
-		// Use the regular update and ensure that it fails
-		IStatus status = executeCommand(project, Command.UPDATE, Command.NO_LOCAL_OPTIONS);
-		assertStatusContainsCode(status, CVSStatus.INVALID_LOCAL_RESOURCE_PATH);
-		// Use the update and overwrite and ensure that it works
-		status = executeCommand(project, Command.REPLACE, Command.NO_LOCAL_OPTIONS);
-		assertTrue(status.isOK());
-	}
-
-    private IStatus executeCommand(IProject project, Update update, LocalOption[] options) throws CVSException {
-		Session session = new Session(getRepository(), CVSWorkspaceRoot.getCVSFolderFor(project));
-		session.open(DEFAULT_MONITOR);
-		try {
-			return update.execute(
-					session,
-					Command.NO_GLOBAL_OPTIONS, 
-					options, 
-					new String[] { "." },
-					null,
-					DEFAULT_MONITOR);
-		} finally {
-			session.close();
-		}
-		
-	}
-    
-    public void testUpdateWithNoChange() throws TeamException, CoreException {
-        IProject project = createProject(new String[] { "a.txt"});
-        setContentsAndEnsureModified(project.getFile("a.txt"), "contents");
-        commitProject(project);
-        // set the contents to the same value but ensure the local timestamp is different
-        setContentsAndEnsureModified(project.getFile("a.txt"), "contents");
-        // Update and ensure file timestamp is what is was before out edit
-        updateProject(project, null, false);
-        Date modDate = CVSWorkspaceRoot.getCVSFileFor(project.getFile("a.txt")).getSyncInfo().getTimeStamp();
-        assertEquals("Timestamp was not properly reset", modDate, CVSWorkspaceRoot.getCVSFileFor(project.getFile("a.txt")).getTimeStamp());
-        
-    }
-    
-    public void testBinaryAddition() throws CoreException {
-    	// See bug 132255
-    	KSubstOption option = CVSProviderPlugin.getPlugin().getDefaultTextKSubstOption();
-    	try {
-	    	CVSProviderPlugin.getPlugin().setDefaultTextKSubstOption(Command.KSUBST_TEXT_KEYWORDS_ONLY);
-	    	IProject project = createProject(new String[] { "a.txt"});
-	    	IProject copy = checkoutCopy(project, "-copy");
-	    	create(copy.getFile("binaryFile"), true);
-	    	setContentsAndEnsureModified(copy.getFile("binaryFile"), "/n/n\n\n");
-	    	addResources(new IResource[] { copy.getFile("binaryFile") });
-	    	commitProject(copy);
-	    	updateProject(project, null, false);
-	    	assertContentsEqual(copy.getFile("binaryFile"), project.getFile("binaryFile"));
-    	} finally {
-    		CVSProviderPlugin.getPlugin().setDefaultTextKSubstOption(option);
-    	}
-    }
-    
-    public void testDeletedPhantom139250() throws CoreException {
-    	IProject project = createProject(new String[] { "a.txt"});
-    	// Create a phantom folder that is mapped to a remote folder
-    	// but for which no remote exists
-    	ICVSFolder folder = CVSWorkspaceRoot.getCVSFolderFor(project.getFolder("phantom"));
-    	ICVSFolder projectFolder = CVSWorkspaceRoot.getCVSFolderFor(project);
-    	FolderSyncInfo projectInfo = projectFolder.getFolderSyncInfo();
-    	String repo = Util.appendPath(projectInfo.getRepository(), "phantom");
-    	FolderSyncInfo info = new FolderSyncInfo(repo, projectInfo.getRoot(), projectInfo.getTag(), false);
-    	folder.setFolderSyncInfo(info);
-    	updateProject(project, null, false);
-    }
-    
-    public void testUpdateOfDeletedFile140007() throws CoreException {
-    	IProject project = createProject(new String[] { "a.txt"});
-    	IProject copy = checkoutCopy(project, "-copy");
-    	deleteResources(copy, new String[] { "a.txt"}, true);
-    	updateResources(project, new String[] { "a.txt"}, false);
-    }
-    
-    public void testUpdateOfRemotelyRemovedFile() throws CoreException, IOException {
-    	IProject project = createProject(new String[] { "a.txt"});
-    	IProject copy = checkoutCopy(project, "-copy");
-    	//Create a file and add it to version control (but don't commit)
-    	addResources(copy, new String[] { "b.txt"}, false);
-    	// Change the revision of the file so it appears to exist remotely
-    	ICVSFile file = CVSWorkspaceRoot.getCVSFileFor(copy.getFile("b.txt"));
-    	byte[] syncBytes = file.getSyncBytes();
-    	syncBytes = ResourceSyncInfo.setRevision(syncBytes, "1.1");
-    	file.setSyncBytes(syncBytes, ICVSFile.UNKNOWN);
-    	file.checkedIn(null, true);
-    	// Update the project and verify that the file gets removed
-    	updateProject(copy, null, false);
-    	assertEquals(project, copy);
-    	
-    }
-    
-    public void testMergeWithTrailingLineFeeds() throws CoreException, IOException {
-		IProject project = createProject("testFileConflict", new String[] { "file1.txt"});
-		// Set the contents of file1.txt to ensure proper merging 
-		// Ensure there is a trailing LF
-		setContentsAndEnsureModified(project.getFile("file1.txt"), "line1" + eol + "line2" + eol + "line3" + eol);
-		commitProject(project);
-		
-		// Checkout and modify a copy
-		IProject copy = checkoutCopy(project, "-copy");
-		appendText(copy.getFile("file1.txt"), "line0" + eol, true);
-		commitProject(copy);
-		
-		// Modify the original in a non-conflicting way
-		setContentsAndEnsureModified(project.getFile("file1.txt"), "line1" + eol + "line2" + eol + "line2.5" + eol + "line3" + eol);
-		
-		// Update and ensure the contents are what we expect
-		updateProject(project, null, false);
-		assertTrue("File contents are not correct after merge", compareContent(
-				new ByteArrayInputStream(("line0" + eol + "line1" + eol + "line2" + eol + "line2.5" + eol + "line3" + eol).getBytes()), 
-						project.getFile("file1.txt").getContents()));
-    }
-    
-    public void testRevertToBaseHeadTag() throws CoreException, IOException{
-    	IProject project = createProject("testRevertToBase", new String[] {"file1.txt"});
-    	setContentsAndEnsureModified(project.getFile("file1.txt"), "line1" + eol + "line2" + eol + "line3" + eol);
-    	commitProject(project);
-    	IProject copy = checkoutCopy(project, "-copy");
-    	appendText(project.getFile("file1.txt"), "line0" + eol, true);
-    	updateProject(project, CVSTag.BASE, true);
-    	assertTrue("File has changed after revert to base",
-    			compareContent(new ByteArrayInputStream(("line1" + eol + "line2" + eol + "line3" + eol).getBytes()),
-    					project.getFile("file1.txt").getContents()));
-    	assertEquals(getRepositoryProvider(copy), getRepositoryProvider(project), false, true);
-    }
-    
-    private CVSTeamProvider getRepositoryProvider(IProject project) {
-		return (CVSTeamProvider)RepositoryProvider.getProvider(project);
-	}
-
-	public void testRevertToBaseNonHeadTag() throws CoreException, IOException{
-    	IProject project = createProject("testRevertToBaseNonHead", new String[] {"file1.txt"});
-    	setContentsAndEnsureModified(project.getFile("file1.txt"), "line1" + eol + "line2" + eol);
-    	commitProject(project);
-    	tagProject(project, new CVSTag("testtag", CVSTag.BRANCH), true);
-    	appendText(project.getFile("file1.txt"), "line3" + eol, true);
-    	commitProject(project);
-    	IProject copy = checkoutCopy(project, "-copy");
-    	appendText(copy.getFile("file1.txt"), "line0" + eol, true);
-    	updateProject(copy, CVSTag.BASE, true);
-    	assertTrue("File has changed after revert to base",
-    			compareContent(new ByteArrayInputStream(("line3" + eol + "line1" + eol + "line2" + eol).getBytes()),
-    					copy.getFile("file1.txt").getContents()));
-    	assertEquals(getRepositoryProvider(project), getRepositoryProvider(copy), false, true);
-    }
-	
-    public void testSwitchTagForModifiedFile()throws CoreException, IOException {
-    	// it's a similar scenario as in https://bugs.eclipse.org/bugs/show_bug.cgi?id=192392
-    	// create a project
-    	IProject project = createProject("testSwitchTagForModifiedFile", new String[] {"file"});
-    	commitProject(project);
-    	// tag it
-    	CVSTag tag = new CVSTag("A", CVSTag.BRANCH);
-    	tagProject(project, tag, true);
-    	// modify a file
-    	appendText(project.getFile("file"), "changed in head" + eol, false);
-    	// switch to the tag
-    	updateProject(project, tag, false);
-    	ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor(project.getFile("file"));
-    	// we expect the file to have the same tag used when switching 
-    	assertEquals(tag, cvsFile.getSyncInfo().getTag());
-    }
-}
-
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ConcurrencyTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ConcurrencyTests.java
deleted file mode 100644
index 1e9fa36..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ConcurrencyTests.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.provider;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.team.internal.ccvs.core.ICVSRemoteFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSRemoteResource;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.ui.operations.FetchMembersOperation;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-import org.eclipse.ui.progress.IElementCollector;
-
-public class ConcurrencyTests extends EclipseTest {
-
-	public ConcurrencyTests() {
-		super();
-	}
-
-	public ConcurrencyTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		String testName = System.getProperty("eclipse.cvs.testName");
-		if (testName == null) {
-			TestSuite suite = new TestSuite(ConcurrencyTests.class);
-			return new CVSTestSetup(suite);
-		} else {
-			return new CVSTestSetup(new ConcurrencyTests(testName));
-		}
-	}
-	
-	public void testBackgroundMemberFetch() throws CoreException, InvocationTargetException, InterruptedException {
-		IProject project = createProject("testBackgroundMemberFetch", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder2/", "folder2/a.txt", "folder2/folder3/", "folder2/folder3/b.txt", "folder2/folder3/c.txt"});
-		ICVSRemoteFolder folder = (ICVSRemoteFolder)CVSWorkspaceRoot.getRemoteResourceFor(project);
-		final List result = new ArrayList(); 
-		final boolean[] done = new boolean[] { false };
-		IElementCollector collector = new IElementCollector() {
-			public void add(Object element, IProgressMonitor monitor) {
-				result.add(element);
-			}
-			public void add(Object[] elements, IProgressMonitor monitor) {
-				result.addAll(Arrays.asList(elements));
-			}
-			public void done() {
-				done[0] = true;
-			}
-		};
-		
-		FetchMembersOperation operation = new FetchMembersOperation(null, folder, collector) {
-			public void done(IJobChangeEvent event) {
-				done[0] = true;
-				super.done(event);
-			}
-		};
-		operation.run();
-		int count = 0;
-		while (!done[0]) {
-			Thread.sleep(1000);
-			count++;
-			if (count > 5) {
-				fail("Fetch of memebers didn't complete in " + count + " seconds");
-			}
-		}
-		assertTrue(result.size() == project.members().length);
-		for (Iterator iter = result.iterator(); iter.hasNext();) {
-			ICVSRemoteResource remote = (ICVSRemoteResource) iter.next();
-			IResource local = project.findMember(remote.getName());
-			assertNotNull(local);
-		}
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ImportTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ImportTest.java
deleted file mode 100644
index 8ac66c3..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ImportTest.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.provider;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-
-/**
- * @version 	1.0
- * @author 	${user}
- */
-public class ImportTest extends EclipseTest {
-
-	/**
-	 * Constructor for ImportTest.
-	 */
-	public ImportTest() {
-		super();
-	}
-
-	/**
-	 * Constructor for ImportTest.
-	 * @param name
-	 */
-	public ImportTest(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(ImportTest.class);
-		return new CVSTestSetup(suite);
-		//return new CVSTestSetup(new ImportTest("testReadOnly"));
-	}
-	
-	// Assert that the two containers have equal contents
-	protected void assertEquals(IContainer container1, IContainer container2) throws CoreException {
-		assertEquals(container1.getName(), container2.getName());
-		List members1 = new ArrayList();
-		members1.addAll(Arrays.asList(container1.members()));
-		members1.remove(container1.findMember("CVS"));
-		
-		List members2 = new ArrayList();
-		members2.addAll(Arrays.asList(container2.members()));
-		members2.remove(container2.findMember("CVS"));
-		
-		assertTrue(members1.size() == members2.size());
-		for (int i=0;i<members1.size();i++) {
-			IResource member1 = (IResource)members1.get(i);
-			IResource member2 = container2.findMember(member1.getName());
-			assertNotNull(member2);
-			assertEquals(member1, member2);
-		}
-	}
-	
-	// Assert that the two files have equal contents
-	protected void assertEquals(IFile file1, IFile file2) throws CoreException {
-		assertEquals(file1.getName(), file2.getName());
-		assertTrue(compareContent(file1.getContents(), file2.getContents()));
-	}
-	
-	// Assert that the two projects have equal contents ignoreing the project name
-	// and the .vcm_meta file
-	protected void assertEquals(IProject container1, IProject container2) throws CoreException {
-		List members1 = new ArrayList();
-		members1.addAll(Arrays.asList(container1.members()));
-		members1.remove(container1.findMember(".project"));
-		members1.remove(container1.findMember("CVS"));
-		
-		List members2 = new ArrayList();
-		members2.addAll(Arrays.asList(container2.members()));
-		members2.remove(container2.findMember(".project"));
-		members2.remove(container2.findMember("CVS"));
-		
-		assertTrue("Number of children differs for " + container1.getFullPath(), members1.size() == members2.size());
-		for (int i=0;i<members1.size();i++) {
-			IResource member1 = (IResource)members1.get(i);
-			IResource member2 = container2.findMember(member1.getName());
-			assertNotNull(member2);
-			assertEquals(member1, member2);
-		}
-	}
-	protected void assertEquals(IResource resource1, IResource resource2) throws CoreException {
-		assertEquals(resource1.getType(), resource2.getType());
-		if (resource1.getType() == IResource.FILE)
-			assertEquals((IFile)resource1, (IFile)resource2);
-		else 
-			assertEquals((IContainer)resource1, (IContainer)resource2);
-	}
-	
-	public void testImportAndCheckout() throws TeamException, CoreException {
-		// Create a test project and import it into cvs
-		IProject project = getUniqueTestProject("testImport");
-		buildResources(project, new String[] { "file1.txt", "folder1/", "folder1/a.txt" }, true);
-		importProject(project);
-		
-		// Check it out under a different name and validate that the results are the same
-		IProject copy = getWorkspace().getRoot().getProject(project.getName() + "Copy");
-		checkout(getRepository(), copy, project.getName(), null, DEFAULT_MONITOR);
-		assertValidCheckout(copy);
-		assertEquals(project, copy);
-	}
-	
-	public void testCheckout() throws TeamException, CoreException, IOException {
-		// Create a project and checkout a copy
-		IProject project = createProject("testCheckout", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		IProject copy = checkoutCopy(project, "-copy");
-		
-		// 0. checkout the project again
-		project = checkoutProject(project, null, null);
-		assertEquals(project, copy, true, true);
-		
-		// 1. Delete the project but not it's contents and checkout the project again
-        waitForDecorator();
-		project.delete(false, false, DEFAULT_MONITOR);
-		project = checkoutProject(project, null, null);
-		assertEquals(project, copy, true, true);
-		
-		// 2. Delete the project and its contents and use the module name instead of the project
-        waitForDecorator();
-		project.delete(true, false, DEFAULT_MONITOR);
-		project = checkoutProject(null, project.getName(), null);
-		assertEquals(project, copy, true, true);
-		
-		// 3. Create a project in a custom location and check out over it
-        waitForDecorator();
-		project.delete(true, false, DEFAULT_MONITOR);
-		IProjectDescription desc = ResourcesPlugin.getWorkspace().newProjectDescription(project.getName());
-		//desc.setLocation(new Path("C:\\temp\\project"));
-		project.create(desc, DEFAULT_MONITOR);
-		project = checkoutProject(project, null, null);
-		assertEquals(project, copy, true, true);
-		
-		// 4. Checkout something that doesn't contain a .project
-        waitForDecorator();
-		project.delete(true, false, DEFAULT_MONITOR);
-		project = checkoutProject(null, project.getName() + "/folder1", null);
-		//assertEquals(project, copy.getFolder("folder1"));
-		
-
-	}
-	
-	public void testRootShare() throws CoreException {
-		// Create a test project 
-		IProject project = getUniqueTestProject(getName());
-		buildResources(project, new String[] { "file1.txt", "folder1/", "folder1/a.txt" }, true);
-		// Share the project
-		shareProject(getRepository(), project, null, DEFAULT_MONITOR);
-		addResources(project, new String[] { "file1.txt", "folder1/", "folder1/a.txt" }, true);
-		// Checkout a copy ans test
-		IProject copy = checkoutProject(getUniqueTestProject(getName() + "copy"), project.getName(), null);
-		assertEquals(project, copy);
-	}
-	
-	public void testNonRootShare() throws CoreException {
-		// Create a test project 
-		IProject project = getUniqueTestProject(getName());
-		buildResources(project, new String[] { "file1.txt", "folder1/", "folder1/a.txt" }, true);
-		// Share it as a non-root folder in the repository
-		String moduleName = "root" + Long.toString(System.currentTimeMillis()) + "/" + project.getName();
-		shareProject(getRepository(), project, moduleName, DEFAULT_MONITOR);
-		addResources(project, new String[] { "file1.txt", "folder1/", "folder1/a.txt" }, true);
-		// Checkout a copy and test
-		IProject copy = checkoutProject(getUniqueTestProject(getName() + "copy"), moduleName, null);
-		assertEquals(project, copy);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/IsModifiedTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/IsModifiedTests.java
deleted file mode 100644
index 58be726..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/IsModifiedTests.java
+++ /dev/null
@@ -1,552 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.provider;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.util.*;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.util.ResourceStateChangeListeners;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-
-/**
- * Test isModified on file, folders and projects.
- */
-public class IsModifiedTests extends EclipseTest {
-
-	Set previouslyModified = new HashSet();
-	Map changedResources = new HashMap();
-	IResourceStateChangeListener listener = new IResourceStateChangeListener() {
-		public void resourceSyncInfoChanged(IResource[] changedResources) {
-			try {
-				for (int i = 0; i < changedResources.length; i++) {
-					IResource resource = changedResources[i];
-					ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource);
-					recordModificationState(cvsResource);
-					recordParents(cvsResource);
-					if (cvsResource.isFolder()) {
-						recordChildren((ICVSFolder)cvsResource);
-					}
-				}
-			} catch (CVSException e) {
-				fail(e.getMessage());
-			}
-		}
-		public void externalSyncInfoChange(IResource[] changedResources) {
-			resourceSyncInfoChanged(changedResources);	
-		}
-		private void recordChildren(ICVSFolder folder) {
-			try {
-				folder.accept(new ICVSResourceVisitor() {
-					public void visitFile(ICVSFile file) throws CVSException {
-						recordModificationState(file);
-					}
-					public void visitFolder(ICVSFolder folder) throws CVSException {
-						recordModificationState(folder);
-						folder.acceptChildren(this);
-					}
-				});
-			} catch (CVSException e) {
-				fail(e.getMessage());
-			}
-		}
-		private void recordParents(ICVSResource cvsResource) throws CVSException {
-			if (cvsResource.getIResource().getType() == IResource.ROOT) return;
-			recordModificationState(cvsResource);
-			recordParents(cvsResource.getParent());
-		}
-		private void recordModificationState(ICVSResource cvsResource) throws CVSException {
-			IsModifiedTests.this.changedResources.put(cvsResource.getIResource(), cvsResource.isModified(null) ? Boolean.TRUE : Boolean.FALSE);
-		}
-		public void resourceModified(IResource[] changedResources) {
-			try {
-				for (int i = 0; i < changedResources.length; i++) {
-					IResource resource = changedResources[i];
-					ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource);
-					IsModifiedTests.this.changedResources.put(resource, cvsResource.isModified(null) ? Boolean.TRUE : Boolean.FALSE);
-					recordParents(cvsResource);
-					if (cvsResource.isFolder()) {
-						recordChildren((ICVSFolder)cvsResource);
-					}
-				}
-			} catch (CVSException e) {
-				fail(e.getMessage());
-			}
-		}
-		public void projectConfigured(IProject project) {
-		}
-		public void projectDeconfigured(IProject project) {
-		}
-	};
-	
-	/**
-	 * Constructor for CVSProviderTest
-	 */
-	public IsModifiedTests() {
-		super();
-	}
-
-	/**
-	 * Constructor for CVSProviderTest
-	 */
-	public IsModifiedTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		String testName = System.getProperty("eclipse.cvs.testName");
-		if (testName == null) {
-			TestSuite suite = new TestSuite(IsModifiedTests.class);
-			return new CVSTestSetup(suite);
-		} else {
-			return new CVSTestSetup(new IsModifiedTests(testName));
-		}
-	}
-
-	/**
-	 * @see junit.framework.TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		previouslyModified.clear();
-		changedResources.clear();
-		ResourceStateChangeListeners.getListener().addResourceStateChangeListener(listener);
-	}
-
-	/**
-	 * @see junit.framework.TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		previouslyModified.clear();
-		changedResources.clear();
-		ResourceStateChangeListeners.getListener().removeResourceStateChangeListener(listener);
-		super.tearDown();
-	}
-	
-	/*
-	 * Assert that the modification state of the provided resources matches the
-	 * provided state and that the other are the opposite state.
-	 */
-	private void assertModificationState(IContainer container, String[] resources, final boolean listedResourcesShouldBeModified) throws CVSException {
-		final ICVSFolder rootFolder = CVSWorkspaceRoot.getCVSFolderFor(container);
-		final List resourceList = new ArrayList();
-		final Set modifiedResources = new HashSet();
-		if (resources != null) {
-			for (int i = 0; i < resources.length; i++) {
-				String string = resources[i];
-				resourceList.add(new Path(string));
-			}
-		}
-		waitForIgnoreFileHandling();
-		rootFolder.accept(new ICVSResourceVisitor() {
-			public void visitFile(ICVSFile file) throws CVSException {
-				assertModificationState(file);
-			}
-			public void visitFolder(ICVSFolder folder) throws CVSException {
-				// find the deepest mistake
-				folder.acceptChildren(this);
-				assertModificationState(folder);	
-			}
-			public void assertModificationState(ICVSResource resource) throws CVSException {
-				IPath relativePath = new Path(resource.getRelativePath(rootFolder));
-				boolean resourceModified = resource.isModified(null);
-				boolean resourceListed = resourceList.contains(relativePath);
-				if (CVSTestSetup.FAIL_ON_BAD_DIFF) {
-					assertTrue(resource.getIResource().getFullPath().toString() 
-							+ (resourceModified ? " should not be modified but is" : " should be modified but isn't"),
-						(listedResourcesShouldBeModified && (resourceModified == resourceListed)) ||
-						(!listedResourcesShouldBeModified && (!resourceModified == resourceListed)));
-				} else if (!resourceModified){
-					// Only fail if a file that should be modified isn't
-					assertTrue(resource.getIResource().getFullPath().toString() 
-							+ " should be modified but isn't",
-							(listedResourcesShouldBeModified && !resourceListed)
-								|| (!listedResourcesShouldBeModified && resourceListed));
-				}
-					
-//				Commented because the CVS core doesn't rely on resourceModify to be called.
-//				IResource iResource = resource.getIResource();
-//				if (resource.isModified()) {
-//					modifiedResources.add(iResource);
-//					if (!wasPreviouslyModified(iResource)) {
-//						// the state has changed, make sure we got a notification
-//						Boolean b = (Boolean)changedResources.get(iResource);
-//						assertTrue("No notification received for state change of " + iResource.getFullPath().toString(),
-//							b == Boolean.TRUE);
-//					}	
-//				} else {
-//					if (wasPreviouslyModified(iResource)) {
-//						// the state has changed, make sure we got a notification
-//						Boolean b = (Boolean)changedResources.get(iResource);
-//						assertTrue("No notification received for state change of " + iResource.getFullPath().toString(),
-//							b == Boolean.FALSE);
-//					}
-//				}
-			}
-//			public boolean wasPreviouslyModified(IResource iResource) {
-//				return previouslyModified.contains(iResource);
-//			}
-		});
-		changedResources.clear();
-		previouslyModified.clear();
-		previouslyModified.addAll(modifiedResources);
-	}
-	
-	/**
-	 * Assert that a project (and all it's children) is clean after it is
-	 * created and shared.
-	 * 
-	 * @see org.eclipse.team.tests.ccvs.core.EclipseTest#createProject(java.lang.String, java.lang.String)
-	 */
-	protected IProject createProject(String prefix, String[] resources) throws CoreException, TeamException {
-		IProject project = super.createProject(prefix, resources);
-		assertModificationState(project, null, true);
-		return project;
-	}
-
-
-	public void testFileModifications() throws CoreException, TeamException {
-		IProject project = createProject("testFileModifications", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		// change two files, commit one and revert the other
-		setContentsAndEnsureModified(project.getFile("changed.txt"));
-		assertModificationState(project, new String[] {".", "changed.txt"}, true);
-		setContentsAndEnsureModified(project.getFile(new Path("folder1/a.txt")));
-		assertModificationState(project, new String[] {".", "changed.txt", "folder1/", "folder1/a.txt"}, true);
-		commitResources(project, new String[] {"folder1/a.txt"});
-		assertModificationState(project, new String[] {".", "changed.txt"}, true);
-		replace(new IResource[] {project.getFile("changed.txt")}, null, true);
-		assertModificationState(project, null, true);
-	}
-
-	public void testFileDeletions() throws CoreException, TeamException {
-		IProject project = createProject("testFileDeletions", new String[] { "changed.txt", "folder1/", "folder1/deleted.txt", "folder1/a.txt" });
-		// delete and commit a file
-		project.getFile("folder1/deleted.txt").delete(false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/deleted.txt"}, true);
-		commitResources(project, new String[] {"folder1/deleted.txt"});
-		assertModificationState(project, null, true);
-		// modify, delete and revert a file
-		setContentsAndEnsureModified(project.getFile("changed.txt"));
-		assertModificationState(project, new String[] {".", "changed.txt"}, true);
-		project.getFile("changed.txt").delete(false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "changed.txt"}, true);
-		replace(new IResource[] {project.getFile("changed.txt")}, null, true);
-		assertModificationState(project, null, true);
-		// modify, delete and commit a file
-		setContentsAndEnsureModified(project.getFile("changed.txt"));
-		assertModificationState(project, new String[] {".", "changed.txt"}, true);
-		project.getFile("changed.txt").delete(false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "changed.txt"}, true);
-		commitResources(project, new String[] {"changed.txt"});
-		assertModificationState(project, null, true);
-		// delete, recreate and commit
-		project.getFile("folder1/a.txt").delete(false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/a.txt"}, true);
-		buildResources(project, new String[] {"folder1/a.txt"}, false);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/a.txt"}, true);
-		commitResources(project, new String[] {"folder1/a.txt"});
-		assertModificationState(project, null, true);
-		
-	}
-	
-	public void testFileAdditions() throws CoreException, TeamException {
-		IProject project = createProject("testFileAdditions", new String[] { "changed.txt", "folder1/", "folder1/deleted.txt", "folder1/a.txt" });
-		// create, add and commit a file
-		IResource[] addedResources = buildResources(project, new String[] {"folder1/added.txt"}, false);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/added.txt"}, true);
-		addResources(addedResources);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/added.txt"}, true);
-		commitResources(project, new String[] {"folder1/added.txt"});
-		assertModificationState(project, null, true);
-		// create, add and delete a file
-		addResources(project, new String[] {"added.txt"}, false);
-		assertModificationState(project, new String[] {".", "added.txt"}, true);
-		project.getFile("added.txt").delete(false, false, DEFAULT_MONITOR);
-		assertModificationState(project, null, true);
-		// create and delete a file
-		addedResources = buildResources(project, new String[] {"folder1/another.txt"}, false);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/another.txt"}, true);
-		project.getFile("folder1/another.txt").delete(false, false, DEFAULT_MONITOR);
-		assertModificationState(project, null, true);
-		// create and ignore a file
-		addedResources = buildResources(project, new String[] {"ignored.txt"}, false);
-		assertModificationState(project, new String[] {".", "ignored.txt"}, true);
-		project.getFile(".cvsignore").create(new ByteArrayInputStream("ignored.txt".getBytes()), false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", ".cvsignore"}, true);
-		addResources(new IResource[] {project.getFile(".cvsignore")});
-		assertModificationState(project, new String[] {".", ".cvsignore"}, true);
-		commitResources(project, new String[] {".cvsignore"});
-		assertModificationState(project, null, true);
-		// delete the .cvsignore to see the modification come back
-		project.getFile(".cvsignore").delete(false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "ignored.txt", ".cvsignore"}, true);
-		commitResources(project, new String[] {".cvsignore"});
-		assertModificationState(project, new String[] {".", "ignored.txt"}, true);
-		// re-add the ignore and then delete the ignored
-		project.getFile(".cvsignore").create(new ByteArrayInputStream("ignored.txt".getBytes()), false, DEFAULT_MONITOR);
-		addResources(new IResource[] {project.getFile(".cvsignore")});
-		assertModificationState(project, new String[] {".", ".cvsignore"}, true);
-		commitResources(project, new String[] {".cvsignore"});
-		assertModificationState(project, null, true);
-		project.getFile("ignored.txt").delete(false, DEFAULT_MONITOR);
-		assertModificationState(project, null, true);
-		// add the ignored file to version control
-		buildResources(project, new String[] {"ignored.txt"}, false);
-		assertModificationState(project, null, true);
-		addResources(new IResource[] {project.getFile("ignored.txt")});
-		assertModificationState(project, new String[] {".", "ignored.txt"}, true);
-		commitProject(project);
-		assertModificationState(project, null, true);
-	}
-	
-	public void testFileMoveAndCopy() throws CoreException, TeamException {
-		IProject project = createProject("testFileMoveAndCopy", new String[] { "changed.txt", "folder1/", "folder2/", "folder1/a.txt" });
-		// move a file
-		project.getFile("folder1/a.txt").move(project.getFile("folder2/a.txt").getFullPath(), false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/a.txt", "folder2/", "folder2/a.txt"}, true);
-		// commit the source
-		commitResources(project, new String[] {"folder1/a.txt"});
-		assertModificationState(project, new String[] {".", "folder2/", "folder2/a.txt"}, true);
-		// copy the destination back to the source
-		project.getFolder("folder1").create(false, true, DEFAULT_MONITOR);
-		project.getFile("folder2/a.txt").copy(project.getFile("folder1/a.txt").getFullPath(), false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/a.txt", "folder2/", "folder2/a.txt"}, true);
-		// add the source, delete the destination and commit
-		addResources(new IResource[] {project.getFile("folder1/a.txt")});
-		project.getFile("folder2/a.txt").delete(false, DEFAULT_MONITOR);
-		commitProject(project);
-		assertModificationState(project, null, true);
-		// Do the above without committing the source
-		project.getFile("folder1/a.txt").move(project.getFile("folder2/a.txt").getFullPath(), false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/a.txt", "folder2/", "folder2/a.txt"}, true);
-		// copy the destination back to the source
-		project.getFile("folder2/a.txt").copy(project.getFile("folder1/a.txt").getFullPath(), false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder2/", "folder2/a.txt"}, true);
-		addResources(new IResource[] {project.getFile("folder2/a.txt")});
-		commitProject(project);
-		assertModificationState(project, null, true);
-	}
-	
-	public void testFolderAdditions() throws CoreException, TeamException {
-		IProject project = createProject("testFileAdditions", new String[] { "changed.txt", "folder1/", "folder1/deleted.txt", "folder1/a.txt" });
-		// create a folder
-		project.getFolder("folder1/folder2").create(false, true, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/folder2/"}, true);
-		addResources(new IResource[] {project.getFolder("folder1/folder2/")});
-		assertModificationState(project, null, true);
-		
-		// create a folder
-		project.getFolder("folder1/folder2/folder3").create(false, true, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/folder2/", "folder1/folder2/folder3"}, true);
-		// add some children
-		buildResources(project, new String[] {
-			"folder1/folder2/folder3/add1.txt", 
-			"folder1/folder2/folder3/add2.txt",
-			"folder1/folder2/folder3/folder4/",
-			"folder1/folder2/folder3/folder5/"}, false);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/folder2/", "folder1/folder2/folder3",
-			"folder1/folder2/folder3/add1.txt",
-			"folder1/folder2/folder3/add2.txt",
-			"folder1/folder2/folder3/folder4/",
-			"folder1/folder2/folder3/folder5/"}, true);
-		// delete some children
-		project.getFile("folder1/folder2/folder3/add2.txt").delete(false, DEFAULT_MONITOR);
-		project.getFolder("folder1/folder2/folder3/folder5/").delete(false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/folder2/", "folder1/folder2/folder3",
-			"folder1/folder2/folder3/add1.txt",
-			"folder1/folder2/folder3/folder4/"}, true);
-		// add to version control
-		addResources(new IResource[] {
-			project.getFile("folder1/folder2/folder3/add1.txt"),
-			project.getFolder("folder1/folder2/folder3/folder4/")});
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/folder2/", "folder1/folder2/folder3",
-			"folder1/folder2/folder3/add1.txt"}, true);
-		// commit
-		commitResources(project, new String[] {"folder1/folder2/folder3/add1.txt"});
-		assertModificationState(project, null, true);
-		
-		// create a folder
-		project.getFolder("folder1/ignored").create(false, true, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/ignored/"}, true);
-		// add some files
-		buildResources(project, new String[] {"folder1/ignored/file.txt"}, false);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/ignored/", "folder1/ignored/file.txt"}, true);
-		// ignore the folder
-		project.getFile("folder1/.cvsignore").create(new ByteArrayInputStream("ignored".getBytes()), false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/.cvsignore"}, true);
-		addResources(new IResource[] {project.getFile("folder1/.cvsignore")});
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/.cvsignore"}, true);
-		commitResources(project, new String[] {"folder1/.cvsignore"});
-		assertModificationState(project, null, true);
-		// delete the .cvsignore to see the modification come back
-		project.getFile("folder1/.cvsignore").delete(false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/.cvsignore", "folder1/ignored/", "folder1/ignored/file.txt"}, true);
-		commitResources(project, new String[] {"folder1/.cvsignore"});
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/ignored/", "folder1/ignored/file.txt"}, true);
-		// re-add the .cvsignore and then delete the ignored
-		project.getFile("folder1/.cvsignore").create(new ByteArrayInputStream("ignored".getBytes()), false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/.cvsignore"}, true);
-		addResources(new IResource[] {project.getFile("folder1/.cvsignore")});
-		commitResources(project, new String[] {"folder1/.cvsignore"});
-		assertModificationState(project, null, true);
-		project.getFolder("folder/ignored").delete(false, DEFAULT_MONITOR);
-		assertModificationState(project, null, true);
-		// add the ignored file to version control
-		buildResources(project, new String[] {"folder1/ignored/file.txt"}, false);
-		assertModificationState(project, null, true);
-		addResources(new IResource[] {project.getFile("folder1/ignored/file.txt")});
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/ignored/", "folder1/ignored/file.txt"}, true);
-		commitProject(project);
-		assertModificationState(project, null, true);
-	}
-	
-	public void testFolderDeletions() throws CoreException, TeamException {
-		IProject project = createProject("testFileAdditions", new String[] { "changed.txt", "folder1/", "folder1/deleted.txt", "folder1/a.txt" });
-		// create a folder
-		project.getFolder("folder1/folder2").create(false, true, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/folder2/"}, true);
-		// delete the folder
-		project.getFolder("folder1/folder2").delete(false, DEFAULT_MONITOR);
-		assertModificationState(project, null, true);
-		
-		// create a folder
-		project.getFolder("folder1/folder2").create(false, true, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/folder2/"}, true);
-		// add some children
-		buildResources(project, new String[] {"folder1/folder2/file.txt"}, false);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/folder2/", "folder1/folder2/file.txt"}, true);
-		// delete the folder
-		project.getFolder("folder1/folder2").delete(false, DEFAULT_MONITOR);
-		assertModificationState(project, null, true);
-		
-		// delete a shared folder with files
-		project.getFolder("folder1").delete(false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/deleted.txt", "folder1/a.txt"}, true);
-		// recreate folders and files
-		project.getFolder("folder1").create(false, true, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/deleted.txt", "folder1/a.txt"}, true);
-		replace(new IResource[] {project.getFile("folder1/deleted.txt"), project.getFile("folder1/a.txt")}, null, true);
-		assertModificationState(project, null, true);
-		
-		// delete a shared folder with files
-		project.getFolder("folder1").delete(false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/deleted.txt", "folder1/a.txt"}, true);
-		// commit file deletions
-		commitProject(project);
-		assertModificationState(project, null, true);
-	}
-	
-	public void testFolderMoveAndCopy() throws CoreException, TeamException {
-		IProject project = createProject("testFolderMoveAndCopy", new String[] { "changed.txt", "folder1/", "folder2/", "folder1/a.txt" , "folder1/folder3/file.txt"});
-		// move a file
-		project.getFolder("folder1/folder3").move(project.getFolder("folder2/folder3").getFullPath(), false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/folder3", "folder1/folder3/file.txt", "folder2/", "folder2/folder3/", "folder2/folder3/file.txt"}, true);
-		// commit the source
-		commitResources(project, new String[] {"folder1/folder3"});
-		assertModificationState(project, new String[] {".", "folder2/", "folder2/folder3/", "folder2/folder3/file.txt"}, true);
-		// copy the destination back to the source
-		project.getFolder("folder2/folder3/").copy(project.getFolder("folder1/folder3").getFullPath(), false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/folder3", "folder1/folder3/file.txt", "folder2/", "folder2/folder3/", "folder2/folder3/file.txt"}, true);
-		// add the source, delete the destination and commit
-		addResources(new IResource[] {project.getFile("folder1/folder3/file.txt")});
-		project.getFolder("folder2/folder3").delete(false, DEFAULT_MONITOR);
-		commitProject(project);
-		assertModificationState(project, null, true);
-		// Do the above without committing the source
-		project.getFolder("folder1/folder3").move(project.getFolder("folder2/folder3").getFullPath(), false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder1/", "folder1/folder3", "folder1/folder3/file.txt", "folder2/", "folder2/folder3/", "folder2/folder3/file.txt"}, true);
-		// copy the destination back to the source
-		project.getFolder("folder2/folder3/").copy(project.getFolder("folder1/folder3").getFullPath(), false, DEFAULT_MONITOR);
-		assertModificationState(project, new String[] {".", "folder2/", "folder2/folder3/", "folder2/folder3/file.txt"}, true);
-		addResources(new IResource[] {project.getFolder("folder2/folder3/")});
-		commitProject(project);
-		assertModificationState(project, null, true);
-	}
-	
-	public void testUpdate() throws TeamException, CoreException, IOException {
-		// Create a test project, import it into cvs and check it out
-		IProject project = createProject("testUpdate", new String[] { "changed.txt", "merged.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-
-		// Check the project out under a different name
-		IProject copy = checkoutCopy(project, "-copy");
-		assertModificationState(copy, null, true);
-
-		// Perform some operations on the copy and commit
-		addResources(copy, new String[] { "added.txt", "folder2/", "folder2/added.txt" }, false);
-		setContentsAndEnsureModified(copy.getFile("changed.txt"));
-		setContentsAndEnsureModified(copy.getFile("merged.txt"));
-		deleteResources(new IResource[] {copy.getFile("deleted.txt")});
-		assertModificationState(copy, new String[] {".", "added.txt", "folder2/", "folder2/added.txt", "changed.txt", "merged.txt", "deleted.txt"}, true);
-		commitResources(new IResource[] {copy}, IResource.DEPTH_INFINITE);
-		assertModificationState(copy, null, true);
-		
-		// update the project and check status
-		setContentsAndEnsureModified(project.getFile("merged.txt"));
-		updateProject(project, null, false);
-		assertModificationState(project, new String[] {".", "merged.txt"}, true);
-		// can't commit because of merge
-		// commitProject(project);
-		// assertModificationState(project, null, true);
-	}
-	
-	public void testUpdateIgnoreLocal() throws TeamException, CoreException, IOException {
-		// Create a test project, import it into cvs and check it out
-		IProject project = createProject("testUpdateIgnoreLocal", new String[] { "changed.txt", "merged.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-
-		// modifiy a file
-		setContentsAndEnsureModified(project.getFile("changed.txt"));
-		assertModificationState(project, new String[] {".", "changed.txt"}, true);
-		
-		// peform un update -C
-		updateProject(project, null, true /* ignore local changes */);
-		assertModificationState(project, null, true);
-	}
-	
-	public void testExternalDeletion() throws CoreException, TeamException {
-		IProject project = createProject("testExternalDeletion", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/folder2/b.txt"});
-		IFile file = project.getFile("folder1/unmanaged.txt");
-		file.create(new ByteArrayInputStream("stuff".getBytes()), false, DEFAULT_MONITOR);
-		file.getLocation().toFile().delete();
-		file.refreshLocal(IResource.DEPTH_ZERO, DEFAULT_MONITOR);
-		assertTrue(!file.exists());
-		assertModificationState(project, null, true);
-	}
-	
-	public void testIgnoredAfterCheckout() throws TeamException, CoreException {
-		// Bug 43938
-		// Create a project and add a .cvsignore to it
-		IProject project = createProject("testIgnoredAfterCheckout", new String[] { ".changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/folder2/b.txt"});
-		project.getFile(".cvsignore").create(new ByteArrayInputStream("ignored".getBytes()), false, DEFAULT_MONITOR);
-		addResources(new IResource[] {project.getFile(".cvsignore")});
-		commitProject(project);
-		assertModificationState(project, null, true);
-		project.getFolder("ignored").create(false, true, DEFAULT_MONITOR);
-		assertModificationState(project, null, true);
-		
-		// Checkout a copy and add the file to ensure it is ignored
-		// Check the project out under a different name
-		IProject copy = checkoutCopy(project, "-copy");
-		assertModificationState(copy, null, true);
-		copy.getFolder("ignored").create(false, true, DEFAULT_MONITOR);
-		assertModificationState(copy, null, true);
-	}
-
-}
-
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/LinkResourcesTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/LinkResourcesTest.java
deleted file mode 100644
index ee61c6e..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/LinkResourcesTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.provider;
-
-import java.io.IOException;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-
-/**
- * Test linked resources
- */
-public class LinkResourcesTest extends EclipseTest {
-
-	/**
-	 * Constructor for CVSProviderTest
-	 */
-	public LinkResourcesTest() {
-		super();
-	}
-
-	/**
-	 * Constructor for CVSProviderTest
-	 */
-	public LinkResourcesTest(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(LinkResourcesTest.class);
-		return new CVSTestSetup(suite);
-		//return new CVSTestSetup(new WatchEditTest("testReadOnly"));
-	}
-
-	
-	public void testMapSuccess() throws CoreException, TeamException {
-		IProject project = getUniqueTestProject("testLinkSuccess");
-		buildResources(project, new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" }, true);
-		IFolder folder = project.getFolder("link");
-		folder.createLink(Platform.getLocation().append("temp"), IResource.ALLOW_MISSING_LOCAL, null);
-		
-		// Add CVS info to the project so the map doesn't log an error
-		ICVSFolder cvsFolder = CVSWorkspaceRoot.getCVSFolderFor(project);
-		cvsFolder.setFolderSyncInfo(new FolderSyncInfo("repo/root", ":pserver:name@host:/root", null, false));
-		RepositoryProvider.map(project, CVSProviderPlugin.getTypeId());
-	}
-	
-	public void testLinkSuccess() throws CoreException, TeamException {
-		IProject project = createProject("testLinkFailure", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		IFolder folder = project.getFolder("link");
-		folder.createLink(Platform.getLocation().append("temp"), IResource.ALLOW_MISSING_LOCAL, null);
-		assertIsIgnored(folder, true);
-		folder = project.getFolder("folder1/folder2/");
-		folder.createLink(Platform.getLocation().append("temp"), IResource.ALLOW_MISSING_LOCAL, null);
-		assertIsIgnored(folder, true);
-	}
-	
-	public void testLinkCVSFolder() throws CoreException, TeamException, IOException {
-		IProject source = createProject("testLinkSource", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		IProject sourceCopy = checkoutCopy(source, "copy");
-		EclipseSynchronizer.getInstance().flush(source, true, DEFAULT_MONITOR);
-		IProject target = createProject("testLinkTarget", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		IFolder folder = target.getFolder("link");
-		folder.createLink(source.getLocation(), 0, null);
-		assertEquals(sourceCopy, source);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ModuleTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ModuleTest.java
deleted file mode 100644
index 09b2629..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ModuleTest.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.provider;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import junit.framework.Assert;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.CVSTag;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSRemoteResource;
-import org.eclipse.team.internal.ccvs.core.ICVSResource;
-import org.eclipse.team.internal.ccvs.core.client.Command;
-import org.eclipse.team.internal.ccvs.core.client.Session;
-import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFolder;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteModule;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-import org.osgi.framework.Bundle;
-
-/**
- * This class tests the Command framework using simple CVS commands
- */
-public class ModuleTest extends EclipseTest {
-	
-	public static final String RESOURCE_PATH = "resources/CommandTest/";
-	
-	public ModuleTest() {
-		super(null);
-	}
-	
-	public ModuleTest(String name) {
-		super(name);
-	}
-	
-	public static Test suite() {
-		TestSuite suite = new TestSuite(ModuleTest.class);
-		return new CVSTestSetup(suite);
-		//return new CVSTestSetup(new ModuleTest("testAliasForFiles"));
-	}
-	
-	private static boolean isSetUp = false;
-	
-	private static RemoteModule[] remoteModules;
-	
-	public void setUp() throws TeamException, CoreException, IOException {
-		if (isSetUp) return;
-		
-		// upload the modules definitions file
-		Bundle b = Platform.getBundle("org.eclipse.team.tests.cvs.core");
-		URL url = b.getEntry(RESOURCE_PATH + "CVSROOT/modules");
-
-		waitMsec(1000);
-
-		IProject cvsroot = checkoutProject(null, "CVSROOT", null);
-		InputStream in = url.openStream();
-		try {
-			cvsroot.getFile("modules").setContents(in, false, false, DEFAULT_MONITOR);
-		} finally {
-			in.close();
-		}
-		commitProject(cvsroot);
-		
-		uploadProject("common");
-		
-		remoteModules = RemoteModule.getRemoteModules(getRepository(), null, DEFAULT_MONITOR);
-		
-		isSetUp = true;
-	}
-	
-	protected void uploadProject(String projectName) throws TeamException, IOException, CoreException {
-		// locate the test case contents in the plugin resources
-		IPluginRegistry registry = Platform.getPluginRegistry();
-		IPluginDescriptor descriptor = registry.getPluginDescriptor("org.eclipse.team.tests.cvs.core");
-		URL baseURL = descriptor.getInstallURL();
-		URL url = new URL(baseURL, RESOURCE_PATH + projectName);
-		url = Platform.resolve(url);
-		Assert.assertTrue(url.getProtocol().equals("file"));
-		IPath path = new Path(url.getPath());
-		
-		// create a project rooted there
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IWorkspaceRoot workspaceRoot = workspace.getRoot();
-		IProject project = workspaceRoot.getProject(projectName);
-		IProjectDescription projectDescription = workspace.newProjectDescription(projectName);
-		projectDescription.setLocation(path);
-		project.create(projectDescription, null);
-		project.open(null);
-
-		// import the project into CVS
-		Session s = new Session(getRepository(), CVSWorkspaceRoot.getCVSFolderFor(project));
-		s.open(DEFAULT_MONITOR, true /* open for modification */);
-		try {
-			Command.IMPORT.execute(s, Command.NO_GLOBAL_OPTIONS, 
-				new LocalOption[] {Command.makeArgumentOption(Command.MESSAGE_OPTION, "")},
-				new String[] { projectName, "start", "vendor"},
-				null,
-				DEFAULT_MONITOR);
-		} finally {
-			s.close();
-		}
-
-		// delete the project locally
-		project.delete(false /*deleteContent*/, false /*force*/, null);
-	}
-	
-	// XXX Temporary method of checkout (i.e. with vcm_meta
-	protected IProject checkoutProject(String projectName, CVSTag tag) throws TeamException, CoreException {
-		IProject project = super.checkoutProject(getWorkspace().getRoot().getProject(projectName), null, tag);
-		ICVSFolder parent = (ICVSFolder)CVSWorkspaceRoot.getCVSResourceFor(project);
-		ICVSResource vcmmeta = CVSWorkspaceRoot.getCVSResourceFor(project.getFile(".vcm_meta"));
-		if ( ! vcmmeta.isManaged() && ! parent.getFolderSyncInfo().getIsStatic()) {
-			addResources(new IResource[] {project.getFile(".vcm_meta")});
-			waitMsec(1000);
-			commitProject(project);
-		}
-		return project;
-	}
-
-	/*
-	 * Test the following definition
-	 * 
-	 *   # self referencing modules
-	 *   project1 project1
-	 */
-	public void testSelfReferencingModule() throws TeamException, CoreException, IOException {
-		uploadProject("project1");
-		IProject project1 = checkoutProject("project1", null);
-		ICVSRemoteResource tree = getRemoteTree(project1, CVSTag.DEFAULT, DEFAULT_MONITOR);
-		assertEquals(Path.EMPTY, CVSWorkspaceRoot.getCVSResourceFor(project1), tree, false, false);
-		RemoteModule module = getRemoteModule("project1");
-		assertEquals(Path.EMPTY, (RemoteFolder)tree, module, false);
-	}
-	
-	/*
-	 * Test the following definition
-	 * 
-	 * # checkout docs in flattened structure
-	 * docs		-d docs common/docs
-	 * macros common/macros
-	 */
-	public void testFlattenedStructure() throws TeamException, CoreException, IOException {
-		
-		IProject docs = checkoutProject("docs", null);
-		ICVSRemoteResource tree = getRemoteTree(docs, CVSTag.DEFAULT, DEFAULT_MONITOR);
-		assertEquals(Path.EMPTY, CVSWorkspaceRoot.getCVSResourceFor(docs), tree, false, false);
-		RemoteModule module = getRemoteModule("docs");
-		assertEquals(Path.EMPTY, (RemoteFolder)tree, module, false);
-		
-		IProject macros = checkoutProject("macros", null);
-		tree = getRemoteTree(macros, CVSTag.DEFAULT, DEFAULT_MONITOR);
-		assertEquals(Path.EMPTY, CVSWorkspaceRoot.getCVSResourceFor(macros), tree, false, false);
-		module = getRemoteModule("macros");
-		assertEquals(Path.EMPTY, (RemoteFolder)tree, module, false);
-
-	}
-	
-	/*
-	 * Test the following definition
-	 * 
-	 * # include docs with project
-	 * project2		project2 &docs
-	 * # only project2
-	 * project2-only project2
-	 */
-	public void testIncludeAndExcludeDocs() throws TeamException, CoreException, IOException {
-		uploadProject("project2");
-		IProject project2 = checkoutProject("project2", null);
-		ICVSRemoteResource tree = getRemoteTree(project2, CVSTag.DEFAULT, DEFAULT_MONITOR);
-		assertEquals(Path.EMPTY, CVSWorkspaceRoot.getCVSResourceFor(project2), tree, false, false);
-
-		RemoteModule module = getRemoteModule("project2");
-		assertEquals(Path.EMPTY, (RemoteFolder)tree, module, false);
-
-		project2 = checkoutProject("project2-only", null);
-		tree = getRemoteTree(project2, CVSTag.DEFAULT, DEFAULT_MONITOR);
-		assertEquals(Path.EMPTY, CVSWorkspaceRoot.getCVSResourceFor(project2), tree, false, false);
-
-		module = getRemoteModule("project2-only");
-		assertEquals(Path.EMPTY, (RemoteFolder)tree, module, false);
-
-	}
-	
-	/*
-	 * Test the following definition
-	 * 
-	 * # a use of alias
-	 * project3-src  project3/src
-	 * project3-src_file -a project3-src/file.c mc-src/file.h
-	 * project3-sub  project3/sub &project3-src_file
-	 */
-//	public void testAliasForFiles() throws TeamException, CoreException, IOException {
-//		uploadProject("project3");
-//		IProject project3 = checkoutProject("project3-sub", null);
-//		ICVSRemoteResource tree = getRemoteTree(project3, CVSTag.DEFAULT, DEFAULT_MONITOR);
-//		assertEquals("Local does not match remote", Session.getManagedResource(project3), (ICVSResource)tree.getRemote(), false, false);
-//
-//		project3 = checkoutProject("project3-src", null);
-//		tree = getRemoteTree(project3, CVSTag.DEFAULT, DEFAULT_MONITOR);
-//		assertEquals("Local does not match remote", Session.getManagedResource(project3), (ICVSResource)tree.getRemote(), false, false);
-//
-//		project3 = checkoutProject("project3-src_file", null);
-//		tree = getRemoteTree(project3, CVSTag.DEFAULT, DEFAULT_MONITOR);
-//		assertEquals("Local does not match remote", Session.getManagedResource(project3), (ICVSResource)tree.getRemote(), false, false);
-//	}
-	
-	/*
-	 * Test the following definition
-	 * 
-	 * # using aliases to provide packaging
-	 * project7-common -a project7/common
-	 * project7-pc -a project7-common project7/pc
-	 * project7-linux -a project7-common project7/linux
-	 */
-//	public void testAliases() throws TeamException, CoreException, IOException {
-//		uploadProject("project7");
-//		IProject project7 = checkoutProject("project7-common", null);
-//		ICVSRemoteResource tree = getRemoteTree(project7, CVSTag.DEFAULT, DEFAULT_MONITOR);
-//		assertEquals("Local does not match remote", Session.getManagedResource(project7), (ICVSResource)tree.getRemote(), false, false);
-//
-//		project7 = checkoutProject("project7-pc", null);
-//		tree = getRemoteTree(project7, CVSTag.DEFAULT, DEFAULT_MONITOR);
-//		assertEquals("Local does not match remote", Session.getManagedResource(project7), (ICVSResource)tree.getRemote(), false, false);
-//
-//		project7 = checkoutProject("project7-linux", null);
-//		tree = getRemoteTree(project7, CVSTag.DEFAULT, DEFAULT_MONITOR);
-//		assertEquals("Local does not match remote", Session.getManagedResource(project7), (ICVSResource)tree.getRemote(), false, false);
-//	}
-	
-
-	/*
-	 * Test the following definition
-	 * 
-	 * # simple use of module alias
-	 * project8-alias -a project8 common
-	 */
-	public void testSimpleAlias() throws TeamException, CoreException, IOException {
-		uploadProject("project8");
-		
-		// XXX Module checkout will not work yet
-		// IProject project8 = checkoutProject("project8-alias", null);
-		
-		//RemoteModule module = getRemoteModule("project8-alias");
-	}
-	
-	public RemoteModule getRemoteModule(String moduleName) {
-		for (int i = 0; i < remoteModules.length; i++) {
-			RemoteModule module = remoteModules[i];
-			// XXX shouldn't be getName
-			if (module.getName().equals(moduleName))
-				return module;
-		}
-		return null;
-	}
-}
-
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/RemoteResourceTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/RemoteResourceTest.java
deleted file mode 100644
index e40adef..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/RemoteResourceTest.java
+++ /dev/null
@@ -1,375 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.provider;
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.InvocationTargetException;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.variants.CachedResourceVariant;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.*;
-import org.eclipse.team.internal.ccvs.ui.operations.CheckoutToRemoteFolderOperation;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-
-public class RemoteResourceTest extends EclipseTest {
-
-	public RemoteResourceTest() {
-		super();
-	}
-	
-	public RemoteResourceTest(String name) {
-		super(name);
-	}
-	
-	public static Test suite() {
-		return suite(RemoteResourceTest.class);
-	}
-	
-	protected void assertRemoteMatchesLocal(String message, RemoteFolder remote, IContainer container) throws CVSException, IOException, CoreException {
-		assertEquals(Path.EMPTY, (ICVSResource)remote, CVSWorkspaceRoot.getCVSFolderFor(container), false, false);
-	}
-	
-	protected void getMembers(ICVSRemoteFolder folder, boolean deep) throws TeamException {
-		ICVSRemoteResource[] children = folder.members(DEFAULT_MONITOR);
-		if (deep) {
-			for (int i=0;i<children.length;i++) {
-				if (children[i].isContainer())
-					getMembers((ICVSRemoteFolder)children[i], deep);
-			}
-		}
-	}
-	
-	/**
-	 * RemoteFolderTreeBuilder test
-	 * 
-	 * Perform some remote additions, changes and deletions 
-	 */
-	public void testSimpleChanges() throws TeamException, CoreException, IOException {
-		
-		// Create a test project and a copy of it
-		IProject project = createProject("testRemoteTreeBuilder", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		IProject copy = checkoutCopy(project, "-copy");
-		
-		// Make some changes to the copy and commit
-		IResource[] newResources = buildResources(copy, new String[] { "added.txt", "folder2/", "folder2/added.txt" }, false);
-		setContentsAndEnsureModified(copy.getFile("changed.txt"));
-		addResources(newResources);
-		deleteResources(new IResource[] {copy.getFile("deleted.txt")});
-		commitResources(new IResource[] {copy}, IResource.DEPTH_INFINITE);
-		
-		// Build the remote tree from the original and ensure it matches the copy
-		RemoteFolderTree tree = RemoteFolderTreeBuilder.buildRemoteTree(getRepository(), project, CVSTag.DEFAULT, DEFAULT_MONITOR);
-		assertRemoteMatchesLocal("testSimpleChanges", tree, copy);
-	}
-	
-	/**
-	 * RemoteFolderTreeBuilder test
-	 * 
-	 * Create a remote tree from a local workspace with no remote changes.
-	 */
-	public void testNoRemoteChanges() throws TeamException, CoreException, IOException {
-		IProject project = createProject("testNoRemoteChanges", new String[] { "file1.txt", "file2.txt", "folder1/a.txt", "folder2/folder3/b.txt"});
-		RemoteFolderTree tree = RemoteFolderTreeBuilder.buildRemoteTree(getRepository(), project, CVSTag.DEFAULT, DEFAULT_MONITOR);
-		assertRemoteMatchesLocal("testNoRemoteChanges", tree, project);
-	}
-	
-	/**
-	 * RemoteFolderTreeBuilder test
-	 * 
-	 * Create a base remote tree from a local workspace with no remote changes.
-	 */
-	public void testGetBase() throws TeamException, CoreException, IOException {
-		IProject project = createProject("testGetBase", new String[] { "file1.txt", "file2.txt", "folder1/a.txt", "folder2/folder3/b.txt"});
-		RemoteFolder tree = RemoteFolderTreeBuilder.buildBaseTree(getRepository(), CVSWorkspaceRoot.getCVSFolderFor(project), CVSTag.DEFAULT, DEFAULT_MONITOR);
-		assertRemoteMatchesLocal("testGetBase", tree, project);
-	}
-	
-	/**
-	 * RemoteFolderTreeBuilder test
-	 * 
-	 * Add a nested folder structure remotely and build the remote tree
-	 * from the root.
-	 */
-	public void testFolderAddition() throws TeamException, CoreException, IOException {
-		
-		// Create a test project
-		IProject project = createProject("testFolderAddition", new String[] { "file1.txt", "file2.txt", "folder1/", "folder1/a.txt"});
-		
-		// Checkout and modify a copy
-		IProject copy = checkoutCopy(project, "-copy");
-		addResources(copy, new String[] { "folder2/folder3/b.txt" }, false);
-		commitResources(new IResource[] {copy}, IResource.DEPTH_INFINITE);
-
-		// Build the remote tree from the project
-		RemoteFolderTree tree = RemoteFolderTreeBuilder.buildRemoteTree(getRepository(), project, CVSTag.DEFAULT, DEFAULT_MONITOR);
-		assertRemoteMatchesLocal("testFolderAddition", tree, copy);
-	}
-	
-	/**
-	 * RemoteFolderTreeBuilder test
-	 * 
-	 * Add a nested folder structure remotely and build the remote tree
-	 * from a child
-	 */
-	public void testNonRootBuild() throws CoreException, TeamException, IOException {
-		
-		// Create a test project
-		IProject project = createProject("testNonRootBuild", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder2/", "folder2/a.txt", "folder2/folder3/", "folder2/folder3/b.txt", "folder2/folder3/c.txt"});
-
-		// Checkout and modify a copy
-		IProject copy = checkoutCopy(project, "-copy");
-		setContentsAndEnsureModified(copy.getFile("folder2/folder3/c.txt"));
-		addResources(copy, new String[] { "folder2/folder3/add.txt" }, false);
-		deleteResources(new IResource[] {copy.getFile("folder2/folder3/b.txt")});
-		commitResources(new IResource[] {copy}, IResource.DEPTH_INFINITE);
-
-		// Build the remote tree from the project
-		RemoteFolderTree tree = RemoteFolderTreeBuilder.buildRemoteTree(getRepository(), project.getFolder("folder2"), CVSTag.DEFAULT, DEFAULT_MONITOR);
-		assertRemoteMatchesLocal("testNonRootBuild", tree, copy.getFolder("folder2"));
-	}
-	
-	/**
-	 * RemoteResource test
-	 * 
-	 */
-	public void testGetRemoteResource() throws CoreException, TeamException, IOException {
-		IProject project = createProject("testGetRemoteResource", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder2/", "folder2/a.txt", "folder2/folder3/", "folder2/folder3/b.txt", "folder2/folder3/c.txt"});
-		ICVSRemoteResource file = CVSWorkspaceRoot.getRemoteResourceFor(project.getFile("folder1/a.txt"));
-		assertTrue("File should exist remotely", file.exists(DEFAULT_MONITOR));
-		assertEquals(Path.EMPTY, file, CVSWorkspaceRoot.getRemoteResourceFor(project.getFile("folder1/a.txt")), false, false);
-		ICVSRemoteResource folder = CVSWorkspaceRoot.getRemoteResourceFor(project.getFolder("folder2/folder3/"));
-		getMembers((ICVSRemoteFolder)folder, true);
-		assertTrue("Folder should exist remotely", folder.exists(DEFAULT_MONITOR));
-		// XXX this didn't work right. I'll need to check into it later
-//		assertEquals("Remote folder should match local folder", (ICVSResource)folder, (ICVSResource)Client.getManagedFolder(project.getFolder("folder2/folder3/").getLocation().toFile()));
-	}
-	
-	/*
-	 * Test that the fetch of a tagged tree matches what is checked out for that tag
-	 */
-	public void testVersionTag() throws TeamException, CoreException, IOException {
-		// Create a test project and version it
-		CVSTag v1Tag = new CVSTag("v1", CVSTag.VERSION);
-		IProject project = createProject("testVersionTag", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt", "folder2/folder3/c.txt"});
-		tagProject(project, v1Tag, false);
-
-		// Make some changes, additions (including folders) and deletions and commit
-		IFile file = project.getFile("folder1/a.txt");
-		file.setContents(getRandomContents(), false, false, null);
-		addResources(project, new String[] { "folder2/folder3/add.txt" }, false);
-		deleteResources(project, new String[] {"folder1/b.txt"}, false);
-		commitResources(new IResource[] {project}, IResource.DEPTH_INFINITE);
-		
-		// Fetch the remote tree for the version
-		ICVSRemoteResource tree = getRemoteTree(project, v1Tag, DEFAULT_MONITOR);
-
-		// Check out the project version
-		project = checkoutCopy(project, v1Tag);
-		
-		// Compare the two
-		assertEquals(Path.EMPTY, tree, CVSWorkspaceRoot.getCVSResourceFor(project), false, false);
-	}
-	
-	/*
-	 * Test the fetching of the contents of an empty file
-	 */
-	public void testEmptyFile() throws TeamException, CoreException, IOException {
-	 	
-	 	// Create a project with an empty file
-		IProject project = createProject("testEmptyFile", new String[] { "file.txt"});
-		IFile file = project.getFile("file.txt");
-		setContentsAndEnsureModified(file, "");
-		commitResources(project, new String[] {"file.txt"});
-		
-		IResourceVariant remote = (IResourceVariant)CVSWorkspaceRoot.getRemoteResourceFor(file);
-		InputStream in = remote.getStorage(DEFAULT_MONITOR).getContents();
-		int count = 0;
-		while(in.read() != -1) {
-			count++;
-		}
-		assertTrue("Remote file should be empty", count==0);
-	 }
-	 
-	 /*
-	  * Test the fetching of the contents from multiple remote revisions of a file
-	  */
-	 public void testFileRevisions() throws TeamException, CoreException, IOException {
-	 	
-	 	// Create a project with an empty file
-		IProject project = createProject("testFileRevisions", new String[] { "file.txt"});
-		setContentsAndEnsureModified(project.getFile("file.txt"), "hi there");
-		commitResources(project, new String[] {"file.txt"});
-		setContentsAndEnsureModified(project.getFile("file.txt"), "bye there");
-		commitResources(project, new String[] {"file.txt"});
-
-		ICVSRemoteFile remote = (ICVSRemoteFile)CVSWorkspaceRoot.getRemoteResourceFor(project.getFile("file.txt"));
-		ILogEntry[] entries = remote.getLogEntries(DEFAULT_MONITOR);
-		for (int i=0;i<entries.length;i++) {
-			InputStream in = entries[i].getRemoteFile().getContents(DEFAULT_MONITOR);
-			
-			if (entries[i].getRevision().equals("1.2")) {
-				int count = 0;
-				byte[] buffer = new byte[1024];
-				int c;
-				while((c = in.read()) != -1) {
-					buffer[count] = (byte)c;
-					count++;
-				}
-				String contents = new String(buffer, 0, count);
-				assertEquals("the contents of revision 1.2 are not equal", contents, "hi there");
-			} else if (entries[i].getRevision().equals("1.3")) {
-				int count = 0;
-				byte[] buffer = new byte[1024];
-				int c;
-				while((c = in.read()) != -1) {
-					buffer[count] = (byte)c;
-					count++;
-				}
-				String contents = new String(buffer, 0, count);
-				assertEquals("the contents of revision 1.3 are not equal", contents, "bye there");
-			}
-		}
-	 }
-	 
-	 public void testTag() throws TeamException, CoreException, IOException {
-	 	IProject project = createProject("testTag", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder2/folder3/b.txt", "folder2/folder3/c.txt"});
-	 	
-		ICVSRemoteFolder remote = (ICVSRemoteFolder)CVSWorkspaceRoot.getRemoteResourceFor(project);
-		CVSTag tag = new CVSTag("v1", CVSTag.VERSION);
-		tagRemoteResource(remote, tag, false);
-		ICVSRemoteFolder v1 = (ICVSRemoteFolder)getRemoteTree(project, tag, DEFAULT_MONITOR);
-		assertEquals(Path.EMPTY, remote, v1, false);
-		
-		CVSTag tag2 = new CVSTag("v2", CVSTag.VERSION);
-		tagRemoteResource(v1, tag2, false);
-		ICVSRemoteFolder v2 = (ICVSRemoteFolder)getRemoteTree(project, tag2, DEFAULT_MONITOR);
-		assertEquals(Path.EMPTY, remote, v2, false);
-		
-		// Test tag with existing
-		setContentsAndEnsureModified(project.getFile("file1.txt"));
-		commitProject(project);
-		remote = (ICVSRemoteFolder)CVSWorkspaceRoot.getRemoteResourceFor(project);
-		tagRemoteResource(remote, tag, true /* force */);
-		v1 = (ICVSRemoteFolder)getRemoteTree(project, tag, DEFAULT_MONITOR);
-		assertEquals(Path.EMPTY, remote, v1, false);
-		
-		// Test local tag with existing.
-		setContentsAndEnsureModified(project.getFile("file1.txt"));
-		commitProject(project);
-		tagProject(project, tag2, true);
-		IProject copy = checkoutCopy(project, tag2);
-		assertEquals(project, copy, false, false);
-	 }
-	 
-	 public void testExists() throws TeamException, CoreException {
-	 	IProject project = createProject("testExists", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder2/", "folder2/a.txt", "folder2/folder3/", "folder2/folder3/b.txt", "folder2/folder3/c.txt"});
-	 	ICVSRemoteResource resource1 = CVSWorkspaceRoot.getRemoteResourceFor(project.getFile("file1.txt"));
-	 	assertTrue(resource1.exists(DEFAULT_MONITOR));
-	 	ICVSRemoteResource resource2 = (ICVSRemoteFolder)CVSWorkspaceRoot.getRemoteResourceFor(project.getFolder("folder2/folder3/"));
-	 	assertTrue(resource2.exists(DEFAULT_MONITOR));
-	 	deleteResources(project, new String[] {"file1.txt", "folder2/folder3/b.txt", "folder2/folder3/c.txt" }, true);
-	 	assertTrue( ! resource1.exists(DEFAULT_MONITOR));
-	 	assertTrue(resource2.exists(DEFAULT_MONITOR));
-	 	if (CVSTestSetup.INITIALIZE_REPO) {
-	 		CVSTestSetup.executeRemoteCommand(getRepository(), "rm -rf " + ((ICVSFolder)resource2).getFolderSyncInfo().getRemoteLocation());
-	 		assertTrue( ! resource2.exists(DEFAULT_MONITOR));
-	 	}
-	 }
-	 
-//	 /**
-//	  * Test building a sync tree using the RemoteFolderTreeBuilder using a remote resource as the
-//	  * starting point instead of a local one.
-//	  */
-//	 public void testBuildRemoteTree() throws TeamException, CoreException, IOException, InterruptedException {
-//	 	// Create a project and then delete it locally
-//	 	IProject project = createProject("testBuildRemoteTree", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder2/", "folder2/a.txt", "folder2/folder3/", "folder2/folder3/b.txt", "folder2/folder3/c.txt"});
-//	 	String name = project.getName();
-//	 	project.delete(true, false, DEFAULT_MONITOR);
-//	 	// Create a remote resource for the project and build a sync tree from it
-//	 	RemoteFolder folder = new RemoteFolder(null, getRepository(), new Path(name), null);
-//	 	RemoteFolderTree tree = RemoteFolderTreeBuilder.buildRemoteTree((CVSRepositoryLocation)folder.getRepository(), folder, null, DEFAULT_MONITOR);
-//		// Reload the project from the repository and ensure that the tree and project are equal.
-//		checkoutProject(project, name, null);
-//		assertEquals(Path.EMPTY, CVSWorkspaceRoot.getCVSResourceFor(project), tree, false, true);
-//	 }
-	 
-	 public void testCheckoutIntoRemoteFolder() throws CoreException, IOException, CVSException, InvocationTargetException, InterruptedException {
-	 	IProject project = createProject(new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder2/folder3/b.txt", "folder2/folder3/c.txt"});
-	 	
-	 	ICVSRemoteFolder remote = (ICVSRemoteFolder)CVSWorkspaceRoot.getRemoteResourceFor(project);
-	 	remote = checkoutRemote(remote);
-	 	assertEquals(Path.EMPTY, CVSWorkspaceRoot.getCVSResourceFor(project), remote, false, true);
-	 	
-	 	// Try a version
-	 	CVSTag tag = new CVSTag("v1", CVSTag.VERSION);
-	 	tagProject(project, tag, false);
-	 	IProject copy = checkoutCopy(project, tag);
-	 	setContentsAndEnsureModified(project.getFile("file1.txt"));
-	 	commitProject(project);
-	 	remote = (ICVSRemoteFolder)CVSWorkspaceRoot.getRemoteResourceFor(project);
-	 	((RemoteFolder)remote).setTag(tag);
-	 	remote = checkoutRemote(remote);
-	 	assertEquals(Path.EMPTY, CVSWorkspaceRoot.getCVSResourceFor(copy), remote, false, true);
-	 }
-
-	private ICVSRemoteFolder checkoutRemote(ICVSRemoteFolder remote) throws CVSException, InvocationTargetException, InterruptedException {
-		return CheckoutToRemoteFolderOperation.checkoutRemoteFolder(null, remote, DEFAULT_MONITOR);
-	}
-	
-	public void testContentFetchForLocalDeletion() throws TeamException, IOException, CoreException {
-		IProject project = createProject(new String[] { "file1.txt"});
-		String contents = "the file contents";
-		setContentsAndEnsureModified(project.getFile("file1.txt"), contents);
-		commitProject(project);
-		project.getFile("file1.txt").delete(false, null);
-		IResourceVariant remote = (IResourceVariant)CVSWorkspaceRoot.getRemoteResourceFor(project.getFile("file1.txt"));
-		String fetchedContents = asString(remote.getStorage(DEFAULT_MONITOR).getContents());
-		assertEquals("Contents do not match", contents, fetchedContents);
-	}
-
-	private String asString(InputStream stream) throws IOException {
-		StringBuffer buffer = new StringBuffer();
-		int b = stream.read();
-		while (b != -1) {
-			buffer.append((char)b);
-			b = stream.read();
-		}
-		return buffer.toString();
-	}
-	
-	public void testResourceVariant() throws TeamException, CoreException {
-		IProject project = createProject(new String[] { "file1.txt"});
-		IFile file = project.getFile("file1.txt");
-		ICVSRemoteResource resource = CVSWorkspaceRoot.getRemoteResourceFor(file);
-		IResourceVariant variant = (IResourceVariant)resource;
-		IStorage storage = variant.getStorage(DEFAULT_MONITOR);
-		assertEquals(storage.getFullPath(), ((CachedResourceVariant)resource).getDisplayPath());
-	}
-	
-	public String getCachePath(ICVSRemoteResource resource) throws CVSException {
-		ICVSRepositoryLocation location = resource.getRepository();
-		IPath path = new Path(location.getHost());
-		path = path.append(location.getRootDirectory());
-		path = path.append(resource.getParent().getRepositoryRelativePath());
-		path = path.append(resource.getName() + ' ' + ((IResourceVariant)resource).getContentIdentifier());
-		return path.toString();
-	}
-}
-
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ResourceDeltaTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ResourceDeltaTest.java
deleted file mode 100644
index 5e64b67..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/ResourceDeltaTest.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.provider;
-
-import java.io.*;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-
-public class ResourceDeltaTest extends EclipseTest {
-
-	/**
-	 * Constructor for ResourceDeltaTest.
-	 */
-	public ResourceDeltaTest() {
-		super();
-	}
-
-	/**
-	 * Constructor for ResourceDeltaTest.
-	 * @param name
-	 */
-	public ResourceDeltaTest(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		String testName = System.getProperty("eclipse.cvs.testName");
-		if (testName == null) {
-			TestSuite suite = new TestSuite(ResourceDeltaTest.class);
-			return new CVSTestSetup(suite);
-		} else {
-			return new CVSTestSetup(new ResourceDeltaTest(testName));
-		}
-	}
-	
-	public void assertNotManaged(ICVSFile cvsFile) throws CVSException {
-		assertTrue("File " + cvsFile.getName() + " should not be managed", ! cvsFile.isManaged());
-	}
-	
-	public void assertNotManaged(ICVSFolder cvsFolder) throws CVSException {
-		assertNotManaged(cvsFolder, false);
-	}
-	
-	public void assertNotManaged(ICVSFolder cvsFolder, boolean rootManaged) throws CVSException {
-		if (!rootManaged)
-			assertTrue("Folder " + cvsFolder.getName() + " should not be managed", ! cvsFolder.isManaged());
-		assertTrue("Folder " + cvsFolder.getName() + " should not be a cvs folder", ! cvsFolder.isCVSFolder());
-		cvsFolder.acceptChildren(new ICVSResourceVisitor() {
-			public void visitFile(ICVSFile file) throws CVSException {
-				assertNotManaged(file);
-			}
-			public void visitFolder(ICVSFolder folder) throws CVSException {
-				assertNotManaged(folder, false);
-			}
-		});
-	}
-	
-	public void assertAdditionMarkerFor(IResource resource, boolean exists) throws CoreException {
-		// Addition markers are no longer used
-	}
-	
-	public void assertDeletionMarkerFor(IResource resource, boolean exists) throws CoreException {
-	}
-	
-	public void testOrphanedSubtree() throws TeamException, CoreException {
-		IProject project = createProject("testOrphanedSubtree", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/folder2/b.txt"});
-		IFolder folder = project.getFolder(new Path("folder1"));
-		folder.move(new Path("moved"), false, false, null);
-		folder = project.getFolder(new Path("moved"));
-		ICVSFolder cvsFolder = CVSWorkspaceRoot.getCVSFolderFor(folder);
-		assertNotManaged(cvsFolder);
-		assertAdditionMarkerFor(folder, true);
-	}
-	
-	public void testOrphanedSubsubtree() throws TeamException, CoreException {
-		IProject project = createProject("testOrphanedSubsubtree", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/folder2/b.txt"});
-		IFolder folder = project.getFolder(new Path("folder1"));
-		IFolder target = project.getFolder("sub");
-		target.create(false, true, null);
-		folder.move(new Path("sub/moved"), false, false, null);
-		folder = project.getFolder(new Path("sub/moved"));
-		ICVSFolder cvsFolder = CVSWorkspaceRoot.getCVSFolderFor(folder);
-		assertNotManaged(cvsFolder);
-		assertAdditionMarkerFor(target, true);
-		assertAdditionMarkerFor(folder, false);
-	}
-	
-	public void testDeletionHandling() throws TeamException, CoreException {
-		IProject project = createProject("testDeletionHandling", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/folder2/b.txt"});
-		addResources(project, new String[] {"added.txt"}, false);
-		assertAdditionMarkerFor(project.getFile("added.txt"), false);
-		deleteResources(project, new String[] {"added.txt", "deleted.txt"}, false);
-		ICVSFile file = CVSWorkspaceRoot.getCVSFileFor(project.getFile("added.txt"));
-		assertNotManaged(file);
-		assertDeletionMarkerFor(project.getFile("added.txt"), false);
-		file = CVSWorkspaceRoot.getCVSFileFor(project.getFile("deleted.txt"));
-		assertTrue("File " + file.getName() + " should be managed", file.isManaged());
-		ResourceSyncInfo info = file.getSyncInfo();
-		assertTrue("File " + file.getName() + " should be marked as deleted", info.isDeleted());
-		assertDeletionMarkerFor(project.getFile("deleted.txt"), true);
-	}
-	
-	public void testFileAdditionHandling() throws TeamException, CoreException {
-		IProject project = createProject("testFileAdditionHandling", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/folder2/b.txt"});
-		deleteResources(project, new String[] {"deleted.txt"}, false);
-		assertDeletionMarkerFor(project.getFile("deleted.txt"), true);
-		addResources(project, new String[] {"deleted.txt"}, false);
-		ICVSFile file = CVSWorkspaceRoot.getCVSFileFor(project.getFile("deleted.txt"));
-		assertTrue("File " + file.getName() + " should be managed", file.isManaged());
-		ResourceSyncInfo info = file.getSyncInfo();
-		assertTrue("File " + file.getName() + " should not be marked as deleted", ! info.isDeleted());
-		assertTrue("File " + file.getName() + " should not be marked as addition", ! info.isAdded());
-		assertDeletionMarkerFor(project.getFile("deleted.txt"), false);
-	}
-	
-	public void testFolderAdditionHandling() throws TeamException, CoreException {
-		IProject project = createProject("testFolderAdditionHandling", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/folder2/b.txt"});
-		IFolder folder = project.getFolder("newfolder");
-		folder.create(false, true, null);
-		assertAdditionMarkerFor(folder, true);
-		addResources(new IResource[] {folder});
-		assertAdditionMarkerFor(folder, false);
-	}
-	
-	/**
-	 * Method setContents is used to set the contents of a java.io.File so we
-	 * can test out-of-sync situations
-	 * 
-	 * @param ioFile
-	 */
-	private void setContents(File ioFile) throws IOException {
-		// wait to ensure the timestamp differs from the one Core has
-		waitMsec(1500);
-		InputStream in = new BufferedInputStream(getRandomContents());
-		OutputStream out = new BufferedOutputStream(new FileOutputStream(ioFile));
-		try {
-			int next = in.read();
-			while (next != -1) {
-				out.write(next);
-				next = in.read();
-			}
-		} finally {
-			out.close();
-		}
-	}
-	
-	/**
-	 * This tests maks sure that performing a CVS operation on a file that is
-	 * out-of-sync results in the proper exception.
-	 */
-	public void testOperationOnOutOfSync() throws CoreException, TeamException, IOException {
-		IProject project = createProject("testFolderAdditionHandling", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/folder2/b.txt"});
-		IFile file = project.getFile("changed.txt");
-		setContentsAndEnsureModified(file);
-		File ioFile = file.getLocation().toFile();
-		setContents(ioFile);
-		try {
-			updateProject(project, null, false);
-		} catch (CVSException e) {
-			// We expect to get an out-of-sync exception
-			if (!containsCode(e, IResourceStatus.OUT_OF_SYNC_LOCAL))
-				throw e;
-		}
-	}
-	
-	private boolean containsCode(CoreException e, int code) {
-		return containsCode(e.getStatus(), code);
-	}
-	
-	private boolean containsCode(IStatus status, int code) {
-		if (status.getCode() == code)
-			return true;
-		if (status.isMultiStatus()) {
-			IStatus[] children = status.getChildren();
-			for (int i = 0; i < children.length; i++) {
-				IStatus child = children[i];
-				if (containsCode(child,code))
-					return true;
-			}
-		}
-		Throwable t = status.getException();
-		if (t instanceof CoreException) {
-			CoreException e = (CoreException) t;
-			return containsCode(e, code);
-		}
-		return false;
-	}
-
-	public void testAllCVSFolderRemoval() throws CoreException, TeamException {
-		IProject project = createProject("testAllCVSFolderRemoval", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/folder2/b.txt"});
-		// ensure that all th sync info is loaded
-		EclipseSynchronizer.getInstance().ensureSyncInfoLoaded(new IResource[] {project}, IResource.DEPTH_INFINITE);
-		// delete the CVS folders from the file system and refresh
-		String[] cvsFolders = new String[] {"CVS", "folder1/CVS", "folder1/folder2/CVS"};
-		deleteIOFiles(project, cvsFolders);
-		// The project should no longer be managed
-		assertNotManaged(CVSWorkspaceRoot.getCVSFolderFor(project));
-	}
-
-	public void testSomeCVSFolderRemoval() throws CoreException, TeamException {
-		IProject project = createProject("testAllCVSFolderRemoval", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/folder2/b.txt"});
-		// ensure that all th sync info is loaded
-		EclipseSynchronizer.getInstance().ensureSyncInfoLoaded(new IResource[] {project}, IResource.DEPTH_INFINITE);
-		// delete the CVS folders from the file system and refresh
-		String[] cvsFolders = new String[] {"folder1/CVS", "folder1/folder2/CVS"};
-		deleteIOFiles(project, cvsFolders);
-		// The project should no longer be managed
-		assertNotManaged(CVSWorkspaceRoot.getCVSFolderFor(project.getFolder("folder1")), true);
-	}
-	
-	public void deleteIOFiles(IProject project, String[] cvsFolders)
-		throws CoreException {
-		IPath rootPath = project.getLocation();
-		for (int i = 0; i < cvsFolders.length; i++) {
-			String childPath = cvsFolders[i];
-			IPath fullPath = rootPath.append(childPath);
-			deepDelete(fullPath.toFile());
-		}
-		project.refreshLocal(IResource.DEPTH_INFINITE, null);
-	}
-
-	private static void deepDelete(File resource) {
-		if (resource.isDirectory()) {
-			File[] fileList = resource.listFiles();
-			for (int i = 0; i < fileList.length; i++) {
-				deepDelete(fileList[i]);
-			}
-		}
-		resource.delete();
-	}
-	
-	public void testCVSFodlersMarkedTeamPrivate() throws CoreException, TeamException {
-		IProject project = createProject("testTeamPrivatefolders", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/folder2/b.txt"});
-		
-		project.delete(false /* preserve contents */, true, null);
-		project.create(null);
-		project.open(null);
-		project.accept(new IResourceProxyVisitor() {
-			public boolean visit(IResourceProxy proxy) throws CoreException {
-				if(proxy.getName().equals("CVS")) {
-					fail("all folders should be marked as team private. This one was not:" + proxy.requestResource().getFullPath());
-				}
-				return true;
-			}
-		}, 0);
-	}
-	
-	public void testExternalDeletion() throws CoreException, TeamException {
-		IProject project = createProject("testExternalDeletion", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/folder2/b.txt"});
-		IFile file = project.getFile("folder1/a.txt");
-		deepDelete(file.getLocation().toFile());
-		file.refreshLocal(IResource.DEPTH_ZERO, DEFAULT_MONITOR);
-		assertTrue(!file.exists());
-		ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor(file);
-		assertTrue(cvsFile.isManaged());
-		byte[] syncBytes = cvsFile.getSyncBytes();
-		assertTrue(ResourceSyncInfo.isDeletion(syncBytes));
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/WatchEditTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/WatchEditTest.java
deleted file mode 100644
index ac650f1..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/WatchEditTest.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.provider;
-
-import java.io.IOException;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
-import org.eclipse.team.internal.ccvs.core.CVSTag;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-
-/**
- * Test the cvs watch/edit functionality
- */
-public class WatchEditTest extends EclipseTest {
-
-	/**
-	 * Constructor for CVSProviderTest
-	 */
-	public WatchEditTest() {
-		super();
-	}
-
-	/**
-	 * Constructor for CVSProviderTest
-	 */
-	public WatchEditTest(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(WatchEditTest.class);
-		return new CVSTestSetup(suite);
-		//return new CVSTestSetup(new WatchEditTest("testReadOnly"));
-	}
-	
-	protected boolean isFailOnSyncInfoMismatch() {
-		// See  bug 198382
-		return CVSTestSetup.FAIL_ON_BAD_DIFF ;
-	}
-	
-	private void setReadOnly(boolean b) {
-		CVSProviderPlugin.getPlugin().getPluginPreferences().setValue(CVSProviderPlugin.READ_ONLY, b);
-	}
-	
-	public void testReadOnlyCheckout() throws CoreException, TeamException {
-		// Create a project
-		IProject project = createProject("testReadOnlyCheckout", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		// XXX project will not be read-only at this point because "cvs add" followed by a "cvs commit" doesn't set the resource "read-only"
-		IProject copy = checkoutCopy(project, "copy");
-		assertReadOnly(new IResource[] {copy}, true /* isReadOnly */, true /* recurse */);
-	}
-
-	public void testEditUnedit() throws CoreException, TeamException, IOException {
-		// Create a project
-		IProject project = createProject("testEditUnedit", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		// XXX project will not be read-only at this point because "cvs add" followed by a "cvs commit" doesn't set the resource "read-only"
-		IProject copy = checkoutCopy(project, "copy");
-		assertReadOnly(new IResource[] {copy}, true /* isReadOnly */, true /* recurse */);
-		editResources(copy, new String[] {"changed.txt", "deleted.txt"});
-		setContentsAndEnsureModified(copy.getFile("changed.txt"));
-		deleteResources(copy, new String[] {"deleted.txt"}, false);
-		uneditResources(copy, new String[] {"changed.txt", "deleted.txt"});
-		assertEquals(project, copy);
-	}
-	
-	public void testCommit() throws CoreException, TeamException, IOException {
-		// Create a project
-		IProject project = createProject("testCommit", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		// XXX project will not be read-only at this point because "cvs add" followed by a "cvs commit" doesn't set the resource "read-only"
-		IProject copy = checkoutCopy(project, "copy");
-		editResources(copy, new String[] {"changed.txt"});
-		setContentsAndEnsureModified(copy.getFile("changed.txt"));
-		commitProject(copy);
-		assertReadOnly(new IResource[] {copy.getFile("changed.txt")}, true /* isReadOnly */, true /* recurse */);
-	}
-	
-	public void testEditMergeUnedit() throws CoreException, TeamException, IOException {
-		// Create a project
-		IProject project = createProject("testEditMergeUnedit", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		// XXX project will not be read-only at this point because "cvs add" followed by a "cvs commit" doesn't set the resource "read-only"
-		IProject copy = checkoutCopy(project, "copy");
-		IProject copy2 = checkoutCopy(project, "copy2");
-		// Modify the second copy and commit changes
-		editResources(copy2, new String[] {"changed.txt"});
-		setContentsAndEnsureModified(copy2.getFile("changed.txt"));
-		commitProject(copy2);
-		// Edit first copy, merge then unedit
-		editResources(copy, new String[] {"changed.txt"});
-		setContentsAndEnsureModified(copy.getFile("changed.txt"));
-		updateProject(copy, CVSTag.DEFAULT, false);
-		// XXX Update may or may not make the file read-only so it may need to be re-edited
-		if (copy.getFile("changed.txt").isReadOnly()) {
-			editResources(copy, new String[] {"changed.txt"});
-		}
-		uneditResources(copy, new String[] {"changed.txt", "deleted.txt"});
-		IFile backup = copy.getFile(".#changed.txt.1.1");
-		if (backup.exists()) backup.delete(true, false, null);
-		assertEquals(project, copy);
-	}
-	
-	/**
-	 * @see junit.framework.TestCase#setUp()
-	 */
-	protected void setUp() throws Exception {
-		super.setUp();
-		setReadOnly(true);
-	}
-
-	/**
-	 * @see junit.framework.TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		super.tearDown();
-		setReadOnly(false);
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/AllTestsTeamSubscriber.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/AllTestsTeamSubscriber.java
deleted file mode 100644
index 6ca8d66..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/AllTestsTeamSubscriber.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.subscriber;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-import org.eclipse.team.tests.ccvs.ui.ModelParticipantSyncInfoSource;
-
-public class AllTestsTeamSubscriber extends EclipseTest {
-	
-	public AllTestsTeamSubscriber() {
-		super();
-	}
-
-	public AllTestsTeamSubscriber(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTest(CVSMergeSubscriberTest.suite());
-		suite.addTest(CVSWorkspaceSubscriberTest.suite());
-		suite.addTest(CVSCompareSubscriberTest.suite());
-		suite.addTest(SyncSetTests.suite());
-		suite.addTest(CompareEditorTests.suite());
-		//suite.addTest(CVSChangeSetTests.suite());
-		CVSSyncSubscriberTest.setSyncSource(new ModelParticipantSyncInfoSource());
-		return new CVSTestSetup(suite);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSChangeSetTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSChangeSetTests.java
deleted file mode 100644
index 7c03fdd..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSChangeSetTests.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.subscriber;
-
-import java.io.ByteArrayInputStream;
-import java.util.*;
-import java.util.List;
-
-import junit.framework.Test;
-
-import org.eclipse.compare.structuremergeviewer.IDiffElement;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.diff.IDiff;
-import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.internal.ccvs.core.CVSTag;
-import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin;
-import org.eclipse.team.internal.core.subscribers.*;
-import org.eclipse.team.internal.ui.synchronize.*;
-import org.eclipse.team.tests.ccvs.ui.SubscriberParticipantSyncInfoSource;
-import org.eclipse.team.ui.synchronize.*;
-import org.eclipse.ui.PartInitException;
-
-/**
- * Tests the change set mode of the synchronize view
- */
-public class CVSChangeSetTests extends CVSSyncSubscriberTest {
-
-	public static Test suite() {
-	    return suite(CVSChangeSetTests.class);
-	}
-	
-	public CVSChangeSetTests() {
-		super();
-	}
-	
-	public CVSChangeSetTests(String name) {
-		super(name);
-	}
-	
-    private void assertIncomingChangesInSets(IFile[][] files, String[] messages) throws CoreException {
-        // Get the workspace subscriber which also creates a participant and page in the sync view
-        Subscriber workspaceSubscriber = getWorkspaceSubscriber();
-        refresh(workspaceSubscriber);
-        ISynchronizeModelElement root = getModelRoot(workspaceSubscriber);
-        ChangeSetDiffNode[] nodes = getCheckedInChangeSetNodes(root);
-        assertNodesInViewer(workspaceSubscriber, nodes);
-        assertEquals("The number of change sets in the sync view do not match the expected number", messages.length, nodes.length);
-        for (int i = 0; i < messages.length; i++) {
-            String message = messages[i];
-            ChangeSetDiffNode node = getCommitSetFor(root, message);
-            assertNotNull("The commit set for '" + message + "' is not in the sync view", node);
-            List filesInSet = new ArrayList();
-            getFileChildren(node, filesInSet);
-            assertTrue("The number of files in the set do not match the expected number", files[i].length == filesInSet.size());
-            for (int j = 0; j < files[i].length; j++) {
-                IFile file = files[i][j];
-                assertTrue("File " + file.getFullPath() + " is not in the set", filesInSet.contains(file));
-            }
-        }
-    }
-
-    private void assertNodesInViewer(Subscriber workspaceSubscriber, ChangeSetDiffNode[] nodes) throws PartInitException {
-        ISynchronizeParticipant participant = SubscriberParticipantSyncInfoSource.getParticipant(workspaceSubscriber);
-        SubscriberParticipantPage page = (SubscriberParticipantPage)SubscriberParticipantSyncInfoSource.getSyncViewPage(participant);
-        TreeViewer viewer = (TreeViewer)page.getViewer();
-        Tree tree = viewer.getTree();
-        List nodeList = new ArrayList();
-        nodeList.addAll(Arrays.asList(nodes));
-        TreeItem[] items = tree.getItems();
-        removeTreeItemsFromList(nodeList, items);
-        assertTrue("Not all nodes are visible in the view", nodeList.isEmpty());
-    }
-
-    private void removeTreeItemsFromList(List nodeList, TreeItem[] items) {
-        for (int i = 0; i < items.length; i++) {
-            TreeItem item = items[i];
-            nodeList.remove(item.getData());
-            TreeItem[] children = item.getItems();
-            removeTreeItemsFromList(nodeList, children);
-        }
-    }
-
-    private ChangeSetDiffNode[] getCheckedInChangeSetNodes(ISynchronizeModelElement root) {
-        List result = new ArrayList();
-        IDiffElement[] children = root.getChildren();
-        for (int i = 0; i < children.length; i++) {
-            IDiffElement element = children[i];
-            if (element instanceof ChangeSetDiffNode) {
-                ChangeSetDiffNode node = (ChangeSetDiffNode)element;
-                if (node.getSet() instanceof CheckedInChangeSet) {
-                    result.add(node);
-                }
-            }
-        }
-        return (ChangeSetDiffNode[]) result.toArray(new ChangeSetDiffNode[result.size()]);
-    }
-    
-    private ChangeSetDiffNode[] getActiveChangeSetNodes(ISynchronizeModelElement root) {
-        List result = new ArrayList();
-        IDiffElement[] children = root.getChildren();
-        for (int i = 0; i < children.length; i++) {
-            IDiffElement element = children[i];
-            if (element instanceof ChangeSetDiffNode) {
-                ChangeSetDiffNode node = (ChangeSetDiffNode)element;
-                if (node.getSet() instanceof ActiveChangeSet) {
-                    result.add(node);
-                }
-            }
-        }
-        return (ChangeSetDiffNode[]) result.toArray(new ChangeSetDiffNode[result.size()]);
-    }
-
-    /**
-     * Adds IFiles to the list
-     */
-    private void getFileChildren(ISynchronizeModelElement node, List list) {
-        IResource resource = node.getResource();
-        if (resource != null && resource.getType() == IResource.FILE) {
-            list.add(resource);
-        }
-        IDiffElement[] children = node.getChildren();
-        for (int i = 0; i < children.length; i++) {
-            IDiffElement child = children[i];
-            getFileChildren((ISynchronizeModelElement)child, list);
-        }
-        return;
-    }
-
-    private ChangeSetDiffNode getCommitSetFor(ISynchronizeModelElement root, String message) {
-        IDiffElement[] children = root.getChildren();
-        for (int i = 0; i < children.length; i++) {
-            IDiffElement element = children[i];
-            if (element instanceof ChangeSetDiffNode) {
-                ChangeSetDiffNode node = (ChangeSetDiffNode)element;
-                if (node.getSet().getComment().equals(message)) {
-                    return node;
-                }
-            }
-        }
-        return null;
-    }
-
-    private void refresh(Subscriber workspaceSubscriber) throws TeamException {
-        workspaceSubscriber.refresh(workspaceSubscriber.roots(), IResource.DEPTH_INFINITE, DEFAULT_MONITOR);
-    }
-
-    private void enableChangeSets(Subscriber workspaceSubscriber) throws PartInitException {
-        ISynchronizeParticipant participant = SubscriberParticipantSyncInfoSource.getParticipant(workspaceSubscriber);
-        SubscriberParticipantPage page = (SubscriberParticipantPage)SubscriberParticipantSyncInfoSource.getSyncViewPage(participant);
-        ChangeSetModelManager manager = (ChangeSetModelManager)page.getConfiguration().getProperty(SynchronizePageConfiguration.P_MODEL_MANAGER);
-        manager.setCommitSetsEnabled(true);
-        page.getConfiguration().setMode(ISynchronizePageConfiguration.BOTH_MODE);
-    }
-
-    private void enableCheckedInChangeSets(Subscriber workspaceSubscriber) throws PartInitException {
-        enableChangeSets(workspaceSubscriber);
-        ISynchronizeParticipant participant = SubscriberParticipantSyncInfoSource.getParticipant(workspaceSubscriber);
-        SubscriberParticipantPage page = (SubscriberParticipantPage)SubscriberParticipantSyncInfoSource.getSyncViewPage(participant);
-        page.getConfiguration().setMode(ISynchronizePageConfiguration.INCOMING_MODE);
-    }
-    
-    private void enableActiveChangeSets(Subscriber workspaceSubscriber) throws PartInitException {
-        enableChangeSets(workspaceSubscriber);
-        ISynchronizeParticipant participant = SubscriberParticipantSyncInfoSource.getParticipant(workspaceSubscriber);
-        SubscriberParticipantPage page = (SubscriberParticipantPage)SubscriberParticipantSyncInfoSource.getSyncViewPage(participant);
-        page.getConfiguration().setMode(ISynchronizePageConfiguration.OUTGOING_MODE);
-    }
-    
-    /*
-     * Wait until all the background handlers have settled and then return the root element in the sync view
-     */
-    private ISynchronizeModelElement getModelRoot(Subscriber workspaceSubscriber) throws CoreException {
-        IProgressMonitor eventLoopProgressMonitor = new IProgressMonitor() {
-			public void beginTask(String name, int totalWork) {
-			}
-			public void done() {
-			}
-			public void internalWorked(double work) {
-			}
-			public boolean isCanceled() {
-				return false;
-			}
-			public void setCanceled(boolean value) {
-			}
-			public void setTaskName(String name) {
-			}
-			public void subTask(String name) {
-			}
-			public void worked(int work) {
-				while (Display.getCurrent().readAndDispatch()) {}
-			}
-		};
-        SubscriberParticipantSyncInfoSource.getCollector(workspaceSubscriber);
-        ISynchronizeParticipant participant = SubscriberParticipantSyncInfoSource.getParticipant(workspaceSubscriber);
-        ChangeSetCapability capability = ((IChangeSetProvider)participant).getChangeSetCapability();
-        SubscriberChangeSetManager activeManager = (SubscriberChangeSetManager)capability.getActiveChangeSetManager();
-        activeManager.waitUntilDone(eventLoopProgressMonitor);
-        SubscriberParticipantPage page = (SubscriberParticipantPage)SubscriberParticipantSyncInfoSource.getSyncViewPage(participant);
-        ChangeSetModelManager manager = (ChangeSetModelManager)page.getConfiguration().getProperty(SynchronizePageConfiguration.P_MODEL_MANAGER);
-        AbstractSynchronizeModelProvider provider = (AbstractSynchronizeModelProvider)manager.getActiveModelProvider();
-        provider.waitUntilDone(eventLoopProgressMonitor);
-        return provider.getModelRoot();
-    }
-
-    private ActiveChangeSetManager getActiveChangeSetManager() {
-        return CVSUIPlugin.getPlugin().getChangeSetManager();
-    }
-    
-    /*
-     * Assert that the given resources make up the given set both directly
-     * and by what is displayed in the sync view.
-     */
-    private void assertInActiveSet(IResource[] resources, ActiveChangeSet set) throws CoreException {
-        assertResourcesAreTheSame(resources, set.getResources(), true);
-        ISynchronizeModelElement root = getModelRoot(((SubscriberChangeSetManager)getActiveChangeSetManager()).getSubscriber());
-        ChangeSetDiffNode node = getChangeSetNodeFor(root, set);
-        assertNotNull("Change set " + set.getTitle() + " did not appear in the sync view", node);
-        IResource[] outOfSync = getOutOfSyncResources(node);
-        assertResourcesAreTheSame(resources, outOfSync, true);
-        // Assert that all active sets are visible in the view
-        ChangeSet[] sets = getActiveChangeSetManager().getSets();
-        for (int i = 0; i < sets.length; i++) {
-            ChangeSet changeSet = sets[i];
-            node = getChangeSetNodeFor(root, changeSet);
-            assertNotNull("The node for set " + set.getName() + " is not in the view", node);
-            
-        }
-        ChangeSetDiffNode[] nodes = getActiveChangeSetNodes(root);
-        assertNodesInViewer(getWorkspaceSubscriber(), nodes);
-    }
-    
-    private ChangeSetDiffNode getChangeSetNodeFor(ISynchronizeModelElement root, ChangeSet set) {
-        IDiffElement[] children = root.getChildren();
-        for (int i = 0; i < children.length; i++) {
-            IDiffElement element = children[i];
-            if (element instanceof ChangeSetDiffNode) {
-                ChangeSetDiffNode node = (ChangeSetDiffNode)element;
-                if (node.getSet() == set) {
-                    return node;
-                }
-            }
-        }
-        return null;
-    }
-
-    private IResource[] getOutOfSyncResources(ISynchronizeModelElement element) {
-        ArrayList arrayList = new ArrayList();
-        getOutOfSync(element, arrayList);
-        SyncInfo[] infos = (SyncInfo[]) arrayList.toArray(new SyncInfo[arrayList.size()]);
-        IResource[] resources = getResources(infos);
-        return resources;
-    }
-
-    private IResource[] getResources(SyncInfo[] infos) {
-        IResource[] resources = new IResource[infos.length];
-        for (int i = 0; i < resources.length; i++) {
-            resources[i] = infos[i].getLocal();
-        }
-        return resources;
-    }
-
-    private void getOutOfSync(ISynchronizeModelElement node, List list) {
-        SyncInfo info = getSyncInfo(node);
-        if (info != null && info.getKind() != SyncInfo.IN_SYNC) {
-            list.add(info);
-        }
-        IDiffElement[] children = node.getChildren();
-        for (int i = 0; i < children.length; i++) {
-            IDiffElement child = children[i];
-            getOutOfSync((ISynchronizeModelElement)child, list);
-        }
-        return;
-    }
-    
-    private SyncInfo getSyncInfo(ISynchronizeModelElement node) {
-        if (node instanceof IAdaptable) {
-            return (SyncInfo)((IAdaptable)node).getAdapter(SyncInfo.class);
-        }
-        return null;
-    }
-
-    private void assertResourcesAreTheSame(IResource[] resources1, IResource[] resources2, boolean doNotAllowExtra) {
-        if (doNotAllowExtra) {
-            if (resources1.length != resources2.length) {
-	            System.out.println("Expected");
-	            for (int i = 0; i < resources1.length; i++) {
-	                IResource resource = resources1[i];
-	                System.out.println(resource.getFullPath().toString());
-	            }
-	            System.out.println("Actual");
-	            for (int i = 0; i < resources2.length; i++) {
-	                IResource resource = resources2[i];
-	                System.out.println(resource.getFullPath().toString());
-	            }
-	        }
-	        assertEquals("The number of resources do not match the expected number", resources1.length, resources2.length);
-        }
-        for (int i = 0; i < resources1.length; i++) {
-            IResource resource = resources1[i];
-            boolean found = false;
-            for (int j = 0; j < resources2.length; j++) {
-                IResource resource2 = resources2[j];
-                if (resource2.equals(resource)) {
-                    found = true;
-                    break;
-                }
-            }
-            assertTrue("Expected resource " + resource.getFullPath().toString() + " was not present", found);
-        }
-    }
-
-    /*
-     * Assert that the given resources make up the root set
-     * displayed in the sync view. The root set is those 
-     * resources that are not part of an active change set.
-     */
-    private void assertInRootSet(IResource[] resources) throws CoreException {
-        ISynchronizeModelElement[] nodes = getNonChangeSetRoots(getModelRoot(((SubscriberChangeSetManager)getActiveChangeSetManager()).getSubscriber()));
-        List list = new ArrayList();
-        for (int i = 0; i < nodes.length; i++) {
-            ISynchronizeModelElement element = nodes[i];
-            getOutOfSync(element, list);
-        }
-        IResource[] outOfSync = getResources((SyncInfo[]) list.toArray(new SyncInfo[list.size()]));
-        // Only require that the expected resources are there but allow extra.
-        // This is required because of junk left over from previous tests.
-        // This means there is a bug somewhere. But where?
-        assertResourcesAreTheSame(resources, outOfSync, false /* allow extra out-of-sync resources */);
-        
-    }
-    
-    private ISynchronizeModelElement[] getNonChangeSetRoots(ISynchronizeModelElement modelRoot) {
-        List result = new ArrayList();
-        IDiffElement[] children = modelRoot.getChildren();
-        for (int i = 0; i < children.length; i++) {
-            IDiffElement element = children[i];
-            if (!(element instanceof ChangeSetDiffNode)) {
-                result.add(element);
-            }
-        }
-        return (ISynchronizeModelElement[]) result.toArray(new ISynchronizeModelElement[result.size()]);
-    }
-
-    public void testSimpleCommit() throws CoreException {
-        enableCheckedInChangeSets(getWorkspaceSubscriber());
-        
-	    IProject project = createProject(new String[] { "file1.txt", "file2.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-	    
-	    // Modify a file in a copy
-	    IProject copy = checkoutCopy(project, CVSTag.DEFAULT);
-	    setContentsAndEnsureModified(copy.getFile("file1.txt"));
-	    String message1 = "Commit 1";
-	    commitResources(new IResource[] {copy}, IResource.DEPTH_INFINITE, message1);
-	    assertIncomingChangesInSets(new IFile[][] {{ project.getFile("file1.txt") }}, new String[] {message1});
-	    
-	    // Modify the copy some more
-	    setContentsAndEnsureModified(copy.getFile("file2.txt"));
-	    setContentsAndEnsureModified(copy.getFile("folder1/a.txt"));
-	    String message2 = "Commit 2";
-	    commitResources(new IResource[] {copy}, IResource.DEPTH_INFINITE, message2);
-	    assertIncomingChangesInSets(new IFile[][] {
-	            { project.getFile("file1.txt") },
-	            { project.getFile("file2.txt"), project.getFile("folder1/a.txt") }
-	            }, new String[] {message1, message2});
-	    
-	    // Modify the copy some more
-	    setContentsAndEnsureModified(copy.getFile("file2.txt"));
-	    String message3 = "Commit 3";
-	    commitResources(new IResource[] {copy}, IResource.DEPTH_INFINITE, message3);
-	    assertIncomingChangesInSets(new IFile[][] {
-	            { project.getFile("file1.txt") },
-	            { project.getFile("folder1/a.txt") },
-	            { project.getFile("file2.txt")}
-	            }, new String[] {message1, message2, message3});
-	    
-	    // Now commit the files in one of the sets and ensure it is removed from the view
-	    updateResources(new IResource[] { project.getFile("file1.txt")}, false);
-	    assertIncomingChangesInSets(new IFile[][] {
-	            { project.getFile("folder1/a.txt") },
-	            { project.getFile("file2.txt")}
-	            }, new String[] {message2, message3});
-	}
-	
-    public void testSimpleActiveChangeSet() throws CoreException {
-        IProject project = createProject(new String[] { "file1.txt", "file2.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-        // Enable Change Sets
-        enableActiveChangeSets(getWorkspaceSubscriber());
-	    // Add a folder and file
-	    IFolder newFolder = project.getFolder("folder2");
-        newFolder.create(false, true, null);
-        IFile newFile = newFolder.getFile("file.txt");
-        newFile.create(new ByteArrayInputStream("Hi There".getBytes()), false, null);
-        // Create an active commit set and assert that it appears in the sync view
-        ActiveChangeSetManager manager = getActiveChangeSetManager();
-        ActiveChangeSet set = manager.createSet("test", new IDiff[0]);
-        manager.add(set);
-        assertInActiveSet(new IResource[] { }, set);
-        assertInRootSet(new IResource[] {newFolder, newFile});
-        // Add the new file to the set and assert that the file is in the set and the folder is still at the root
-        set.add(new IResource[] { newFile });
-        assertInActiveSet(new IResource[] { newFile }, set);
-        assertInRootSet(new IResource[] {newFolder });
-	    // Add the folder to the set
-        set.add(new IResource[] { newFolder });
-        assertInActiveSet(new IResource[] { newFolder, newFile }, set);
-    }
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSCompareSubscriberTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSCompareSubscriberTest.java
deleted file mode 100644
index fee8d6b..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSCompareSubscriberTest.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.subscriber;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Command;
-import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-
-/**
- * Tests the CVSMergeSubscriber
- */
-public class CVSCompareSubscriberTest extends CVSSyncSubscriberTest {
-
-	public static Test suite() {
-		String testName = System.getProperty("eclipse.cvs.testName");
-		if (testName == null) {
-			TestSuite suite = new TestSuite(CVSCompareSubscriberTest.class);
-			return new CVSTestSetup(suite);
-		} else {
-			return new CVSTestSetup(new CVSCompareSubscriberTest(testName));
-		}
-	}
-
-	public CVSCompareSubscriberTest() {
-		super();
-	}
-
-	public CVSCompareSubscriberTest(String name) {
-		super(name);
-	}
-
-	/**
-	 * Test the basic changes that can occur when comparing the local workspace to a remote
-	 * line-up.
-	 */
-	public void testStandardChanges() throws CoreException, IOException {
-		// Create a test project
-		IProject project = createProject("testCompareChanges", new String[]{"file1.txt", "file2.txt", "folder1/", "folder1/a.txt", "folder1/b.txt", "folder2/", "folder2/deleted.txt"});
-		// Checkout and branch a copy
-		CVSTag tag = new CVSTag("v1", CVSTag.VERSION);
-		tagProject(project, tag, true);
-		// Modify the workspace
-		addResources(project, new String[]{"addition.txt", "folderAddition/", "folderAddition/new.txt"}, true);
-		deleteResources(project, new String[]{"folder1/a.txt"}, true);
-		deleteResources(project, new String[] {"folder2/"}, true);
-		// modify file1 - make two revisions
-		appendText(project.getFile("file1.txt"), "Appended text 1", false);
-		commitProject(project);
-		appendText(project.getFile("file1.txt"), "Appended text 2", false);
-		commitProject(project);
-		// modify file2 in both branch and head and ensure it's merged properly 
-		appendText(project.getFile("file2.txt"), "appended text", false);
-		commitProject(project);
-		// create a merge subscriber
-		CVSCompareSubscriber subscriber = getSyncInfoSource().createCompareSubscriber(project, tag);
-		// check the sync states
-		assertSyncEquals("testIncomingChanges", subscriber, project, 
-				new String[]{
-				"file1.txt", 
-				"file2.txt", 
-				"folder1/",
-				"folder1/b.txt",
-				"folder1/a.txt", 
-				"addition.txt", 
-				"folderAddition/", 
-				"folderAddition/new.txt", 
-				"folder2/",
-				"folder2/deleted.txt"}, true, 
-				new int[]{
-				SyncInfo.CHANGE, 
-				SyncInfo.CHANGE, 
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.ADDITION, 
-				SyncInfo.DELETION, 
-				SyncInfo.IN_SYNC, 
-				SyncInfo.DELETION,
-				SyncInfo.IN_SYNC,
-				SyncInfo.ADDITION});
-	}
-
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		getSyncInfoSource().tearDown();
-		super.tearDown();
-	}
-	
-	public void testInvalidTag() throws TeamException, CoreException {
-		IProject project = createProject(new String[]{"file1.txt", "file2.txt", "folder1/", "folder1/a.txt", "folder1/b.txt", "folder2/", "folder2/deleted.txt"});
-		// Create and compare with a non-existant tag
-		CVSTag tag = new CVSTag("non-existant", CVSTag.VERSION);
-		CVSCompareSubscriber subscriber = getSyncInfoSource().createCompareSubscriber(project.getFolder("folder1"), tag);
-		// All files should be additions
-		assertSyncEquals("testInvalidTag", subscriber, project.getFolder("folder1"), 
-				new String[]{
-				"a.txt",
-				"b.txt"}, true, 
-				new int[]{
-				SyncInfo.DELETION, 
-				SyncInfo.DELETION});
-	}
-	
-    public void testBinaryAddition() throws CoreException {
-    	// See bug 132255
-    	KSubstOption option = CVSProviderPlugin.getPlugin().getDefaultTextKSubstOption();
-    	try {
-	    	CVSProviderPlugin.getPlugin().setDefaultTextKSubstOption(Command.KSUBST_TEXT_KEYWORDS_ONLY);
-	    	IProject project = createProject(new String[] { "a.txt"});
-			// Checkout and branch a copy
-			CVSTag v1 = new CVSTag("v1", CVSTag.VERSION);
-			// Add a binary file that contains LFs
-	    	IProject copy = checkoutCopy(project, "-copy");
-	    	create(copy.getFile("binaryFile"), true);
-	    	setContentsAndEnsureModified(copy.getFile("binaryFile"), "/n/n\n\n");
-	    	addResources(new IResource[] { copy.getFile("binaryFile") });
-	    	commitProject(copy);
-	    	// Tag the project
-	    	tagProject(copy, v1, false);
-	    	// Compare with the tag and merge the changes
-	    	CVSCompareSubscriber subscriber = getSyncInfoSource().createCompareSubscriber(project, v1);
-	    	getSyncInfoSource().refresh(subscriber, project);
-	    	getSyncInfoSource().overrideAndUpdateResources(subscriber, false, new IResource[] { project.getFile("binaryFile") });
-	    	assertContentsEqual(copy.getFile("binaryFile"), project.getFile("binaryFile"));
-    	} finally {
-    		CVSProviderPlugin.getPlugin().setDefaultTextKSubstOption(option);
-    	}
-    }
-    
-    public void testBinaryMarkAsMerged() throws CoreException, InvocationTargetException, InterruptedException {
-    	// See bug 132255
-    	KSubstOption option = CVSProviderPlugin.getPlugin().getDefaultTextKSubstOption();
-    	try {
-	    	CVSProviderPlugin.getPlugin().setDefaultTextKSubstOption(Command.KSUBST_TEXT_KEYWORDS_ONLY);
-	    	IProject project = createProject(new String[] { "a.txt"});
-			// Checkout and branch a copy
-			CVSTag v1 = new CVSTag("v1", CVSTag.VERSION);
-			// Add a binary file that contains LFs
-	    	IProject copy = checkoutCopy(project, "-copy");
-	    	create(copy.getFile("binaryFile"), true);
-	    	setContentsAndEnsureModified(copy.getFile("binaryFile"), "/n/n\n\n");
-	    	addResources(new IResource[] { copy.getFile("binaryFile") });
-	    	commitProject(copy);
-	    	// Tag the project
-	    	tagProject(copy, v1, false);
-	    	// Add the same file to the project but don't share it
-	    	create(project.getFile("binaryFile"), true);
-	    	setContentsAndEnsureModified(project.getFile("binaryFile"), "/n/nSome Content\n\n");
-	    	// Compare with the tag and merge the changes
-	    	CVSCompareSubscriber subscriber = getSyncInfoSource().createCompareSubscriber(project, v1);
-	    	getSyncInfoSource().refresh(subscriber, project);
-	    	getSyncInfoSource().markAsMerged(subscriber, new IResource[] { project.getFile("binaryFile") });
-	    	assertIsBinary(project.getFile("binaryFile"));
-    	} finally {
-    		CVSProviderPlugin.getPlugin().setDefaultTextKSubstOption(option);
-    	}
-    }
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSMergeSubscriberTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSMergeSubscriberTest.java
deleted file mode 100644
index e05ab5c..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSMergeSubscriberTest.java
+++ /dev/null
@@ -1,726 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.subscriber;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Command;
-import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-
-
-/**
- * Tests the CVSMergeSubscriber
- */
-public class CVSMergeSubscriberTest extends CVSSyncSubscriberTest {
-	
-	public static Test suite() {
-		String testName = System.getProperty("eclipse.cvs.testName");
-		if (testName == null) {
-			TestSuite suite = new TestSuite(CVSMergeSubscriberTest.class);
-			return new CVSTestSetup(suite);
-		} else {
-			return new CVSTestSetup(new CVSMergeSubscriberTest(testName));
-		}
-	}
-	
-	public CVSMergeSubscriberTest() {
-		super();
-	}
-	
-	public CVSMergeSubscriberTest(String name) {
-		super(name);
-	}
-	
-	private IProject branchProject(IProject project, CVSTag root, CVSTag branch) throws TeamException {
-		IProject copy = checkoutCopy(project, "-copy");
-		tagProject(project, root, false);
-		tagProject(project, branch, false);
-		updateProject(copy, branch, false);
-		return copy;
-	}
-	
-	private void mergeResources(CVSMergeSubscriber subscriber, IProject project, String[] resourcePaths, boolean allowOverwrite) throws CoreException, TeamException, InvocationTargetException, InterruptedException {
-		IResource[] resources = getResources(project, resourcePaths);
-		getSyncInfoSource().mergeResources(subscriber, resources, allowOverwrite);
-	}
-	
-	/**
-	 * Test the basic incoming changes cases
-	 * - incoming addition
-	 * - incoming deletion
-	 * - incoming change
-	 * - incoming addition of a folder containing files
-	 */
-	public void testIncomingChanges() throws InvocationTargetException, InterruptedException, CVSException, CoreException, IOException {
-		// Create a test project
-		IProject project = createProject("testIncomingChanges", new String[] { "file1.txt", "file2.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		
-		// Checkout and branch a copy
-		CVSTag root = new CVSTag("root_branch1", CVSTag.VERSION);
-		CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
-		IProject copy = branchProject(project, root, branch);
-		
-		// Modify the branch
-		addResources(copy, new String[] {"addition.txt", "folderAddition/", "folderAddition/new.txt"}, true);
-		deleteResources(copy, new String[] {"folder1/a.txt"}, true);
-		
-		// modify file1 - make two revisions
-		appendText(copy.getFile("file1.txt"), "Appended text 1", false);
-		commitProject(copy);
-		appendText(copy.getFile("file1.txt"), "Appended text 2", false);
-		commitProject(copy);
-		
-		// modify file2 in both branch and head and ensure it's merged properly 
-		appendText(copy.getFile("file2.txt"), "appended text", false);
-		commitProject(copy);
-		appendText(project.getFile("file2.txt"), "prefixed text", true);
-		commitProject(project);		
-				
-		// create a merge subscriber
-		CVSMergeSubscriber subscriber = getSyncInfoSource().createMergeSubscriber(project, root, branch);
-		
-		// check the sync states
-		assertSyncEquals("testIncomingChanges", subscriber, project, 
-				new String[]{"file1.txt", "file2.txt", "folder1/", "folder1/a.txt", "addition.txt", "folderAddition/", "folderAddition/new.txt"}, 
-				true, 
-				new int[]{
-						SyncInfo.INCOMING |	SyncInfo.CHANGE, 
-						SyncInfo.CONFLICTING |	SyncInfo.CHANGE,
-						SyncInfo.IN_SYNC, 
-						SyncInfo.INCOMING | SyncInfo.DELETION, 
-						SyncInfo.INCOMING | SyncInfo.ADDITION, 
-						SyncInfo.INCOMING | SyncInfo.ADDITION,				
-						SyncInfo.INCOMING | SyncInfo.ADDITION});
-
-		
-		// Perform a merge
-		mergeResources(subscriber, project, new String[]{"file1.txt", "file2.txt", "folder1/a.txt", "addition.txt", "folderAddition/", "folderAddition/new.txt"}, true);		
-
-		// check the sync states for the workspace subscriber
-		assertSyncEquals("testIncomingChanges", getWorkspaceSubscriber(), project, 
-				new String[] { "file1.txt", "file2.txt", "folder1/", "folder1/a.txt", "addition.txt", "folderAddition/", "folderAddition/new.txt"}, 
-				true, new int[] {
-						SyncInfo.OUTGOING | SyncInfo.CHANGE,
-						SyncInfo.OUTGOING | SyncInfo.CHANGE,
-						SyncInfo.IN_SYNC,
-						SyncInfo.OUTGOING  | SyncInfo.DELETION,
-						SyncInfo.OUTGOING | SyncInfo.ADDITION,
-						SyncInfo.IN_SYNC,
-						SyncInfo.OUTGOING | SyncInfo.ADDITION});
-	
-		assertEndsWith(project.getFile("file1.txt"), "Appended text 1" + eol + "Appended text 2");
-		assertStartsWith(project.getFile("file2.txt"), "prefixed text");
-		assertEndsWith(project.getFile("file2.txt"), "appended text");
-	}
-	
-	/**
-	 * This tests tests that the cvs update command is sent properly with the two -j options to merge
-	 * contents between two revisions into the workspaoce.
-	 */
-	public void test46007() throws InvocationTargetException, InterruptedException, CVSException, CoreException, IOException {
-		// Create a test project
-		IProject project = createProject("test46007", new String[] { "file1.txt" });
-		appendText(project.getFile("file1.txt"), "dummy", true);
-		commitProject(project);
-				
-		// Checkout and branch a copy
-		CVSTag root = new CVSTag("root_branch1", CVSTag.VERSION);
-		CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
-		IProject copy = branchProject(project, root, branch);
-		
-		// modify file1
-		appendText(copy.getFile("file1.txt"), "Appended text 1", true);
-		commitProject(copy);
-		
-		CVSTag root2 = new CVSTag("v1", CVSTag.VERSION);
-		tagProject(copy, root2, true);
-		appendText(copy.getFile("file1.txt"), "Appended text 2", false);
-		commitProject(copy);
-		CVSTag root3 = new CVSTag("v2", CVSTag.VERSION);
-		tagProject(copy, root3, true);
-		
-		CVSMergeSubscriber subscriber = getSyncInfoSource().createMergeSubscriber(project, root2, root3);
-		assertSyncEquals("test46007", subscriber, project, 
-				new String[]{"file1.txt"}, 
-				true, 
-				new int[]{SyncInfo.CONFLICTING | SyncInfo.CHANGE});
-		
-		mergeResources(subscriber, project, new String[]{"file1.txt"}, true);		
-
-		assertSyncEquals("test46007", getWorkspaceSubscriber(), project, 
-				new String[] { "file1.txt"}, 
-				true, new int[] {SyncInfo.OUTGOING | SyncInfo.CHANGE});
-		
-		// the change made before v1 in the branch should not of been merged into the
-		// workspace since the start/end points do not include those changed. Hence,
-		// the two -j options sent to the cvs server.
-		assertEndsWith(project.getFile("file1.txt"), "Appended text 2");
-		assertStartsWith(project.getFile("file1.txt"), "dummy");
-	}	
-	
-	public void testMergableConflicts() throws IOException, TeamException, CoreException, InvocationTargetException, InterruptedException {
-		// Create a test project
-		IProject project = createProject("testMergableConflicts", new String[] { "file1.txt", "file2.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		setContentsAndEnsureModified(project.getFile("file1.txt"), "some text\nwith several lines\n");
-		setContentsAndEnsureModified(project.getFile("file2.txt"), "some text\nwith several lines\n");
-		commitProject(project);
-		
-		// Checkout and branch a copy
-		CVSTag root = new CVSTag("root_branch1", CVSTag.VERSION);
-		CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
-		IProject branchedProject = branchProject(project, root, branch);
-		
-		// modify the branch
-		appendText(branchedProject.getFile("file1.txt"), "first line\n", true);
-		appendText(branchedProject.getFile("file2.txt"), "last line\n", false);
-		commitProject(branchedProject);
-		
-		// modify HEAD
-		appendText(project.getFile("file1.txt"), "last line\n", false);
-		commitProject(project);
-		// have one local change
-		appendText(project.getFile("file2.txt"), "first line\n", true);
-		
-		// create a merge subscriber
-		CVSMergeSubscriber subscriber = getSyncInfoSource().createMergeSubscriber(project, root, branch);
-		
-		// check the sync states
-		assertSyncEquals("testMergableConflicts", subscriber, project, 
-				new String[] { "file1.txt", "file2.txt"}, 
-				true, new int[] {
-							  SyncInfo.CONFLICTING | SyncInfo.CHANGE, 
-							  		SyncInfo.CONFLICTING | SyncInfo.CHANGE});
-		
-		// Perform a merge
-		mergeResources(subscriber, project, new String[] { 
-													   "file1.txt",
-		"file2.txt"}, 
-		false /* allow overwrite */);
-		
-		// check the sync states for the workspace subscriber
-		assertSyncEquals("testMergableConflicts", getWorkspaceSubscriber(), project, 
-				new String[] { "file1.txt", "file2.txt"}, 
-				true, new int[] {
-							  SyncInfo.OUTGOING | SyncInfo.CHANGE,
-							  		SyncInfo.OUTGOING  | SyncInfo.CHANGE});
-		
-		//TODO: How do we know if the right thing happened to the file contents?	
-	}
-	
-	public void testUnmergableConflicts() throws IOException, TeamException, CoreException, InvocationTargetException, InterruptedException {
-		// Create a test project
-		IProject project = createProject("testUnmergableConflicts", new String[] { "delete.txt", "file1.txt", "file2.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		setContentsAndEnsureModified(project.getFile("file1.txt"), "some text\nwith several lines\n");
-		setContentsAndEnsureModified(project.getFile("file2.txt"), "some text\nwith several lines\n");
-		commitProject(project);
-		
-		// Checkout and branch a copy
-		CVSTag root = new CVSTag("root_branch1", CVSTag.VERSION);
-		CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
-		IProject branchedProject = branchProject(project, root, branch);
-		
-		// modify the branch
-		appendText(branchedProject.getFile("file1.txt"), "first line\n", true);
-		appendText(branchedProject.getFile("file2.txt"), "last line\n", false);
-		addResources(branchedProject, new String[] {"addition.txt"}, false);
-		deleteResources(branchedProject, new String[] {"delete.txt", "folder1/a.txt"}, false);
-		setContentsAndEnsureModified(branchedProject.getFile("folder1/b.txt"));
-		commitProject(branchedProject);
-		
-		// modify local workspace
-		appendText(project.getFile("file1.txt"), "conflict line\n", true);
-		setContentsAndEnsureModified(project.getFile("folder1/a.txt"));
-		deleteResources(project, new String[] {"delete.txt", "folder1/b.txt"}, false);
-		addResources(project, new String[] {"addition.txt"}, false);
-		appendText(project.getFile("file2.txt"), "conflict line\n", false);
-		
-		// create a merge subscriber
-		CVSMergeSubscriber subscriber = getSyncInfoSource().createMergeSubscriber(project, root, branch);
-		
-		// check the sync states
-		assertSyncEquals("testUnmergableConflicts", subscriber, project, 
-				new String[] { "delete.txt", "file1.txt", "file2.txt", "addition.txt", "folder1/a.txt", "folder1/b.txt"}, 
-				true, new int[] {
-							  SyncInfo.IN_SYNC, /* TODO: is this OK */
-							  		SyncInfo.CONFLICTING | SyncInfo.CHANGE, 
-							  		SyncInfo.CONFLICTING | SyncInfo.CHANGE,
-							  		SyncInfo.CONFLICTING | SyncInfo.ADDITION,
-							  		SyncInfo.CONFLICTING | SyncInfo.CHANGE,
-							  		SyncInfo.CONFLICTING | SyncInfo.CHANGE});
-		
-		// TODO: Should actually perform the merge and check the results
-		// However, this would require the changes to be redone
-		
-		// commit to modify HEAD
-		commitProject(project);
-		
-		// check the sync states
-		assertSyncEquals("testUnmergableConflicts", subscriber, project, 
-				new String[] { "delete.txt", "file1.txt", "file2.txt", "addition.txt", "folder1/a.txt", "folder1/b.txt"}, 
-				true, new int[] {
-							  SyncInfo.IN_SYNC, /* TODO: is this OK */
-							  		SyncInfo.CONFLICTING | SyncInfo.CHANGE, 
-							  		SyncInfo.CONFLICTING | SyncInfo.CHANGE,
-							  		SyncInfo.CONFLICTING | SyncInfo.ADDITION,
-							  		SyncInfo.CONFLICTING | SyncInfo.CHANGE,
-							  		SyncInfo.CONFLICTING | SyncInfo.CHANGE});
-		
-		// Perform a merge
-		mergeResources(subscriber, project, new String[] { "delete.txt", "file1.txt", "file2.txt", "addition.txt", "folder1/a.txt", "folder1/b.txt"}, true /* allow overwrite */);
-		
-		// check the sync states for the workspace subscriber
-		assertSyncEquals("testUnmergableConflicts", getWorkspaceSubscriber(), project, 
-				new String[] { "file1.txt", "file2.txt", "addition.txt", "folder1/a.txt", "folder1/b.txt"}, 
-				true, new int[] {
-							  SyncInfo.OUTGOING | SyncInfo.CHANGE,
-							  		SyncInfo.OUTGOING | SyncInfo.CHANGE,
-							  		SyncInfo.OUTGOING | SyncInfo.CHANGE,
-							  		SyncInfo.OUTGOING | SyncInfo.DELETION,
-							  		SyncInfo.OUTGOING | SyncInfo.ADDITION});
-		assertDeleted("testUnmergableConflicts", project, new String[] { "delete.txt" });
-		
-		//TODO: How do we know if the right thing happend to the file contents?
-	}
-	
-	public void testLocalScrub() throws IOException, TeamException, CoreException, InvocationTargetException, InterruptedException {
-		// Create a test project
-		IProject project = createProject("testLocalScrub", new String[] { "delete.txt", "file1.txt", "file2.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		setContentsAndEnsureModified(project.getFile("file1.txt"), "some text\nwith several lines\n");
-		setContentsAndEnsureModified(project.getFile("file2.txt"), "some text\nwith several lines\n");
-		commitProject(project);
-		
-		// Checkout and branch a copy
-		CVSTag root = new CVSTag("root_branch1", CVSTag.VERSION);
-		CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
-		IProject branchedProject = branchProject(project, root, branch);
-		
-		// modify the branch
-		appendText(branchedProject.getFile("file1.txt"), "first line\n", true);
-		appendText(branchedProject.getFile("file2.txt"), "last line\n", false);
-		addResources(branchedProject, new String[] {"addition.txt"}, false);
-		deleteResources(branchedProject, new String[] {"delete.txt", "folder1/a.txt"}, false);
-		setContentsAndEnsureModified(branchedProject.getFile("folder1/b.txt"));
-		commitProject(branchedProject);
-		
-		// create a merge subscriber
-		CVSMergeSubscriber subscriber = getSyncInfoSource().createMergeSubscriber(project, root, branch);
-		
-		// check the sync states
-		assertSyncEquals("testLocalScrub", subscriber, project, 
-				new String[] { "delete.txt", "file1.txt", "file2.txt", "addition.txt", "folder1/a.txt", "folder1/b.txt"}, 
-				true, new int[] {
-							  SyncInfo.INCOMING | SyncInfo.DELETION,
-							  		SyncInfo.INCOMING | SyncInfo.CHANGE, 
-							  		SyncInfo.INCOMING | SyncInfo.CHANGE,
-							  		SyncInfo.INCOMING | SyncInfo.ADDITION,
-							  		SyncInfo.INCOMING | SyncInfo.DELETION,
-							  		SyncInfo.INCOMING | SyncInfo.CHANGE});
-		
-		// scrub the project contents
-		IResource[] members = project.members();
-		for (int i = 0; i < members.length; i++) {
-			IResource resource = members[i];
-			if (resource.getName().equals(".project")) continue;
-			resource.delete(false, DEFAULT_MONITOR);
-		}
-		
-		// update
-		mergeResources(subscriber, project, 
-				new String[] { 
-						   "delete.txt", 
-						   		"file1.txt", 
-						   		"file2.txt", 
-						   		"addition.txt", 
-						   		"folder1/a.txt",
-		"folder1/b.txt"}, 
-		true /* allow overwrite */);
-		
-		// commit
-		commitProject(project);
-	}
-	
-	public void testBug37546MergeWantsToDeleteNewDirectories() throws CVSException, CoreException {		
-		IProject project = createProject("testBug37546", new String[]{"file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		setContentsAndEnsureModified(project.getFile("file1.txt"), "some text\nwith several lines\n");
-		commitProject(project);
-		
-		// Checkout and branch a copy
-		CVSTag root = new CVSTag("root_branch1", CVSTag.VERSION);
-		CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
-		IProject branchedProject = branchProject(project, root, branch);
-		
-		// modify the branch
-		addResources(branchedProject, new String[] {"folder2/", "folder2/c.txt"}, true);
-		
-		// modify HEAD and add the same folder
-		addResources(project, new String[] {"folder2/"}, true);
-		addResources(project, new String[] {"folder3/"}, true);
-		addResources(project, new String[] {"folder4/", "folder4/d.txt"}, false);
-		
-		// create a merge subscriber
-		CVSMergeSubscriber subscriber = getSyncInfoSource().createMergeSubscriber(project, root, branch);
-		
-		assertSyncEquals("testBug37546", subscriber, project, 
-				new String[]{"folder2/", "folder2/c.txt", "folder3/", "folder4/", "folder4/d.txt"}, true, 
-				new int[]{
-						SyncInfo.IN_SYNC, 
-								SyncInfo.INCOMING | SyncInfo.ADDITION,
-								SyncInfo.IN_SYNC, SyncInfo.IN_SYNC, SyncInfo.IN_SYNC});		
-	}
-	
-	/*Bug 53129  
-	   Outgoing deletions in deleted folders are lost.
-	 */
-	public void testOutgoingDeletionAfterMergeBug53129() throws TeamException, CoreException, InvocationTargetException, InterruptedException {		
-		IProject project = createProject("testBug53129", new String[]{"file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		setContentsAndEnsureModified(project.getFile("file1.txt"), "some text\nwith several lines\n");
-		commitProject(project);
-		
-		// Checkout and branch a copy
-		CVSTag root = new CVSTag("root_branch1", CVSTag.VERSION);
-		CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
-		IProject branchedProject = branchProject(project, root, branch);
-		
-		// modify the branch
-		deleteResources(branchedProject, new String[] {"folder1/a.txt", "folder1/b.txt"}, true);
-		
-		// create a merge subscriber
-		CVSMergeSubscriber subscriber = getSyncInfoSource().createMergeSubscriber(project, root, branch);
-		
-		assertSyncEquals("testBug53129 - 1", subscriber, project, 
-				new String[]{"file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"}, true, 
-				new int[]{
-						SyncInfo.IN_SYNC, SyncInfo.IN_SYNC,
-						SyncInfo.INCOMING | SyncInfo.DELETION,
-						SyncInfo.INCOMING | SyncInfo.DELETION});
-		
-		mergeResources(subscriber, project, new String[]{"folder1/a.txt", "folder1/b.txt"}, true);
-		
-		assertSyncEquals("testBug53129 - 2", getWorkspaceSubscriber(), project, 
-				new String[]{"file1.txt", "folder1", "folder1/a.txt", "folder1/b.txt"}, true, 
-				new int[]{
-						SyncInfo.IN_SYNC, SyncInfo.IN_SYNC, 
-						SyncInfo.OUTGOING | SyncInfo.DELETION,
-						SyncInfo.OUTGOING | SyncInfo.DELETION});
-		
-		IFolder f = project.getFolder("folder1");
-		f.delete(true, null);
-		
-		assertSyncEquals("testBug53129 - 3", getWorkspaceSubscriber(), project, 
-				new String[]{"file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"}, true, 
-				new int[]{
-						SyncInfo.IN_SYNC, 
-						SyncInfo.IN_SYNC,
-						SyncInfo.OUTGOING | SyncInfo.DELETION,
-						SyncInfo.OUTGOING | SyncInfo.DELETION});
-	}
-	
-	public void testDisconnectingProject() throws CoreException, IOException, TeamException, InterruptedException {
-		// Create a test project (which commits it as well)
-		//		Create a test project
-		IProject project = createProject("testDisconnect", new String[] { "file1.txt", "file2.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		setContentsAndEnsureModified(project.getFile("file1.txt"), "some text\nwith several lines\n");
-		setContentsAndEnsureModified(project.getFile("file2.txt"), "some text\nwith several lines\n");
-		commitProject(project);
-		
-		// Checkout and branch a copy
-		CVSTag root = new CVSTag("root_branch1", CVSTag.VERSION);
-		CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
-		IProject branchedProject = branchProject(project, root, branch);
-		
-		// modify the branch
-		appendText(branchedProject.getFile("file1.txt"), "first line\n", true);
-		appendText(branchedProject.getFile("file2.txt"), "last line\n", false);
-		commitProject(branchedProject);
-		
-		// create a merge subscriber
-		CVSMergeSubscriber subscriber = getSyncInfoSource().createMergeSubscriber(project, root, branch);
-		
-		RepositoryProvider.unmap(project);
-		assertProjectRemoved(subscriber, project);
-	}
-	
-	public void testMarkAsMerged() throws IOException, TeamException, CoreException, InvocationTargetException, InterruptedException {
-		// Create a test project
-		IProject project = createProject("testMarkAsMerged", new String[] { "delete.txt", "file1.txt", "file2.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		setContentsAndEnsureModified(project.getFile("file1.txt"), "some text\nwith several lines\n");
-		setContentsAndEnsureModified(project.getFile("file2.txt"), "some text\nwith several lines\n");
-		commitProject(project);
-		
-		// Checkout and branch a copy
-		CVSTag root = new CVSTag("root_branch1", CVSTag.VERSION);
-		CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
-		IProject branchedProject = branchProject(project, root, branch);
-		
-		// modify the branch
-		appendText(branchedProject.getFile("file1.txt"), "first line\n", true);
-		appendText(branchedProject.getFile("file2.txt"), "last line\n", false);
-		addResources(branchedProject, new String[] {"addition.txt"}, false);
-		deleteResources(branchedProject, new String[] {"delete.txt", "folder1/a.txt"}, false);
-		setContentsAndEnsureModified(branchedProject.getFile("folder1/b.txt"));
-		commitProject(branchedProject);
-		
-		// modify local workspace
-		appendText(project.getFile("file1.txt"), "conflict line\n", true);
-		setContentsAndEnsureModified(project.getFile("folder1/a.txt"));
-		setContentsAndEnsureModified(project.getFile("delete.txt"));
-		addResources(project, new String[] {"addition.txt"}, false);
-		appendText(project.getFile("file2.txt"), "conflict line\n", false);
-		
-		// create a merge subscriber
-		CVSMergeSubscriber subscriber = getSyncInfoSource().createMergeSubscriber(project, root, branch);
-		
-		// check the sync states
-		assertSyncEquals("testMarkAsMergedConflicts", subscriber, project, 
-				new String[] { "delete.txt", "file1.txt", "file2.txt", "addition.txt", "folder1/a.txt"}, 
-				true, new int[] {
-							  SyncInfo.CONFLICTING | SyncInfo.CHANGE,
-							  		SyncInfo.CONFLICTING | SyncInfo.CHANGE, 
-							  		SyncInfo.CONFLICTING | SyncInfo.CHANGE,
-							  		SyncInfo.CONFLICTING | SyncInfo.ADDITION,
-							  		SyncInfo.CONFLICTING | SyncInfo.CHANGE});
-		
-		markAsMerged(subscriber, project, new String[] { "delete.txt", "file1.txt", "file2.txt", "addition.txt", "folder1/a.txt"});
-		
-		// check the sync states
-		assertSyncEquals("testMarkAsMerged", subscriber, project, 
-				new String[] { "delete.txt", "file1.txt", "file2.txt", "addition.txt", "folder1/a.txt"}, 
-				true, new int[] {
-							  SyncInfo.IN_SYNC,
-							  		SyncInfo.IN_SYNC, 
-							  		SyncInfo.IN_SYNC,
-							  		SyncInfo.IN_SYNC,
-							  		SyncInfo.IN_SYNC});				
-	} 
-	
-	/* (non-Javadoc)
-	 * @see junit.framework.TestCase#tearDown()
-	 */
-	protected void tearDown() throws Exception {
-		getSyncInfoSource().tearDown();
-		super.tearDown();
-	}
-	
-	public void testDeletedAddition() throws TeamException, CoreException, InvocationTargetException, InterruptedException {
-		IProject project = createProject("testDeletedAddition", new String[]{"file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		
-		// Checkout and branch a copy
-		CVSTag root = new CVSTag("root_branch1", CVSTag.VERSION);
-		CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
-		IProject branchedProject = branchProject(project, root, branch);
-		
-		// add a file to the branch
-		addResources(branchedProject, new String[] {"folder2/", "folder2/added.txt"}, true);
-		
-		// Setup a merge by creating a merge subscriber
-		CVSMergeSubscriber subscriber = getSyncInfoSource().createMergeSubscriber(project, root, branch);
-		assertSyncEquals("testDeletedAddition", subscriber, project, 
-				new String[]{"folder2/", "folder2/added.txt"}, true, 
-				new int[]{
-					SyncInfo.INCOMING | SyncInfo.ADDITION, 
-					SyncInfo.INCOMING | SyncInfo.ADDITION
-				});
-		
-		// Merge the change with HEAD
-		mergeResources(subscriber, project, new String[]{"folder2/", "folder2/added.txt"}, true);
-		assertSyncEquals("testDeletedAddition", subscriber, project, 
-				new String[]{"folder2/", "folder2/added.txt"}, true, 
-				new int[]{
-					SyncInfo.IN_SYNC, 
-					SyncInfo.IN_SYNC
-				});
-
-		// Delete the file from the branch
-		deleteResources(branchedProject, new String[] {"folder2/added.txt"}, true);
-		assertSyncEquals("testDeletedAddition", subscriber, project, 
-				new String[]{"folder2/", "folder2/added.txt"}, true, 
-				new int[]{
-					SyncInfo.IN_SYNC, 
-					SyncInfo.CONFLICTING | SyncInfo.CHANGE
-				});
-	}
-	
-	public void testFileAddedToBranch() throws InvocationTargetException, InterruptedException, CoreException, IOException {
-		// Create a project
-		IProject project = createProject(new String[] { "delete.txt", "file1.txt", "file2.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		
-		// Checkout and branch a copy
-		CVSTag root = new CVSTag("root_branch1", CVSTag.VERSION);
-		CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
-		IProject branchedProject = branchProject(project, root, branch);
-		
-		// Add a file to the branch
-		addResources(branchedProject, new String[] {"folder2/", "folder2/added.txt"}, true);
-		
-		// Merge the file with HEAD but do not commit
-		CVSMergeSubscriber subscriber = getSyncInfoSource().createMergeSubscriber(project, root, branch);
-		assertSyncEquals("testFileAddedToBranch", subscriber, project, 
-				new String[]{"folder2/", "folder2/added.txt"}, true, 
-				new int[]{
-					SyncInfo.INCOMING | SyncInfo.ADDITION, 
-					SyncInfo.INCOMING | SyncInfo.ADDITION
-				});
-		mergeResources(subscriber, project, new String[]{"folder2/", "folder2/added.txt"}, true /* allow overwrite */);
-		
-		// Ensure HEAD matches branch
-		assertContentsEqual(project, branchedProject);
-		
-		// Ensure that the tag on the file is HEAD
-		ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor(project.getFile("folder2/added.txt"));
-		ResourceSyncInfo syncInfo = cvsFile.getSyncInfo();
-		CVSTag tag = syncInfo.getTag();
-		if (tag != null && !tag.equals(CVSTag.DEFAULT))
-			fail("Invalid tag for added file");
-		
-		// Modify the file on the branch
-		setContentsAndEnsureModified(branchedProject.getFile("folder2/added.txt"), "Unmergable contents");
-		commitProject(branchedProject);
-		
-		// Merge with HEAD again and commit afterwards
-		assertSyncEquals("testFileAddedToBranch", subscriber, project, 
-				new String[]{"folder2/added.txt"}, true, 
-				new int[]{
-					SyncInfo.CONFLICTING | SyncInfo.CHANGE
-				});
-		mergeResources(subscriber, project, new String[]{"folder2/added.txt"}, true /* allow overwrite */);
-		commitProject(project);
-
-		// Ensure HEAD matches branch
-		assertContentsEqual(project, branchedProject);
-		
-		// Modify the file on the branch again
-		setContentsAndEnsureModified(branchedProject.getFile("folder2/added.txt"), "More unmergable");
-		commitProject(branchedProject);
-		
-		// Merge with HEAD one last time
-		assertSyncEquals("testFileAddedToBranch", subscriber, project, 
-				new String[]{"folder2/added.txt"}, true, 
-				new int[]{
-					SyncInfo.CONFLICTING | SyncInfo.CHANGE
-				});
-		mergeResources(subscriber, project, new String[]{"folder2/added.txt"}, true /* allow overwrite */);
-
-		// Ensure HEAD matches branch
-		assertContentsEqual(project, branchedProject);
-	}
-	
-    public void testBinaryAddition() throws CoreException {
-    	// See bug 132255
-    	KSubstOption option = CVSProviderPlugin.getPlugin().getDefaultTextKSubstOption();
-    	try {
-	    	CVSProviderPlugin.getPlugin().setDefaultTextKSubstOption(Command.KSUBST_TEXT_KEYWORDS_ONLY);
-	    	IProject project = createProject(new String[] { "a.txt"});
-			// Checkout and branch a copy
-			CVSTag root = new CVSTag("root_branch1", CVSTag.VERSION);
-			CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
-			IProject branchedProject = branchProject(project, root, branch);
-			// Add a binary file to the branch that contains LFs
-	    	create(branchedProject.getFile("binaryFile"), true);
-	    	setContentsAndEnsureModified(branchedProject.getFile("binaryFile"), "/n/n\n\n");
-	    	addResources(new IResource[] { branchedProject.getFile("binaryFile") });
-	    	commitProject(branchedProject);
-	    	// Merge the addition with HEAD
-	    	CVSMergeSubscriber subscriber = getSyncInfoSource().createMergeSubscriber(project, root, branch);
-	    	getSyncInfoSource().refresh(subscriber, project);
-	    	getSyncInfoSource().updateResources(subscriber, new IResource[] { project.getFile("binaryFile") });
-	    	assertContentsEqual(branchedProject.getFile("binaryFile"), project.getFile("binaryFile"));
-    	} finally {
-    		CVSProviderPlugin.getPlugin().setDefaultTextKSubstOption(option);
-    	}
-    }
-    
-    public void testBinaryMarkAsMerged() throws CoreException, InvocationTargetException, InterruptedException {
-    	// See bug 132255
-    	KSubstOption option = CVSProviderPlugin.getPlugin().getDefaultTextKSubstOption();
-    	try {
-	    	CVSProviderPlugin.getPlugin().setDefaultTextKSubstOption(Command.KSUBST_TEXT_KEYWORDS_ONLY);
-	    	IProject project = createProject(new String[] { "a.txt"});
-			// Checkout and branch a copy
-			CVSTag root = new CVSTag("root_branch1", CVSTag.VERSION);
-			CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
-			IProject branchedProject = branchProject(project, root, branch);
-			// Add a binary file to the branch that contains LFs
-	    	create(branchedProject.getFile("binaryFile"), true);
-	    	setContentsAndEnsureModified(branchedProject.getFile("binaryFile"), "/n/n\n\n");
-	    	addResources(new IResource[] { branchedProject.getFile("binaryFile") });
-	    	commitProject(branchedProject);
-	    	// Add the same file to the project but don't share it
-	    	create(project.getFile("binaryFile"), true);
-	    	setContentsAndEnsureModified(project.getFile("binaryFile"), "/n/nSome Content\n\n");
-	    	// Merge the addition with HEAD
-	    	CVSMergeSubscriber subscriber = getSyncInfoSource().createMergeSubscriber(project, root, branch);
-	    	getSyncInfoSource().refresh(subscriber, project);
-	    	getSyncInfoSource().markAsMerged(subscriber, new IResource[] { project.getFile("binaryFile") });
-	    	assertIsBinary(project.getFile("binaryFile"));
-    	} finally {
-    		CVSProviderPlugin.getPlugin().setDefaultTextKSubstOption(option);
-    	}
-    }
-    
-	public void testMergeNewFileToBranch() throws InvocationTargetException, InterruptedException, CoreException, IOException {
-		// Create a project
-		IProject project = createProject(new String[] {"file1.txt"});
-		
-		// Checkout and branch a copy
-		CVSTag root = new CVSTag("root_branch1", CVSTag.VERSION);
-		CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
-		IProject branchedProject = branchProject(project, root, branch);
-		
-		// Add a file to HEAD
-		addResources(project, new String[] {"added.txt"}, true);
-		
-		// Merge the file with branch but do not commit
-		CVSMergeSubscriber subscriber = getSyncInfoSource().createMergeSubscriber(branchedProject, root, CVSTag.DEFAULT);
-		assertSyncEquals("testFileAddedToBranch", subscriber, branchedProject, 
-				new String[]{"added.txt"}, true, 
-				new int[]{
-					SyncInfo.INCOMING | SyncInfo.ADDITION
-				});
-		mergeResources(subscriber, branchedProject, new String[]{"added.txt"}, true /* allow overwrite */);
-		
-		// Ensure HEAD matches branch
-		assertContentsEqual(project, branchedProject);
-		
-		// Ensure that the tag on the file is the branch tag
-		ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor(branchedProject.getFile("added.txt"));
-		ResourceSyncInfo syncInfo = cvsFile.getSyncInfo();
-		assertEquals("Invalid tag for added file", syncInfo.getTag(), branch);
-		
-		// Add a file in a subfolder to HEAD
-		addResources(project, new String[] {"folder1/added.txt"}, true);
-		assertSyncEquals("testFileAddedToBranch", subscriber, branchedProject, 
-				new String[]{"folder1/added.txt"}, true, 
-				new int[]{
-					SyncInfo.INCOMING | SyncInfo.ADDITION
-				});
-		mergeResources(subscriber, branchedProject, new String[]{"folder1/added.txt"}, true /* allow overwrite */);
-		// Ensure HEAD matches branch
-		assertContentsEqual(project, branchedProject);
-		
-		// Ensure that the tag on the file is the branch tag
-		cvsFile = CVSWorkspaceRoot.getCVSFileFor(branchedProject.getFile("folder1/added.txt"));
-		syncInfo = cvsFile.getSyncInfo();
-		assertEquals("Invalid tag for added file", syncInfo.getTag(), branch);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSSyncSubscriberTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSSyncSubscriberTest.java
deleted file mode 100644
index 3d0cfa6..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSSyncSubscriberTest.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.subscriber;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import junit.framework.AssertionFailedError;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.subscribers.*;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-import org.eclipse.team.tests.ccvs.ui.ModelParticipantSyncInfoSource;
-
-/**
- * Provides test methods common to CVS sync subscribers
- */
-public abstract class CVSSyncSubscriberTest extends EclipseTest {
-
-	private ISubscriberChangeListener listener;
-	private List accumulatedTeamDeltas = new ArrayList();
-	private static SyncInfoSource source = new ModelParticipantSyncInfoSource();
-
-	public CVSSyncSubscriberTest() {
-		super();
-	}
-	
-	public CVSSyncSubscriberTest(String name) {
-		super(name);
-	}
-
-	public static void setSyncSource(SyncInfoSource newSource) {
-		source = newSource;
-	}
-	
-	protected Subscriber getWorkspaceSubscriber() throws TeamException {
-		return getSyncInfoSource().createWorkspaceSubscriber();
-	}
-	
-	public SyncInfoSource getSyncInfoSource() {
-		assertNotNull(source);
-		return source;
-	}
-	
-	protected void refresh(Subscriber subscriber, IResource resource) throws TeamException {
-		getSyncInfoSource().refresh(subscriber, resource);
-	}
-	
-	/*
-	 * Assert that the specified resources in the subscriber have the specified sync kind
-	 * Ignore conflict types if they are not specified in the assert statement
-	 */
-	protected void assertSyncEquals(String message, Subscriber subscriber, IContainer root, String[] resourcePaths, boolean refresh, int[] syncKinds) throws CoreException, TeamException {
-		assertTrue(resourcePaths.length == syncKinds.length);
-		if (refresh) refresh(subscriber, root);
-		IResource[] resources = getResources(root, resourcePaths);
-		for (int i=0;i<resources.length;i++) {
-			assertSyncEquals(message, subscriber, resources[i], syncKinds[i]);
-		}
-		
-	}
-	
-	protected void assertSyncEquals(String message, Subscriber subscriber, IResource resource, int syncKind) throws CoreException {
-		getSyncInfoSource().assertSyncEquals(message, subscriber, resource, syncKind);
-	}
-	
-	protected void assertDiffKindEquals(String message, Subscriber subscriber, IContainer root, String[] resourcePaths, boolean refresh, int[] diffKinds) throws CoreException, TeamException {
-		assertTrue(resourcePaths.length == diffKinds.length);
-		if (refresh) refresh(subscriber, root);
-		IResource[] resources = getResources(root, resourcePaths);
-		for (int i=0;i<resources.length;i++) {
-			getSyncInfoSource().assertDiffKindEquals(message, subscriber, resources[i], diffKinds[i]);
-		}
-	}
-
-	protected void assertSyncChangesMatch(ISubscriberChangeEvent[] changes, IResource[] resources) {
-		// First, ensure that all the resources appear in the delta
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			boolean found = false;
-			for (int j = 0; j < changes.length; j++) {
-				ISubscriberChangeEvent delta = changes[j];
-				if (delta.getResource().equals(resource)) {
-					found = true;
-					break;
-				}
-			}
-			assertTrue("No change reported for " + resource, found);
-		}
-		// TODO: We'll worry about extra deltas later
-//		// Next, ensure there are no extra deltas
-//		List changedResources = new ArrayList(resources.length);
-//		changedResources.addAll(Arrays.asList(resources));
-//		for (int i = 0; i < changes.length; i++) {
-//			TeamDelta change = changes[i];
-//			IResource resource = change.getResource();
-//			assertTrue("Unanticipated change reported for " + resource, changedResources.contains(resource));
-//		}
-	}
-	
-	/* 
-	 * Assert that the named resources have no local resource or sync info
-	 */
-	protected void assertDeleted(String message, IContainer root, String[] resourcePaths) throws CoreException, TeamException {
-		IResource[] resources = getResources(root, resourcePaths);
-		for (int i=0;i<resources.length;i++) {
-			try {
-				if (! resources[i].exists())
-					break;
-			} catch (AssertionFailedError e) {
-				break;
-			}
-			assertTrue(message + ": resource " + resources[i] + " still exists in some form", false);
-		}
-	}
-	
-	public static class ResourceCondition {
-		public boolean matches(IResource resource) throws CoreException, TeamException {
-			return true;
-		}
-	}
-	
-	protected IResource[] collect(IResource[] resources, final ResourceCondition condition, int depth) throws CoreException, TeamException {
-		final Set affected = new HashSet();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			if (resource.exists() || resource.isPhantom()) {
-				resource.accept(new IResourceVisitor() {
-					public boolean visit(IResource r) throws CoreException {
-						try {
-							if (condition.matches(r)) {
-								affected.add(r);
-							}
-						} catch (TeamException e) {
-							throw new CoreException(e.getStatus());
-						}
-						return true;
-					}
-				}, depth, true /* include phantoms */);
-			} else {
-				if (condition.matches(resource)) {
-					affected.add(resource);
-				}
-			}
-		}
-		return (IResource[]) affected.toArray(new IResource[affected.size()]);
-	}
-	
-	protected IResource[] collectAncestors(IResource[] resources, ResourceCondition condition) throws CoreException, TeamException {
-		Set affected = new HashSet();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			while (resource.getType() != IResource.ROOT) {
-				if (condition.matches(resource)) {
-					affected.add(resource);
-				} else {
-					break;
-				}
-				resource = resource.getParent();
-			}
-		}
-		return (IResource[]) affected.toArray(new IResource[affected.size()]);
-	}
-	
-	protected ISubscriberChangeEvent[] deregisterSubscriberListener(Subscriber subscriber) throws TeamException {
-		subscriber.removeListener(listener);
-		return (ISubscriberChangeEvent[]) accumulatedTeamDeltas.toArray(new SubscriberChangeEvent[accumulatedTeamDeltas.size()]);
-	}
-
-	protected ISubscriberChangeListener registerSubscriberListener(Subscriber subscriber) throws TeamException {
-		listener = new ISubscriberChangeListener() {
-			public void subscriberResourceChanged(ISubscriberChangeEvent[] deltas) {
-				accumulatedTeamDeltas.addAll(Arrays.asList(deltas));
-			}
-		};
-		accumulatedTeamDeltas.clear();
-		subscriber.addListener(listener);
-		return listener;
-	}
-
-	protected void assertProjectRemoved(Subscriber subscriber, IProject project) throws TeamException {
-		getSyncInfoSource().assertProjectRemoved(subscriber, project);
-	}
-	
-	protected void markAsMerged(CVSSyncTreeSubscriber subscriber, IProject project, String[] resourcePaths) throws CoreException, TeamException, InvocationTargetException, InterruptedException {
-		IResource[] resources = getResources(project, resourcePaths);
-		getSyncInfoSource().markAsMerged(subscriber, resources);
-	}
-	
-	protected void assertIsBinary(IFile local) throws CVSException {
-		ICVSFile file = CVSWorkspaceRoot.getCVSFileFor(local);
-		byte[] syncBytes = file.getSyncBytes();
-		if (syncBytes != null) {
-			assertTrue(ResourceSyncInfo.isBinary(syncBytes));
-		}
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSWorkspaceSubscriberTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSWorkspaceSubscriberTest.java
deleted file mode 100644
index 73d8268..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CVSWorkspaceSubscriberTest.java
+++ /dev/null
@@ -1,1381 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.subscriber;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.subscribers.ISubscriberChangeEvent;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.client.Command;
-import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-
-/**
- * This class tests the CVSWorkspaceSubscriber
- */
-public class CVSWorkspaceSubscriberTest extends CVSSyncSubscriberTest {
-	
-	/**
-	 * Constructor for CVSProviderTest
-	 */
-	public CVSWorkspaceSubscriberTest() {
-		super();
-	}
-
-	/**
-	 * Constructor for CVSProviderTest
-	 */
-	public CVSWorkspaceSubscriberTest(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		String testName = System.getProperty("eclipse.cvs.testName");
-		if (testName == null) {
-			TestSuite suite = new TestSuite(CVSWorkspaceSubscriberTest.class);
-			return new CVSTestSetup(suite);
-		} else {
-			return new CVSTestSetup(new CVSWorkspaceSubscriberTest(testName));
-		}
-	}
-	
-	
-	protected boolean isFailOnSyncInfoMismatch() {
-		return CVSTestSetup.FAIL_ON_BAD_DIFF ;
-	}
-	
-	protected CVSSyncTreeSubscriber getSubscriber() throws TeamException {
-		return (CVSSyncTreeSubscriber)getWorkspaceSubscriber();
-	}
-	
-	/* (non-Javadoc)
-	 * 
-	 * The shareProject method is invoked when creating new projects.
-	 * @see org.eclipse.team.tests.ccvs.core.EclipseTest#shareProject(org.eclipse.core.resources.IProject)
-	 */
-	protected void shareProject(final IProject project) throws TeamException, CoreException {
-		mapNewProject(project);
-		// Everything should be outgoing addition except he project
-		assertSyncEquals(project.getName(), getSubscriber(), project, SyncInfo.IN_SYNC);
-		assertAllSyncEquals(project.members(true), SyncInfo.OUTGOING | SyncInfo.ADDITION, IResource.DEPTH_INFINITE);
-
-		commitNewProject(project);
-		// Everything should be in-sync
-		assertAllSyncEquals(project, SyncInfo.IN_SYNC, IResource.DEPTH_INFINITE);
-	}
-	
-	protected void assertAllSyncEquals(final IResource rootResource, final int kind, int depth) throws CoreException {
-		if (!rootResource.exists() && !rootResource.isPhantom()) {
-			assertTrue(kind == SyncInfo.IN_SYNC);
-			return;
-		}
-		rootResource.accept(new IResourceVisitor() {
-			public boolean visit(IResource resource) throws CoreException {
-				assertSyncEquals(rootResource.getName(), getSubscriber(), resource, kind);
-				return true;
-			}
-		}, depth, true);
-	}
-	
-	private void assertAllSyncEquals(IResource[] resources, int kind, int depth) throws CoreException {
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			assertAllSyncEquals(resource, kind, depth);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * 
-	 * Override to check that the proper sync state is achieved.
-	 * 
-	 * @see org.eclipse.team.tests.ccvs.core.EclipseTest#setContentsAndEnsureModified(org.eclipse.core.resources.IFile)
-	 */
-	protected void setContentsAndEnsureModified(IFile file) throws CoreException, TeamException {
-		// The delta will indicate to any interested parties that the sync state of the
-		// file has changed
-		super.setContentsAndEnsureModified(file);
-		SyncInfo info = getSyncInfoSource().getSyncInfo(getSubscriber(), file);
-		int kind = info.getKind();
-		assertTrue((kind & SyncInfo.CHANGE_MASK) == SyncInfo.CHANGE);
-		assertTrue((kind & SyncInfo.OUTGOING) > 0);
-	}
-	
-	private void assertSyncEquals(String string, IProject project, String[] strings, boolean refresh, int[] kinds) throws CoreException, TeamException {
-		assertSyncEquals(string, getSubscriber(), project, strings, refresh, kinds);
-	}
-	
-	private void assertSyncEquals(IProject project, String[] strings, boolean refresh, int[] kinds) throws CoreException, TeamException {
-		assertSyncEquals(getName(), getSubscriber(), project, strings, refresh, kinds);
-	}
-	
-	private void assertSyncEquals(String message, IResource resource, int syncKind) throws CoreException {
-		assertSyncEquals(message, getSubscriber(), resource, syncKind);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.tests.ccvs.core.EclipseTest#addResources(org.eclipse.core.resources.IResource[])
-	 */
-	protected void addResources(IResource[] resources) throws TeamException, CVSException, CoreException {
-		// first, get affected children
-		IResource[] affectedChildren = collect(resources, new ResourceCondition() {
-			public boolean matches(IResource resource) throws CoreException, TeamException {
-				ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource);
-				return (!cvsResource.isManaged() && !cvsResource.isIgnored());
-			}
-		}, IResource.DEPTH_INFINITE);
-		// also get affected parents
-		IResource[] affectedParents = collectAncestors(resources, new ResourceCondition() {
-			public boolean matches(IResource resource) throws CoreException, TeamException {
-				if (resource.getType() == IResource.PROJECT) return false;
-				ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource);
-				return (!cvsResource.isManaged() && !cvsResource.isIgnored());
-			}
-		});
-		Set affected = new HashSet();
-		affected.addAll(Arrays.asList(affectedChildren));
-		affected.addAll(Arrays.asList(affectedParents));
-		
-		registerSubscriberListener();
-		super.addResources(resources);
-		ISubscriberChangeEvent[] changes = deregisterSubscriberListener();
-		assertSyncChangesMatch(changes, (IResource[]) affected.toArray(new IResource[affected.size()]));
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			if (resource.getType() == IResource.FILE) {
-				assertSyncEquals("Add", resource, SyncInfo.OUTGOING | SyncInfo.ADDITION);
-			} else {
-				// TODO: a folder should be in sync but isn't handled properly
-				assertSyncEquals("Add", resource, SyncInfo.IN_SYNC);
-			}
-			
-		}
-	}
-
-	private void registerSubscriberListener() throws TeamException {
-		registerSubscriberListener(getSubscriber());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.tests.ccvs.core.EclipseTest#deleteResources(org.eclipse.core.resources.IResource[])
-	 */
-	protected void deleteResources(IResource[] resources) throws TeamException, CoreException {
-		IResource[] affected = collect(resources, new ResourceCondition(), IResource.DEPTH_INFINITE);
-		registerSubscriberListener();
-		super.deleteResources(resources);
-		ISubscriberChangeEvent[] changes = deregisterSubscriberListener();
-		assertSyncChangesMatch(changes, affected);
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			// After deletion, folders should be in-sync while files should be outgoing deletions
-			if (resource.getType() == IResource.FILE) {
-				assertSyncEquals("Delete", resource, SyncInfo.OUTGOING | SyncInfo.DELETION);
-			} else {
-				assertSyncEquals("Delete", resource, SyncInfo.IN_SYNC);
-			}
-		}
-	}
-	
-	private ISubscriberChangeEvent[] deregisterSubscriberListener() throws TeamException {
-		return deregisterSubscriberListener(getSubscriber());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.tests.ccvs.core.EclipseTest#commitResources(org.eclipse.core.resources.IResource[])
-	 */
-	protected void commitResources(IResource[] resources, int depth) throws TeamException, CVSException, CoreException {
-		IResource[] affected = collect(resources, new ResourceCondition() {
-				public boolean matches(IResource resource) throws CoreException, TeamException {
-					ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource);
-					return (!cvsResource.isFolder() && cvsResource.isManaged() && cvsResource.isModified(DEFAULT_MONITOR));
-				}
-			}, IResource.DEPTH_INFINITE);
-		registerSubscriberListener();
-		super.commitResources(resources, depth);
-		ISubscriberChangeEvent[] changes = deregisterSubscriberListener();
-		assertSyncChangesMatch(changes, affected);
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			if (resource.exists())
-				assertSyncEquals("Commit", resource, SyncInfo.IN_SYNC);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.tests.ccvs.core.EclipseTest#unmanageResources(org.eclipse.core.resources.IResource[])
-	 */
-	protected void unmanageResources(IResource[] resources) throws CoreException, TeamException {
-		IResource[] affected = collect(resources, new ResourceCondition() {
-				public boolean matches(IResource resource) throws CoreException, TeamException {
-					ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource);
-					return (cvsResource.isManaged());
-				}
-			}, IResource.DEPTH_INFINITE);
-		registerSubscriberListener();
-		super.unmanageResources(resources);
-		ISubscriberChangeEvent[] changes = deregisterSubscriberListener();
-		assertSyncChangesMatch(changes, affected);
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			if (resource.exists())
-				assertSyncEquals("Unmanage", resource, SyncInfo.IN_SYNC);
-		}
-	}
-	
-	/******************************************************************
-	 * Subscriber Actions: commit/update and override and commit/update
-	 * These actions are those contributed to the Synchronize View by
-	 * the CVS plugin.
-	 ******************************************************************/
-	
-	public IResource[] update(IContainer container, String[] hierarchy) throws CoreException {
-		IResource[] resources = getResources(container, hierarchy);
-		getSyncInfoSource().updateResources(getSubscriber(), resources);
-		return resources;
-	}
-	
-	public IResource[] commit(IContainer container, String[] hierarchy) throws CoreException {
-		IResource[] resources = getResources(container, hierarchy);
-		getSyncInfoSource().commitResources(getSubscriber(), resources);
-		return resources;
-	}
-
-	public IResource[] overrideAndUpdate(IContainer container, String[] hierarchy, boolean shouldPrompt) throws CoreException, TeamException {
-		IResource[] resources = getResources(container, hierarchy);
-		getSyncInfoSource().overrideAndUpdateResources(getSubscriber(), shouldPrompt, resources);			
-		return resources;
-	}
-	
-	public IResource[] overrideAndCommit(IContainer container, String[] hierarchy, boolean shouldPrompt) throws CoreException, TeamException {
-		IResource[] resources = getResources(container, hierarchy);
-		getSyncInfoSource().overrideAndCommitResources(getSubscriber(), resources);		
-		return resources;
-	}
-
-	/******************************************************************
-	 * Tests
-	 ******************************************************************/
-	
-	/*
-	 * Perform a simple test that checks for the different types of incoming changes
-	 */
-	public void testIncomingChanges() throws IOException, TeamException, CoreException {
-		// Create a test project
-		IProject project = createProject("testIncomingChanges", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		
-		// Checkout and modify a copy
-		IProject copy = checkoutCopy(project, "-copy");
-		setContentsAndEnsureModified(copy.getFile("folder1/a.txt"));
-		addResources(copy, new String[] { "folder2/folder3/add.txt" }, false);
-		deleteResources(copy, new String[] {"folder1/b.txt"}, false);
-		commitProject(copy);
-
-		// Get the sync tree for the project
-		assertSyncEquals("testIncomingChanges", project, 
-			new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt", "folder2/", "folder2/folder3/", "folder2/folder3/add.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.INCOMING | SyncInfo.CHANGE,
-				SyncInfo.INCOMING | SyncInfo.DELETION,
-				SyncInfo.INCOMING | SyncInfo.ADDITION,
-				SyncInfo.INCOMING | SyncInfo.ADDITION,
-				SyncInfo.INCOMING | SyncInfo.ADDITION});
-				
-		// Catch up to the incoming changes
-		update(
-			project, 
-			new String[] {
-				"folder1/a.txt", 
-				"folder1/b.txt", 
-				"folder2/", 
-				"folder2/folder3/", 
-				"folder2/folder3/add.txt"});
-		
-		// Verify that we are in sync (except for "folder1/b.txt", which was deleted)
-		assertSyncEquals("testIncomingChanges", project, 
-			new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder2/", "folder2/folder3/", "folder2/folder3/add.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC});
-		
-		// Ensure "folder1/b.txt" was deleted
-		assertDeleted("testIncomingChanges", project, new String[] {"folder1/b.txt"});
-				
-		// Verify that the copy equals the original
-		assertEquals(project, copy);
-	}
-
-	/*
-	 * Perform a simple test that checks for the different types of outgoing changes
-	 */
-	public void testOutgoingChanges() throws TeamException, CoreException {
-		// Create a test project (which commits it as well)
-		IProject project = createProject("testOutgoingChanges", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		
-		// Make some modifications
-		setContentsAndEnsureModified(project.getFile("folder1/a.txt"));
-		addResources(project, new String[] { "folder2/folder3/add.txt" }, false);
-		deleteResources(project, new String[] {"folder1/b.txt"}, false);
-
-		// Get the sync tree for the project
-		assertSyncEquals("testOutgoingChanges", project, 
-			new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt", "folder2/", "folder2/folder3/", "folder2/folder3/add.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.OUTGOING | SyncInfo.CHANGE,
-				SyncInfo.OUTGOING | SyncInfo.DELETION,
-				SyncInfo.IN_SYNC, /* adding a folder creates it remotely */
-				SyncInfo.IN_SYNC, /* adding a folder creates it remotely */
-				SyncInfo.OUTGOING | SyncInfo.ADDITION});
-				
-		// Commit the changes
-		commit(project, new String[] {"folder1/a.txt", "folder1/b.txt", "folder2/folder3/add.txt"});
-		
-		// Ensure we're in sync
-		assertSyncEquals("testOutgoingChanges", project, 
-			new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder2/", "folder2/folder3/", "folder2/folder3/add.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC});
-				
-		// Ensure deleted resource "folder1/b.txt" no longer exists
-		assertDeleted("testOutgoingChanges", project, new String[] {"folder1/b.txt"});
-	}
-	
-	public void testOverideAndUpdateSimple() throws CVSException, CoreException, IOException {
-		 IProject project = createProject("testOutgoingChangesOverideAndUpdate", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-	
-		 // Make some modifications
-		 setContentsAndEnsureModified(project.getFile("folder1/a.txt"));
-		 addResources(project, new String[] { "folder2/folder3/add.txt" }, false);
-		 deleteResources(project, new String[] {"folder1/b.txt"}, false);
-
-		 // Get the sync tree for the project
-		 assertSyncEquals("testOutgoingChangesOverwrite", project, 
-			 new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt", "folder2/", "folder2/folder3/", "folder2/folder3/add.txt"}, 
-			 true, new int[] {
-				 SyncInfo.IN_SYNC,
-				 SyncInfo.IN_SYNC,
-				 SyncInfo.OUTGOING | SyncInfo.CHANGE,
-				 SyncInfo.OUTGOING | SyncInfo.DELETION,
-				 SyncInfo.IN_SYNC, /* adding a folder creates it remotely */
-				 SyncInfo.IN_SYNC, /* adding a folder creates it remotely */
-				 SyncInfo.OUTGOING | SyncInfo.ADDITION});
-			
-		 // Revert the changes
-		 overrideAndUpdate(project, new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt", "folder2/", "folder2/folder3/", "folder2/folder3/add.txt"}, true /* should prompt */);
-	
-		 // Ensure we're in sync
-		 assertSyncEquals("testOutgoingChangesOverwrite", project, 
-			 new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder2/", "folder2/folder3/", "folder2/folder3/add.txt"}, 
-			 true, new int[] {
-				 SyncInfo.IN_SYNC,
-				 SyncInfo.IN_SYNC,
-				 SyncInfo.IN_SYNC,
-				 SyncInfo.IN_SYNC,
-				 SyncInfo.IN_SYNC,
-				 SyncInfo.IN_SYNC});
-			
-		 // Ensure deleted resource is re-created
-		 assertExistsInWorkspace("testOutgoingChangesOverwrite", project.getFile(new Path("folder1/b.txt")));
-
-		// Test conflicting changes
-		IProject copy = checkoutCopy(project, "-copy");
-		appendText(copy.getFile("file1.txt"), "prefix" + eol, true);
-		setContentsAndEnsureModified(copy.getFile("folder1/a.txt"), "Use a custom string to avoid intermittent errors!");
-		commitProject(copy);
-
-		// Make the same modifications to the original (We need to test both M and C!!!)
-		appendText(project.getFile("file1.txt"), eol + "postfix", false); // This will test merges (M)
-		setContentsAndEnsureModified(project.getFile("folder1/a.txt"));
-
-		// Get the sync tree for the project
-		assertSyncEquals("testFileConflict", project, 
-			new String[] { "file1.txt", "folder1/", "folder1/a.txt"}, 
-			true, new int[] {
-				SyncInfo.CONFLICTING | SyncInfo.CHANGE,
-				SyncInfo.IN_SYNC,
-				SyncInfo.CONFLICTING | SyncInfo.CHANGE });
-		
-		// Revert the changes
-		overrideAndUpdate(project, new String[] { "file1.txt", "folder1/", "folder1/a.txt"}, true /* should prompt */);
-
-		assertSyncEquals("testFileConflict", project, 
-			new String[] { "file1.txt", "folder1/", "folder1/a.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC});
-	}
-	
-	/*
-	 * Perform a simple test that checks for the different types of outgoing changes
-	 */
-	public void testOverrideOutgoingChanges() throws IOException, TeamException, CoreException {
-		// Create a test project (which commits it as well)
-		IProject project = createProject("testOverrideOutgoingChanges", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		// Checkout a copy for later verification
-		IProject original = checkoutCopy(project, "-copy");
-		
-		// Make some modifications
-		setContentsAndEnsureModified(project.getFile("folder1/a.txt"));
-		addResources(project, new String[] { "folder2/folder3/add.txt" }, false);
-		deleteResources(project, new String[] {"folder1/b.txt"}, false);
-
-		// Get the sync tree for the project
-		assertSyncEquals("testOverrideOutgoingChanges", project, 
-			new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt", "folder2/", "folder2/folder3/", "folder2/folder3/add.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.OUTGOING | SyncInfo.CHANGE,
-				SyncInfo.OUTGOING | SyncInfo.DELETION,
-				SyncInfo.IN_SYNC, /* adding a folder creates it remotely */
-				SyncInfo.IN_SYNC, /* adding a folder creates it remotely */
-				SyncInfo.OUTGOING | SyncInfo.ADDITION});
-				
-		// Override the changes
-		overrideAndUpdate(
-			project, 
-			new String[] {
-				"folder1/a.txt", 
-				"folder1/b.txt", 
-				"folder2/folder3/add.txt"},
-			true /* should prompt */);
-		
-		// Ensure added resources no longer exist
-		assertDeleted("testOverrideOutgoingChanges", project, new String[] {"folder2/", "folder2/folder3/","folder2/folder3/add.txt"});
-		
-		// Ensure other resources are in sync
-		assertSyncEquals("testOverrideOutgoingChanges", project, 
-			new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt", "folder2/"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC});
-		
-		// Verify that the original has reverted to its original contents
-		assertEquals(project, original);
-	}
-	
-	/*
-	 * Perform a test that checks for outgoing changes that are CVS questionables (no add or remove)
-	 */
-	public void testOutgoingQuestionables() throws TeamException, CoreException {
-		// Create a test project (which commits it as well)
-		IProject project = createProject("testIncomingChanges", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		
-		// Create a new file without adding it to version control
-		buildResources(project, new String[] {"folder2/folder3/add.txt"}, false);
-		
-		// Delete a file without an explicit cvs remove
-		// NOTE: This will result in an implicit cvs remove
-		IFile file = project.getFile("folder1/b.txt");
-		file.delete(true, DEFAULT_MONITOR);
-
-		// Get the sync tree for the project
-		assertSyncEquals("testOutgoingQuestionables", project, 
-			new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt", "folder2/", "folder2/folder3/", "folder2/folder3/add.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.OUTGOING | SyncInfo.DELETION,
-				SyncInfo.OUTGOING | SyncInfo.ADDITION,
-				SyncInfo.OUTGOING | SyncInfo.ADDITION,
-				SyncInfo.OUTGOING | SyncInfo.ADDITION});
-				
-		commit(project, new String[] {"folder1/b.txt", "folder2/", "folder2/folder3/", "folder2/folder3/add.txt"});
-		
-		// Ensure we are in sync
-		assertSyncEquals("testOutgoingQuestionables", project, 
-			new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder2/", "folder2/folder3/", "folder2/folder3/add.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC});
-				
-		// Ensure "folder1/b.txt" was deleted
-		assertDeleted("testOutgoingQuestionables", project, new String[] {"folder1/b.txt"});
-	}
-	
-	/*
-	 * Test simple file conflicts
-	 */
-	public void testFileConflict() throws IOException, TeamException, CoreException {
-		// Create a test project (which commits it as well)
-		IProject project = createProject("testFileConflict", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		
-		// Set the contents of file1.txt to ensure proper merging
-		setContentsAndEnsureModified(project.getFile("file1.txt"), "Use a custom string" + eol + " to ensure proper merging");
-		commitProject(project);
-		
-		// Checkout a copy and make some modifications
-		IProject copy = checkoutCopy(project, "-copy");
-		appendText(copy.getFile("file1.txt"), "prefix" + eol, true);
-		setContentsAndEnsureModified(copy.getFile("folder1/a.txt"), "Use a custom string to avoid intermittent errors!");
-		commitProject(copy);
-
-		// Make the same modifications to the original (We need to test both M and C!!!)
-		appendText(project.getFile("file1.txt"), eol + "postfix", false); // This will test merges (M)
-		setContentsAndEnsureModified(project.getFile("folder1/a.txt"));
-
-		// Get the sync tree for the project
-		assertSyncEquals("testFileConflict", project, 
-			new String[] { "file1.txt", "folder1/", "folder1/a.txt"}, 
-			true, new int[] {
-				SyncInfo.CONFLICTING | SyncInfo.CHANGE,
-				SyncInfo.IN_SYNC,
-				SyncInfo.CONFLICTING | SyncInfo.CHANGE });
-		
-		// Catch up to the file1.txt conflict using UPDATE
-		update(
-			project,
-			new String[] {"file1.txt"});
-								 
-		assertSyncEquals("testFileConflict", project, 
-			new String[] { "file1.txt", "folder1/", "folder1/a.txt"}, 
-			true, new int[] {
-				SyncInfo.OUTGOING | SyncInfo.CHANGE,
-				SyncInfo.IN_SYNC,
-				SyncInfo.CONFLICTING | SyncInfo.CHANGE });
-				
-		// Release the folder1/a.txt conflict by merging and then committing
-		overrideAndCommit(project, new String[] {"folder1/a.txt"}, true);
-		commit(project, new String[] {"file1.txt"});
-		
-		assertSyncEquals("testFileConflict", project, 
-			new String[] { "file1.txt", "folder1/", "folder1/a.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC });
-	}
-
-	/*
-	 * Test conflicts involving additions
-	 */
-	public void testAdditionConflicts() throws CoreException {
-		
-		// CASE 1: The user adds (using CVS add) a remotely added file
-		//     (a) catch-up is simply get?
-		//     (b) release must do a merge
-		// CASE 2: The user adds (but not using cvs add) a remotely added file
-		//     (a) catch-up is simply get?
-		//     (b) release must do a merge
-		// CASE 3: The user adds a remotely added then deleted file
-		//     catch-up is not applicable
-		//     release is normal
-		
-		// Create a test project (which commits it as well) and add an uncommitted resource
-		IProject project = createProject("testAdditionConflicts", new String[] { "file.txt"});
-		addResources(project, new String[] { "add1a.txt", "add1b.txt" }, false);
-		addResources(project, new String[] { "add3.txt" }, false);
-		buildResources(project, new String[] {"add2a.txt", "add2b.txt"}, false);
-		
-		// Checkout a copy, add the same resource and commit
-		IProject copy = checkoutCopy(project, "-copy");
-		addResources(copy, new String[] { "add1a.txt", "add1b.txt", "add2a.txt", "add2b.txt", "add3.txt"}, true);
-		deleteResources(copy, new String[] { "add3.txt"}, true);
-
-		// Get the sync tree for the project
-		assertSyncEquals("testAdditionConflicts", project, 
-			new String[] { "file.txt", "add1a.txt", "add1b.txt", "add2a.txt", "add2b.txt", "add3.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.CONFLICTING | SyncInfo.ADDITION,
-				SyncInfo.CONFLICTING | SyncInfo.ADDITION,
-				SyncInfo.CONFLICTING | SyncInfo.ADDITION,
-				SyncInfo.CONFLICTING | SyncInfo.ADDITION,
-				SyncInfo.OUTGOING | SyncInfo.ADDITION });
-		
-		// Commit conflicting add1b.txt and add2b.txt and outgoing add3.txt
-		overrideAndCommit(project, new String[]{"add1b.txt", "add2b.txt"}, true);
-		commit(project, new String[]{"add3.txt"});
-
-		assertSyncEquals("testAdditionConflicts", project, 
-			new String[] { "file.txt", "add1b.txt", "add2b.txt", "add3.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC });
-				
-		// Catch-up to conflicting cases using UPDATE
-		overrideAndUpdate(
-			project,
-			new String[] {"add1a.txt", "add2a.txt"},
-			true /* should prompt */);
-
-		
-		assertSyncEquals("testAdditionConflicts", project, 
-			new String[] { "add1a.txt", "add2a.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC });
-	}
-	
-	/*
-	 * Test conflicts involving deletions
-	 */
-	public void testDeletionConflicts() throws CoreException {
-		
-		// CASE 1: The user deletes a remotely modified file
-		//    (a) catch-up must do an update
-		//    (b) release must do a merge
-		// CASE 2: The user deletes (and removes) a remotely modified file	
-		//    (a) catch-up must do an unmanage and update
-		//    (b) release must do a merge
-		// CASE 3: The user modified a remotely deleted file
-		//    (a) catch-up must do an unmanage and local delete
-		//    (b) release must do a merge
-		// CASE 4: The user deletes a remotely deleted file
-		//    (a) catch-up can update (or unmanage?)
-		//    (b) release must unmanage
-		// CASE 5: The user deletes (and removes) a remotely deleted file
-		//    (a) catch-up can update (or unmanage?)
-		//    (b) release must unmanage
-		
-		// Perform the test case for case A first
-		
-		// Create a test project (which commits it as well) and delete the resource without committing
-		IProject project = createProject("testDeletionConflictsA", new String[] { "delete1.txt", "delete2.txt", "delete3.txt", "delete4.txt", "delete5.txt"});
-		IFile file = project.getFile("delete1.txt"); // WARNING: This does a "cvs remove"!!!
-		file.delete(false, DEFAULT_MONITOR);
-		deleteResources(project, new String[] {"delete2.txt"}, false);
-		setContentsAndEnsureModified(project.getFile("delete3.txt"));
-		file = project.getFile("delete4.txt");
-		file.delete(false, DEFAULT_MONITOR);
-		deleteResources(project, new String[] {"delete5.txt"}, false);
-		
-		// Get the sync tree for the project
-		assertSyncEquals("testDeletionConflicts", project, 
-			new String[] { "delete1.txt", "delete2.txt", "delete3.txt", "delete4.txt", "delete5.txt"}, 
-			true, new int[] {
-				SyncInfo.OUTGOING | SyncInfo.DELETION,
-				SyncInfo.OUTGOING | SyncInfo.DELETION,
-				SyncInfo.OUTGOING | SyncInfo.CHANGE,
-				SyncInfo.OUTGOING | SyncInfo.DELETION,
-				SyncInfo.OUTGOING | SyncInfo.DELETION });
-		
-		// Checkout a copy and commit the deletion
-		IProject copy = checkoutCopy(project, "-copy");
-		setContentsAndEnsureModified(copy.getFile("delete1.txt"));
-		setContentsAndEnsureModified(copy.getFile("delete2.txt"));
-		deleteResources(copy, new String[] {"delete3.txt", "delete4.txt", "delete5.txt"}, false);
-		commitProject(copy);
-		
-		// Get the sync tree for the project
-		assertSyncEquals("testDeletionConflictsA", project, 
-			new String[] { "delete1.txt", "delete2.txt", "delete3.txt", "delete4.txt", "delete5.txt"}, 
-			true, new int[] {
-				SyncInfo.CONFLICTING | SyncInfo.CHANGE,
-				SyncInfo.CONFLICTING | SyncInfo.CHANGE,
-				SyncInfo.CONFLICTING | SyncInfo.CHANGE,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC });
-				
-		// Catch up to remote changes.
-		overrideAndUpdate(
-			project, 
-			new String[] {
-				"delete1.txt", 
-				"delete2.txt", 
-				"delete3.txt", 
-				"delete4.txt", 
-				"delete5.txt"},
-			true /* should be prompted */);
-		
-		assertSyncEquals("testDeletionConflictsA", project, 
-			new String[] { "delete1.txt", "delete2.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC });
-		
-		assertDeleted("testDeletionConflictsA", project, new String[] {"delete3.txt", "delete4.txt", "delete5.txt"});
-		
-		// Now redo the test case for case B
-		
-		// Create a test project (which commits it as well) and delete the resource without committing
-		project = createProject("testDeletionConflictsB", new String[] { "delete1.txt", "delete2.txt", "delete3.txt", "delete4.txt", "delete5.txt"});
-		file = project.getFile("delete1.txt");
-		file.delete(false, DEFAULT_MONITOR);
-		deleteResources(project, new String[] {"delete2.txt"}, false);
-		setContentsAndEnsureModified(project.getFile("delete3.txt"));
-		file = project.getFile("delete4.txt");
-		file.delete(false, DEFAULT_MONITOR);
-		deleteResources(project, new String[] {"delete5.txt"}, false);
-		
-		// Checkout a copy and commit the deletion
-		copy = checkoutCopy(project, "-copy");
-		setContentsAndEnsureModified(copy.getFile("delete1.txt"));
-		setContentsAndEnsureModified(copy.getFile("delete2.txt"));
-		deleteResources(copy, new String[] {"delete3.txt", "delete4.txt", "delete5.txt"}, false);
-		commitProject(copy);
-
-		// Get the sync tree for the project
-		assertSyncEquals("testDeletionConflictsB", project, 
-			new String[] { "delete1.txt", "delete2.txt", "delete3.txt", "delete4.txt", "delete5.txt"}, 
-			true, new int[] {
-				SyncInfo.CONFLICTING | SyncInfo.CHANGE,
-				SyncInfo.CONFLICTING | SyncInfo.CHANGE,
-				SyncInfo.CONFLICTING | SyncInfo.CHANGE,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC });
-
-		// Release the resources
-		overrideAndCommit(project, new String[] { "delete1.txt", "delete2.txt", "delete3.txt"}, true);
-		commit(project, new String[] {"delete4.txt", "delete5.txt"});
-		
-		assertSyncEquals("testDeletionConflictsB", project, 
-			new String[] { "delete3.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC });
-		
-		assertDeleted("testDeletionConflictsB", project, new String[] {"delete1.txt", "delete2.txt", "delete4.txt", "delete5.txt"});
-	}
-	
-	/*
-	 * Test the creation and sync of an empty local project that has remote contents
-	 */
-	public void testSyncOnEmptyProject() throws TeamException, CoreException {
-		IProject project = createProject(new String[] { "file1.txt", "folder1/file2.txt"});
-		
-		// Make a new folder and map it to the same project
-		IProject newProject = getUniqueTestProject("empty-" + getName());
-		FolderSyncInfo info = CVSWorkspaceRoot.getCVSFolderFor(project).getFolderSyncInfo();
-		CVSWorkspaceRoot.getCVSFolderFor(newProject).setFolderSyncInfo(info);
-		RepositoryProvider.map(newProject, CVSProviderPlugin.getTypeId());
-		
-		// Assert that all resources are incoming additions
-		assertSyncEquals(newProject, 
-				new String[] { "file1.txt", "folder1/", "folder1/file2.txt"}, 
-				true, new int[] {
-					SyncInfo.INCOMING | SyncInfo.ADDITION,
-					SyncInfo.INCOMING | SyncInfo.ADDITION,
-					SyncInfo.INCOMING | SyncInfo.ADDITION});
-	}
-	
-	/*
-	 * Test a conflict with an incoming folder addition and an unmanaged local folder
-	 */
-	public void testFolderConflict() throws CoreException {
-		
-		// Create a test project (which commits it as well) and delete the resource without committing
-		IProject project = createProject("testFolderConflict", new String[] { "file.txt"});
-		
-		// Checkout a copy and add some folders
-		IProject copy = checkoutCopy(project, "-copy");
-		addResources(copy, new String[] {"folder1/file.txt", "folder2/file.txt"}, true);
-		
-		// Add a folder to the original project (but not using cvs)
-		IResource[] resources = buildResources(project, new String[] {"folder1/"});
-		((IFolder)resources[0]).create(false, true, DEFAULT_MONITOR);
-		
-		assertSyncEquals("testFolderConflict", project, 
-			new String[] { "file.txt", "folder1/", "folder1/file.txt", "folder2/", "folder2/file.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.CONFLICTING | SyncInfo.ADDITION,
-				SyncInfo.INCOMING | SyncInfo.ADDITION,
-				SyncInfo.INCOMING | SyncInfo.ADDITION,
-				SyncInfo.INCOMING | SyncInfo.ADDITION});
-				
-		update(
-			project, 
-			new String[] {"folder1/"});
-	
-		assertSyncEquals("testFolderConflict", project, 
-			new String[] { "file.txt", "folder1/", "folder1/file.txt", "folder2/", "folder2/file.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.INCOMING | SyncInfo.ADDITION,
-				SyncInfo.INCOMING | SyncInfo.ADDITION,
-				SyncInfo.INCOMING | SyncInfo.ADDITION});
-	}
-	 
-	/*
-	 * Test that a deleted file can still be deleted through the team provider
-	 */
-	public void testOutgoingDeletion() throws TeamException, CoreException {
-		
-		// Create a test project (which commits it as well)
-		IProject project = createProject("testOutgoingDeletion", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		
-		// Delete a file
-		IFile file = project.getFile("folder1/b.txt");
-		file.delete(true, DEFAULT_MONITOR); // WARNING: As of 2002/03/05, this is equivalent to a cvs remove
-
-		// Get the sync tree for the project
-		assertSyncEquals("testOutgoingDeletion", project, 
-			new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.OUTGOING | SyncInfo.DELETION});
-				
-		// Commit the deletion
-		commit(project , new String[] {"folder1/b.txt"});
-		
-		// Get the sync tree again for the project and ensure others aren't effected
-		assertSyncEquals("testOutgoingDeletion", project, 
-			new String[] { "file1.txt", "folder1/", "folder1/a.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC});
-				
-		// Assert that deletion no longer appears in remote tree
-		assertDeleted("testOutgoingDeletion", project, new String[] {"folder1/b.txt"});
-	}
-	
-	/*
-	 * Test catching up to an incoming addition
-	 */
-	public void testIncomingAddition() throws CoreException {
-		// Create a test project
-		IProject project = createProject("testIncomingAddition", new String[] { "file1.txt", "folder1/", "folder1/a.txt"});
-		
-		// Checkout and modify a copy
-		IProject copy = checkoutCopy(project, "-copy");
-		addResources(copy, new String[] { "folder1/add.txt" }, true);
-
-		// Get the sync tree for the project
-		assertSyncEquals("testIncomingAddition", project, 
-			new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/add.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.INCOMING | SyncInfo.ADDITION});
-		
-		// Catch up to the addition by updating
-		update(
-			project, 
-			new String[] {"folder1/add.txt"});
-		
-		// Get the sync tree again for the project and ensure the added resource is in sync
-		assertSyncEquals("testIncomingAddition", project, 
-			new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/add.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC});
-	}
-	 
-	 public void testSyncOnBranch() throws CoreException {
-	 	
-		// Create a test project and a branch
-		IProject project = createProject(new String[] { "file1.txt", "file2.txt", "file3.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
-		tagProject(project, branch, false /* force */);
-		updateProject(project, branch, false);
-
-		// Checkout and modify a copy
-		IProject copy = checkoutCopy(project, branch);
-		addResources(copy, new String[] {"addition.txt", "folderAddition/", "folderAddition/new.txt"}, true);
-		deleteResources(copy, new String[] {"folder1/b.txt"}, true);
-		changeResources(copy, new String[] {"file1.txt", "file2.txt"}, true);
-		
-		// Sync on the original and assert the result equals the copy
-		assertSyncEquals(project, new String[] { 
-				"file1.txt", 
-				"file2.txt", 
-				"file3.txt", 
-				"folder1/", 
-				"folder1/a.txt", 
-				"folder1/b.txt",
-				"addition.txt", 
-				"folderAddition/", 
-				"folderAddition/new.txt"}, 
-			true, 
-			new int[] {
-				SyncInfo.INCOMING | SyncInfo.CHANGE,
-				SyncInfo.INCOMING | SyncInfo.CHANGE,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.INCOMING | SyncInfo.DELETION,
-				SyncInfo.INCOMING | SyncInfo.ADDITION,
-				SyncInfo.INCOMING | SyncInfo.ADDITION,
-				SyncInfo.INCOMING | SyncInfo.ADDITION});
-	 }
-	 
-	public void testRenameProject() throws CoreException {
-		String[] resourceNames = new String[] { "changed.txt", "folder1/", "folder1/a.txt" };
-		int[] inSync = new int[] {SyncInfo.IN_SYNC, SyncInfo.IN_SYNC, SyncInfo.IN_SYNC};
-		IProject project = createProject("testRenameProject", new String[] { "changed.txt", "folder1/", "folder1/a.txt" });
-		
-		assertSyncEquals("sync should be in sync", project, resourceNames, true, inSync);
-		IProjectDescription desc = project.getDescription();
-		String newName = project.getName() + "_renamed";
-		desc.setName(newName);
-		project.move(desc, false, null);
-		project = ResourcesPlugin.getWorkspace().getRoot().getProject(newName);
-		assertTrue(project.exists());
-		assertSyncEquals("sync should be in sync", project, resourceNames, true, inSync);
-	}
-	
-	public void testDeleteProject() throws CoreException {
-		String[] resourceNames = new String[] { "deleted.txt", "file1.txt", "folder1/", "folder1/a.txt" };
-		int[] inSync = new int[] {SyncInfo.IN_SYNC, SyncInfo.IN_SYNC, SyncInfo.IN_SYNC, SyncInfo.IN_SYNC};
-		IProject project = createProject("testDeleteProject", resourceNames);
-		assertSyncEquals("sync should be in sync", project, resourceNames, true, inSync);
-
-		// Make some modifications
-		setContentsAndEnsureModified(project.getFile("folder1/a.txt"));
-		addResources(project, new String[] { "folder2/folder3/add.txt" }, false);
-		deleteResources(project, new String[] {"deleted.txt"}, false);
-		
-		// Get the sync tree for the project
-		assertSyncEquals("testOutgoingChanges", project, 
-			new String[] { "file1.txt", "folder1/", "deleted.txt", "folder1/a.txt", "folder2/", "folder2/folder3/", "folder2/folder3/add.txt"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC,
-				SyncInfo.OUTGOING | SyncInfo.DELETION,
-				SyncInfo.OUTGOING | SyncInfo.CHANGE,
-				SyncInfo.IN_SYNC, /* adding a folder creates it remotely */
-				SyncInfo.IN_SYNC, /* adding a folder creates it remotely */
-				SyncInfo.OUTGOING | SyncInfo.ADDITION});
-				
-		project.delete(true, false, DEFAULT_MONITOR);
-		
-		assertProjectRemoved(getWorkspaceSubscriber(), project);
-	}
-	
-	public void testFolderDeletion() throws TeamException, CoreException {
-		
-		IProject project = createProject("testFolderDeletion", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt", "folder1/folder2/file.txt"});
-		
-		// Delete a folder and ensure that the file is managed but doesn't exist
-		// (Special behavior is provider by the CVS move/delete hook but this is not part of CVS core)
-		project.getFolder("folder1").delete(false, false, null);
-		ICVSFolder folder = CVSWorkspaceRoot.getCVSFolderFor(project.getFolder("folder1"));
-		assertTrue("Deleted folder not in proper state", ! folder.exists() && folder.isManaged() && folder.isCVSFolder());
-		
-		// The files should show up as outgoing deletions
-		assertSyncEquals("testFolderDeletion sync check", project,
-						 new String[] { "folder1/", "folder1/a.txt", "folder1/folder2/", "folder1/folder2/file.txt"},
-						 true, new int[] { SyncInfo.IN_SYNC,
-									  SyncInfo.OUTGOING | SyncInfo.DELETION,
-									  SyncInfo.IN_SYNC,
-									  SyncInfo.OUTGOING | SyncInfo.DELETION});
-		
-		// commit folder1/a.txt
-		commit(project, new String[] { "folder1/a.txt" });
-		
-		// Re-sync and verify that above file is gone and others remain the same
-		assertSyncEquals("testFolderDeletion sync check", project,
-						 new String[] { "folder1/", "folder1/folder2/", "folder1/folder2/file.txt"},
-						 true, new int[] { SyncInfo.IN_SYNC,
-									  SyncInfo.IN_SYNC,
-									  SyncInfo.OUTGOING | SyncInfo.DELETION});
-		assertDeleted("testFolderDeletion", project, new String[] {"folder1/a.txt"});
-		
-		// Commit folder1/folder2/file.txt
-		commit(project, new String[] { "folder1/folder2/file.txt" });
-		
-		// Re-sync and verify that all are deleted
-		assertDeleted("testFolderDeletion", project, new String[] {"folder1/", "folder1/folder2/", "folder1/folder2/file.txt"});
-	}
-	/**
-	  * There is special handling required when building a sync tree for a tag when there are undiscovered folders
-	  * that only contain other folders.
-	  */
-	 public void testTagRetrievalForFolderWithNoFile() throws TeamException, CoreException {
-		IProject project = createProject("testTagRetrievalForFolderWithNoFile", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt"});
-		// Checkout, branch and modify a copy
-		IProject copy = checkoutCopy(project, "-copy");
-		CVSTag version = new CVSTag("v1", CVSTag.BRANCH);
-		CVSTag branch = new CVSTag("branch1", CVSTag.BRANCH);
-		makeBranch(new IResource[] {copy}, version, branch, true);
-		addResources(copy, new String[] {"folder2/folder3/a.txt"}, true);
-		
-		// Fetch the tree corresponding to the branch using the original as the base.
-		// XXX This will fail for CVSNT with directory pruning on
-		refresh(getSubscriber(), project);
-	 }
-	 
-	 public void testIgnoredResource() throws CoreException, TeamException {
-		// Create a test project (which commits it as well)
-		IProject project = createProject("testIgnoredResource", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		
-		// Create a new file without adding it to version control
-		buildResources(project, new String[] {"ignored.txt"}, false);
-	 	
-		// Get the sync tree for the project
-		assertSyncEquals("testIgnoredResource", project, 
-			new String[] { "ignored.txt"}, 
-			true, new int[] {SyncInfo.OUTGOING | SyncInfo.ADDITION});
-			
-		IFile ignores = project.getFile(".cvsignore");
-		ignores.create(new ByteArrayInputStream("ignored.txt".getBytes()), false, DEFAULT_MONITOR);
-		addResources(new IResource[] {ignores});
-		
-		assertSyncEquals("testIgnoredResource", project, 
-			new String[] { "ignored.txt", ".cvsignore"}, 
-			true, new int[] {
-				SyncInfo.IN_SYNC, 
-				SyncInfo.OUTGOING | SyncInfo.ADDITION});
-	 }
-
-	public void testRenameUnshared() throws CoreException, TeamException {
-	   // Create a test project (which commits it as well)
-	   IProject project = createProject("testRenameUnshared", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		
-	   // Create a new file without adding it to version control
-	   buildResources(project, new String[] {"oldName.txt"}, false);
-	 	
-	   // Get the sync tree for the project
-	   assertSyncEquals("testRenameUnshared", project, 
-		   new String[] { "oldName.txt" }, 
-		   true, new int[] {SyncInfo.OUTGOING | SyncInfo.ADDITION});
-			
-	   IFile rename = project.getFile("oldName.txt");
-	   rename.move(new Path("newName.txt"), false, false, DEFAULT_MONITOR);
-	
-	   assertDeleted("testRenameUnshared", project, new String[] {"oldName.txt"});
-
-	   assertSyncEquals("testRenameUnshared", project, 
-		   new String[] { "newName.txt"}, 
-		   true, new int[] {
-			   SyncInfo.OUTGOING | SyncInfo.ADDITION});
-	}
-	
-	public void testOutgoingEmptyFolder() throws CoreException, TeamException {
-		// Create a test project (which commits it as well)
-		IProject project = createProject("testOutgoingEmptyFolder", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-
-		// Create an empty folder without adding it to version control
-		buildResources(project, new String[] {"folder2/"}, false);
-		
-		assertSyncEquals("testOutgoingEmptyFolder", project, 
-			new String[] { "folder2/" }, 
-			true, new int[] {
-				SyncInfo.OUTGOING | SyncInfo.ADDITION});
-				
-		commit(project, new String[] { "folder2" });
-		
-		assertSyncEquals("testOutgoingEmptyFolder", project, 
-			new String[] { "folder2/" }, 
-			true, new int[] {
-				SyncInfo.IN_SYNC});
-				
-		// Ensure that the folder still exists (i.e. wasn't pruned)
-		assertTrue("Folder should still exist", project.getFolder("folder2").exists());
-	}
-	
-	public void testDisconnectingProject() throws CoreException {
-		// Create a test project (which commits it as well)
-		IProject project = createProject("testDisconnect", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		RepositoryProvider.unmap(project);
-		assertProjectRemoved(getWorkspaceSubscriber(), project);
-	}
-	
-	/*
-	 * @see https://bugs.eclipse.org/bugs/show_bug.cgi?id=40221
-	 */
-	public void testConflictingFolderDeletion() throws CoreException {
-		// Create a test project (which commits it as well)
-		IProject project = createProject("testConflictingFolderDeletion", new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		
-		// Checkout a copy
-		IProject copy = checkoutCopy(project, "-copy");
-		
-		// Delete a folder in both projects and check-in one of the deletions
-		deleteResources(project, new String[] { "folder1/" }, false /* check-in */);
-		deleteResources(copy, new String[] { "folder1/" }, true /* check-in */);
-		
-		// The files should show up as outgoing deletions
-		assertSyncEquals("testConflictingFolderDeletion sync check", project,
-			 new String[] { "folder1/", "folder1/a.txt", "folder1/b.txt"},
-			 true, new int[] { 
-			 	SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC, /* conflicting deletions are handled automatically */
-				SyncInfo.IN_SYNC});
-	}
-	
-	public void testOverrideAndUpdateOutgoingAddition() throws TeamException, CoreException {
-		// Create a test project (which commits it as well)
-		IProject project = createProject(new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		IFolder newFolder = project.getFolder("newFolder");
-		newFolder.create(false, true, null);
-		buildResources(newFolder, new String[] {"newFile"}, false);
-		overrideAndUpdate(project, new String[] {"newFolder", "newFolder/newFile"}, true);
-		assertDoesNotExistInFileSystem(newFolder);
-	}
-	
-	public void testProjectClose() throws TeamException, CoreException {
-		IProject project = createProject(new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		
-		setContentsAndEnsureModified(project.getFile("file1.txt"));
-		assertSyncEquals("testProjectClose sync check", project,
-				new String[] { "file1.txt"},
-				true, new int[] { 
-							  SyncInfo.OUTGOING | SyncInfo.CHANGE,
-					});
-		
-		project.close(null);
-		assertProjectRemoved(getWorkspaceSubscriber(), project);
-	}
-	
-	public void testUpdateBinaryConflict() throws CoreException{
-		// Create a shared project with a binary file
-		IProject project = createProject(new String[] { "binary.gif"});
-		assertIsBinary(project.getFile("binary.gif"));
-		
-		// Checkout a copy, modify the binary file and commit
-		IProject copy = checkoutCopy(project, "-copy");
-		assertIsBinary(copy.getFile("binary.gif"));
-		setContentsAndEnsureModified(copy.getFile("binary.gif"));
-		commitProject(copy);
-		
-		// Modify the same binary file and ensure sync is correct
-		setContentsAndEnsureModified(project.getFile("binary.gif"));
-		assertSyncEquals("testProjectClose sync check", project,
-			new String[] { "binary.gif"},
-			true, new int[] { 
-				SyncInfo.CONFLICTING | SyncInfo.CHANGE,
-		});
-		
-		// Perform an update and ensure the binary conflict is skipped
-		update(project, new String[] { "binary.gif"});
-		assertSyncEquals("testProjectClose sync check", project,
-			new String[] { "binary.gif"},
-			true, new int[] { 
-				SyncInfo.CONFLICTING | SyncInfo.CHANGE,
-		});
-	}
-	
-	public void testNestedMarkAsMerged() throws CoreException, InvocationTargetException, InterruptedException {
-		// Create a project and checkout a copy
-		IProject project = createProject(new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		IProject copy = checkoutCopy(project, "-copy");
-		// Add the same resources to both projects to create conflicting additions
-		buildResources(project, new String[] { "folder2/", "folder2/file.txt", "folder2/file2.txt"}, false);
-		addResources(copy, new String[] { "folder2/", "folder2/file.txt", "folder2/file2.txt"}, true);
-		assertSyncEquals("testNestedMarkAsMerged sync check", project,
-				new String[] { "folder2/", "folder2/file.txt", "folder2/file.txt"},
-				true, new int[] { 
-					SyncInfo.CONFLICTING | SyncInfo.ADDITION,
-					SyncInfo.CONFLICTING | SyncInfo.ADDITION,
-					SyncInfo.CONFLICTING | SyncInfo.ADDITION
-				});
-		markAsMerged(getSubscriber(), project, new String[] {"folder2/file.txt"});
-		assertSyncEquals("testNestedMarkAsMerged sync check", project,
-				new String[] { "folder2/", "folder2/file.txt", "folder2/file2.txt"},
-				true, new int[] { 
-					SyncInfo.IN_SYNC,
-					SyncInfo.OUTGOING | SyncInfo.CHANGE,
-					SyncInfo.CONFLICTING | SyncInfo.ADDITION
-		});
-	}
-	
-	public void testMarkAsMergedOnBinaryFile() throws TeamException, CoreException, InvocationTargetException, InterruptedException {
-		// Create a project and checkout a copy
-		IProject project = createProject(new String[] { "file1.txt"});
-		IProject copy = checkoutCopy(project, "-copy");
-		// Add the same binary file to both projects to create a conflicting addition
-		buildResources(project, new String[] {"binary.gif"}, false);
-		addResources(copy, new String[] {"binary.gif"}, true);
-		assertIsBinary(copy.getFile("binary.gif"));
-		assertSyncEquals("testMarkAsMergedOnBinaryFile sync check", project,
-				new String[] {"binary.gif"},
-				true, new int[] { 
-						SyncInfo.CONFLICTING | SyncInfo.ADDITION
-		});
-		markAsMerged(getSubscriber(), project, new String[] {"binary.gif"});
-		assertSyncEquals("testMarkAsMergedOnBinaryFile sync check", project,
-				new String[] {"binary.gif"},
-				true, new int[] { 
-				SyncInfo.OUTGOING | SyncInfo.CHANGE
-		});
-		assertIsBinary(project.getFile("binary.gif"));
-		// Unmanage the file and do it again
-		// This tests the case were the contents are already cached locally
-		CVSWorkspaceRoot.getCVSFileFor(project.getFile("binary.gif")).unmanage(DEFAULT_MONITOR);
-		assertSyncEquals("testMarkAsMergedOnBinaryFile sync check", project,
-				new String[] {"binary.gif"},
-				true, new int[] { 
-				SyncInfo.CONFLICTING | SyncInfo.ADDITION
-		});
-		markAsMerged(getSubscriber(), project, new String[] {"binary.gif"});
-		assertSyncEquals("testMarkAsMergedOnBinaryFile sync check", project,
-				new String[] {"binary.gif"},
-				true, new int[] { 
-				SyncInfo.OUTGOING | SyncInfo.CHANGE
-		});
-		assertIsBinary(project.getFile("binary.gif"));
-	}
-	
-	/**
-	 * Bug 48467
-	 * 
-	 * Files imported into CVS may have revision number 1.1.1.1.
-	 * A subsequent commit will raise the revision to 1.2.
-	 * We had code that would ignore the new sync bytes in the
-	 * sync view because the new revision was shorter than the old one.
-	 */
-	public void testSyncAfterImport() throws CoreException {
-		// First, use "cvs import" to add a project to CVS
-		String[] resources = new String[] { "file.txt" };
-		IProject project = getUniqueTestProject(getName());
-		buildResources(project, resources, true);
-		importProject(project);
-		
-		// Now, check out the project
-		IProject copy = getWorkspace().getRoot().getProject(project.getName() + "copy");
-		checkout(getRepository(), copy, project.getName(), null, DEFAULT_MONITOR);
-		ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor(copy.getFile("file.txt"));
-		assertTrue("File in wrong state", cvsFile.isManaged() && cvsFile.getSyncInfo().getRevision().equals("1.1.1.1"));
-		
-		// Check out another and commit a change to the file
-		IProject anotherCopy = checkoutCopy(copy, "another");
-		cvsFile = CVSWorkspaceRoot.getCVSFileFor(anotherCopy.getFile("file.txt"));
-		assertTrue("File in wrong state", cvsFile.isManaged() && cvsFile.getSyncInfo().getRevision().equals("1.1.1.1"));
-		setContentsAndEnsureModified(anotherCopy.getFile("file.txt"));
-		commitProject(anotherCopy);
-		
-		// Assert that the change shows up in original
-		assertSyncEquals("testSyncAfterImport sync check", copy,
-				new String[] {"file.txt"},
-				true, new int[] { 
-				SyncInfo.INCOMING | SyncInfo.CHANGE
-		});
-	}
-	
-	public void testOverUpdateAfterExternalDeletion() throws TeamException, CoreException {
-		IProject project = createProject(new String[] { "file1.txt"});
-		int count = 0;
-		while (!project.getFile("file1.txt").getLocation().toFile().delete()) {
-			try {
-				Thread.sleep(1000);
-			} catch (InterruptedException e) {
-			}
-			assertTrue(count++ < 5);
-		}
-		project.refreshLocal(IResource.DEPTH_INFINITE, DEFAULT_MONITOR);
-		assertSyncEquals("testOverUpdateAfterExternalDeletion sync check", project,
-				new String[] {"file1.txt"},
-				true, new int[] { 
-				SyncInfo.OUTGOING | SyncInfo.DELETION
-		});
-		overrideAndUpdate(project, new String[] { "file1.txt"}, true);
-		assertSyncEquals("testOverUpdateAfterExternalDeletion sync check", project,
-				new String[] {"file1.txt"},
-				true, new int[] { 
-				SyncInfo.IN_SYNC
-		});
-		assertTrue(project.getFile("file1.txt").exists());
-	}
-	
-    public void testBinaryAddition() throws CoreException {
-    	// See bug 132255
-    	KSubstOption option = CVSProviderPlugin.getPlugin().getDefaultTextKSubstOption();
-    	try {
-	    	CVSProviderPlugin.getPlugin().setDefaultTextKSubstOption(Command.KSUBST_TEXT_KEYWORDS_ONLY);
-	    	IProject project = createProject(new String[] { "a.txt"});
-			// Checkout a copy
-	    	IProject copy = checkoutCopy(project, "-copy");
-			// Add a binary file that contains LFs
-	    	create(copy.getFile("binaryFile"), true);
-	    	setContentsAndEnsureModified(copy.getFile("binaryFile"), "/n/n\n\n");
-	    	addResources(new IResource[] { copy.getFile("binaryFile") });
-	    	commitProject(copy);
-	    	// Update
-	    	getSyncInfoSource().refresh(getSubscriber(), project);
-	    	getSyncInfoSource().updateResources(getSubscriber(), new IResource[] { project.getFile("binaryFile") });
-	    	assertContentsEqual(copy.getFile("binaryFile"), project.getFile("binaryFile"));
-    	} finally {
-    		CVSProviderPlugin.getPlugin().setDefaultTextKSubstOption(option);
-    	}
-    }
-    
-    public void testBinaryMarkAsMerged() throws CoreException, InvocationTargetException, InterruptedException {
-    	KSubstOption option = CVSProviderPlugin.getPlugin().getDefaultTextKSubstOption();
-    	try {
-	    	CVSProviderPlugin.getPlugin().setDefaultTextKSubstOption(Command.KSUBST_TEXT_KEYWORDS_ONLY);
-	    	IProject project = createProject(new String[] { "a.txt"});
-			// Checkout a copy
-	    	IProject copy = checkoutCopy(project, "-copy");
-			// Add a binary file to the copy and commit
-	    	create(copy.getFile("binaryFile"), true);
-	    	setContentsAndEnsureModified(copy.getFile("binaryFile"), "/n/n\n\n");
-	    	addResources(new IResource[] { copy.getFile("binaryFile") });
-	    	commitProject(copy);
-	    	// Add the same file to the project but don't share it
-	    	create(project.getFile("binaryFile"), true);
-	    	setContentsAndEnsureModified(project.getFile("binaryFile"), "/n/nSome Content\n\n");
-	    	// Sync and mark as merged
-	    	getSyncInfoSource().refresh(getSubscriber(), project);
-	    	getSyncInfoSource().markAsMerged(getSubscriber(), new IResource[] { project.getFile("binaryFile") });
-	    	assertIsBinary(project.getFile("binaryFile"));
-    	} finally {
-    		CVSProviderPlugin.getPlugin().setDefaultTextKSubstOption(option);
-    	}
-    }
-    
-    public void testDisabledDirectoryDiscovery() throws CoreException {
-    	// Create a project and disable new directory discovery
-    	IProject project = createProject(new String[] { "file1.txt"});
-    	setFetchAbsentDirectories(project, false);
-    	
-    	IProject copy = checkoutCopy(project, "-copy");
-    	addResources(copy, new String[] { "added.txt", "folder2/", "folder2/added.txt" }, true);
-    	
-    	// The new subfolder (folder2) and its contents should not have sync info (i.e. in_sync)
-		assertSyncEquals("testDisabledDirectoryDiscovery", project,
-				new String[] {"file1.txt", "added.txt", "folder2/", "folder2/added.txt" },
-				true, new int[] { 
-				SyncInfo.IN_SYNC,
-				SyncInfo.INCOMING | SyncInfo.ADDITION,
-				SyncInfo.IN_SYNC,
-				SyncInfo.IN_SYNC
-		});
-    }
-
-	private void setFetchAbsentDirectories(IProject project, boolean fetch) throws CVSException {
-		RepositoryProvider provider = RepositoryProvider.getProvider(project, CVSProviderPlugin.getTypeId());
-		((CVSTeamProvider) provider).setFetchAbsentDirectories(fetch);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CompareEditorTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CompareEditorTests.java
deleted file mode 100644
index 12991cc..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/CompareEditorTests.java
+++ /dev/null
@@ -1,381 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.subscriber;
-
-import java.io.ByteArrayInputStream;
-
-import junit.framework.Test;
-
-import org.eclipse.compare.*;
-import org.eclipse.compare.internal.Utilities;
-import org.eclipse.compare.structuremergeviewer.ICompareInput;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.team.internal.ui.history.FileRevisionTypedElement;
-import org.eclipse.team.internal.ui.mapping.ModelCompareEditorInput;
-import org.eclipse.team.internal.ui.mapping.ResourceDiffCompareInput;
-import org.eclipse.team.internal.ui.synchronize.EditableSharedDocumentAdapter;
-import org.eclipse.team.internal.ui.synchronize.LocalResourceTypedElement;
-import org.eclipse.team.internal.ui.synchronize.actions.OpenInCompareAction;
-import org.eclipse.team.tests.ccvs.ui.ModelParticipantSyncInfoSource;
-import org.eclipse.ui.*;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-
-/**
- * Test the behavior of compare editors opened on diffs.
- */
-public class CompareEditorTests extends CVSSyncSubscriberTest {
-
-	public static Test suite() {
-		return suite(CompareEditorTests.class);
-	}
-	
-	public CompareEditorTests() {
-		super();
-	}
-	
-	public CompareEditorTests(String name) {
-		super(name);
-	}
-	
-	protected CVSSyncTreeSubscriber getSubscriber() throws TeamException {
-		return (CVSSyncTreeSubscriber)getWorkspaceSubscriber();
-	}
-	
-	private IEditorInput openEditor(Subscriber subscriber, Object element) {
-		IEditorInput input = OpenInCompareAction.openCompareEditor(((ModelParticipantSyncInfoSource)getSyncInfoSource()).getConfiguration(subscriber), element, false, false);
-		assertNotNull(input);
-		assertEditorOpen(input, subscriber);
-		return input;
-	}
-	
-	private IEditorInput openEditor(Object element) throws TeamException {
-		return openEditor(getSubscriber(), element);
-	}
-	
-	private void assertEditorOpen(IEditorInput input, Subscriber subscriber) {
-		waitForCollectors(subscriber);
-		while (Display.getCurrent().readAndDispatch()) {};
-		IEditorPart part = findOpenEditor(input);
-		assertNotNull("The editor is not open", part);
-	}
-
-	private void assertEditorClosed(IEditorInput input) {
-		while (Display.getCurrent().readAndDispatch()) {};
-		IEditorPart part = findOpenEditor(input);
-		assertNull("The editor is not closed", part);
-	}
-	
-	private void assertRevisionsEquals(IEditorInput input, IFile file) throws CVSException {
-		while (Display.getCurrent().readAndDispatch()) {};
-		CompareEditorInput cei = (CompareEditorInput)input;
-		ICompareInput node = (ICompareInput)cei.getCompareResult();
-		String remoteRevision = ((FileRevisionTypedElement)node.getRight()).getContentIdentifier();
-		String localRevision = CVSWorkspaceRoot.getCVSFileFor(file).getSyncInfo().getRevision();
-		assertEquals(localRevision, remoteRevision);
-	}
-	
-	private void assertEditorState(IEditorInput input) throws TeamException {
-		waitForCollectors();
-		while (Display.getCurrent().readAndDispatch()) {};
-		CompareEditorInput cei = (CompareEditorInput)input;
-		if (cei instanceof ModelCompareEditorInput) {
-			ModelCompareEditorInput mcei = (ModelCompareEditorInput) cei;
-			ICompareInput ci = (ICompareInput)mcei.getCompareResult();
-			if (ci instanceof ResourceDiffCompareInput) {
-				ResourceDiffCompareInput rdci = (ResourceDiffCompareInput) ci;
-				IFile file = (IFile)rdci.getResource();
-				LocalResourceTypedElement element = (LocalResourceTypedElement)rdci.getLeft();
-				EditableSharedDocumentAdapter adapter = (EditableSharedDocumentAdapter)element.getAdapter(ISharedDocumentAdapter.class);
-				assertTrue(element.exists() == file.exists());
-				assertTrue(file.exists() == (adapter != null));
-				if (file.exists())
-					assertTrue(adapter.isConnected());
-				return;
-			}
-		}
-		fail("Unexpected compare input type");
-	}
-	
-	private void closeAllEditors() {
-		PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().closeAllEditors(false);
-	}
-	
-	private IEditorPart findOpenEditor(IEditorInput input) {
-		IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-		IEditorReference[] editorRefs = page.getEditorReferences();						
-		for (int i = 0; i < editorRefs.length; i++) {
-			final IEditorPart part = editorRefs[i].getEditor(false /* don't restore editor */);
-			if(part != null) {
-				IEditorInput testInput = part.getEditorInput();
-				if (testInput == input)
-					return part;
-			}
-		}
-		return null;
-	}
-	
-	private void dirtyEditor(IFile file, IEditorInput input, String string) {
-		FileEditorInput fileEditorInput = new FileEditorInput(file);
-		IDocumentProvider provider = SharedDocumentAdapter.getDocumentProvider(fileEditorInput);
-		IDocument document = provider.getDocument(fileEditorInput);
-		document.set(string);
-	}
-	
-	protected void setUp() throws Exception {
-		super.setUp();
-		// Need to set both the Compare and Team test flags to true
-		Utilities.RUNNING_TESTS = true;
-		Utils.RUNNING_TESTS = true;
-	}
-	
-	protected void setTestingFlushOnCompareInputChange(boolean b) {
-		// Need to set both the Compare and Team test flags
-		Utilities.TESTING_FLUSH_ON_COMPARE_INPUT_CHANGE = b;
-		Utils.TESTING_FLUSH_ON_COMPARE_INPUT_CHANGE = b;
-	}
-	
-	protected void tearDown() throws Exception {
-		closeAllEditors();
-		super.tearDown();
-	}
-	
-	private void waitForCollectors() throws TeamException {
-		waitForCollectors(getSubscriber());
-	}
-	
-	private void waitForCollectors(Subscriber subcriber) {
-		((ModelParticipantSyncInfoSource)getSyncInfoSource()).waitForCollectionToFinish(subcriber);
-	}
-
-	public void testCloseOnUpdate() throws CoreException {
-		// setup a project with an incoming change that is open in an editor
-		IProject project = createProject(new String[] { "file1.txt"});
-		IProject copy = checkoutCopy(project, "-copy");
-		setContentsAndEnsureModified(copy.getFile("file1.txt"));
-		commitProject(copy);
-		refresh(getSubscriber(), project);
-		IEditorInput input = openEditor(project.getFile("file1.txt"));
-		
-		// Update and assert that the editor gets closed
-		updateProject(project, null, false);
-		waitForCollectors();
-		assertEditorClosed(input);
-	}
-	
-	public void testCloseOnCommit() throws CoreException {
-		// Setup a project with an outgoing change that is open in an editor
-		IProject project = createProject(new String[] { "file1.txt"});
-		setContentsAndEnsureModified(project.getFile("file1.txt"));
-		refresh(getSubscriber(), project);
-		IEditorInput input = openEditor(project.getFile("file1.txt"));
-		
-		// Commit and assert that the editor gets closed
-		commitProject(project);
-		waitForCollectors();
-		assertEditorClosed(input);
-	}
-	
-	public void testSaveOnUpdateWhenDirty() throws CoreException {
-		// setup a project with an incoming change that is open in an editor
-		IProject project = createProject(new String[] { "file1.txt"});
-		IProject copy = checkoutCopy(project, "-copy");
-		setContentsAndEnsureModified(copy.getFile("file1.txt"));
-		commitProject(copy);
-		refresh(getSubscriber(), project);
-		IEditorInput input = openEditor(project.getFile("file1.txt"));
-		
-		// Dirty the editor
-		String contents = "this is the file contents";
-		dirtyEditor(project.getFile("file1.txt"), input, contents);
-		
-		// Update and ensure that the contents are written and the editor remains open
-		setTestingFlushOnCompareInputChange(true);
-		updateProject(project, null, false);
-		waitForCollectors();
-		assertContentsEqual(project.getFile("file1.txt"), contents);
-		// We would like the editor to stay open but its too complicated
-		// assertEditorOpen(input);
-	}
-	
-	public void testCloseOnUpdateWhenDirty() throws CoreException {
-		// setup a project with an incoming change that is open in an editor
-		IProject project = createProject(new String[] { "file1.txt"});
-		IProject copy = checkoutCopy(project, "-copy");
-		String incomingContents = "Incoming change";
-		setContentsAndEnsureModified(copy.getFile("file1.txt"), incomingContents);
-		commitProject(copy);
-		refresh(getSubscriber(), project);
-		IEditorInput input = openEditor(project.getFile("file1.txt"));
-		
-		// Dirty the editor
-		String contents = "this is the file contents";
-		dirtyEditor(project.getFile("file1.txt"), input, contents);
-		
-		// Update and ensure that the editor is closed
-		setTestingFlushOnCompareInputChange(false);
-		updateProject(project, null, false);
-		waitForCollectors();
-		assertContentsEqual(project.getFile("file1.txt"), incomingContents);
-		// We would like the editor to close but its too complicated to guarantee
-		// assertEditorClosed(input);
-	}
-
-	public void testSaveOnCommitWhenDirty() throws CoreException {
-		// Setup a project with an outgoing change that is open in an editor
-		IProject project = createProject(new String[] { "file1.txt"});
-		setContentsAndEnsureModified(project.getFile("file1.txt"));
-		refresh(getSubscriber(), project);
-		IEditorInput input = openEditor(project.getFile("file1.txt"));
-		
-		// Dirty the editor
-		String contents = "this is the file contents";
-		dirtyEditor(project.getFile("file1.txt"), input, contents);
-		
-		// Commit and ensure that the contents are written and the editor remains open
-		setTestingFlushOnCompareInputChange(true);
-		commitProject(project);
-		waitForCollectors();
-		assertContentsEqual(project.getFile("file1.txt"), contents);
-		// We would like the editor to stay open but its too complicated
-		// assertEditorOpen(input);
-	}
-	
-	public void testCloseOnCommitWhenDirty() throws CoreException {
-		// Setup a project with an outgoing change that is open in an editor
-		IProject project = createProject(new String[] { "file1.txt"});
-		String committedContents = "Committed contents";
-		setContentsAndEnsureModified(project.getFile("file1.txt"), committedContents);
-		refresh(getSubscriber(), project);
-		IEditorInput input = openEditor(project.getFile("file1.txt"));
-		
-		// Dirty the editor
-		String contents = "this is the file contents";
-		dirtyEditor(project.getFile("file1.txt"), input, contents);
-		
-		// Commit and ensure that the editor is closed
-		setTestingFlushOnCompareInputChange(false);
-		commitProject(project);
-		waitForCollectors();
-		assertContentsEqual(project.getFile("file1.txt"), committedContents);
-		// We would like the editor to close but its too complicated to guarantee
-		// assertEditorClosed(input);
-	}
-	
-	public void testCloseOnParticipantDispose() throws CoreException {
-		IProject project = createProject(new String[] { "file1.txt"});
-		CVSTag v1 = new CVSTag("v1", CVSTag.VERSION);
-		tagProject(project, v1, true);
-		setContentsAndEnsureModified(project.getFile("file1.txt"));
-		commitProject(project);
-		
-		Subscriber subscriber = getSyncInfoSource().createCompareSubscriber(project, v1);
-		
-		refresh(subscriber, project);
-		IEditorInput input = openEditor(subscriber, project.getFile("file1.txt"));
-		getSyncInfoSource().disposeSubscriber(subscriber);
-		assertEditorClosed(input);
-	}
-	
-	public void testStayOpenOnParticipantDisposeWhenDirty() throws CoreException {
-		IProject project = createProject(new String[] { "file1.txt"});
-		CVSTag v1 = new CVSTag("v1", CVSTag.VERSION);
-		tagProject(project, v1, true);
-		setContentsAndEnsureModified(project.getFile("file1.txt"));
-		commitProject(project);
-		
-		Subscriber subscriber = getSyncInfoSource().createCompareSubscriber(project, v1);
-		
-		refresh(subscriber, project);
-		IEditorInput input = openEditor(subscriber, project.getFile("file1.txt"));
-		String contents = "this is the file contents";
-		dirtyEditor(project.getFile("file1.txt"), input, contents);
-		setTestingFlushOnCompareInputChange(true);
-		getSyncInfoSource().disposeSubscriber(subscriber);
-		assertEditorOpen(input, subscriber);
-	}
-	
-	public void testUpdateOnRemoteChange() throws CoreException {
-		IProject project = createProject(new String[] { "file1.txt"});
-		
-		// First open the editor on an outgoing change
-		setContentsAndEnsureModified(project.getFile("file1.txt"));
-		IEditorInput input = openEditor(project.getFile("file1.txt"));
-		assertRevisionsEquals(input, project.getFile("file1.txt"));
-		
-		// Now change the remote and refresh the project
-		IProject copy = checkoutCopy(project, "-copy");
-		setContentsAndEnsureModified(copy.getFile("file1.txt"));
-		commitProject(copy);
-		refresh(getSubscriber(), project);
-		
-		// The input revision should now match the remote revision
-		assertRevisionsEquals(input, copy.getFile("file1.txt"));
-		
-	}
-	
-	public void testUpdateOnRemoteChangeWhenDirty() throws CoreException {
-		IProject project = createProject(new String[] { "file1.txt"});
-		
-		// First open the editor and dirty it
-		setContentsAndEnsureModified(project.getFile("file1.txt"));
-		IEditorInput input = openEditor(project.getFile("file1.txt"));
-		assertRevisionsEquals(input, project.getFile("file1.txt"));
-		String contents = "this is the file contents";
-		dirtyEditor(project.getFile("file1.txt"), input, contents);
-		
-		// Now change the remote and refresh the project
-		IProject copy = checkoutCopy(project, "-copy");
-		setContentsAndEnsureModified(copy.getFile("file1.txt"));
-		commitProject(copy);
-		setTestingFlushOnCompareInputChange(true);
-		refresh(getSubscriber(), project);
-		
-		// The revision should be changed and the contents written to disk
-		assertRevisionsEquals(input, copy.getFile("file1.txt"));
-		assertContentsEqual(project.getFile("file1.txt"), contents);
-		
-	}
-	
-	public void testFileCreation() throws CoreException {
-		// Create an outgoing deletion and open an editor
-		IProject project = createProject(new String[] { "file1.txt"});
-		project.getFile("file1.txt").delete(false, null);
-		IEditorInput input = openEditor(project.getFile("file1.txt"));
-		assertEditorState(input);
-		
-		// Recreate the file
-		project.getFile("file1.txt").create(new ByteArrayInputStream("Recreated file".getBytes()), false, null);
-		assertEditorState(input);
-	}
-	
-	public void testFileDeletion() throws CoreException {
-		// Create an outgoing change and open an editor
-		IProject project = createProject(new String[] { "file1.txt"});
-		setContentsAndEnsureModified(project.getFile("file1.txt"));
-		IEditorInput input = openEditor(project.getFile("file1.txt"));
-		assertEditorState(input);
-		
-		// Delete the file
-		project.getFile("file1.txt").delete(false, null);
-		assertEditorState(input);
-	}
-	
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/SyncInfoSource.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/SyncInfoSource.java
deleted file mode 100644
index d1f958a..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/SyncInfoSource.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.subscriber;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import junit.framework.Assert;
-import junit.framework.AssertionFailedError;
-
-import org.eclipse.compare.structuremergeviewer.IDiffElement;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.diff.IDiff;
-import org.eclipse.team.core.diff.provider.Diff;
-import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.ui.subscriber.CVSSubscriberOperation;
-import org.eclipse.team.internal.ccvs.ui.subscriber.ConfirmMergedOperation;
-import org.eclipse.team.internal.core.mapping.SyncInfoToDiffConverter;
-import org.eclipse.team.internal.ui.synchronize.SyncInfoModelElement;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-
-/**
- * This class acts as the source for the sync info used by the subscriber tests.
- * The purpose is to allow the sync info to be obtained directly from the subscriber 
- * or through the sync set visible in the sync view.
- */
-public class SyncInfoSource {
-
-	protected static IProgressMonitor DEFAULT_MONITOR = new NullProgressMonitor();
-	protected List mergeSubscribers = new ArrayList();
-	protected List compareSubscribers = new ArrayList();
-	
-	public CVSMergeSubscriber createMergeSubscriber(IProject project, CVSTag root, CVSTag branch) {
-		CVSMergeSubscriber subscriber = new CVSMergeSubscriber(new IResource[] { project }, root, branch);
-		mergeSubscribers.add(subscriber);
-		return subscriber;
-	}
-	
-	public CVSCompareSubscriber createCompareSubscriber(IResource resource, CVSTag tag) {
-		CVSCompareSubscriber subscriber = new CVSCompareSubscriber(new IResource[] { resource }, tag);
-		compareSubscribers.add(subscriber);
-		return subscriber;
-	}
-	
-	public void disposeSubscriber(Subscriber subscriber) {
-		// Nothing to do
-	}
-	
-	public Subscriber createWorkspaceSubscriber() throws TeamException {
-		return CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber();
-	}
-	
-	/**
-	 * Return the sync info for the given subscriber for the given resource.
-	 */
-	protected SyncInfo getSyncInfo(Subscriber subscriber, IResource resource) throws TeamException {
-		return subscriber.getSyncInfo(resource);
-	}
-	
-	/**
-	 * Return the diff for the given subscriber for the given resource.
-	 */
-	protected IDiff getDiff(Subscriber subscriber, IResource resource) throws CoreException {
-		return subscriber.getDiff(resource);
-	}
-	
-	/**
-	 * Refresh the subscriber for the given resource
-	 */
-	public void refresh(Subscriber subscriber, IResource resource) throws TeamException {
-		refresh(subscriber, new IResource[] { resource});
-	}
-	
-	/**
-	 * Refresh the subscriber for the given resources
-	 */
-    public void refresh(Subscriber subscriber, IResource[] resources) throws TeamException {
-        subscriber.refresh(resources, IResource.DEPTH_INFINITE, DEFAULT_MONITOR);
-    }
-    
-	protected void assertProjectRemoved(Subscriber subscriber, IProject project) throws TeamException {
-		IResource[] roots = subscriber.roots();
-		for (int i = 0; i < roots.length; i++) {
-			IResource resource = roots[i];
-			if (resource.equals(project)) {
-				throw new AssertionFailedError();
-			}
-		}
-	}
-
-	public void tearDown() {
-		for (Iterator it = mergeSubscribers.iterator(); it.hasNext(); ) {
-			CVSMergeSubscriber s = (CVSMergeSubscriber) it.next();
-			s.cancel();
-		}
-	}
-	
-	public void assertSyncEquals(String message, Subscriber subscriber, IResource resource, int syncKind) throws CoreException {
-		int conflictTypeMask = 0x0F; // ignore manual and auto merge sync types for now.
-		SyncInfo info = getSyncInfo(subscriber, resource);
-		int kind;
-		int kindOther = syncKind & conflictTypeMask;
-		if (info == null) {
-			kind = SyncInfo.IN_SYNC;
-		} else {
-			kind = info.getKind() & conflictTypeMask;
-		}
-		// Special handling for folders
-		if (kind != kindOther && resource.getType() == IResource.FOLDER) {
-			// The only two states for folders are outgoing addition and in-sync.
-			// Other additions will appear as in-sync
-			if (info.getKind() == SyncInfo.IN_SYNC 
-					&& (syncKind & SyncInfo.ADDITION) != 0) {
-				return;
-			}
-		} else {
-			// Only test if kinds are equal
-			assertDiffKindEquals(message, subscriber, resource, SyncInfoToDiffConverter.asDiffFlags(syncKind));
-		}
-		junit.framework.Assert.assertTrue(message + ": improper sync state for " + resource + " expected " + 
-				   SyncInfo.kindToString(kindOther) + " but was " +
-				   SyncInfo.kindToString(kind), kind == kindOther);
-		
-	}
-	
-	protected void assertDiffKindEquals(String message, Subscriber subscriber, IResource resource, int expectedFlags) throws CoreException {
-		int actualFlags = getActualDiffFlags(subscriber, resource);
-		boolean result = compareFlags(resource, actualFlags, expectedFlags);
-		int count = 0;
-		while (!result && count < 40) {
-			// The discrepancy may be due to a timing issue. 
-			// Let's wait a few seconds and get the flags again.
-			try {
-				Thread.sleep(100);
-			} catch (InterruptedException e) {
-				// Ignore
-			}
-			actualFlags = getActualDiffFlags(subscriber, resource);
-			result = compareFlags(resource, actualFlags, expectedFlags);
-			if (result) {
-				System.out.println("A timing issue has been detected in the CVS test");
-				new Exception().printStackTrace();
-			} else {
-				count++;
-			}
-		}
-		String errorString = message + ": improper diff for " + resource
-				+ " expected "
-				+ SyncInfoToDiffConverter.diffStatusToString(expectedFlags)
-				+ " but was "
-				+ SyncInfoToDiffConverter.diffStatusToString(actualFlags);
-		if (CVSTestSetup.FAIL_ON_BAD_DIFF 
-				|| (expectedFlags != IDiff.NO_CHANGE && actualFlags == IDiff.NO_CHANGE)) {
-			// When running in the suites, we want to avoid intermittent failures.
-			// However, still fail if we expected a change but we get no change since that can
-			// cause work to be lost
-			junit.framework.Assert.assertTrue(errorString, result);
-		} else if (!result) {
-			System.out.println(errorString);
-			new Exception().printStackTrace();
-		}
-	}
-	
-	private boolean compareFlags(IResource resource, int actualFlags, int expectedFlags) {
-		// Special handling for folders
-		if (actualFlags != expectedFlags && resource.getType() == IResource.FOLDER) {
-			// The only two states for folders are outgoing addition and in-sync.
-			// Other additions will appear as in-sync
-			int expectedKind = expectedFlags & Diff.KIND_MASK;
-			int actualKind = actualFlags & Diff.KIND_MASK;
-			if (actualKind == IDiff.NO_CHANGE 
-					&& expectedKind == IDiff.ADD) {
-				return true;
-			}
-		}
-		return actualFlags == expectedFlags;
-	}
-
-	private int getActualDiffFlags(Subscriber subscriber, IResource resource)
-			throws CoreException {
-		IDiff node = getDiff(subscriber, resource);
-		int actualFlags;
-		if (node == null) {
-			actualFlags = IDiff.NO_CHANGE;
-		} else {
-			actualFlags = ((Diff)node).getStatus();
-		}
-		return actualFlags;
-	}
-	
-	public void mergeResources(Subscriber subscriber, IResource[] resources, boolean allowOverwrite) throws TeamException, InvocationTargetException, InterruptedException {
-		SyncInfo[] infos = createSyncInfos(subscriber, resources);
-		mergeResources(subscriber, infos, allowOverwrite);
-	}
-	
-	private void mergeResources(Subscriber subscriber, SyncInfo[] infos, boolean allowOverwrite) throws TeamException, InvocationTargetException, InterruptedException {
-		TestMergeUpdateOperation action = new TestMergeUpdateOperation(getElements(infos), allowOverwrite);
-		action.run(DEFAULT_MONITOR);
-	}
-	
-	protected SyncInfo[] createSyncInfos(Subscriber subscriber, IResource[] resources) throws TeamException {
-		SyncInfo[] result = new SyncInfo[resources.length];
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			result[i] = getSyncInfo(subscriber, resource);
-		}
-		return result;
-	}
-	
-	public void markAsMerged(Subscriber subscriber, IResource[] resources) throws InvocationTargetException, InterruptedException, TeamException {
-		SyncInfo[] infos = createSyncInfos(subscriber, resources);
-		new ConfirmMergedOperation(null, getElements(infos)).run(DEFAULT_MONITOR);
-	}
-	
-
-	protected IDiffElement[] getElements(SyncInfo[] infos) {
-		SyncInfoModelElement[] elements = new SyncInfoModelElement[infos.length];
-		for (int i = 0; i < elements.length; i++) {
-			elements[i] = new SyncInfoModelElement(null, infos[i]);
-		}
-		return elements;
-	}
-	
-	public void updateResources(Subscriber subscriber, IResource[] resources) throws CoreException {
-		runSubscriberOperation(new TestUpdateOperation(getElements(createSyncInfos(subscriber, resources))));
-	}
-	
-	public void commitResources(Subscriber subscriber, IResource[] resources) throws CoreException {
-		runSubscriberOperation(new TestCommitOperation(getElements(createSyncInfos(subscriber, resources)), false /* override */));
-	}
-	
-	public void overrideAndUpdateResources(Subscriber subscriber, boolean shouldPrompt, IResource[] resources) throws CoreException {
-		TestOverrideAndUpdateOperation action = new TestOverrideAndUpdateOperation(getElements(createSyncInfos(subscriber, resources)));
-		runSubscriberOperation(action);
-		Assert.assertTrue(shouldPrompt == action.isPrompted());
-	}
-	
-	public void overrideAndCommitResources(Subscriber subscriber, IResource[] resources) throws CoreException {
-		TestCommitOperation action = new TestCommitOperation(getElements(createSyncInfos(subscriber, resources)), true /* override */);
-		runSubscriberOperation(action);
-	}
-	
-	private void runSubscriberOperation(CVSSubscriberOperation op) throws CoreException {
-		try {
-			op.run();
-		} catch (InvocationTargetException e) {
-			throw CVSException.wrapException(e);
-		} catch (InterruptedException e) {
-			junit.framework.Assert.fail("Operation was interrupted");
-		}
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/SyncSetTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/SyncSetTests.java
deleted file mode 100644
index da239f6..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/SyncSetTests.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.subscriber;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.*;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.core.variants.IResourceVariantComparator;
-import org.eclipse.team.internal.core.subscribers.SubscriberSyncInfoSet;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-
-
-public class SyncSetTests extends CVSSyncSubscriberTest {
-	
-	public SyncSetTests() {
-		super();
-	}
-	
-	public SyncSetTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		String testName = System.getProperty("eclipse.cvs.testName");
-		if (testName == null) {
-			TestSuite suite = new TestSuite(SyncSetTests.class);
-			return new CVSTestSetup(suite);
-		} else {
-			return new CVSTestSetup(new SyncSetTests(testName));
-		}
-	}
-
-	class TestSyncInfo extends SyncInfo {
-		protected int calculateKind() throws TeamException {
-				return 0;
-		}
-		public TestSyncInfo() throws TeamException {
-			super(ResourcesPlugin.getWorkspace().getRoot(), null, null, new IResourceVariantComparator() {
-				public boolean compare(IResource local, IResourceVariant remote) {
-					return false;
-				}
-				public boolean compare(IResourceVariant base,
-						IResourceVariant remote) {
-					return false;
-				}
-				public boolean isThreeWay() {
-					return false;
-				}
-			});
-		}
-	}
-
-	/**
-	 * Test that ensures that SyncSet can be modified concurrently. This is a quick test
-	 * that doesn't validate the actual contents of the sync set.
-	 */
-	public void testConcurrentAccessToSyncSet() throws Throwable {
-		final SubscriberSyncInfoSet set = new SubscriberSyncInfoSet(null);
-		final boolean[] done = {false};
-		final IStatus[] error = {null};
-		
-		for(int numJobs = 0; numJobs < 10; numJobs++) {		
-			Job job = new Job("SyncSetTests" + numJobs) {
-				public IStatus run(IProgressMonitor monitor) {
-					while(! done[0]) {
-						try {
-							set.add(new TestSyncInfo());
-							set.getSyncInfos(ResourcesPlugin.getWorkspace().getRoot(), IResource.DEPTH_INFINITE);
-							set.getSyncInfo(ResourcesPlugin.getWorkspace().getRoot());
-							set.getSyncInfos();
-						} catch (Exception e) {
-							error[0] = new Status(IStatus.ERROR, "this", 1, "", e);
-							return error[0];						
-						}
-					}
-					return Status.OK_STATUS;
-				}
-			};
-			
-			job.addJobChangeListener(new JobChangeAdapter() {
-				public void done(IJobChangeEvent event) {
-					if(event.getResult() != Status.OK_STATUS) {
-						error[0] = event.getResult();
-					}
-				}
-			});		
-			
-			job.schedule();
-		}
-		
-		for(int i = 0; i < 10000; i++) {
-			set.add(new TestSyncInfo());
-			set.getSyncInfos(ResourcesPlugin.getWorkspace().getRoot(), IResource.DEPTH_INFINITE);
-			set.getSyncInfo(ResourcesPlugin.getWorkspace().getRoot());
-			set.getSyncInfos();
-			set.members(ResourcesPlugin.getWorkspace().getRoot());
-			set.clear();		
-		}
-		done[0] = true;
-		if(error[0] != null) {
-			throw error[0].getException();
-		}	
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestCommitOperation.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestCommitOperation.java
deleted file mode 100644
index 53fdf4d..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestCommitOperation.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.subscriber;
-
-import org.eclipse.compare.structuremergeviewer.IDiffElement;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.team.core.synchronize.SyncInfoSet;
-import org.eclipse.team.internal.ccvs.ui.repo.RepositoryManager;
-import org.eclipse.team.internal.ccvs.ui.subscriber.WorkspaceCommitOperation;
-
-class TestCommitOperation extends WorkspaceCommitOperation {
-	
-	private boolean prompted;
-
-	public TestCommitOperation(IDiffElement[] elements, boolean override) {
-		super(null, elements, override);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ui.actions.TeamOperation#canRunAsJob()
-	 */
-	protected boolean canRunAsJob() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.ui.subscriber.SubscriberCommitOperation#promptForComment(org.eclipse.team.internal.ccvs.ui.repo.RepositoryManager, org.eclipse.core.resources.IResource[])
-	 */
-	protected String promptForComment(RepositoryManager manager, IResource[] resourcesToCommit) {
-		return "dummy comment";
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.ui.subscriber.SubscriberCommitOperation#promptForConflicts(org.eclipse.team.core.synchronize.SyncInfoSet)
-	 */
-	protected int promptForConflicts(SyncInfoSet syncSet) {
-		this.prompted = true;
-		return 0; // ok to commit all conflicts
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.ui.subscriber.SubscriberCommitOperation#promptForResourcesToBeAdded(org.eclipse.team.internal.ccvs.ui.repo.RepositoryManager, org.eclipse.core.resources.IResource[])
-	 */
-	protected IResource[] promptForResourcesToBeAdded(RepositoryManager manager, IResource[] unadded) {
-		return unadded;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.ui.subscriber.SubscriberCommitOperation#promptForConflictHandling(org.eclipse.team.core.synchronize.SyncInfoSet)
-	 */
-	protected boolean promptForConflictHandling(SyncInfoSet syncSet) {
-		return true;
-	}
-	
-	public boolean isPrompted() {
-		return this.prompted;
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestMergeUpdateOperation.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestMergeUpdateOperation.java
deleted file mode 100644
index 6ef9505..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestMergeUpdateOperation.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.subscriber;
-
-import junit.framework.Assert;
-
-import org.eclipse.compare.structuremergeviewer.IDiffElement;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.team.core.synchronize.SyncInfoSet;
-import org.eclipse.team.internal.ccvs.ui.subscriber.MergeUpdateOperation;
-
-
-class TestMergeUpdateOperation extends MergeUpdateOperation {
-	boolean allowOverwrite = false;
-
-	public TestMergeUpdateOperation(IDiffElement[] elements, boolean allowOverwrite) {
-		super(null, elements, false /* prompt before update */);
-		this.allowOverwrite = allowOverwrite;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.ui.subscriber.CVSSubscriberOperation#promptForOverwrite(org.eclipse.team.core.synchronize.SyncInfoSet)
-	 */
-	protected boolean promptForOverwrite(SyncInfoSet syncSet) {
-		if (allowOverwrite) return true;
-		if (syncSet.isEmpty()) return true;
-		IResource[] resources = syncSet.getResources();
-		Assert.fail(resources[0].getFullPath().toString() + " failed to merge properly");
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ui.actions.TeamOperation#canRunAsJob()
-	 */
-	protected boolean canRunAsJob() {
-		return false;
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestOverrideAndUpdateOperation.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestOverrideAndUpdateOperation.java
deleted file mode 100644
index b89d14a..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestOverrideAndUpdateOperation.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.subscriber;
-
-import org.eclipse.compare.structuremergeviewer.IDiffElement;
-import org.eclipse.team.core.synchronize.SyncInfoSet;
-import org.eclipse.team.internal.ccvs.ui.subscriber.OverrideAndUpdateSubscriberOperation;
-
-public class TestOverrideAndUpdateOperation extends OverrideAndUpdateSubscriberOperation {	
-
-	private boolean prompted = false; 
-	
-	protected TestOverrideAndUpdateOperation(IDiffElement[] elements) {
-		super(null, elements);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ui.actions.TeamOperation#canRunAsJob()
-	 */
-	protected boolean canRunAsJob() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.ui.subscriber.CVSSubscriberOperation#promptForOverwrite(org.eclipse.team.core.synchronize.SyncInfoSet)
-	 */
-	protected boolean promptForOverwrite(SyncInfoSet syncSet) {
-		TestOverrideAndUpdateOperation.this.prompted = true;
-		return true;
-	}
-	
-	public boolean isPrompted() {
-		return this.prompted;
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestUpdateOperation.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestUpdateOperation.java
deleted file mode 100644
index 613cdc9..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/subscriber/TestUpdateOperation.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.core.subscriber;
-
-import org.eclipse.compare.structuremergeviewer.IDiffElement;
-import org.eclipse.team.core.synchronize.SyncInfoSet;
-import org.eclipse.team.internal.ccvs.ui.subscriber.WorkspaceUpdateOperation;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-
-class TestUpdateOperation extends WorkspaceUpdateOperation {
-
-	protected TestUpdateOperation(IDiffElement[] elements) {
-		super(null, elements, false);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ui.actions.TeamOperation#canRunAsJob()
-	 */
-	protected boolean canRunAsJob() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.ui.subscriber.SafeUpdateOperation#warnAboutFailedResources(org.eclipse.team.core.synchronize.SyncInfoSet)
-	 */
-	protected void warnAboutFailedResources(SyncInfoSet syncSet) {
-		return;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.internal.ccvs.ui.subscriber.CVSSubscriberOperation#promptForOverwrite(org.eclipse.team.core.synchronize.SyncInfoSet)
-	 */
-	protected boolean promptForOverwrite(SyncInfoSet syncSet) {
-		EclipseTest.fail("Should never prompt on update, simply update nodes that are valid.");
-		return false;
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/AllUITests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/AllUITests.java
deleted file mode 100644
index c319947..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/AllUITests.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-import org.eclipse.team.tests.ccvs.core.ProjectSetImporterTests;
-
-public class AllUITests extends EclipseTest {
-
-	public AllUITests() {
-		super();
-	}
-
-	public AllUITests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTest(CheckoutOperationTests.suite());
-		suite.addTest(CompareOperationTests.suite());
-		suite.addTest(MiscOperationsTests.suite());
-		suite.addTest(ProjectSetImporterTests.suite());
-		suite.addTest(EditorTests.suite());
-		suite.addTest(PatchWizardRadioButtonGroupTests.suite());
-		suite.addTest(CVSProjectSetImportTest.suite());
-		return suite;
-	}
-	
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CVSOperationTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CVSOperationTest.java
deleted file mode 100644
index 29f8ac4..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CVSOperationTest.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui;
-
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.ui.operations.CVSOperation;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-
-public abstract class CVSOperationTest extends EclipseTest {
-	
-	protected CVSOperationTest() {
-		super();
-	}
-
-	protected CVSOperationTest(String name) {
-		super(name);
-	}
-
-	protected void run(CVSOperation op) throws CVSException {
-		executeHeadless(op);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CVSProjectSetImportTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CVSProjectSetImportTest.java
deleted file mode 100644
index fdd56ec..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CVSProjectSetImportTest.java
+++ /dev/null
@@ -1,428 +0,0 @@
-package org.eclipse.team.tests.ccvs.ui;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.team.internal.ccvs.core.CVSProjectSetCapability;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.connection.CVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.util.KnownRepositories;
-import org.eclipse.team.internal.ccvs.ui.ConfigureRepositoryLocationsDialog;
-
-/**
- * This class tests an algorithm which suggests alternative repository locations
- * when importing a project set.
- */
-public class CVSProjectSetImportTest extends TestCase {
-
-	private KnownRepositories knownRepositories;
-	private ICVSRepositoryLocation[] savedRepositories;
-	
-	public CVSProjectSetImportTest() {
-		super();
-	}
-
-	public CVSProjectSetImportTest(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		return new TestSuite(CVSProjectSetImportTest.class);
-	}
-	
-	protected void setUp() throws Exception {
-		super.setUp();
-		knownRepositories = KnownRepositories.getInstance();
-		savedRepositories = knownRepositories.getRepositories();
-		// dispose all known repositories
-		for (int i = 0; i < savedRepositories.length; i++) {
-			knownRepositories.disposeRepository(savedRepositories[i]);
-		}
-	}
-
-	// Tests of the Alternative Map. The map contains suggested, alternative
-	// repositories. It's used to create combo-boxes on the Import Project Set
-	// dialog.
-
-	public void testNullInfoMap() {
-		IProject[] projects = new IProject[] { null };
-		Map alternativeMap = CVSProjectSetCapability
-				.isAdditionalRepositoryInformationRequired(projects, null);
-		assertTrue(alternativeMap.isEmpty());
-	}
-
-	public void testEmptyInfoMap() {
-		IProject[] projects = new IProject[] { null };
-		Map infoMap = new HashMap();
-		Map alternativeMap = CVSProjectSetCapability
-				.isAdditionalRepositoryInformationRequired(projects, infoMap);
-		assertTrue(alternativeMap.isEmpty());
-
-		assertEquals(0, knownRepositories.getRepositories().length);
-	}
-
-	public void testEmptyReferenceStrings() throws Exception {
-		testAlternativeMap(new String[] {}, new String[] {}, true,
-				new String[][] { {} });
-	}
-
-	public void testMalformedReferenceString() throws Exception {
-		testAlternativeMap(new String[] {},
-				new String[] { "Hi, I'm a malformed reference string." }, true,
-				new String[][] { {} });
-	}
-
-	public void testUnknownSingleReferenceString() throws Exception {
-		testAlternativeMap(
-				new String[] {},
-				new String[] { "1.0,:pserver:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh" },
-				false,
-				new String[][] { { ":pserver:dev.eclipse.org:/cvsroot/eclipse" } });
-	}
-
-	public void testSelectionForUnknownSingleReferenceString() throws Exception {
-		testDialogDefaultSelection(
-				new String[] {},
-				new String[] { "1.0,:pserver:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh" },
-				new String[] { ":pserver:dev.eclipse.org:/cvsroot/eclipse" });
-	}
-
-	public void testKnownSingleReferenceString() throws Exception {
-		testAlternativeMap(
-				new String[] { ":pserver:dev.eclipse.org:/cvsroot/eclipse" },
-				new String[] { "1.0,:pserver:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh" },
-				true, new String[][] { {} });
-	}
-
-	// test for https://bugs.eclipse.org/bugs/show_bug.cgi?id=199108
-	public void testSingleKnownRepositoryWithUsername() throws Exception {
-		testAlternativeMap(
-				new String[] { ":pserver:joe@dev.eclipse.org:/cvsroot/eclipse" },
-				new String[] {
-						"1.0,:pserver:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh",
-						"1.0,:extssh:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.tests.cvs.core,org.eclipse.team.tests.cvs.core" },
-				false,
-				new String[][] {
-						{},
-						{ ":extssh:dev.eclipse.org:/cvsroot/eclipse",
-								":pserver:joe@dev.eclipse.org:/cvsroot/eclipse" } });
-	}
-
-	public void testOneMatchingReferenceString() throws Exception {
-		testAlternativeMap(
-				new String[] { ":pserver:joe@dev.eclipse.org:/cvsroot/eclipse" },
-				new String[] {
-						"1.0,:pserver:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh",
-						"1.0,:extssh:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.tests.cvs.core,org.eclipse.team.tests.cvs.core" },
-				false,
-				new String[][] {
-						{},
-						{ ":extssh:dev.eclipse.org:/cvsroot/eclipse",
-								":pserver:joe@dev.eclipse.org:/cvsroot/eclipse" } });
-
-	}
-
-	public void testTwoMatchingKnownRepositories() throws Exception {
-		testAlternativeMap(
-				new String[] { ":pserver:joe@dev.eclipse.org:/cvsroot/eclipse",
-						":pserver:ann@dev.eclipse.org:/cvsroot/eclipse" },
-				new String[] { "1.0,:pserver:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh" },
-				false, new String[][] { {
-						":pserver:ann@dev.eclipse.org:/cvsroot/eclipse",
-						":pserver:joe@dev.eclipse.org:/cvsroot/eclipse" } });
-	}
-
-	public void testThreeKindsOfSuggestions() throws Exception {
-		testAlternativeMap(
-				new String[] { ":pserver:dev.eclipse.org:/cvsroot/eclipse",
-						":pserver:localhost:/cvsroot/project" },
-				new String[] { "1.0,:extssh:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh" },
-				false, new String[][] { {
-						":extssh:dev.eclipse.org:/cvsroot/eclipse",
-						":pserver:dev.eclipse.org:/cvsroot/eclipse",
-						":pserver:localhost:/cvsroot/project" } });
-
-	}
-
-	public void testOneCompatibleOfTwoKnown() throws Exception {
-		testAlternativeMap(
-				new String[] { ":pserver:dev.eclipse.org:/cvsroot/eclipse",
-						":pserver:joe@dev.eclipse.org:/cvsroot/TECHNOLOGY" },
-				new String[] { "1.0,:extssh:joe@dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh" },
-				false, new String[][] { {
-						":extssh:joe@dev.eclipse.org:/cvsroot/eclipse",
-						":pserver:dev.eclipse.org:/cvsroot/eclipse",
-						":pserver:joe@dev.eclipse.org:/cvsroot/TECHNOLOGY" } });
-	}
-
-	public void testTwoUnknownOneCompatibleReferenceStrings() throws Exception {
-		testAlternativeMap(
-				new String[] { ":extssh:dev.eclipse.org:/cvsroot/eclipse" },
-				new String[] {
-						"1.0,:ext:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh",
-						"1.0,:pserver:dev.eclipse.org:/cvsroot/TECHNOLOGY,org.eclipse.team.tests.cvs.core,org.eclipse.team.tests.cvs.core" },
-				false, new String[][] {
-						{ ":ext:dev.eclipse.org:/cvsroot/eclipse",
-								":extssh:dev.eclipse.org:/cvsroot/eclipse" },
-						{ ":pserver:dev.eclipse.org:/cvsroot/TECHNOLOGY",
-								":extssh:dev.eclipse.org:/cvsroot/eclipse" } });
-	}
-
-	public void testSelectionForTwoUnknownOneCompatibleReferenceStrings()
-			throws Exception {
-		testDialogDefaultSelection(
-				new String[] { ":extssh:dev.eclipse.org:/cvsroot/eclipse" },
-				new String[] {
-						"1.0,:ext:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh",
-						"1.0,:pserver:dev.eclipse.org:/cvsroot/TECHNOLOGY,org.eclipse.team.tests.cvs.core,org.eclipse.team.tests.cvs.core" },
-				new String[] { ":extssh:dev.eclipse.org:/cvsroot/eclipse",
-						":pserver:dev.eclipse.org:/cvsroot/TECHNOLOGY" });
-	}
-
-	public void testSelectionForOneCompatibleOfTwoKnown() throws Exception {
-		testDialogDefaultSelection(
-				new String[] { ":pserver:dev.eclipse.org:/cvsroot/eclipse",
-						":pserver:joe@dev.eclipse.org:/cvsroot/technology" },
-				new String[] { "1.0,:extssh:joe@dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh" },
-				new String[] { ":pserver:dev.eclipse.org:/cvsroot/eclipse" });
-	}
-
-	public void testCompatibleSuggestionsOrder() throws Exception {
-		testAlternativeMap(
-				new String[] { ":pserver:dev.eclipse.org:/cvsroot/eclipse",
-						":extssh:dev.eclipse.org:/cvsroot/eclipse",
-						":ext:dev.eclipse.org:/cvsroot/eclipse" },
-				new String[] { "1.0,:pserverssh2:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh" },
-				false, new String[][] { {
-						":pserverssh2:dev.eclipse.org:/cvsroot/eclipse",
-						":extssh:dev.eclipse.org:/cvsroot/eclipse",
-						":pserver:dev.eclipse.org:/cvsroot/eclipse",
-						":ext:dev.eclipse.org:/cvsroot/eclipse" } });
-	}
-
-	public void testSelectionForCompatibleSuggestionsOrder() throws Exception {
-		testDialogDefaultSelection(
-				new String[] { ":ext:dev.eclipse.org:/cvsroot/eclipse",
-						":extssh:dev.eclipse.org:/cvsroot/eclipse",
-						":pserver:dev.eclipse.org:/cvsroot/eclipse" },
-				new String[] { "1.0,:pserverssh2:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.tests.cvs.core,org.eclipse.team.tests.cvs.core" },
-				new String[] { ":extssh:dev.eclipse.org:/cvsroot/eclipse" });
-	}
-
-	public void testCompatibleSuggestionsOrder2() throws Exception {
-		testAlternativeMap(
-				new String[] { ":ext:dev.eclipse.org:/cvsroot/eclipse",
-						":extssh:dev.eclipse.org:/cvsroot/eclipse",
-						":pserver:dev.eclipse.org:/cvsroot/eclipse" },
-				new String[] {
-						"1.0,:pserver:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.cvs.ssh,org.eclipse.team.cvs.ssh",
-						"1.0,:pserverssh2:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.tests.cvs.core,org.eclipse.team.tests.cvs.core" },
-				false, new String[][] {
-						{},
-						{ ":pserverssh2:dev.eclipse.org:/cvsroot/eclipse",
-								":extssh:dev.eclipse.org:/cvsroot/eclipse",
-								":pserver:dev.eclipse.org:/cvsroot/eclipse",
-								":ext:dev.eclipse.org:/cvsroot/eclipse" } });
-	}
-
-	public void testSelectionForOnlyOneReferenceStringNeedsAdditionalInfo()
-			throws Exception {
-		testDialogDefaultSelection(
-				new String[] { ":pserver:dev.eclipse.org:/cvsroot/eclipse" },
-				new String[] {
-						"1.0,:pserver:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.tests.cvs.core,org.eclipse.team.tests.cvs.core",
-						"1.0,:extssh:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.tests.cvs.core,org.eclipse.team.tests.cvs.core" },
-				new String[] { null,
-						":pserver:dev.eclipse.org:/cvsroot/eclipse" });
-	}
-
-	public void testSelectionForUnknownReferenceString() throws Exception {
-		testDialogDefaultSelection(
-				new String[] { ":pserver:LOCALHOST:/cvsroot/path" },
-				new String[] { "1.0,:pserver:dev.eclipse.org:/cvsroot/eclipse,org.eclipse.team.tests.cvs.core,org.eclipse.team.tests.cvs.core" },
-				new String[] { ":pserver:dev.eclipse.org:/cvsroot/eclipse" });
-
-	}
-
-	/**
-	 * The main method to test the
-	 * <code>CVSProjectSetCapability.isAdditionalRepositoryInformationRequired</code>
-	 * method.
-	 * 
-	 * @param knownLocations
-	 *            Array of known repositories as strings. The format used:
-	 *            <p>
-	 *            <code>:method:[[user][:password]@]hostname[:[port]]/path/to/repository</code>
-	 *            </p>
-	 * @param referenceStrings
-	 *            Array of reference strings as they would exist in a project
-	 *            set. The valid format is:
-	 *            <p>
-	 *            <code>1.0,:method:[[user][:password]@]hostname[:[port]]/path/to/repository,project.name,module.name[,tagname]</code>
-	 *            </p>
-	 * @param emptyMap
-	 *            Should the result map be empty, which means that there is no
-	 *            need for the dialog.
-	 * @param expectedSuggestions
-	 *            Two-dimensional array of expected suggestions. Each entry of
-	 *            the array will be matched against actual suggestion from the
-	 *            alternative map.
-	 * @throws Exception
-	 */
-	private void testAlternativeMap(String[] knownLocations,
-			String[] referenceStrings, boolean emptyMap,
-			String[][] expectedSuggestions) throws Exception {
-		for (int i = 0; i < knownLocations.length; i++) {
-			knownRepositories.addRepository(CVSRepositoryLocation
-					.fromString(knownLocations[i]), false);
-		}
-
-		Map infoMap = new HashMap(referenceStrings.length);
-		IProject[] projects = CVSProjectSetCapability.asProjects(
-				referenceStrings, infoMap);
-
-		Map alternativeMap = CVSProjectSetCapability
-				.isAdditionalRepositoryInformationRequired(projects, infoMap);
-		assertEquals(emptyMap, alternativeMap.isEmpty());
-
-		if (!emptyMap)
-			for (int i = 0; i < referenceStrings.length; i++) {
-				StringTokenizer st = new StringTokenizer(referenceStrings[i],
-						",");
-				st.nextToken(); // skip "1.0"
-				String locationString = st.nextToken();
-				CVSRepositoryLocation referenceLocation = CVSRepositoryLocation
-						.fromString(locationString);
-				List suggestedList = (List) alternativeMap
-						.get(referenceLocation);
-
-				if (suggestedList == null) {
-					isItReallyAPerfectMatch(referenceLocation);
-					assertEquals(0, expectedSuggestions[i].length);
-				} else {
-					assertEquals(expectedSuggestions[i].length, suggestedList
-							.size());
-
-					for (int j = 0; j < expectedSuggestions[i].length; j++) {
-						ICVSRepositoryLocation actualSuggestion = (ICVSRepositoryLocation) suggestedList
-								.get(j);
-						ICVSRepositoryLocation expectedSuggestion = CVSRepositoryLocation
-								.fromString(expectedSuggestions[i][j]);
-						assertEquals(expectedSuggestion, actualSuggestion);
-					}
-				}
-			}
-
-		assertEquals(knownLocations.length,
-				knownRepositories.getRepositories().length);
-	}
-
-	private static void assertEquals(ICVSRepositoryLocation expected,
-			ICVSRepositoryLocation actual) {
-		if (expected == actual)
-			return;
-		assertTrue("expected:<" + expected + "> but was:<" + actual + ">.",
-				expected.equals(actual));
-		assertEquals("expected:<" + expected + "> but was:<" + actual + ">.",
-				expected.getLocation(true), actual.getLocation(true));
-	}
-
-	/**
-	 * Test the dialog default selection - preselection of a compatible location
-	 * if such exists. Match pick using the connection method. Starting from
-	 * extssh, followed by pserver and finally ext. If a compatible location is
-	 * not available select the location from the project set (position 0).
-	 * 
-	 * @param knownLocations
-	 *            Array of known repositories as strings. The format used:
-	 *            <p>
-	 *            <code>:method:[[user][:password]@]hostname[:[port]]/path/to/repository</code>
-	 *            </p>
-	 * @param referenceStrings
-	 *            Array of reference strings as they would exist in a project
-	 *            set. The valid format is:
-	 *            <p>
-	 *            <code>1.0,:method:[[user][:password]@]hostname[:[port]]/path/to/repository,project.name,module.name[,tagname]</code>
-	 *            </p>
-	 * @param expectedSelections
-	 *            Array of expected suggestions. Each entry of the array will be
-	 *            matched against actual suggestion from the alternative map.
-	 * @throws Exception
-	 */
-	private void testDialogDefaultSelection(String[] knownLocations,
-			String[] referenceStrings, String[] expectedSelections)
-			throws Exception {
-		// set up values to test
-		for (int i = 0; i < knownLocations.length; i++) {
-			knownRepositories.addRepository(CVSRepositoryLocation
-					.fromString(knownLocations[i]), false);
-		}
-
-		Map infoMap = new HashMap(referenceStrings.length);
-		IProject[] projects = CVSProjectSetCapability.asProjects(
-				referenceStrings, infoMap);
-
-		Map alternativeMap = CVSProjectSetCapability
-				.isAdditionalRepositoryInformationRequired(projects, infoMap);
-		assertFalse(alternativeMap.isEmpty());
-
-		// prepare the dialog
-		Display display = Display.getCurrent();
-		Shell shell = new Shell(display);
-
-		ConfigureRepositoryLocationsDialog dialog = new ConfigureRepositoryLocationsDialog(
-				shell, alternativeMap);
-		dialog.setBlockOnOpen(false);
-		dialog.open();
-		Map selected = dialog.getSelected();
-
-		for (int i = 0; i < referenceStrings.length; i++) {
-			StringTokenizer st = new StringTokenizer(referenceStrings[i], ",");
-			st.nextToken(); // skip "1.0"
-			CVSRepositoryLocation referenceLocation = CVSRepositoryLocation
-					.fromString(st.nextToken());
-			ICVSRepositoryLocation selectedAlternativeRepository = (ICVSRepositoryLocation) selected
-					.get(referenceLocation);
-			if (expectedSelections[i] == null) {
-				isItReallyAPerfectMatch(referenceLocation);
-			} else {
-				ICVSRepositoryLocation expectedSelection = CVSRepositoryLocation
-						.fromString(expectedSelections[i]);
-				assertEquals(expectedSelection, selectedAlternativeRepository);
-			}
-		}
-
-		// clean up after myself
-		dialog.getShell().dispose();
-		dialog.close();
-		dialog = null;
-	}
-
-	private void isItReallyAPerfectMatch(
-			ICVSRepositoryLocation referenceLocation) {
-		// it looks that we'd found a (single!) perfect match for
-		// referenceLocation, let's double check it
-		ICVSRepositoryLocation[] repositories = knownRepositories
-				.getRepositories();
-		boolean matchFound = false;
-		for (int j = 0; j < repositories.length; j++) {
-			ICVSRepositoryLocation rl = repositories[j];
-			if (CVSProjectSetCapability.isMatching(referenceLocation, rl)) {
-				assertFalse("There should be only one perfect match.",
-						matchFound);
-				matchFound = true;
-			}
-		}
-		assertTrue(matchFound);
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CheckoutOperationTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CheckoutOperationTests.java
deleted file mode 100644
index 9d72f84..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CheckoutOperationTests.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui;
-
-import java.io.IOException;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSRemoteFolder;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
-import org.eclipse.team.internal.ccvs.ui.operations.CVSOperation;
-import org.eclipse.team.internal.ccvs.ui.operations.CheckoutMultipleProjectsOperation;
-import org.eclipse.team.internal.ccvs.ui.operations.CheckoutSingleProjectOperation;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-
-public class CheckoutOperationTests extends CVSOperationTest { 
-
-	public CheckoutOperationTests() {
-	}
-
-	public CheckoutOperationTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		String testName = System.getProperty("eclipse.cvs.testName");
-		if (testName == null) {
-			TestSuite suite = new TestSuite(CheckoutOperationTests.class);
-			return new CVSTestSetup(suite);
-		} else {
-			return new CVSTestSetup(new CheckoutOperationTests(testName));
-		}
-	}
-	public void testSimpleCheckout() throws CoreException, TeamException, IOException {
-		IProject project = createProject("testSimpleCheckout", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		
-		// move the created project so we can do a simple checkout
-		project.move(new Path("moved-project"), false /* force */, DEFAULT_MONITOR);
-		IProject movedProject = ResourcesPlugin.getWorkspace().getRoot().getProject("moved-project");
-		
-		// checkout the project to the default location		
-		CVSOperation op = new CheckoutMultipleProjectsOperation(
-			null /* shell */, 
-			new ICVSRemoteFolder[] { (ICVSRemoteFolder)CVSWorkspaceRoot.getRemoteResourceFor(movedProject) },
-			null /*target location*/);
-		run(op);
-		
-		assertEquals(project, movedProject);
-	}
-	
-	public void testNonRootCheckout() throws CoreException, TeamException, IOException {
-		IProject project = createProject("testNonRootCheckout", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		
-		// checkout the non-root folder as a project to the default location		
-		CVSOperation op = new CheckoutMultipleProjectsOperation(
-			null /* shell */, 
-			new ICVSRemoteFolder[] { (ICVSRemoteFolder)CVSWorkspaceRoot.getRemoteResourceFor(project.getFolder("folder1")) },
-			null /*target location*/);
-		run(op);
-		
-		IProject newProject = ResourcesPlugin.getWorkspace().getRoot().getProject("folder1");
-		assertTrue(newProject.exists());
-		ICVSFolder cvsFolder = CVSWorkspaceRoot.getCVSFolderFor(newProject);
-		FolderSyncInfo projectInfo = cvsFolder.getFolderSyncInfo();
-		assertTrue(projectInfo != null);
-		ICVSFolder cvsFolder2 = CVSWorkspaceRoot.getCVSFolderFor(project.getFolder("folder1"));
-		FolderSyncInfo folderInfo = cvsFolder2.getFolderSyncInfo();
-		assertTrue(folderInfo != null);
-		assertTrue(projectInfo.equals(folderInfo));
-	}
-	
-	public void testMulitpleCheckout() throws CoreException, TeamException {
-		IProject project1 = createProject("testNonRootCheckout1", new String[] { "file.txt", "folder1/", "folder1/a.txt" });
-		IProject project2 = createProject("testNonRootCheckout2", new String[] { "file2.txt", "folder2/", "folder2/b.txt" });
-
-		// move the created project so we can do a simple checkout
-		project1.move(new Path("moved-project1"), false /* force */, DEFAULT_MONITOR);
-		IProject movedProject1 = ResourcesPlugin.getWorkspace().getRoot().getProject("moved-project1");
-		project2.move(new Path("moved-project2"), false /* force */, DEFAULT_MONITOR);
-		IProject movedProject2 = ResourcesPlugin.getWorkspace().getRoot().getProject("moved-project2");
-
-
-		// checkout the project to the default location		
-		CVSOperation op = new CheckoutMultipleProjectsOperation(
-			null /* shell */, 
-			new ICVSRemoteFolder[] { 
-				(ICVSRemoteFolder)CVSWorkspaceRoot.getRemoteResourceFor(movedProject1),
-				(ICVSRemoteFolder)CVSWorkspaceRoot.getRemoteResourceFor(movedProject2)
-			},
-			null /*target location*/);
-		run(op);
-	}
-	
-	public void testCheckoutAs() throws TeamException, CoreException, IOException {
-		IProject project = createProject("testCheckoutAs", new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-		IProject copy = ResourcesPlugin.getWorkspace().getRoot().getProject(project.getName() + "-copy");
-		
-		// checkout the project to the default location		
-		CVSOperation op = new CheckoutSingleProjectOperation(
-			null /* shell */, 
-			(ICVSRemoteFolder)CVSWorkspaceRoot.getRemoteResourceFor(project),
-			copy,
-			null /*target location*/,
-			false);
-		run(op);
-		
-		assertEquals(project, copy);
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CommitSetTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CommitSetTests.java
deleted file mode 100644
index 4c3b55b..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CommitSetTests.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin;
-import org.eclipse.team.internal.core.subscribers.*;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-
-/**
- * Tests for CVS commit sets
- */
-public class CommitSetTests extends EclipseTest {
-
-	private List addedSets = new ArrayList();
-	private List removedSets = new ArrayList();
-	private IChangeSetChangeListener listener = new IChangeSetChangeListener() {
-        public void setAdded(ChangeSet set) {
-            addedSets.add(set);
-        }
-        public void setRemoved(ChangeSet set) {
-            removedSets.add(set);
-        }
-        public void nameChanged(ChangeSet set) {
-            // TODO Auto-generated method stub
-
-        }
-        public void defaultSetChanged(ChangeSet oldDefault, ChangeSet set) {
-            // TODO Auto-generated method stub
-            
-        }
-        public void resourcesChanged(ChangeSet set, IPath[] paths) {
-            // TODO Auto-generated method stub
-            
-        }
-    };
-
-    public static Test suite() {
-		return suite(CommitSetTests.class);
-	}
-	
-    public CommitSetTests() {
-        super();
-    }
-    
-    public CommitSetTests(String name) {
-        super(name);
-    }
-    
-    /**
-     * Create a commit set and verify that it was created and contains the supplied files
-     * @param title the title of the new set
-     * @param files the files for the new set
-     * @return the newly create commit set
-     * @throws TeamException
-     */
-    protected ActiveChangeSet createCommitSet(String title, IFile[] files, boolean manageSet) throws CoreException {
-        assertIsModified(getName(), files);
-        ActiveChangeSetManager manager = CVSUIPlugin.getPlugin().getChangeSetManager();
-        ActiveChangeSet set = manager.createSet(title, files);
-        assertEquals("Not all files were added to the set", files.length, set.getResources().length);
-        if (manageSet) {
-	        manager.add(set);
-	        waitForSetAddedEvent(set);
-        }
-        return set;
-    }
-
-
-    /**
-     * Commit the files in the given set to the repository 
-     * and ensure that the files are in the proper state
-     * @param set the commit set
-     * @throws CVSException
-     */
-    protected void commit(ActiveChangeSet set) throws CoreException {
-        boolean isManaged = setIsManaged(set);
-        commitResources(set.getResources(), IResource.DEPTH_ZERO);
-        if (isManaged) {
-	        // Committing the set should remove it from the manager
-            waitForSetRemovedEvent(set);
-        }
-    }
-    
-    private boolean setIsManaged(ActiveChangeSet set) {
-        return CVSUIPlugin.getPlugin().getChangeSetManager().contains(set);
-    }
-
-    private void waitForSetAddedEvent(ActiveChangeSet set) {
-        int count = 0;
-        while (count < 5) {
-	        if (addedSets.contains(set)) {
-	            addedSets.remove(set);
-	            return;
-	        }
-	        try {
-                Thread.sleep(1000);
-            } catch (InterruptedException e) {
-                // keep going
-            }
-	        count++;
-        }
-        fail("Did not receive expected set added event");
-    }
-
-    private void waitForSetRemovedEvent(ActiveChangeSet set) {
-        int count = 0;
-        while (count < 5) {
-	        if (removedSets.contains(set)) {
-	            removedSets.remove(set);
-	            return;
-	        }
-	        try {
-                while (Display.getCurrent().readAndDispatch()) {}
-                Thread.sleep(1000);
-            } catch (InterruptedException e) {
-                // keep going
-            }
-	        count++;
-        }
-        fail("Did not receive expected set removed event");
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.core.tests.harness.EclipseWorkspaceTest#setUp()
-     */
-    protected void setUp() throws Exception {
-        super.setUp();
-        CVSUIPlugin.getPlugin().getChangeSetManager().addListener(listener);
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.team.tests.ccvs.core.EclipseTest#tearDown()
-     */
-    protected void tearDown() throws Exception {
-        super.tearDown();
-        CVSUIPlugin.getPlugin().getChangeSetManager().removeListener(listener);
-    }
-    
-    /**
-     * Test a simple commit of a commit set. The set being committed is not managed.
-     * @throws CoreException
-     * @throws IOException
-     * @throws TeamException
-     */
-    public void testSimpleCommit() throws TeamException, CoreException, IOException {
-        IProject project = createProject(new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-        setContentsAndEnsureModified(project.getFile("changed.txt"));
-        deleteResources(project, new String[] { "deleted.txt" }, false /* don't commit */);
-        addResources(project, new String[] { "added.txt" }, false /* don't commit */);
-        
-        IFile[] files = new IFile[] { 
-                project.getFile("changed.txt"), 
-                project.getFile("deleted.txt"),
-                project.getFile("added.txt")};
-        ActiveChangeSet set = createCommitSet("testSimpleCommit", files, false /* do not manage the set */);
-        commit(set);
-        assertLocalStateEqualsRemote(project);
-    }
-    
-    /**
-     * Test a managed commit of a commit set. The set being committed is managed
-     * and should be removed once the commit succeeds.
-     * @throws CoreException
-     * @throws IOException
-     * @throws TeamException
-     */
-    public void testManagedCommit() throws TeamException, CoreException, IOException {
-        IProject project = createProject(new String[] { "changed.txt", "deleted.txt", "folder1/", "folder1/a.txt" });
-        setContentsAndEnsureModified(project.getFile("changed.txt"));
-        deleteResources(project, new String[] { "deleted.txt" }, false /* don't commit */);
-        addResources(project, new String[] { "added.txt" }, false /* don't commit */);
-        
-        IFile[] files = new IFile[] { 
-                project.getFile("changed.txt"), 
-                project.getFile("deleted.txt"),
-                project.getFile("added.txt")};
-        ActiveChangeSet set = createCommitSet("testSimpleCommit", files, true /* manage the set */);
-        commit(set);
-        assertLocalStateEqualsRemote(project);
-    }
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CompareOperationTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CompareOperationTests.java
deleted file mode 100644
index b027bbc..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/CompareOperationTests.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui;
-
-import java.util.*;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.core.resources.RemoteFolder;
-import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.ui.operations.RemoteCompareOperation;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class CompareOperationTests extends CVSOperationTest {
-
-	public class TestRemoteCompareOperation extends RemoteCompareOperation {
-		private ICVSRemoteFolder leftTree, rightTree;
-
-		public TestRemoteCompareOperation(IWorkbenchPart part, ICVSRemoteResource resource, CVSTag tag) {
-			super(part, resource, tag);
-		}
-		
-		/*
-		 * Override to prevent compare editor from opening and to capture the results
-		 */
-		protected void openCompareEditor(CompareTreeBuilder builder) {
-			this.leftTree = builder.getLeftTree();
-			this.rightTree = builder.getRightTree();
-		}
-
-		public ICVSRemoteFolder getLeftTree() {
-			return leftTree;
-		}
-
-		public ICVSRemoteFolder getRightTree() {
-			return rightTree;
-		}
-
-	}
-	
-	public CompareOperationTests() {
-		super();
-	}
-
-	public CompareOperationTests(String name) {
-		super(name);
-	}
-	
-	public static Test suite() {
-		String testName = System.getProperty("eclipse.cvs.testName");
-		if (testName == null) {
-			TestSuite suite = new TestSuite(CompareOperationTests.class);
-			return new CVSTestSetup(suite);
-		} else {
-			return new CVSTestSetup(new CompareOperationTests(testName));
-		}
-	}
-	
-
-	/**
-	 * Assert that the revisions of any files in the remote tree match the revisions in the local tree
-	 */
-
-	private void assertRevisionsMatch(ICVSRemoteFolder folder, IProject project, String[] filePathsWithRevisions, String[] filePathsWithoutRevisions) throws CoreException {
-		if (filePathsWithRevisions == null) filePathsWithRevisions = new String[0];
-		if (filePathsWithoutRevisions == null) filePathsWithoutRevisions = new String[0];
-		IResource[] filesWithRevisions = getResources(project, filePathsWithRevisions);
-		IResource[] filesWithoutRevisions = getResources(project, filePathsWithoutRevisions);
-		ICVSRemoteFile[] files= getAllFiles(folder);
-		assertTrue("The number of remote files with differences does not match the expected number", files.length == (filePathsWithoutRevisions.length + filePathsWithRevisions.length));
-		for (int i = 0; i < files.length; i++) {
-			ICVSRemoteFile remoteFile = files[i];
-			for (int j = 0; j < filesWithRevisions.length; j++) {
-				IResource local = filesWithRevisions[j];
-				ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor((IFile)local);
-				if (cvsFile.getRepositoryRelativePath().equals(remoteFile.getRepositoryRelativePath())) {
-					ResourceSyncInfo info = cvsFile.getSyncInfo();
-					assertNotNull(info);
-					String localRevision = info.getRevision();
-					assertNotNull(localRevision);
-					String remoteRevision = files[i].getRevision();
-					assertNotNull(remoteRevision);
-					assertEquals("Revisions do not match for " + local.getProjectRelativePath(), localRevision, remoteRevision);
-				}
-			}
-			for (int j = 0; j < filesWithoutRevisions.length; j++) {
-				IResource local = filesWithoutRevisions[j];
-				ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor((IFile)local);
-				if (cvsFile.getRepositoryRelativePath().equals(remoteFile.getRepositoryRelativePath())) {
-					ResourceSyncInfo info = cvsFile.getSyncInfo();
-					assertNotNull(info);
-					String localRevision = info.getRevision();
-					assertNotNull(localRevision);
-					// Cannot assert anything about the remote revision
-				}
-			}
-		}
-	}
-	
-	private ICVSRemoteFile[] getAllFiles(ICVSRemoteFolder folder) {
-		List result = new ArrayList();
-		ICVSRemoteResource[] children = ((RemoteFolder)folder).getChildren();
-		if (children != null) {
-			for (int i = 0; i < children.length; i++) {
-				ICVSRemoteResource resource = children[i];
-				if (resource.isContainer()) {
-					result.addAll(Arrays.asList(getAllFiles((ICVSRemoteFolder)resource)));
-				} else {
-					result.add(resource);
-				}
-			}
-		}
-		return (ICVSRemoteFile[]) result.toArray(new ICVSRemoteFile[result.size()]);
-	}
-
-	public void testCompareWithLatest() throws TeamException, CoreException {
-		// Create a test project
-		IProject project = createProject(new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		CVSTag v1 = new CVSTag("v1", CVSTag.VERSION);
-		tagProject(project, v1, false);
-		
-		// Checkout and modify a copy (and commit the changes)
-		IProject copy = checkoutCopy(project, "-copy");
-		setContentsAndEnsureModified(copy.getFile("folder1/a.txt"));
-		addResources(copy, new String[] { "folder1/newFile", "folder2/folder3/add.txt" }, false);
-		deleteResources(copy, new String[] {"folder1/b.txt"}, false);
-		commitResources(new IResource[] {copy}, IResource.DEPTH_INFINITE);
-
-		// Run the compare operation of the project folder
-		ICVSRemoteResource remoteResource = CVSWorkspaceRoot.getRemoteResourceFor(project);
-		TestRemoteCompareOperation op = new TestRemoteCompareOperation(null, remoteResource, v1);
-		run(op);
-		assertRevisionsMatch(op.getRightTree(), project, new String[] {"folder1/a.txt", "folder1/b.txt"}, null);
-		assertRevisionsMatch(op.getLeftTree(), copy, new String[] {"folder1/a.txt" }, new String[] {"folder1/newFile", "folder2/folder3/add.txt" } /* files with no revision */);
-		
-		
-		// Run the compare operation of the project folder the other way
-		remoteResource = CVSWorkspaceRoot.getRemoteResourceFor(project);
-		remoteResource = ((ICVSRemoteFolder)remoteResource).forTag(v1);
-		op = new TestRemoteCompareOperation(null, remoteResource, CVSTag.DEFAULT);
-		run(op);
-		assertRevisionsMatch(op.getLeftTree(), project, new String[] {"folder1/a.txt"}, new String[] {"folder1/b.txt"});
-		assertRevisionsMatch(op.getRightTree(), copy, new String[] {"folder1/a.txt", "folder1/newFile", "folder2/folder3/add.txt" }, null /* files with no revision */);
-		
-		// Run the compare operation of a subfolder
-		remoteResource = CVSWorkspaceRoot.getRemoteResourceFor(project.getFolder("folder1"));
-		op = new TestRemoteCompareOperation(null, remoteResource, v1);
-		run(op);
-		assertRevisionsMatch(op.getRightTree(), project, new String[] {"folder1/a.txt", "folder1/b.txt"}, null);
-		assertRevisionsMatch(op.getLeftTree(), copy, new String[] {"folder1/a.txt"}, new String[] {"folder1/newFile" } /* files with no revision */);
-		
-		// Run the operation on a single file
-		remoteResource = CVSWorkspaceRoot.getRemoteResourceFor(copy.getFile("folder1/a.txt"));
-		op = new TestRemoteCompareOperation(null, remoteResource, v1);
-		run(op);
-		assertRevisionsMatch(op.getRightTree(), project, new String[] {"folder1/a.txt"}, null);
-		assertRevisionsMatch(op.getLeftTree(), copy, new String[] {"folder1/a.txt" }, null /* files with no revision */);
-		
-		// Run the operation on a single file using RemoteCompareOperation.getTag
-		// to determine the tag
-		remoteResource = CVSWorkspaceRoot.getRemoteResourceFor(copy.getFile("folder1/a.txt"));
-		op = new TestRemoteCompareOperation(null, remoteResource, RemoteCompareOperation.getTag(CVSWorkspaceRoot.getRemoteResourceFor(project.getFile("folder1/a.txt"))));
-		run(op);
-		assertRevisionsMatch(op.getRightTree(), project, new String[] {"folder1/a.txt"}, null);
-		assertRevisionsMatch(op.getLeftTree(), copy, new String[] {"folder1/a.txt" }, null /* files with no revision */);
-		
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/EditorTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/EditorTests.java
deleted file mode 100644
index c0cb9a2..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/EditorTests.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui;
-
-import java.lang.reflect.InvocationTargetException;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.internal.ccvs.core.ICVSFile;
-import org.eclipse.team.internal.ccvs.core.ICVSRemoteFile;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-import org.eclipse.team.ui.history.IHistoryPageSource;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-public class EditorTests extends EclipseTest {
-
-	public EditorTests() {
-		super();
-	}
-
-	public EditorTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(EditorTests.class);
-		return new CVSTestSetup(suite);
-	}
-	
-	public void testOpenEditorOnRevision() throws CoreException, InvocationTargetException {
-		IProject project = createProject(new String[] { "file.cvsTest" });
-		IEditorPart localPart = IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), project.getFile("file.cvsTest"));
-		assertTrue("The proper local editor was not opened", localPart instanceof TestEditor);
-		ICVSRemoteFile remoteFile = (ICVSRemoteFile)CVSWorkspaceRoot.getRemoteResourceFor(project.getFile("file.cvsTest"));
-		IEditorPart part = CVSUIPlugin.getPlugin().openEditor(remoteFile, new NullProgressMonitor());
-		assertTrue("The proper remote editor was not opened", !(part instanceof TestEditor) && (part instanceof ITextEditor));
-		assertNotNull(Utils.getAdapter(part.getEditorInput(), IFileRevision.class));
-		assertNotNull(Utils.getAdapter(part.getEditorInput(), ICVSFile.class));
-		assertNotNull(Utils.getAdapter(part.getEditorInput(), IResourceVariant.class));
-		assertNotNull(Utils.getAdapter(part.getEditorInput(), IHistoryPageSource.class));
-		assertNotNull(Utils.getAdapter(part.getEditorInput(), IWorkbenchAdapter.class));
-	}
-	
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/EnablementTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/EnablementTest.java
deleted file mode 100644
index be33b1e..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/EnablementTest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package org.eclipse.team.tests.ccvs.ui;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-import org.eclipse.ui.IActionDelegate;
-
-public class EnablementTest extends EclipseTest {
-	
-	/**
-	 * Constructor for CVSProviderTest
-	 */
-	public EnablementTest() {
-		super();
-	}
-
-	/**
-	 * Constructor for CVSProviderTest
-	 */
-	public EnablementTest(String name) {
-		super(name);
-	}
-	
-	/**
-	 * Create a test project for the given action delegate. The structure of
-	 * this test project is used by the get resource methods to return resources
-	 * of the proper type.
-	 * 
-	 * @param actionDelegate
-	 * @throws CoreException
-	 * @throws TeamException
-	 */
-	protected IProject createTestProject(IActionDelegate actionDelegate) throws CoreException, TeamException {
-		String actionName = getName(actionDelegate);
-		return createProject(actionName, new String[] { "file.txt", "folder1/", "folder1/a.txt" });
-	}
-	
-	protected List getManagedResources(IProject testProject, boolean includeFolders, boolean multiple) {
-		List result = new ArrayList();
-		if (includeFolders) {
-			result.add(testProject.getFolder("folder1"));
-		} else {
-			result.add(testProject.getFile("folder1/a.txt"));
-		}
-		if (multiple) {
-			result.add(testProject.getFile("file.txt"));
-		}
-		return result;
-	}
-	
-	protected List getAddedResources(IProject testProject) throws CoreException, TeamException {
-		List result = new ArrayList();
-		IFile file = testProject.getFile("added.txt");
-		if (!file.exists()) {
-			addResources(testProject, new String[] {"added.txt"}, false);
-		}
-		result.add(file);
-		return result;
-	}
-	
-	protected List getIgnoredResources(IProject testProject) throws CoreException, TeamException {
-		List result = new ArrayList();
-		IFile file = testProject.getFile("ignored.txt");
-		if (!file.exists()) {
-			file.create(getRandomContents(), false, null);
-		}
-		result.add(file);
-		IFile ignoreFile = testProject.getFile(".cvsignore");
-		InputStream contents = new ByteArrayInputStream("ignored.txt".getBytes());
-		if (ignoreFile.exists()) {
-			ignoreFile.setContents(contents, false, false, null);
-		} else {
-			ignoreFile.create(contents, false, null);
-		}
-		return result;
-	}
-	
-	protected List getUnmanagedResources(IProject testProject) throws CoreException, TeamException {
-		List result = new ArrayList();
-		IFile file = testProject.getFile("unmanaged.txt");
-		if (!file.exists()) {
-			file.create(getRandomContents(), false, null);
-		}
-		result.add(file);
-		return result;
-	}
-
-	/**
-	 * Method getResourceWithUnmanagedParent.
-	 * @param project
-	 * @return Collection
-	 */
-	protected List getResourceWithUnmanagedParent(IProject project) throws CoreException {
-		List result = new ArrayList();
-		IFolder folder = project.getFolder("newFolder");
-		if(!folder.exists()) folder.create(false, true, null);
-		IFile file = folder.getFile("unmanaged.txt");
-		if (!file.exists()) {
-			file.create(getRandomContents(), false, null);
-		}
-		result.add(file);
-		return result;
-	}
-		
-	protected List getOverlappingResources(IProject testProject, boolean includeFiles) {
-		List result = new ArrayList();
-		result.add(testProject);
-		result.add(testProject.getFolder("folder1"));
-		if (includeFiles) {
-			result.add(testProject.getFile("folder1/a.txt"));
-		}
-		return result;
-	}
-
-	protected ISelection asSelection(List resources) {
-		return new StructuredSelection(resources);
-	}
-	
-	protected String getName(IActionDelegate actionDelegate) {
-		return actionDelegate.getClass().getName();
-	}
-
-	/**
-	 * Assert that the enablement for the given IActionDelegate and ISelection
-	 * match that provided as expectedEnablement.
-	 * 
-	 * @param actionDelegate
-	 * @param selection
-	 * @param expectedEnablement
-	 */
-	protected void assertEnablement(IActionDelegate actionDelegate, ISelection selection, boolean expectedEnablement) {
-		IAction action = new Action() {};
-		actionDelegate.selectionChanged(action, selection);
-		assertEquals(getName(actionDelegate) + " enablement wrong!", expectedEnablement, action.isEnabled());
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/MenuEnablementTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/MenuEnablementTest.java
deleted file mode 100644
index 8f6cc1e..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/MenuEnablementTest.java
+++ /dev/null
@@ -1,383 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer;
-import org.eclipse.team.internal.ccvs.ui.actions.*;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.ui.IActionDelegate;
-
-/**
- * Test the menu enablement code for the CVS menus
- */
-public class MenuEnablementTest extends EnablementTest {
-	
-	private static final int MANAGED = 1;
-	private static final int ADDED = 2;
-	private static final int UNMANAGED = 4;
-	private static final int IGNORED = 8;
-	private static final int SINGLE_ONLY = 16;
-	private static final int FOLDERS = 32;
-	private static final int FILES = 64;
-	private static final int UNMANAGED_PARENT = 128;
-	
-	/**
-	 * Constructor for CVSProviderTest
-	 */
-	public MenuEnablementTest() {
-		super();
-	}
-
-	/**
-	 * Constructor for CVSProviderTest
-	 */
-	public MenuEnablementTest(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(MenuEnablementTest.class);
-		return new CVSTestSetup(suite);
-		//return new CVSTestSetup(new MenuEnablementTest("testReadOnly"));
-	}
-	
-	
-		
-	/**
-	 * Method assertEnablement.
-	 * @param action
-	 * @param project
-	 * @param IGNORED
-	 * @param b
-	 */
-	private void assertEnablement(IActionDelegate action, IProject project, int kind, boolean expectedEnablement) throws CoreException, TeamException {
-		List resources = new ArrayList();
-		boolean multiple = (kind & SINGLE_ONLY) == 0;
-		boolean includeFolders = ((kind & FOLDERS) > 0) || ((kind & FILES) == 0);
-		if ((kind & MANAGED) > 0) {
-			resources.addAll(getManagedResources(project, includeFolders, multiple));
-		}
-		if ((kind & UNMANAGED) > 0) {
-			resources.addAll(getUnmanagedResources(project));
-		}
-		if ((kind & IGNORED) > 0) {
-			resources.addAll(getIgnoredResources(project));
-		}
-		if ((kind & ADDED) > 0) {
-			resources.addAll(getAddedResources(project));
-		}
-		if ((kind & UNMANAGED_PARENT) > 0) {
-			resources.addAll(getResourceWithUnmanagedParent(project));
-		}
-		ensureAllSyncInfoLoaded(project);
-		assertEnablement(action, asSelection(resources), expectedEnablement);
-	}
-	
-	/**
-	 * Method ensureAllSyncInfoLoaded.
-	 * @param project
-	 */
-	private void ensureAllSyncInfoLoaded(IProject project) throws CVSException {
-		EclipseSynchronizer.getInstance().ensureSyncInfoLoaded(new IResource[] {project}, IResource.DEPTH_INFINITE);
-	}
-
-	/**
-	 * Assert that the action is disabled for the reasons common to all menu
-	 * actions.
-	 * 
-	 * @param action
-	 * @param project
-	 */
-	public void assertDisabledForCommonReasons(IActionDelegate action, IProject project) throws CoreException {
-		assertDisabledForNoSelection(action);
-		assertDisabledForFolderFileOverlap(action, project);
-		assertDisabledForClosedProject(action, project);
-		assertDisabledForNonCVSProject(action);
-	}
-			
-	private void assertDisabledForNoSelection(IActionDelegate actionDelegate) {
-		assertEnablement(actionDelegate, StructuredSelection.EMPTY, false /* expected enablement */);
-	}
-	
-	private void assertDisabledForFolderFileOverlap(IActionDelegate action, IProject project) {
-		List resources = getOverlappingResources(project, true /* include files */);
-		assertEnablement(action, asSelection(resources), false /* enabled */);
-	}
-	
-	private void assertDisabledForClosedProject(IActionDelegate action, IProject project) throws CoreException {
-		project.close(null);
-		List resources = new ArrayList();
-		resources.add(project);
-		assertEnablement(action, asSelection(resources), false /* enabled */);
-		project.open(null);
-	}
-	
-	private void assertDisabledForNonCVSProject(IActionDelegate action) throws CoreException {
-		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject("Non-CVS");
-		if (!project.exists())
-			project.create(null);
-		List resources = new ArrayList();
-		resources.add(project);
-		assertEnablement(action, asSelection(resources), false /* enabled */);
-	}
-	
-	private void assertEnabledForFolderOnlyOverlap(IActionDelegate action, IProject project) {
-		List resources = getOverlappingResources(project, false /* include files */);
-		assertEnablement(action, asSelection(resources), true /* enabled */);
-	}
-	
-	public void testAddAction() throws CoreException, TeamException {
-		IActionDelegate action = new AddAction();
-		IProject project = createTestProject(action);
-		assertDisabledForCommonReasons(action, project);
-		assertEnablement(action, project, MANAGED, false /* expected enablement */);
-		assertEnablement(action, project, ADDED, false /* expected enablement */);
-		assertEnablement(action, project, IGNORED, true /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED, true /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED | IGNORED, true /* expected enablement */);		
-		assertEnablement(action, project, UNMANAGED | SINGLE_ONLY, true /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED | MANAGED | IGNORED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED_PARENT, true /* expected enablement */);
-	}
-
-	public void testBranchAction() throws CoreException, TeamException {
-		IActionDelegate action = new BranchAction();
-		IProject project = createTestProject(action);
-		assertDisabledForCommonReasons(action, project);
-		assertEnabledForFolderOnlyOverlap(action, project);
-		assertEnablement(action, project, MANAGED, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED, true /* expected enablement */);
-		assertEnablement(action, project, IGNORED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED | MANAGED | IGNORED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED_PARENT, false /* expected enablement */);
-	}
-	
-	public void testCommitAction() throws CoreException, TeamException {
-		IActionDelegate action = new CommitAction();
-		IProject project = createTestProject(action);
-		assertDisabledForCommonReasons(action, project);
-		assertEnabledForFolderOnlyOverlap(action, project);
-		assertEnablement(action, project, MANAGED, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED | UNMANAGED, true /* expected enablement */);
-		assertEnablement(action, project, IGNORED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED, true /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED | MANAGED | IGNORED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED_PARENT, true /* expected enablement */);
-	}
-	
-	public void testCompareWithRevison() throws CoreException, TeamException {
-		IActionDelegate action = new CompareWithRevisionAction();
-		IProject project = createTestProject(action);
-		assertDisabledForCommonReasons(action, project);
-		assertEnablement(action, project, MANAGED | FILES | SINGLE_ONLY, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | FOLDERS | FILES, false /* expected enablement */);
-		assertEnablement(action, project, MANAGED | FOLDERS | SINGLE_ONLY, false /* expected enablement */);
-		assertEnablement(action, project, MANAGED | FILES, false /* expected enablement */);
-		assertEnablement(action, project, ADDED | SINGLE_ONLY, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED | SINGLE_ONLY, false /* expected enablement */);
-		assertEnablement(action, project, IGNORED | SINGLE_ONLY, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED_PARENT, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED | MANAGED | IGNORED, false /* expected enablement */);
-	}
-	
-	public void testCompareWithTagAction() throws CoreException, TeamException {
-		IActionDelegate action = new CompareWithTagAction();
-		IProject project = createTestProject(action);
-		assertDisabledForCommonReasons(action, project);
-		assertEnabledForFolderOnlyOverlap(action, project);
-		assertEnablement(action, project, MANAGED, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED | UNMANAGED, false /* expected enablement */);
-		assertEnablement(action, project, IGNORED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED_PARENT, false /* expected enablement */);
-		// true is expected for ignored resources whose parent is not ignored
-		assertEnablement(action, project, UNMANAGED | MANAGED | IGNORED, false /* expected enablement */);
-	}
-	
-	public void testGenerateDiffAction() throws CoreException, TeamException {
-		IActionDelegate action = new GenerateDiffFileAction();
-		IProject project = createTestProject(action);
-		assertDisabledForCommonReasons(action, project);
-		assertEnablement(action, project, MANAGED | FILES | SINGLE_ONLY, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | FOLDERS | FILES, false /* expected enablement */);
-		assertEnablement(action, project, MANAGED | FOLDERS | SINGLE_ONLY, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | FILES, false /* expected enablement */);
-		assertEnablement(action, project, ADDED | SINGLE_ONLY, true /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED | SINGLE_ONLY, true /* expected enablement */);
-		assertEnablement(action, project, IGNORED | SINGLE_ONLY, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED_PARENT, true /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED | MANAGED | IGNORED, false /* expected enablement */);
-	}
-	
-	/*
-	 * Should be the same as testAdd
-	 */
-	public void testIgnoreAction() throws CoreException, TeamException {
-		IActionDelegate action = new IgnoreAction();
-		IProject project = createTestProject(action);
-		assertDisabledForCommonReasons(action, project);
-		assertEnablement(action, project, MANAGED, false /* expected enablement */);
-		assertEnablement(action, project, ADDED, false /* expected enablement */);
-		assertEnablement(action, project, IGNORED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED, true /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED | SINGLE_ONLY, true /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED | MANAGED | IGNORED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED_PARENT, true /* expected enablement */);
-	}
-	
-	public void testMergeAction() throws CoreException, TeamException {
-		IActionDelegate action = new MergeAction();
-		IProject project = createTestProject(action);
-		assertDisabledForCommonReasons(action, project);
-		assertEnabledForFolderOnlyOverlap(action, project);
-		assertEnablement(action, project, MANAGED, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED | UNMANAGED, false /* expected enablement */);
-		assertEnablement(action, project, IGNORED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED | MANAGED | IGNORED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED_PARENT, false /* expected enablement */);
-	}
-	
-	public void testReplaceWithRemoteAction() throws CoreException, TeamException {
-		IActionDelegate action = new ReplaceWithRemoteAction();
-		IProject project = createTestProject(action);
-		assertDisabledForCommonReasons(action, project);
-		assertEnabledForFolderOnlyOverlap(action, project);
-		assertEnablement(action, project, MANAGED, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED, false /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED | UNMANAGED, false /* expected enablement */);
-		// true is expected for ignored resources whose parent is not ignored
-		assertEnablement(action, project, IGNORED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED_PARENT, false /* expected enablement */);
-		// true is expected for ignored resources whose parent is not ignored
-		assertEnablement(action, project, UNMANAGED | MANAGED | IGNORED, false /* expected enablement */);
-	}
-	
-	/*
-	 * Should be the same as testCompareWithTagAction
-	 */
-	public void testReplaceWithTagAction() throws CoreException, TeamException {
-		IActionDelegate action = new ReplaceWithSelectableTagAction();
-		IProject project = createTestProject(action);
-		assertDisabledForCommonReasons(action, project);
-		assertEnabledForFolderOnlyOverlap(action, project);
-		assertEnablement(action, project, MANAGED, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED | UNMANAGED, false /* expected enablement */);
-		assertEnablement(action, project, IGNORED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED_PARENT, false /* expected enablement */);
-		// true is expected for ignored resources whose parent is not ignored
-		assertEnablement(action, project, UNMANAGED | MANAGED | IGNORED, false /* expected enablement */);
-	}
-
-	public void testKeywordSubstitutionAction() throws CoreException, TeamException {
-		IActionDelegate action = new SetKeywordSubstitutionAction();
-		IProject project = createTestProject(action);
-		assertDisabledForCommonReasons(action, project);
-		assertEnabledForFolderOnlyOverlap(action, project);
-		assertEnablement(action, project, MANAGED, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED | UNMANAGED, false /* expected enablement */);
-		assertEnablement(action, project, IGNORED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED | MANAGED | IGNORED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED_PARENT, false /* expected enablement */);
-	}
-	
-	public void testShowInHistory() throws CoreException, TeamException {
-		IActionDelegate action = new ShowResourceInHistoryAction();
-		IProject project = createTestProject(action);
-		assertDisabledForCommonReasons(action, project);
-		assertEnablement(action, project, MANAGED | FILES | SINGLE_ONLY, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | FOLDERS | FILES, false /* expected enablement */);
-		assertEnablement(action, project, MANAGED | FOLDERS | SINGLE_ONLY, false /* expected enablement */);
-		assertEnablement(action, project, MANAGED | FILES, false /* expected enablement */);
-		assertEnablement(action, project, ADDED | SINGLE_ONLY, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED | SINGLE_ONLY, false /* expected enablement */);
-		assertEnablement(action, project, IGNORED | SINGLE_ONLY, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED_PARENT, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED | MANAGED | IGNORED, false /* expected enablement */);
-	}
-	
-	public void testSyncAction() throws CoreException, TeamException {
-		IActionDelegate action = new SyncAction();
-		IProject project = createTestProject(action);
-		assertDisabledForCommonReasons(action, project);
-		assertEnabledForFolderOnlyOverlap(action, project);
-		assertEnablement(action, project, MANAGED, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED | UNMANAGED, true /* expected enablement */);
-		// true is expected for ignored resources whose parent is not ignored
-		assertEnablement(action, project, IGNORED, true /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED, true /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED_PARENT, false /* expected enablement */);
-		// true is expected for ignored resources whose parent is not ignored
-		assertEnablement(action, project, UNMANAGED | MANAGED | IGNORED, true /* expected enablement */);
-	}
-	
-	public void testTagAction() throws CoreException, TeamException {
-		IActionDelegate action = new TagLocalAction();
-		IProject project = createTestProject(action);
-		assertDisabledForCommonReasons(action, project);
-		assertEnabledForFolderOnlyOverlap(action, project);
-		assertEnablement(action, project, MANAGED, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED, false /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED | UNMANAGED, false /* expected enablement */);
-		assertEnablement(action, project, IGNORED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED | MANAGED | IGNORED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED_PARENT, false /* expected enablement */);
-	}
-	
-	public void testUnmanageAction() throws CoreException, TeamException {
-		IActionDelegate action = new UnmanageAction();
-		IProject project = createTestProject(action);
-		assertDisabledForCommonReasons(action, project);
-		List resources = new ArrayList();
-		resources.add(project);
-		ensureAllSyncInfoLoaded(project);
-		assertEnablement(action, asSelection(resources), true);
-	}
-	
-	public void testUpdateAction() throws CoreException, TeamException {
-		IActionDelegate action = new UpdateAction();
-		IProject project = createTestProject(action);
-		assertDisabledForCommonReasons(action, project);
-		assertEnabledForFolderOnlyOverlap(action, project);
-		assertEnablement(action, project, MANAGED, true /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED, false /* expected enablement */);
-		assertEnablement(action, project, MANAGED | ADDED | UNMANAGED, false /* expected enablement */);
-		assertEnablement(action, project, IGNORED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED | MANAGED | IGNORED, false /* expected enablement */);
-		assertEnablement(action, project, UNMANAGED_PARENT, false /* expected enablement */);
-	}
-	
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/MiscOperationsTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/MiscOperationsTests.java
deleted file mode 100644
index 368e6bd..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/MiscOperationsTests.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.RepositoryProvider;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
-import org.eclipse.team.internal.ccvs.ui.operations.DisconnectOperation;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-
-/**
- * Miscellaneous operation tests
- */
-public class MiscOperationsTests extends CVSOperationTest {
-
-	public MiscOperationsTests() {
-		super();
-	}
-
-	public MiscOperationsTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		String testName = System.getProperty("eclipse.cvs.testName");
-		if (testName == null) {
-			TestSuite suite = new TestSuite(MiscOperationsTests.class);
-			return new CVSTestSetup(suite);
-		} else {
-			return new CVSTestSetup(new MiscOperationsTests(testName));
-		}
-	}
-	
-	public void testDisconnect() throws TeamException, CoreException {
-		IProject project = createProject(new String[] { "file1.txt", "folder1/", "folder1/a.txt", "folder1/b.txt"});
-		
-		// First, disconnect but leave the CVS folders
-		run(new DisconnectOperation(null, new IProject[] {project }, false));
-		assertNull(RepositoryProvider.getProvider(project));
-		assertTrue(project.getFolder("CVS").exists());
-		
-		// Next, disconnect and purge the CVS folders
-		RepositoryProvider.map(project, CVSProviderPlugin.getTypeId());
-		run(new DisconnectOperation(null, new IProject[] {project }, true));
-		assertNull(RepositoryProvider.getProvider(project));
-		assertTrue(project.getFolder("folder1").exists());
-		assertTrue(project.getFile("file1.txt").exists());
-		assertTrue(!project.getFolder("CVS").exists());
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/ModelParticipantSyncInfoSource.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/ModelParticipantSyncInfoSource.java
deleted file mode 100644
index ab283f3..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/ModelParticipantSyncInfoSource.java
+++ /dev/null
@@ -1,575 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-import java.util.List;
-
-import junit.framework.Assert;
-import junit.framework.AssertionFailedError;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.internal.resources.mapping.ShallowContainer;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.resources.mapping.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.diff.IDiff;
-import org.eclipse.team.core.diff.IThreeWayDiff;
-import org.eclipse.team.core.diff.provider.Diff;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.core.mapping.*;
-import org.eclipse.team.core.mapping.provider.ResourceDiffTree;
-import org.eclipse.team.core.mapping.provider.SynchronizationContext;
-import org.eclipse.team.core.subscribers.*;
-import org.eclipse.team.core.synchronize.SyncInfo;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
-import org.eclipse.team.internal.ccvs.ui.mappings.*;
-import org.eclipse.team.internal.ccvs.ui.wizards.CommitWizard;
-import org.eclipse.team.internal.core.mapping.SyncInfoToDiffConverter;
-import org.eclipse.team.internal.ui.TeamUIPlugin;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.team.internal.ui.mapping.*;
-import org.eclipse.team.internal.ui.synchronize.*;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.team.ui.TeamUI;
-import org.eclipse.team.ui.synchronize.*;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;
-import org.eclipse.ui.part.IPage;
-
-public class ModelParticipantSyncInfoSource extends ParticipantSyncInfoSource {
-
-	public class ZeroDepthContainer extends PlatformObject {
-		private IContainer container;
-		public ZeroDepthContainer(IContainer container) {
-			this.container = container;
-		}
-		public IContainer getResource() {
-			return container;
-		}
-		public boolean equals(Object obj) {
-			if (obj == this)
-				return true;
-			if (obj instanceof ShallowContainer) {
-				ZeroDepthContainer other = (ZeroDepthContainer) obj;
-				return other.getResource().equals(getResource());
-			}
-			return false;
-		}
-		public int hashCode() {
-			return getResource().hashCode();
-		}
-		public Object getAdapter(Class adapter) {
-			if (adapter == IResource.class || adapter == IContainer.class)
-				return container;
-			return super.getAdapter(adapter);
-		}
-	}
-	
-	public class ZeroDepthResourceMapping extends ResourceMapping {
-		private final ZeroDepthContainer container;
-		public ZeroDepthResourceMapping(ZeroDepthContainer container) {
-			this.container = container;
-		}
-		public Object getModelObject() {
-			return container;
-		}
-		public String getModelProviderId() {
-			return ModelProvider.RESOURCE_MODEL_PROVIDER_ID;
-		}
-		public IProject[] getProjects() {
-			return new IProject[] { container.getResource().getProject() };
-		}
-		public ResourceTraversal[] getTraversals(ResourceMappingContext context, IProgressMonitor monitor) {
-			return new ResourceTraversal[] { new ResourceTraversal(new IResource[] { container.getResource() }, IResource.DEPTH_ZERO, IResource.NONE)};
-		}
-		public boolean contains(ResourceMapping mapping) {
-			if (mapping.getModelProviderId().equals(this.getModelProviderId())) {
-				Object object = mapping.getModelObject();
-				IResource resource = container.getResource();
-				// A shallow mapping only contains direct file children or equal shallow containers
-				if (object instanceof ShallowContainer) {
-					ZeroDepthContainer sc = (ZeroDepthContainer) object;
-					return sc.getResource().equals(resource);
-				}
-				if (object instanceof IResource) {
-					IResource other = (IResource) object;
-					return other.equals(resource);
-				}
-			}
-			return false;
-		}
-	}
-	
-	public static ModelSynchronizeParticipant getParticipant(Subscriber subscriber) {
-		// show the sync view
-		ISynchronizeParticipantReference[] participants = TeamUI.getSynchronizeManager().getSynchronizeParticipants();
-		for (int i = 0; i < participants.length; i++) {
-			ISynchronizeParticipant participant;
-			try {
-				participant = participants[i].getParticipant();
-			} catch (TeamException e) {
-				return null;
-			}
-			if (participant instanceof ModelSynchronizeParticipant) {
-				ModelSynchronizeParticipant msp = (ModelSynchronizeParticipant) participant;
-				ISynchronizationContext context = msp.getContext();
-				if (context instanceof SubscriberMergeContext) {
-					SubscriberMergeContext smc = (SubscriberMergeContext) context;
-					if (smc.getSubscriber().equals(subscriber))
-							return msp;
-				}
-			}
-		}
-		return null;
-	}
-	
-	public void assertSyncEquals(String message, Subscriber subscriber, IResource resource, int syncKind) throws CoreException {
-		assertDiffKindEquals(message, subscriber, resource, SyncInfoToDiffConverter.asDiffFlags(syncKind));	
-	}
-	
-	protected IDiff getDiff(Subscriber subscriber, IResource resource) throws CoreException {
-		waitForCollectionToFinish(subscriber);
-		IDiff subscriberDiff =  subscriber.getDiff(resource);
-		IDiff contextDiff = getContextDiff(subscriber, resource);
-		assertDiffsEqual(subscriber, subscriberDiff, contextDiff);
-		return contextDiff;
-	}
-	
-	public void refresh(Subscriber subscriber, IResource[] resources) throws TeamException {
-		RefreshParticipantJob job = new RefreshModelParticipantJob(getParticipant(subscriber), "Refresh", "Refresh", Utils.getResourceMappings(resources), new IRefreshSubscriberListener() {
-			public void refreshStarted(IRefreshEvent event) {
-				// Do nothing
-			}
-		
-			public IWorkbenchAction refreshDone(IRefreshEvent event) {
-				// Do nothing
-				return null;
-			}
-		});
-		job.schedule();
-		waitForCollectionToFinish(subscriber);
-		assertViewMatchesModel(subscriber);
-	}
-	
-	public void waitForCollectionToFinish(Subscriber subscriber) {
-		ModelSynchronizeParticipant family = getParticipant(subscriber);
-		if (family == null) {
-			while (waitUntilFamilyDone(subscriber)) {
-				// just keep looping until we no longer wait for any jobs
-			}
-		} else {
-			while (waitUntilFamilyDone(subscriber) 
-					|| waitUntilFamilyDone(family)
-					|| waitUntilFamilyDone(family.getContext())
-					|| waitUntilFamilyDone(family.getContext().getScope())
-					|| waitUntilFamilyDone(((SynchronizationContext)family.getContext()).getScopeManager())) {
-				// just keep looping until we no longer wait for any jobs
-			}
-		}
-	}
-
-	private boolean waitUntilFamilyDone(Object family) {
-		if (family == null)
-			return false;
-		Job[] jobs = Job.getJobManager().find(family);
-		boolean waited = false;
-		for (int i = 0; i < jobs.length; i++) {
-			Job job = jobs[i];
-			while (job.getState() != Job.NONE) {
-				waited = true;
-				while (Display.getCurrent().readAndDispatch()) {}
-				try {
-					Thread.sleep(100);
-				} catch (InterruptedException e) {
-					// Ignore
-				}
-			}
-		}
-		return waited;
-	}
-
-	private void assertDiffsEqual(Subscriber subscriber, IDiff subscriberDiff, IDiff contextDiff) throws CoreException {
-		if (subscriberDiff == null && contextDiff == null)
-			return;
-		if (subscriberDiff == null && contextDiff != null) {
-			Assert.fail("Subscriber contains no change for "
-					+ ResourceDiffTree.getResourceFor(contextDiff).getFullPath().toString()
-					+ " but the context contains: "
-					+ contextDiff.toDiffString());
-		}
-		if (subscriberDiff != null && contextDiff == null) {
-			if (subscriber instanceof CVSCompareSubscriber) {
-				// The compare context filters out nodes whose contents are equal
-				if (localContentsMatchRemote(subscriberDiff))
-					return;
-			}
-			Assert.fail("Subscriber contains change: "
-					+ subscriberDiff.toDiffString()
-					+ " for "
-					+ ResourceDiffTree.getResourceFor(subscriberDiff).getFullPath().toString()
-					+ " but the context has no change");
-		}
-		int subscriberStatus = ((Diff)subscriberDiff).getStatus();
-		int contextStatus = ((Diff)subscriberDiff).getStatus();
-		if (subscriberStatus != contextStatus) {
-			Assert.fail("Subscriber contains change: "
-					+ subscriberDiff.toDiffString()
-					+ " for "
-					+ ResourceDiffTree.getResourceFor(contextDiff).getFullPath().toString()
-					+ " but the context contains: "
-					+ contextDiff.toDiffString());
-		}
-	}
-
-	private boolean localContentsMatchRemote(IDiff subscriberDiff) throws CoreException {
-		IResource resource = ResourceDiffTree.getResourceFor(subscriberDiff);
-		if (resource instanceof IFile) {
-			IFile file = (IFile) resource;
-			IFileRevision remote = SyncInfoToDiffConverter.getRemote(subscriberDiff);
-			return compareContent(file.getContents(), remote.getStorage(DEFAULT_MONITOR).getContents());
-		}
-		return false;
-	}
-
-	/**
-	 * Returns a boolean value indicating whether or not the contents
-	 * of the given streams are considered to be equal. Closes both input streams.
-	 */
-	public boolean compareContent(InputStream a, InputStream b) {
-		int c, d;
-		if (a == null && b == null)
-			return true;
-		try {
-			if (a == null || b == null)
-				return false;
-			while ((c = a.read()) == (d = b.read()) && (c != -1 && d != -1)) {
-				//body not needed
-			}
-			return (c == -1 && d == -1);
-		} catch (IOException e) {
-			return false;
-		} finally {
-			try {
-				if (a != null)
-					a.close();
-			} catch (IOException e) {
-				// ignore
-			}
-			try {
-				if (b != null)
-					b.close();
-			} catch (IOException e) {
-				// ignore
-			}
-		}
-	}
-	
-	private IDiff getContextDiff(Subscriber subscriber, IResource resource) {
-		ModelSynchronizeParticipant p = getParticipant(subscriber);
-		return p.getContext().getDiffTree().getDiff(resource);
-	}
-
-	protected SyncInfo getSyncInfo(Subscriber subscriber, IResource resource) throws TeamException {
-		try {
-			IDiff diff = getDiff(subscriber, resource);
-			return getConverter(subscriber).asSyncInfo(diff, subscriber.getResourceComparator());
-		} catch (CoreException e) {
-			throw TeamException.asTeamException(e);
-		}
-	}
-	
-	protected void assertProjectRemoved(Subscriber subscriber, IProject project) throws TeamException {
-		super.assertProjectRemoved(subscriber, project);
-		waitForCollectionToFinish(subscriber);
-		ModelSynchronizeParticipant participant = getParticipant(subscriber);
-		IResourceDiffTree tree = participant.getContext().getDiffTree();
-		if (tree.members(project).length > 0) {
-			throw new AssertionFailedError("The diff tree still contains resources from the deleted project " + project.getName());	
-		}
-	}
-	
-	private ISynchronizationScopeManager createScopeManager(IResource resource, Subscriber subscriber) {
-		return new SubscriberScopeManager(subscriber.getName(), 
-				new ResourceMapping[] { Utils.getResourceMapping(resource) }, subscriber, true);
-	}
-	
-	private ISynchronizationScopeManager createWorkspaceScopeManager() {
-		CVSWorkspaceSubscriber workspaceSubscriber = CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber();
-		try {
-			ModelProvider workspaceModel = ModelProvider.getModelProviderDescriptor(ModelProvider.RESOURCE_MODEL_PROVIDER_ID).getModelProvider();
-			return new SubscriberScopeManager(workspaceSubscriber.getName(), 
-					new ResourceMapping[] { Utils.getResourceMapping(workspaceModel) }, workspaceSubscriber, true);
-		} catch (CoreException e) {
-			Assert.fail(e.getMessage());
-		}
-		return null;
-	}
-	
-	public CVSMergeSubscriber createMergeSubscriber(IProject project, CVSTag root, CVSTag branch) {
-		CVSMergeSubscriber mergeSubscriber = super.createMergeSubscriber(project, root, branch);
-		ModelSynchronizeParticipant participant = new ModelMergeParticipant(MergeSubscriberContext.createContext(createScopeManager(project, mergeSubscriber), mergeSubscriber));
-		showParticipant(participant);
-		return mergeSubscriber;
-	}
-
-	public Subscriber createWorkspaceSubscriber() throws TeamException {
-		ISynchronizeManager synchronizeManager = TeamUI.getSynchronizeManager();
-		ISynchronizeParticipantReference[] participants = synchronizeManager.get(WorkspaceModelParticipant.ID);
-		if (participants.length > 0) {
-			Subscriber subscriber = ((SubscriberMergeContext)((WorkspaceModelParticipant)participants[0].getParticipant()).getContext()).getSubscriber();
-			waitForCollectionToFinish(subscriber);
-			return subscriber;
-		}
-		WorkspaceModelParticipant participant = new WorkspaceModelParticipant(WorkspaceSubscriberContext.createContext(createWorkspaceScopeManager(), ISynchronizationContext.THREE_WAY));
-		showParticipant(participant);
-		Subscriber subscriber = super.createWorkspaceSubscriber();
-		refresh(subscriber, subscriber.roots());
-		return subscriber;
-	}
-
-	public CVSCompareSubscriber createCompareSubscriber(IResource resource, CVSTag tag) {
-		CVSCompareSubscriber s = super.createCompareSubscriber(resource, tag);
-		ModelSynchronizeParticipant participant = new ModelCompareParticipant(CompareSubscriberContext.createContext(createScopeManager(resource, s), s));
-		showParticipant(participant);
-		return s;
-	}
-	
-	public void disposeSubscriber(Subscriber subscriber) {
-		ISynchronizeParticipant participant = getParticipant(subscriber);
-		ISynchronizeManager synchronizeManager = TeamUI.getSynchronizeManager();
-		synchronizeManager.removeSynchronizeParticipants(new ISynchronizeParticipant[] {participant});
-	}
-	
-	public void mergeResources(Subscriber subscriber, IResource[] resources, boolean allowOverwrite) throws TeamException {
-		// Try a merge first
-		internalMergeResources(subscriber, resources, false);
-		if (allowOverwrite) {
-			internalMergeResources(subscriber, resources, true);
-			try {
-				assertInSync(subscriber, resources);
-			} catch (CoreException e) {
-				throw TeamException.asTeamException(e);
-			}
-		}
-	}
-
-	private void assertInSync(Subscriber subscriber, IResource[] resources) throws CoreException {
-		waitForCollectionToFinish(subscriber);
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			assertSyncEquals("merge failed", subscriber, resource, SyncInfo.IN_SYNC);
-		}
-		
-	}
-
-	private void internalMergeResources(Subscriber subscriber, IResource[] resources, final boolean allowOverwrite) throws TeamException {
-		ResourceMergeHandler handler = new ResourceMergeHandler(getConfiguration(subscriber), allowOverwrite) {
-			protected boolean promptToConfirm() {
-				return true;
-			}
-			protected void promptForNoChanges() {
-				// Do nothing
-			}
-		};
-		handler.updateEnablement(new StructuredSelection(asResourceMappings(resources)));
-		try {
-			handler.execute(new ExecutionEvent(null, Collections.EMPTY_MAP, null, null));
-		} catch (ExecutionException e) {
-			throw new TeamException("Error running merge", e);
-		}
-		waitForCollectionToFinish(subscriber);
-	}
-
-	public void markAsMerged(Subscriber subscriber, IResource[] resources) throws InvocationTargetException, InterruptedException, TeamException {
-		ResourceMarkAsMergedHandler handler = new ResourceMarkAsMergedHandler(getConfiguration(subscriber));
-		handler.updateEnablement(new StructuredSelection(resources));
-		try {
-			handler.execute(new ExecutionEvent(null, Collections.EMPTY_MAP, null, null));
-		} catch (ExecutionException e) {
-			throw new TeamException("Error running markAsMerged", e);
-		}
-		waitForCollectionToFinish(subscriber);
-	}
-	
-	public void updateResources(Subscriber subscriber, IResource[] resources) throws CoreException {
-		mergeResources(subscriber, resources, false);
-	}
-	
-	public void overrideAndUpdateResources(Subscriber subscriber, boolean shouldPrompt, IResource[] resources) throws CoreException {
-		mergeResources(subscriber, resources, true);
-	}
-	
-	public void commitResources(Subscriber subscriber, IResource[] resources) throws CoreException {
-		try {
-			new CommitWizard.AddAndCommitOperation(null, 
-					getChangedFiles(subscriber, resources),
-					getNewResources(subscriber, resources), "").run(DEFAULT_MONITOR);
-		} catch (InvocationTargetException e) {
-			throw CVSException.wrapException(e);
-		} catch (InterruptedException e) {
-			Assert.fail();
-		}
-	}
-
-	private IResource[] getChangedFiles(Subscriber subscriber, IResource[] resources) throws CoreException {
-		List result = new ArrayList();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			if (resource.getType() == IResource.FILE) {
-				IDiff diff = subscriber.getDiff(resource);
-				if (diff != null)
-					result.add(resource);
-			}
-		}
-		return (IResource[]) result.toArray(new IResource[result.size()]);
-	}
-	
-	private IResource[] getNewResources(Subscriber subscriber, IResource[] resources) throws CoreException {
-		List result = new ArrayList();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			IDiff diff = subscriber.getDiff(resource);
-			if (diff instanceof IThreeWayDiff) {
-				IThreeWayDiff twd = (IThreeWayDiff) diff;
-				if (twd.getKind() == IDiff.ADD && twd.getDirection() == IThreeWayDiff.OUTGOING) {
-					if (!CVSWorkspaceRoot.getCVSResourceFor(resource).isManaged()) {
-						result.add(resource);
-					}
-				}
-			}
-		}
-		return (IResource[]) result.toArray(new IResource[result.size()]);
-	}
-
-	private ResourceMapping[] asResourceMappings(IResource[] resources) {
-		List result = new ArrayList();
-		for (int i = 0; i < resources.length; i++) {
-			IResource resource = resources[i];
-			if (resource.getType() == IResource.FILE) {
-				result.add(Utils.getResourceMapping(resource));
-			} else {
-				result.add(new ZeroDepthResourceMapping(new ZeroDepthContainer((IContainer)resource)));
-			}
-		}
-		return (ResourceMapping[]) result.toArray(new ResourceMapping[result.size()]);
-	}
-
-	public void overrideAndCommitResources(Subscriber subscriber, IResource[] resources) throws CoreException {
-		try {
-			markAsMerged(subscriber, resources);
-		} catch (InvocationTargetException e) {
-			throw CVSException.wrapException(e);
-		} catch (InterruptedException e) {
-			Assert.fail("unexpected interrupt");
-		}
-		commitResources(subscriber, resources);
-	}
-	
-	public ISynchronizePageConfiguration getConfiguration(Subscriber subscriber) {
-		ModelSynchronizePage page = getPage(subscriber);
-		return page.getConfiguration();
-	}
-
-	private ModelSynchronizePage getPage(Subscriber subscriber) {
-        try {
-            ModelSynchronizeParticipant participant = getParticipant(subscriber);
-            if (participant == null)
-            	throw new AssertionFailedError("The participant for " + subscriber.getName() + " could not be retrieved");
-            IWorkbenchPage activePage = TeamUIPlugin.getActivePage();
-            ISynchronizeView view = (ISynchronizeView)activePage.showView(ISynchronizeView.VIEW_ID);
-            IPage page = ((SynchronizeView)view).getPage(participant);
-            if (page instanceof ModelSynchronizePage) {
-            	ModelSynchronizePage subscriberPage = (ModelSynchronizePage)page;
-            	return subscriberPage;
-            }
-        } catch (PartInitException e) {
-            throw new AssertionFailedError("Cannot show sync view in active page");
-        }
-        throw new AssertionFailedError("The page for " + subscriber.getName() + " could not be retrieved");
-	}
-	
-	public void assertViewMatchesModel(Subscriber subscriber) {
-		waitForCollectionToFinish(subscriber);
-		TreeItem[] rootItems = getTreeItems(subscriber);
-		ModelSynchronizeParticipant p = getParticipant(subscriber);
-		ResourceDiffTree tree = (ResourceDiffTree)p.getContext().getDiffTree();
-		ResourceDiffTree copy = new ResourceDiffTree();
-		IDiff[] diffs = tree.getDiffs();
-		for (int i = 0; i < diffs.length; i++) {
-			IDiff diff = diffs[i];
-			copy.add(diff);
-		}
-		assertTreeMatchesDiffs(rootItems, copy);
-	}
-	
-    private void assertTreeMatchesDiffs(TreeItem[] rootItems, ResourceDiffTree copy) {
-		assertItemsInDiffTree(rootItems, copy);
-		if (!copy.isEmpty()) {
-			new AssertionFailedError("Viewer is not showing all diffs");
-		}
-	}
-
-	private void assertItemsInDiffTree(TreeItem[] items, ResourceDiffTree copy) {
-        if (items == null || items.length == 0) {
-            return;
-        }
-        for (int i = 0; i < items.length; i++) {
-			TreeItem item = items[i];
-			assertItemInTree(item, copy);
-		}
-		
-	}
-
-	private void assertItemInTree(TreeItem item, ResourceDiffTree copy) {
-		Object element = item.getData();
-		if (element instanceof IResource) {
-			IResource resource = (IResource) element;
-			if (copy.getDiff(resource) != null) {
-				copy.remove(resource);
-			} else if (copy.getChildren(resource.getFullPath()).length == 0) {
-				// When running in the suites, we want to avoid intermittent failures so we only flag errors that would result in lost changes
-				if (CVSTestSetup.FAIL_ON_BAD_DIFF) {
-					throw new AssertionFailedError("Resource" + resource.getFullPath() + " is in the view but not in the diff tree");
-				} else {
-					System.out.println("Resource" + resource.getFullPath() + " is in the view but not in the diff tree");
-					new Exception().printStackTrace();
-					return;
-				}
-				
-			}
-			assertItemsInDiffTree(item.getItems(), copy);
-		}
-	}
-
-	private TreeItem[] getTreeItems(Subscriber subscriber) {
-    	ModelSynchronizePage page = getPage(subscriber);
-        Viewer v = page.getViewer();
-        if (v instanceof TreeViewer) {
-            TreeViewer treeViewer = (TreeViewer)v;
-            treeViewer.expandAll();
-            Tree t = (treeViewer).getTree();
-            return t.getItems();
-        }
-        throw new AssertionFailedError("The tree for " + subscriber.getName() + " could not be retrieved");
-    }
-	
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/ParticipantSyncInfoSource.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/ParticipantSyncInfoSource.java
deleted file mode 100644
index 07d0667..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/ParticipantSyncInfoSource.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui;
-
-import junit.framework.AssertionFailedError;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.internal.ccvs.core.CVSMergeSubscriber;
-import org.eclipse.team.internal.core.mapping.SyncInfoToDiffConverter;
-import org.eclipse.team.internal.ui.TeamUIPlugin;
-import org.eclipse.team.internal.ui.Utils;
-import org.eclipse.team.internal.ui.synchronize.SynchronizeView;
-import org.eclipse.team.tests.ccvs.core.subscriber.SyncInfoSource;
-import org.eclipse.team.ui.TeamUI;
-import org.eclipse.team.ui.synchronize.*;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.IPage;
-
-public class ParticipantSyncInfoSource extends SyncInfoSource {
-
-    public static ISynchronizePage getSyncViewPage(ISynchronizeParticipant participant) throws PartInitException {
-		IWorkbenchPage activePage = TeamUIPlugin.getActivePage();
-		ISynchronizeView view = (ISynchronizeView)activePage.showView(ISynchronizeView.VIEW_ID);
-		IPage page = ((SynchronizeView)view).getPage(participant);
-		return (ISynchronizePage)page;
-	}
-    
-	public ParticipantSyncInfoSource() {
-		IWorkbenchPage activePage = TeamUIPlugin.getActivePage();
-		try {
-			activePage.showView(ISynchronizeView.VIEW_ID);
-		} catch (PartInitException e) {
-			throw new AssertionFailedError("Cannot show sync view in active page");
-		}
-	}
-	
-	protected SyncInfoToDiffConverter getConverter(Subscriber subscriber) {
-		SyncInfoToDiffConverter converter = (SyncInfoToDiffConverter)Utils.getAdapter(subscriber, SyncInfoToDiffConverter.class);
-		if (converter == null)
-			converter = SyncInfoToDiffConverter.getDefault();
-		return converter;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.tests.ccvs.core.subscriber.SyncInfoSource#tearDown()
-	 */
-	public void tearDown() {
-		ISynchronizeParticipantReference[] participants = TeamUI.getSynchronizeManager().getSynchronizeParticipants();
-		for (int i = 0; i < participants.length; i++) {
-			try {
-				ISynchronizeParticipantReference ref = participants[i];
-				if(ref.getParticipant().getId().equals(CVSMergeSubscriber.ID)) {
-					TeamUI.getSynchronizeManager().removeSynchronizeParticipants(new ISynchronizeParticipant[] {ref.getParticipant()});
-				}
-			} catch (TeamException e) {
-				return;
-			}
-		}
-		// Process all async events that may have been generated above
-		while (Display.getCurrent().readAndDispatch()) {};
-	}
-	
-	protected void showParticipant(ISynchronizeParticipant participant) throws AssertionFailedError {
-		ISynchronizeManager synchronizeManager = TeamUI.getSynchronizeManager();
-		synchronizeManager.addSynchronizeParticipants(
-				new ISynchronizeParticipant[] {participant});	
-		IWorkbenchPage activePage = TeamUIPlugin.getActivePage();
-		try {
-			ISynchronizeView view = (ISynchronizeView)activePage.showView(ISynchronizeView.VIEW_ID);
-			view.display(participant);
-		} catch (PartInitException e) {
-			throw new AssertionFailedError("Cannot show sync view in active page");
-		}
-	}
-	
-	/**
-	 * Assert that the model for the subscriber matches what is being displayed.
-	 * Default is to do nothing. Subclasses may override
-	 * @param subscriber the subscriber
-	 */
-	public void assertViewMatchesModel(Subscriber subscriber) {
-	    // Default is to do nothing. Subclasses may override
-	}
-	
-	/* (non-Javadoc)
-     * @see org.eclipse.team.tests.ccvs.core.subscriber.SyncInfoSource#refresh(org.eclipse.team.core.subscribers.Subscriber, org.eclipse.core.resources.IResource[])
-     */
-    public void refresh(Subscriber subscriber, IResource[] resources)
-            throws TeamException {
-        super.refresh(subscriber, resources);
-		assertViewMatchesModel(subscriber);
-    }
-
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/PatchWizardRadioButtonGroupTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/PatchWizardRadioButtonGroupTests.java
deleted file mode 100644
index 9c6aedf..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/PatchWizardRadioButtonGroupTests.java
+++ /dev/null
@@ -1,424 +0,0 @@
-package org.eclipse.team.tests.ccvs.ui;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.team.internal.ccvs.ui.wizards.GenerateDiffFileWizard;
-
-public class PatchWizardRadioButtonGroupTests extends TestCase {
-
-	private MyRadioButtonGroup group;
-	private Button button1;
-	private Button button2;
-	private Button button3;
-
-	private static final int FORMAT_UNIFIED = getFieldValue("FORMAT_UNIFIED");
-	private static final int FORMAT_CONTEXT = getFieldValue("FORMAT_CONTEXT");
-	private static final int FORMAT_STANDARD = getFieldValue("FORMAT_STANDARD");
-
-	public PatchWizardRadioButtonGroupTests() {
-		super();
-	}
-
-	public PatchWizardRadioButtonGroupTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(PatchWizardRadioButtonGroupTests.class
-				.getName());
-		suite.addTest(new PatchWizardRadioButtonGroupTests(
-				"testSingleSelection"));
-		suite.addTest(new PatchWizardRadioButtonGroupTests(
-				"testMultipleSelection"));
-		suite.addTest(new PatchWizardRadioButtonGroupTests(
-				"testSelectDisabled1"));
-		suite.addTest(new PatchWizardRadioButtonGroupTests(
-				"testSelectDisabled2"));
-		suite.addTest(new PatchWizardRadioButtonGroupTests(
-				"testSelectDisabled3"));
-		suite
-				.addTest(new PatchWizardRadioButtonGroupTests(
-						"testSetEnablement"));
-		return suite;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.team.tests.ccvs.core.EclipseTest#setUp()
-	 */
-	protected void setUp() throws Exception {
-		Shell shell = new Shell(Display.getCurrent());
-		Composite composite = new Composite(shell, SWT.NONE);
-		group = new MyRadioButtonGroup();
-		button1 = new Button(composite, SWT.RADIO);
-		button2 = new Button(composite, SWT.RADIO);
-		button3 = new Button(composite, SWT.RADIO);
-	}
-
-	private Button getButtonForCode(int code) {
-		if (code == getFieldValue("FORMAT_UNIFIED"))
-			return button1;
-		else if (code == getFieldValue("FORMAT_CONTEXT"))
-			return button2;
-		else if (code == getFieldValue("FORMAT_STANDARD"))
-			return button3;
-		else
-			fail();
-		return null;
-	}
-
-	public void testSingleSelection() throws Exception {
-		button1.setEnabled(true);
-		button1.setSelection(true);
-		group.add(FORMAT_UNIFIED, button1);
-
-		button2.setEnabled(true);
-		button2.setSelection(false);
-		group.add(FORMAT_CONTEXT, button2);
-
-		button3.setEnabled(true);
-		button3.setSelection(false);
-		group.add(FORMAT_STANDARD, button3);
-
-		assertEquals(group.getSelected(), FORMAT_UNIFIED);
-
-		assertEquals(true, button1.getSelection());
-		assertEquals(false, button2.getSelection());
-		assertEquals(false, button3.getSelection());
-	}
-
-	public void testMultipleSelection() throws Exception {
-		button1.setEnabled(true);
-		button1.setSelection(true);
-		group.add(FORMAT_UNIFIED, button1);
-
-		button2.setEnabled(true);
-		button2.setSelection(true);
-		group.add(FORMAT_CONTEXT, button2);
-
-		button3.setEnabled(true);
-		button3.setSelection(true);
-		group.add(FORMAT_STANDARD, button3);
-
-		assertEquals(FORMAT_STANDARD, group.getSelected());
-
-		assertEquals(false, button1.getSelection());
-		assertEquals(false, button2.getSelection());
-		assertEquals(true, button3.getSelection());
-	}
-
-	public void testSelectDisabled1() throws Exception {
-		button1.setEnabled(true);
-		button1.setSelection(false);
-		group.add(FORMAT_UNIFIED, button1);
-
-		button2.setEnabled(false);
-		button2.setSelection(true);
-		group.add(FORMAT_CONTEXT, button2);
-
-		button3.setEnabled(true);
-		button3.setSelection(false);
-		group.add(FORMAT_STANDARD, button3);
-
-		group.selectEnabledOnly();
-
-		assertFalse(group.getSelected() == FORMAT_CONTEXT);
-
-		assertTrue(getButtonForCode(group.getSelected()).isEnabled());
-		assertTrue(getButtonForCode(group.getSelected()).getSelection());
-	}
-
-	public void testSelectDisabled2() throws Exception {
-		button1.setSelection(false);
-		group.add(FORMAT_UNIFIED, button1);
-
-		button2.setSelection(true);
-		group.add(FORMAT_CONTEXT, button2);
-
-		button3.setSelection(false);
-		group.add(FORMAT_STANDARD, button3);
-
-		group.setEnablement(false,
-				new int[] { FORMAT_UNIFIED, FORMAT_CONTEXT }, FORMAT_STANDARD);
-
-		assertEquals(FORMAT_STANDARD, group.getSelected());
-
-		assertEquals(false, button1.getSelection());
-		assertEquals(false, button2.getSelection());
-		assertEquals(true, button3.getSelection());
-
-		assertEquals(false, button1.isEnabled());
-		assertEquals(false, button2.isEnabled());
-		assertEquals(true, button3.isEnabled());
-
-		assertTrue(getButtonForCode(group.getSelected()).isEnabled());
-		assertTrue(getButtonForCode(group.getSelected()).getSelection());
-	}
-
-	public void testSelectDisabled3() throws Exception {
-		button1.setSelection(true);
-		group.add(FORMAT_UNIFIED, button1);
-
-		button2.setSelection(false);
-		group.add(FORMAT_CONTEXT, button2);
-
-		button3.setSelection(false);
-		group.add(FORMAT_STANDARD, button3);
-
-		group
-				.setEnablement(false, new int[] { FORMAT_UNIFIED,
-						FORMAT_CONTEXT });
-
-		assertEquals(FORMAT_STANDARD, group.getSelected());
-
-		assertEquals(false, button1.getSelection());
-		assertEquals(false, button2.getSelection());
-		assertEquals(true, button3.getSelection());
-
-		assertEquals(false, button1.isEnabled());
-		assertEquals(false, button2.isEnabled());
-		assertEquals(true, button3.isEnabled());
-
-		assertTrue(getButtonForCode(group.getSelected()).isEnabled());
-		assertTrue(getButtonForCode(group.getSelected()).getSelection());
-	}
-
-	public void testSetEnablement() throws Exception {
-		button1.setSelection(true);
-		group.add(FORMAT_UNIFIED, button1);
-
-		button2.setSelection(false);
-		button2.setEnabled(false);
-		group.add(FORMAT_CONTEXT, button2);
-
-		button3.setSelection(false);
-		button3.setEnabled(false);
-		group.add(FORMAT_STANDARD, button3);
-
-		group.setEnablement(true, new int[] { FORMAT_UNIFIED, FORMAT_CONTEXT });
-
-		assertEquals(FORMAT_UNIFIED, group.getSelected());
-
-		assertEquals(true, button1.getSelection());
-		assertEquals(false, button2.getSelection());
-		assertEquals(false, button3.getSelection());
-
-		assertEquals(true, button1.isEnabled());
-		assertEquals(true, button2.isEnabled());
-		assertEquals(false, button3.isEnabled());
-
-		assertTrue(getButtonForCode(group.getSelected()).isEnabled());
-		assertTrue(getButtonForCode(group.getSelected()).getSelection());
-	}
-
-	private class MyRadioButtonGroup {
-
-		Object groupObject;
-		Class clazz;
-
-		public MyRadioButtonGroup() {
-
-			try {
-				GenerateDiffFileWizard wizard = new GenerateDiffFileWizard(
-						null, null, false);
-				clazz = Class
-						.forName("org.eclipse.team.internal.ccvs.ui.wizards.GenerateDiffFileWizard$RadioButtonGroup");
-				Constructor[] constructors = clazz.getDeclaredConstructors();
-				constructors[0].setAccessible(true);
-				groupObject = constructors[0]
-						.newInstance(new Object[] { wizard });
-			} catch (ClassNotFoundException e) {
-				fail(e.getMessage());
-			} catch (InstantiationException e) {
-				fail(e.getMessage());
-			} catch (IllegalAccessException e) {
-				fail(e.getMessage());
-			} catch (IllegalArgumentException e) {
-				fail(e.getMessage());
-			} catch (InvocationTargetException e) {
-				fail(e.getMessage());
-			}
-		}
-
-		public void add(int buttonCode, Button button) {
-			try {
-				Class partypes[] = new Class[2];
-				partypes[0] = Integer.TYPE;
-				partypes[1] = Button.class;
-				Method method = clazz.getMethod("add", partypes);
-				method.setAccessible(true);
-				Object arglist[] = new Object[2];
-				arglist[0] = new Integer(buttonCode);
-				arglist[1] = button;
-				method.invoke(groupObject, arglist);
-			} catch (SecurityException e) {
-				fail(e.getMessage());
-			} catch (NoSuchMethodException e) {
-				fail(e.getMessage());
-			} catch (IllegalArgumentException e) {
-				fail(e.getMessage());
-			} catch (IllegalAccessException e) {
-				fail(e.getMessage());
-			} catch (InvocationTargetException e) {
-				fail(e.getMessage());
-			}
-		}
-
-		public int getSelected() {
-			try {
-				Class partypes[] = new Class[0];
-				Method method = clazz.getMethod("getSelected", partypes);
-				method.setAccessible(true);
-				Object arglist[] = new Object[0];
-				Object retobj = method.invoke(groupObject, arglist);
-				return ((Integer) retobj).intValue();
-			} catch (SecurityException e) {
-				fail(e.getMessage());
-			} catch (NoSuchMethodException e) {
-				fail(e.getMessage());
-			} catch (IllegalArgumentException e) {
-				fail(e.getMessage());
-			} catch (IllegalAccessException e) {
-				fail(e.getMessage());
-			} catch (InvocationTargetException e) {
-				fail(e.getMessage());
-			}
-			return 0;
-		}
-
-		public int selectEnabledOnly() {
-			try {
-				Class partypes[] = new Class[0];
-				Method method = clazz.getMethod("selectEnabledOnly", partypes);
-				method.setAccessible(true);
-				Object arglist[] = new Object[0];
-				Object retobj = method.invoke(groupObject, arglist);
-				return ((Integer) retobj).intValue();
-			} catch (SecurityException e) {
-				fail(e.getMessage());
-			} catch (NoSuchMethodException e) {
-				fail(e.getMessage());
-			} catch (IllegalArgumentException e) {
-				fail(e.getMessage());
-			} catch (IllegalAccessException e) {
-				fail(e.getMessage());
-			} catch (InvocationTargetException e) {
-				fail(e.getMessage());
-			}
-			return 0;
-		}
-
-		public void setEnablement(boolean enabled, int[] buttonsToChange,
-				int defaultSelection) {
-			try {
-				Class partypes[] = new Class[3];
-				partypes[0] = Boolean.TYPE;
-				partypes[1] = buttonsToChange.getClass();
-				partypes[2] = Integer.TYPE;
-				Method method = clazz.getMethod("setEnablement", partypes);
-				method.setAccessible(true);
-				Object arglist[] = new Object[3];
-				arglist[0] = new Boolean(enabled);
-				arglist[1] = buttonsToChange;
-				arglist[2] = new Integer(defaultSelection);
-				method.invoke(groupObject, arglist);
-			} catch (SecurityException e) {
-				fail(e.getMessage());
-			} catch (NoSuchMethodException e) {
-				fail(e.getMessage());
-			} catch (IllegalArgumentException e) {
-				fail(e.getMessage());
-			} catch (IllegalAccessException e) {
-				fail(e.getMessage());
-			} catch (InvocationTargetException e) {
-				fail(e.getMessage());
-			}
-		}
-
-		public void setEnablement(boolean enabled, int[] buttonsToChange) {
-			try {
-				Class partypes[] = new Class[2];
-				partypes[0] = Boolean.TYPE;
-				partypes[1] = buttonsToChange.getClass();
-				Method method = clazz.getMethod("setEnablement", partypes);
-				method.setAccessible(true);
-				Object arglist[] = new Object[2];
-				arglist[0] = new Boolean(enabled);
-				arglist[1] = buttonsToChange;
-				method.invoke(groupObject, arglist);
-			} catch (SecurityException e) {
-				fail(e.getMessage());
-			} catch (NoSuchMethodException e) {
-				fail(e.getMessage());
-			} catch (IllegalArgumentException e) {
-				fail(e.getMessage());
-			} catch (IllegalAccessException e) {
-				fail(e.getMessage());
-			} catch (InvocationTargetException e) {
-				fail(e.getMessage());
-			}
-		}
-
-		public int setSelection(int buttonCode, boolean selectEnabledOnly) {
-			try {
-				Class partypes[] = new Class[2];
-				partypes[0] = Boolean.TYPE;
-				partypes[1] = Integer.class;
-				Method method = clazz.getMethod("setSelection", partypes);
-				method.setAccessible(true);
-				Object arglist[] = new Object[2];
-				arglist[0] = new Integer(buttonCode);
-				arglist[1] = new Boolean(selectEnabledOnly);
-				Object retobj = method.invoke(groupObject, arglist);
-				return ((Integer) retobj).intValue();
-			} catch (SecurityException e) {
-				fail(e.getMessage());
-			} catch (NoSuchMethodException e) {
-				fail(e.getMessage());
-			} catch (IllegalArgumentException e) {
-				fail(e.getMessage());
-			} catch (IllegalAccessException e) {
-				fail(e.getMessage());
-			} catch (InvocationTargetException e) {
-				fail(e.getMessage());
-			}
-			return 0;
-		}
-
-	}
-
-	static private int getFieldValue(String fieldName) {
-		Class clazz;
-		try {
-			clazz = Class
-					.forName("org.eclipse.team.internal.ccvs.ui.wizards.GenerateDiffFileWizard$OptionsPage");
-			Field field = clazz.getField(fieldName);
-			field.setAccessible(true);
-			return ((Integer) field.get(null)).intValue();
-		} catch (ClassNotFoundException e) {
-			fail(e.getMessage());
-		} catch (SecurityException e) {
-			fail(e.getMessage());
-		} catch (NoSuchFieldException e) {
-			fail(e.getMessage());
-		} catch (IllegalArgumentException e) {
-			fail(e.getMessage());
-		} catch (IllegalAccessException e) {
-			fail(e.getMessage());
-		}
-		return -1;
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/PerspectiveFactory.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/PerspectiveFactory.java
deleted file mode 100644
index 55e608b..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/PerspectiveFactory.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui;
-
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPerspectiveFactory;
-
-public class PerspectiveFactory implements IPerspectiveFactory {
-
-    public void createInitialLayout(IPageLayout layout) {
-        String editorArea = layout.getEditorArea();
-        /* IFolderLayout top = */
-            layout.createFolder("top", IPageLayout.LEFT, 0.40f, editorArea);    //$NON-NLS-1$
-        layout.setEditorAreaVisible(true);
-    }
-
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/SelectionPropertyTesterTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/SelectionPropertyTesterTest.java
deleted file mode 100644
index 8517127..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/SelectionPropertyTesterTest.java
+++ /dev/null
@@ -1,274 +0,0 @@
-package org.eclipse.team.tests.ccvs.ui;
-
-import java.util.Arrays;
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.ui.SelectionPropertyTester;
-import org.eclipse.team.internal.ccvs.ui.actions.BranchAction;
-import org.eclipse.team.internal.ccvs.ui.actions.CommitAction;
-import org.eclipse.team.internal.ccvs.ui.actions.IgnoreAction;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.ui.IActionDelegate;
-
-public class SelectionPropertyTesterTest extends EnablementTest {
-
-	/**
-	 * Constructor for CVSProviderTest
-	 */
-	public SelectionPropertyTesterTest() {
-		super();
-	}
-
-	/**
-	 * Constructor for CVSProviderTest
-	 */
-	public SelectionPropertyTesterTest(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite(SelectionPropertyTesterTest.class);
-		return new CVSTestSetup(suite);
-	}
-
-	//
-	// tests for corner cases
-	//
-	public void testSelectionPropertyTester_allNulls() {
-		SelectionPropertyTester tester = new SelectionPropertyTester();
-		assertEquals(false, tester.test(null, null, null, null));
-	}
-
-	public void testSelectionPropertyTester_nullSelection() {
-		SelectionPropertyTester tester = new SelectionPropertyTester();
-		assertEquals(
-				false,
-				tester
-						.test(
-								null,
-								"isEnabled",
-								new Object[] { "org.eclipse.team.internal.ccvs.ui.actions.CommitAction", },
-								null));
-	}
-
-	public void testSelectionPropertyTester_invalidClassForSelection()
-			throws TeamException, CoreException {
-		SelectionPropertyTester tester = new SelectionPropertyTester();
-		IActionDelegate action = new CommitAction();
-		IProject project = createTestProject(action);
-		List resources = getManagedResources(project, false, false);
-		assertEquals(
-				false,
-				tester
-						.test(
-								resources,
-								"isEnabled",
-								new Object[] { "org.eclipse.team.internal.ccvs.ui.actions.CommitAction", },
-								null));
-	}
-
-	public void testSelectionPropertyTester_toManyArgs() throws TeamException,
-			CoreException {
-		SelectionPropertyTester tester = new SelectionPropertyTester();
-		IActionDelegate action = new CommitAction();
-		IProject project = createTestProject(action);
-		List resources = getManagedResources(project, false, false);
-		assertEquals(
-				false,
-				tester
-						.test(
-								asSelection(resources),
-								"isEnabled",
-								new Object[] {
-										"org.eclipse.team.internal.ccvs.ui.actions.CommitAction",
-										"org.eclipse.team.internal.ccvs.ui.actions.IgnoreAction" },
-								null));
-	}
-
-	public void testSelectionPropertyTester_unknownProperty()
-			throws TeamException, CoreException {
-		SelectionPropertyTester tester = new SelectionPropertyTester();
-		IActionDelegate action = new CommitAction();
-		IProject project = createTestProject(action);
-		List resources = getManagedResources(project, false, false);
-		assertEquals(
-				false,
-				tester
-						.test(
-								asSelection(resources),
-								"unknownProperty",
-								new Object[] { "org.eclipse.team.internal.ccvs.ui.actions.CommitAction" },
-								null));
-	}
-
-	// enablement for resources from a shared project
-
-	public void testSelectionPropertyTester_commitActionManaged()
-			throws CoreException, TeamException {
-		SelectionPropertyTester tester = new SelectionPropertyTester();
-		IActionDelegate action = new CommitAction();
-		IProject project = createTestProject(action);
-		List resources = getManagedResources(project, false, false);
-		boolean testResult = tester
-				.test(
-						asSelection(resources),
-						"isEnabled",
-						new Object[] { "org.eclipse.team.internal.ccvs.ui.actions.CommitAction" },
-						null);
-		assertEquals(true, testResult);
-		assertEnablement(action, asSelection(resources), testResult);
-	}
-
-	public void testSelectionPropertyTester_ignoreActionManaged()
-			throws CoreException, TeamException {
-		SelectionPropertyTester tester = new SelectionPropertyTester();
-		IActionDelegate action = new IgnoreAction();
-		IProject project = createTestProject(action);
-		List resources = getManagedResources(project, false, false);
-		boolean testResult = tester
-				.test(
-						asSelection(resources),
-						"isEnabled",
-						new Object[] { "org.eclipse.team.internal.ccvs.ui.actions.IgnoreAction" },
-						null);
-		assertEquals(false, testResult);
-		assertEnablement(action, asSelection(resources), testResult);
-	}
-
-	public void testSelectionPropertyTester_branchActionManaged()
-			throws CoreException, TeamException {
-		SelectionPropertyTester tester = new SelectionPropertyTester();
-		IActionDelegate action = new BranchAction();
-		IProject project = createTestProject(action);
-		List resources = getManagedResources(project, false, false);
-		boolean testResult = tester
-				.test(
-						asSelection(resources),
-						"isEnabled",
-						new Object[] { "org.eclipse.team.internal.ccvs.ui.actions.BranchAction" },
-						null);
-		assertEquals(true, testResult);
-		assertEnablement(action, asSelection(resources), testResult);
-	}
-
-	public void testSelectionPropertyTester_commitActionUnmanaged()
-			throws CoreException, TeamException {
-		SelectionPropertyTester tester = new SelectionPropertyTester();
-		IActionDelegate action = new CommitAction();
-		IProject project = createTestProject(action);
-		List resources = getUnmanagedResources(project);
-		boolean testResult = tester
-				.test(
-						asSelection(resources),
-						"isEnabled",
-						new Object[] { "org.eclipse.team.internal.ccvs.ui.actions.CommitAction" },
-						null);
-		assertEquals(true, testResult);
-		assertEnablement(action, asSelection(resources), testResult);
-	}
-
-	public void testSelectionPropertyTester_ignoreActionUnmanaged()
-			throws CoreException, TeamException {
-		SelectionPropertyTester tester = new SelectionPropertyTester();
-		IActionDelegate action = new IgnoreAction();
-		IProject project = createTestProject(action);
-		List resources = getUnmanagedResources(project);
-		boolean testResult = tester
-				.test(
-						asSelection(resources),
-						"isEnabled",
-						new Object[] { "org.eclipse.team.internal.ccvs.ui.actions.IgnoreAction" },
-						null);
-		assertEquals(true, testResult);
-		assertEnablement(action, asSelection(resources), testResult);
-	}
-
-	public void testSelectionPropertyTester_branchActionUnmanaged()
-			throws CoreException, TeamException {
-		SelectionPropertyTester tester = new SelectionPropertyTester();
-		IActionDelegate action = new BranchAction();
-		IProject project = createTestProject(action);
-		List resources = getUnmanagedResources(project);
-		boolean testResult = tester
-				.test(
-						asSelection(resources),
-						"isEnabled",
-						new Object[] { "org.eclipse.team.internal.ccvs.ui.actions.BranchAction" },
-						null);
-		assertEquals(false, testResult);
-		assertEnablement(action, asSelection(resources), testResult);
-	}
-
-	// enablement for resources from an unshared project
-
-	public void testSelectionPropertyTester_commitActionUnshared()
-			throws CoreException, TeamException {
-		SelectionPropertyTester tester = new SelectionPropertyTester();
-		IActionDelegate action = new CommitAction();
-		String actionName = getName(action);
-		String[] resourcesNames = new String[] { "file.txt", "folder1/",
-				"folder1/a.txt" };
-		IProject project = getUniqueTestProject(actionName);
-		IResource[] buildResources = buildResources(project, resourcesNames,
-				true);
-		List resources = Arrays.asList(buildResources);
-		boolean testResult = tester
-				.test(
-						asSelection(resources),
-						"isEnabled",
-						new Object[] { "org.eclipse.team.internal.ccvs.ui.actions.CommitAction" },
-						null);
-		assertEquals(false, testResult);
-		assertEnablement(action, asSelection(resources), testResult);
-	}
-
-	public void testSelectionPropertyTester_ignoreActionUnshared()
-			throws CoreException, TeamException {
-		SelectionPropertyTester tester = new SelectionPropertyTester();
-		IActionDelegate action = new IgnoreAction();
-		String actionName = getName(action);
-		String[] resourcesNames = new String[] { "file.txt", "folder1/",
-				"folder1/a.txt" };
-		IProject project = getUniqueTestProject(actionName);
-		IResource[] buildResources = buildResources(project, resourcesNames,
-				true);
-		List resources = Arrays.asList(buildResources);
-		boolean testResult = tester
-				.test(
-						asSelection(resources),
-						"isEnabled",
-						new Object[] { "org.eclipse.team.internal.ccvs.ui.actions.IgnoreAction" },
-						null);
-		assertEquals(false, testResult);
-		assertEnablement(action, asSelection(resources), testResult);
-	}
-
-	public void testSelectionPropertyTester_branchActionUnshared()
-			throws CoreException, TeamException {
-		SelectionPropertyTester tester = new SelectionPropertyTester();
-		IActionDelegate action = new BranchAction();
-		String actionName = getName(action);
-		String[] resourcesNames = new String[] { "file.txt", "folder1/",
-				"folder1/a.txt" };
-		IProject project = getUniqueTestProject(actionName);
-		IResource[] buildResources = buildResources(project, resourcesNames,
-				true);
-		List resources = Arrays.asList(buildResources);
-		boolean testResult = tester
-				.test(
-						asSelection(resources),
-						"isEnabled",
-						new Object[] { "org.eclipse.team.internal.ccvs.ui.actions.BranchAction" },
-						null);
-		assertEquals(false, testResult);
-		assertEnablement(action, asSelection(resources), testResult);
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/SubscriberParticipantSyncInfoSource.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/SubscriberParticipantSyncInfoSource.java
deleted file mode 100644
index 1413c28..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/SubscriberParticipantSyncInfoSource.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui;
-
-import junit.framework.AssertionFailedError;
-
-import org.eclipse.compare.structuremergeviewer.IDiffContainer;
-import org.eclipse.compare.structuremergeviewer.IDiffElement;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.diff.IDiff;
-import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.core.synchronize.*;
-import org.eclipse.team.internal.ccvs.core.*;
-import org.eclipse.team.internal.ccvs.ui.subscriber.*;
-import org.eclipse.team.internal.core.subscribers.SubscriberSyncInfoCollector;
-import org.eclipse.team.internal.ui.TeamUIPlugin;
-import org.eclipse.team.internal.ui.synchronize.*;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-import org.eclipse.team.ui.TeamUI;
-import org.eclipse.team.ui.synchronize.*;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.IPage;
-
-/**
- * SyncInfoSource that obtains SyncInfo from the SynchronizeView's SyncSet.
- */
-public class SubscriberParticipantSyncInfoSource extends ParticipantSyncInfoSource {
-
-	public SubscriberParticipantSyncInfoSource() {
-		super();
-	}
-	
-	public SyncInfo getSyncInfo(Subscriber subscriber, IResource resource) throws TeamException {
-		// Wait for the collector
-		getCollector(subscriber);
-		// Obtain the sync info from the viewer to ensure that the 
-		// entire chain has the proper state
-		SyncInfo info = internalGetSyncInfo(subscriber, resource);
-		// Do a sanity check on the collected sync info
-		if (info == null) {
-			info = subscriber.getSyncInfo(resource);
-			if ((info != null && info.getKind() != SyncInfo.IN_SYNC)) {
-				throw new AssertionFailedError(
-						"Sync state for " 
-						+ resource.getFullPath() 
-						+ " was "
-						+ SyncInfo.kindToString(info.getKind())
-						+ " but resource was not collected");
-			}
-		} else {
-			SyncInfo realInfo = subscriber.getSyncInfo(resource);
-			if (info.getKind() != realInfo.getKind()) {
-				throw new AssertionFailedError(
-						"Collected sync state for " 
-						+ resource.getFullPath() 
-						+ " was "
-						+ SyncInfo.kindToString(info.getKind())
-						+ " but the real state was "
-						+ SyncInfo.kindToString(realInfo.getKind()));
-			}
-		}
-		return info;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.tests.ccvs.core.subscriber.SyncInfoSource#getDiff(org.eclipse.team.core.subscribers.Subscriber, org.eclipse.core.resources.IResource)
-	 */
-	public IDiff getDiff(Subscriber subscriber, IResource resource) throws CoreException {
-		SyncInfo info = getSyncInfo(subscriber, resource);
-		if (info == null || info.getKind() == SyncInfo.IN_SYNC) {
-			return null;
-		}
-		return getConverter(subscriber).getDeltaFor(info);
-	}
-
-	public static SubscriberParticipant getParticipant(Subscriber subscriber) {
-		// show the sync view
-		ISynchronizeParticipantReference[] participants = TeamUI.getSynchronizeManager().getSynchronizeParticipants();
-		for (int i = 0; i < participants.length; i++) {
-			ISynchronizeParticipant participant;
-			try {
-				participant = participants[i].getParticipant();
-			} catch (TeamException e) {
-				return null;
-			}
-			if(participant instanceof SubscriberParticipant) {
-				if(((SubscriberParticipant)participant).getSubscriber() == subscriber) {
-					return (SubscriberParticipant)participant;
-				}
-			}
-		}
-		return null;
-	}
-	
-	public static SubscriberSyncInfoCollector getCollector(Subscriber subscriber) {
-		SubscriberParticipant participant = getParticipant(subscriber);
-		if (participant == null) return null;
-		SubscriberSyncInfoCollector syncInfoCollector = participant.getSubscriberSyncInfoCollector();
-		EclipseTest.waitForSubscriberInputHandling(syncInfoCollector);
-        SubscriberParticipantPage page = getPage(subscriber);
-        SynchronizeModelManager manager = (SynchronizeModelManager)page.getConfiguration().getProperty(SynchronizePageConfiguration.P_MODEL_MANAGER);
-        AbstractSynchronizeModelProvider provider = (AbstractSynchronizeModelProvider)manager.getActiveModelProvider();
-        provider.waitUntilDone(new IProgressMonitor() {
-			public void beginTask(String name, int totalWork) {
-			}
-			public void done() {
-			}
-			public void internalWorked(double work) {
-			}
-			public boolean isCanceled() {
-				return false;
-			}
-			public void setCanceled(boolean value) {
-			}
-			public void setTaskName(String name) {
-			}
-			public void subTask(String name) {
-			}
-			public void worked(int work) {
-				while (Display.getCurrent().readAndDispatch()) {}
-			}
-		});
-		return syncInfoCollector;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.tests.ccvs.core.subscriber.SyncInfoSource#assertProjectRemoved(org.eclipse.team.core.subscribers.TeamSubscriber, org.eclipse.core.resources.IProject)
-	 */
-	protected void assertProjectRemoved(Subscriber subscriber, IProject project) throws TeamException {		
-		super.assertProjectRemoved(subscriber, project);
-		SyncInfoTree set = getCollector(subscriber).getSyncInfoSet();
-		if (set.hasMembers(project)) {
-			throw new AssertionFailedError("The sync set still contains resources from the deleted project " + project.getName());	
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.tests.ccvs.core.subscriber.SyncInfoSource#createMergeSubscriber(org.eclipse.core.resources.IProject, org.eclipse.team.internal.ccvs.core.CVSTag, org.eclipse.team.internal.ccvs.core.CVSTag)
-	 */
-	public CVSMergeSubscriber createMergeSubscriber(IProject project, CVSTag root, CVSTag branch) {
-		CVSMergeSubscriber mergeSubscriber = super.createMergeSubscriber(project, root, branch);
-		SubscriberParticipant participant = new MergeSynchronizeParticipant(mergeSubscriber);
-		showParticipant(participant);
-		return mergeSubscriber;
-	}
-	
-	public Subscriber createWorkspaceSubscriber() throws TeamException {
-		ISynchronizeManager synchronizeManager = TeamUI.getSynchronizeManager();
-		ISynchronizeParticipantReference[] participants = synchronizeManager.get(WorkspaceSynchronizeParticipant.ID);
-		if (participants.length > 0) {
-			return ((SubscriberParticipant)participants[0].getParticipant()).getSubscriber();
-		}
-		SubscriberParticipant participant = new WorkspaceSynchronizeParticipant(new WorkspaceScope());
-		showParticipant(participant);
-		return participant.getSubscriber();
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.team.tests.ccvs.core.subscriber.SyncInfoSource#createCompareSubscriber(org.eclipse.core.resources.IProject, org.eclipse.team.internal.ccvs.core.CVSTag)
-	 */
-	public CVSCompareSubscriber createCompareSubscriber(IResource resource, CVSTag tag) {
-		CVSCompareSubscriber s = super.createCompareSubscriber(resource, tag);
-		SubscriberParticipant participant = new CompareParticipant(s);
-		showParticipant(participant);
-		return s;
-	}
-	
-	private SyncInfo internalGetSyncInfo(Subscriber subscriber, IResource resource) {
-		ISynchronizeModelElement root = getModelRoot(subscriber);
-		return findSyncInfo(root, resource);
-	}
-	
-    private SyncInfo findSyncInfo(ISynchronizeModelElement node, IResource resource) {
-        if (node instanceof SyncInfoModelElement) {
-            SyncInfoModelElement element = (SyncInfoModelElement)node;
-            if (element.getResource().equals(resource)) {
-                return element.getSyncInfo();
-            }
-        }
-        IDiffElement[] children = node.getChildren();
-        for (int i = 0; i < children.length; i++) {
-            ISynchronizeModelElement child = (ISynchronizeModelElement)children[i];
-            SyncInfo info = findSyncInfo(child, resource);
-            if (info != null)
-                return info;
-        }
-        return null;
-    }
-    
-    public void assertViewMatchesModel(Subscriber subscriber) {
-    	// Getting the collector waits for the subscriber input handlers
-    	getCollector(subscriber);
-		ISynchronizeModelElement root = getModelRoot(subscriber);
-		TreeItem[] rootItems = getTreeItems(subscriber);
-		assertMatchingTrees(root, rootItems, root.getChildren());
-    }
-
-    private ISynchronizeModelElement getModelRoot(Subscriber subscriber) {
-        SubscriberParticipantPage page = getPage(subscriber);
-        return ((TreeViewerAdvisor)page.getViewerAdvisor()).getModelManager().getModelRoot();
-    }
-    
-    private TreeItem[] getTreeItems(Subscriber subscriber) {
-        SubscriberParticipantPage page = getPage(subscriber);
-        Viewer v = page.getViewer();
-        if (v instanceof TreeViewer) {
-            TreeViewer treeViewer = (TreeViewer)v;
-            treeViewer.expandAll();
-            Tree t = (treeViewer).getTree();
-            return t.getItems();
-        }
-        throw new AssertionFailedError("The tree for " + subscriber.getName() + " could not be retrieved");
-    }
-
-    private static SubscriberParticipantPage getPage(Subscriber subscriber) {
-        try {
-            SubscriberParticipant participant = getParticipant(subscriber);
-            if (participant == null)
-            	throw new AssertionFailedError("The participant for " + subscriber.getName() + " could not be retrieved");
-            IWorkbenchPage activePage = TeamUIPlugin.getActivePage();
-            ISynchronizeView view = (ISynchronizeView)activePage.showView(ISynchronizeView.VIEW_ID);
-            IPage page = ((SynchronizeView)view).getPage(participant);
-            if (page instanceof SubscriberParticipantPage) {
-            	SubscriberParticipantPage subscriberPage = (SubscriberParticipantPage)page;
-            	return subscriberPage;
-            }
-        } catch (PartInitException e) {
-            throw new AssertionFailedError("Cannot show sync view in active page");
-        }
-        throw new AssertionFailedError("The page for " + subscriber.getName() + " could not be retrieved");
-    }
-    
-    private void assertMatchingTrees(IDiffElement parent, TreeItem[] items, IDiffElement[] children) {
-        if ((items == null || items.length == 0) && (children == null || children.length == 0)) {
-            // No children in either case so just return
-            return;
-        }
-        if (items == null || children == null || items.length != children.length) {
-            throw new AssertionFailedError("The number of children of " + parent.getName() + " is " + 
-                    (children == null ? 0: children.length) + " but the view has " + 
-                    (items == null ? 0 : items.length));
-        }
-        for (int i = 0; i < children.length; i++) {
-            IDiffElement element = children[i];
-            TreeItem foundItem = null;
-            for (int j = 0; j < items.length; j++) {
-                TreeItem item = items[j];
-                if (item.getData() == element) {
-                    foundItem = item;
-                    break;
-                }
-            }
-            if (foundItem == null) {
-                throw new AssertionFailedError("Element" + element.getName() + " is in the model but not in the view");
-            } else {
-                assertMatchingTrees(element, foundItem.getItems(), ((IDiffContainer)element).getChildren());
-            }
-        }
-        
-    }
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/TestEditor.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/TestEditor.java
deleted file mode 100644
index 659e679..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/TestEditor.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui;
-
-import org.eclipse.ui.*;
-import org.eclipse.ui.editors.text.TextEditor;
-
-public class TestEditor extends TextEditor {
-
-	public TestEditor() {
-		// Nothing to do
-	}
-	
-	public void init(IEditorSite site, IEditorInput input)
-			throws PartInitException {
-		if (!(input instanceof IFileEditorInput))
-			throw new PartInitException("Input is not an IFileEditorInput");
-		super.init(site, input);
-	}
-
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/AllBenchmarkTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/AllBenchmarkTests.java
deleted file mode 100644
index fb015a4..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/AllBenchmarkTests.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui.benchmark;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-
-public class AllBenchmarkTests extends EclipseTest {
-
-	public AllBenchmarkTests() {
-		super();
-	}
-
-	public AllBenchmarkTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.addTest(WorkflowTests.suite());
-		suite.addTest(SyncTests.suite());
-        // TODO: Enable decorators?
-		return new CVSTestSetup(suite);
-	}
-}
-
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/BenchmarkTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/BenchmarkTest.java
deleted file mode 100644
index 6f30a2c..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/BenchmarkTest.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui.benchmark;
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.zip.ZipException;
-
-import org.eclipse.core.commands.*;
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.TeamException;
-import org.eclipse.team.core.subscribers.Subscriber;
-import org.eclipse.team.tests.ccvs.core.EclipseTest;
-import org.eclipse.team.tests.ccvs.core.subscriber.SyncInfoSource;
-import org.eclipse.test.performance.*;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.WorkbenchException;
-import org.eclipse.ui.handlers.IHandlerService;
-
-/**
- * Benchmark test superclass
- */
-public abstract class BenchmarkTest extends EclipseTest {
-
-	private HashMap groups;
-    private PerformanceMeter currentMeter;
-
-    protected BenchmarkTest() {
-	}
-
-	protected BenchmarkTest(String name) {
-		super(name);
-	}
-
-	protected IProject createUniqueProject(File zipFile) throws TeamException, CoreException, ZipException, IOException, InterruptedException, InvocationTargetException {
-		return createAndImportProject(getName(), zipFile);
-	}
-	
-	protected IProject createAndImportProject(String prefix, File zipFile) throws TeamException, CoreException, ZipException, IOException, InterruptedException, InvocationTargetException {
-		// create a project with no contents
-		IProject project = getUniqueTestProject(prefix);
-		Util.importZip(project, zipFile);
-		return project;
-	}
-	
-    /**
-     * @param string
-     */
-    protected void startTask(String string) {
-        // TODO Auto-generated method stub
-        
-    }
-    
-	/**
-     * 
-     */
-	protected void endTask() {
-        // TODO Auto-generated method stub
-        
-    }
-	
-    /**
-     * Create a set of performance meters that can be started with the
-     * startGroup method.
-     * @param performance_groups
-     */
-	protected void setupGroups(String[] performance_groups) {
-        setupGroups(performance_groups, null, false);
-    }
-	
-	protected void setupGroups(String[] performance_groups, String globalName, boolean global) {
-        groups = new HashMap();
-		Performance perf = Performance.getDefault();
-		PerformanceMeter meter = null;
-		if (global) {
-			// Use one meter for all groups - provides a single timing result
-			meter = perf.createPerformanceMeter(perf.getDefaultScenarioId(this));
-			for (int i = 0; i < performance_groups.length; i++) {
-				String suffix = performance_groups[i];
-				groups.put(suffix, meter);
-			}
-			perf.tagAsGlobalSummary(meter, globalName, Dimension.ELAPSED_PROCESS);
-		} else {
-			// Use a meter for each group, provides fine grain results
-			for (int i = 0; i < performance_groups.length; i++) {
-				String suffix = performance_groups[i];
-				meter = perf.createPerformanceMeter(perf.getDefaultScenarioId(this) + suffix);
-                Performance.getDefault().setComment(meter, Performance.EXPLAINS_DEGRADATION_COMMENT, "The current setup for the CVS test does not provide reliable timings. Only consistent test failures over time can be considered significant.");
-				groups.put(suffix, meter);
-//				if (globalName != null) {
-//					perf.tagAsSummary(meter, suffix, Dimension.ELAPSED_PROCESS);
-//				}
-			}
-		}
-    }
-    
-    /**
-	 * Commit the performance meters that were created by setupGroups and
-	 * started and stopped using startGroup/endGroup
-	 */
-    protected void commitGroups(boolean global) {
-        for (Iterator iter = groups.values().iterator(); iter.hasNext();) {
-            PerformanceMeter meter = (PerformanceMeter) iter.next();
-            meter.commit();
-            if(global)
-            	break;
-        }
-    }
-    
-    protected void setUp() throws Exception {
-    	super.setUp();
-    	setModelSync(false);
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.team.tests.ccvs.core.EclipseTest#tearDown()
-     */
-    protected void tearDown() throws Exception {
-        try {
-            if (groups != null) {
-                Performance perf = Performance.getDefault();
-                try {
-                    for (Iterator iter = groups.values().iterator(); iter.hasNext();) {
-                        PerformanceMeter meter = (PerformanceMeter) iter.next();
-                        perf.assertPerformanceInRelativeBand(meter, Dimension.ELAPSED_PROCESS, -100, 20);
-                    }
-                } finally {
-                    for (Iterator iter = groups.values().iterator(); iter.hasNext();) {
-                        PerformanceMeter meter = (PerformanceMeter) iter.next();
-                        meter.dispose();
-                    }
-                }
-                groups = null;
-            }
-        } finally {
-            super.tearDown();
-        }
-    }
-    
-    /**
-     * Start the meter that was created for the given key
-     * @param string
-     */
-    protected void startGroup(String key) {
-        assertNull(currentMeter);
-        currentMeter = (PerformanceMeter)groups.get(key);
-        currentMeter.start();
-    }
-    
-	/**
-     * End the current meter
-     */
-	protected void endGroup() {
-        currentMeter.stop();
-        currentMeter = null;
-    }
-	
-	protected void disableLog() {
-	    // TODO:
-	}
-	
-	protected void enableLog() {
-	    // TODO:
-	}
-	
-	protected void syncResources(SyncInfoSource source, Subscriber subscriber, IResource[] resources) throws TeamException {
-	    startTask("Synchronize with Repository action");
-	    source.refresh(subscriber, resources);
-	    endTask();
-	}
-
-    /**
-     * @param resources
-     * @param string
-     * @throws CoreException
-     * @throws TeamException
-     */
-    protected void syncCommitResources(SyncInfoSource source, IResource[] resources, String comment) throws TeamException, CoreException {
-       startTask("Synchronize outgoing changes");
-       syncResources(source, source.createWorkspaceSubscriber(), resources);
-       endTask();
-       // TODO: Commit all outgoing changes that are children of the given resource
-       // by extracting them from the subscriber sync set
-       startTask("Commit outgoing changes");
-       commitResources(resources, IResource.DEPTH_INFINITE);
-       endTask();
-    }
-    
-    /**
-     * @param resources
-     * @throws TeamException
-     */
-    protected void syncUpdateResources(SyncInfoSource source, IResource[] resources) throws TeamException {
-        startTask("Synchronize incoming changes");
-        syncResources(source, source.createWorkspaceSubscriber(), resources);
-        endTask();
-        // TODO: Update all incoming changes that are children of the given resource
-        // by extracting them from the subscriber sync set
-        startTask("Update incoming changes");
-        updateResources(resources, false);
-        endTask();
-    }
-    
-    protected void openEmptyPerspective() throws WorkbenchException {
-        // First close any open perspectives
-    	IHandlerService handlerService = (IHandlerService) PlatformUI.getWorkbench()
-				.getService(IHandlerService.class);
-		try {
-			handlerService.executeCommand(
-					"org.eclipse.ui.window.closeAllPerspectives", null);
-		} catch (ExecutionException e1) {
-		} catch (NotDefinedException e1) {
-		} catch (NotEnabledException e1) {
-		} catch (NotHandledException e1) {
-		}
-        // Now open our empty perspective
-        PlatformUI.getWorkbench().showPerspective("org.eclipse.team.tests.cvs.ui.perspective1", PlatformUI.getWorkbench().getActiveWorkbenchWindow());
-    }
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/BenchmarkTestSetup.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/BenchmarkTestSetup.java
deleted file mode 100644
index 60c3cfb..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/BenchmarkTestSetup.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui.benchmark;
-
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-
-import junit.framework.Test;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.tests.ccvs.core.CVSTestSetup;
-import org.osgi.framework.Bundle;
-
-public class BenchmarkTestSetup extends CVSTestSetup {
-	public static final File BIG_ZIP_FILE;
-	public static final File SMALL_ZIP_FILE;
-	public static final File TINY_ZIP_FILE;
-	public static int LOOP_COUNT;
-
-	// Static initializer for constants
-	static {
-	    try {
-			LOOP_COUNT = Integer.valueOf(System.getProperty("eclipse.cvs.loopCount", "6")).intValue();
-		} catch (NumberFormatException e1) {
-			LOOP_COUNT = 1;
-		}
-		try {
-			BIG_ZIP_FILE = getTestFile("benchmarkBig.zip");
-			SMALL_ZIP_FILE = getTestFile("benchmarkSmall.zip");
-			TINY_ZIP_FILE = getTestFile("benchmarkTiny.zip");
-		} catch (IOException e) {
-			throw new Error(e.getMessage());
-		}
-	}
-	
-	public static File getTestFile(String name) throws IOException {
-		Bundle b = Platform.getBundle("org.eclipse.team.tests.cvs.core");
-		URL url = b.getEntry("resources/BenchmarkTest/" + name);
-		url = Platform.resolve(url);
-		if (url.getProtocol().equals("file")) {
-			return new File(url.getFile()).getAbsoluteFile();
-		}
-		throw new IOException("Cannot find test file: " + name);
-	}
-
-	public BenchmarkTestSetup(Test test) {
-		super(test);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/BenchmarkUtils.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/BenchmarkUtils.java
deleted file mode 100644
index a929d97..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/BenchmarkUtils.java
+++ /dev/null
@@ -1,551 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui.benchmark;
-
-
-import java.io.*;
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-import java.util.zip.ZipException;
-import java.util.zip.ZipFile;
-
-import junit.framework.Assert;
-
-import org.eclipse.compare.structuremergeviewer.*;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.internal.ccvs.core.CVSStatus;
-import org.eclipse.ui.wizards.datatransfer.ImportOperation;
-import org.eclipse.ui.wizards.datatransfer.ZipFileStructureProvider;
-
-/**
- * Provides helpers for:
- * <ul>
- *   <li>Resource manipulation</li>
- *   <li>Diff trees</li>
- *   <li>UI automation</li>
- *   <li>Parallel development simulation</li>
- * </ul>
- * 
- * Note: This class is referenced from the VCM 1.0 performance tests.
- */
-public class BenchmarkUtils {
-	/*** RESOURCE MANIPULATION SUPPORT ***/
-	
-	/**
-	 * Gets a handle for a project of a given name.
-	 * @param name the project name
-	 * @return the project handle
-	 */
-	public static IProject getProject(String name) throws CoreException {
-		return ResourcesPlugin.getWorkspace().getRoot().getProject(name);
-	}
-	
-	/**
-	 * Creates a new project.
-	 * @param name the project name
-	 * @return the project handle
-	 */
-	public static IProject createProject(String name) throws CoreException {
-		IProject project = getProject(name);
-		if (!project.exists()) project.create(null);
-		if (!project.isOpen()) project.open(null);
-		return project;
-	}
-
-	/**
-	 * Deletes a project.
-	 * @param project the project
-	 */
-	public static void deleteProject(IProject project) throws CoreException {
-		project.delete(false /*force*/, null);
-	}
-	
-	/**
-	 * Deletes a file and prunes empty containing folders.
-	 * @param file the file to delete
-	 */
-	public static void deleteFileAndPrune(IFile file) throws CoreException {
-		file.delete(false /*force*/, null);
-		IContainer container = file.getParent();
-		while (container != null && container instanceof IFolder &&
-			isFolderEmpty((IFolder) container)) {
-			deleteFolder((IFolder) container);
-			container = container.getParent();
-		}
-	}
-	
-	/**
-	 * Deletes a folder.
-	 */
-	public static void deleteFolder(IFolder folder) throws CoreException {
-		try {
-			folder.delete(false /*force*/, null);
-		} catch (CoreException e) {
-			IStatus status = e.getStatus();
-			// ignore errors caused by attempting to delete folders that CVS needs to have around
-			if (findStatusByCode(status, CVSStatus.FOLDER_NEEDED_FOR_FILE_DELETIONS) == null) {
-				throw e;
-			}
-		}
-	}
-	
-	/**
-	 * Finds an IStatus instance in a multi-status by status code.
-	 */
-	public static IStatus findStatusByCode(IStatus status, int code) {
-		if (status.getCode() == code) return status;
-		IStatus[] children = status.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			IStatus found = findStatusByCode(children[i], code);
-			if (found != null) return found;
-		}
-		return null;
-	}
-
-	/**
-	 * Creates a uniquely named project.
-	 * @param prefix a string prepended to the generated name
-	 * @return the new project
-	 */
-	public static IProject createUniqueProject(String prefix) throws CoreException {
-		return createProject(makeUniqueName(null, prefix, null));
-	}
-
-	/**
-	 * Creates a uniquely named file in the parent folder or project with random contents.
-	 * @param gen the sequence generator
-	 * @param parent the parent IFolder or IProject for the new file
-	 * @param meanSize the mean size of file to create (in bytes)
-	 * @param variance 69% of files with be within this amount of the mean
-	 * @param probBinary the probability of a new file being binary as a percentage
-	 * @return the new file
-	 */
-	public static IFile createUniqueFile(SequenceGenerator gen, IContainer parent,
-		int meanSize, int variance, int probBinary) throws IOException, CoreException {
-		int fileSize;
-		do {
-			fileSize = (int) Math.abs(gen.nextGaussian() * variance + meanSize);
-		} while (fileSize > meanSize + variance * 4); // avoid huge files
-		
-		ByteArrayOutputStream os = new ByteArrayOutputStream();
-		String fileName;
-		if (gen.nextInt(100) < probBinary) {
-			fileName = makeUniqueName(gen, "file", "class"); // binary
-			writeRandomBytes(gen, os, fileSize);
-		} else {
-			fileName = makeUniqueName(gen, "file", "txt"); // text
-			writeRandomText(gen, os, fileSize);
-		}
-		IFile file = parent.getFile(new Path(fileName));
-		file.create(new ByteArrayInputStream(os.toByteArray()), true, new NullProgressMonitor());
-		os.close();
-		return file;
-	}
-
-	/**
-	 * Creates a uniquely named folder in the parent folder.
-	 * @param gen the sequence generator
-	 * @param parent the parent IFolder or IProject for the new folder
-	 * @return the new folder
-	 */
-	public static IFolder createUniqueFolder(SequenceGenerator gen, IContainer parent) throws CoreException {
-		IFolder folder = parent.getFolder(new Path(BenchmarkUtils.makeUniqueName(gen, "folder", null)));
-		folder.create(false /*force*/, true /*local*/, null);
-		return folder;
-	}
-	
-	/**
-	 * Renames a resource.
-	 * The resource handle becomes invalid.
-	 * @param resource the existing resource
-	 * @param newName the new name for the resource
-	 */
-	public static void renameResource(IResource resource, String newName) throws CoreException {
-		switch (resource.getType()) {
-			case IResource.PROJECT: {
-				IProject project = (IProject) resource;
-				IProjectDescription desc = project.getDescription();
-				desc.setName(newName);
-				project.move(desc, false /*force*/, true /*keepHistory*/, null);
-			} break;
-			case IResource.FOLDER: {
-				try {
-					resource.move(new Path(newName), false /*force*/, null);
-				} catch (CoreException e) {
-					IStatus status = e.getStatus();
-					// ignore errors caused by attempting to delete folders that CVS needs to have around
-					if (findStatusByCode(status, CVSStatus.FOLDER_NEEDED_FOR_FILE_DELETIONS) == null) {
-						throw e;
-					}
-				}
-			} break;
-			default:
-				resource.move(new Path(newName), false /*force*/, null);
-				break;
-		}
-	}
-
-	/**
-	 * Modified a resource.
-	 * @param gen the sequence generator
-	 * @param file the file to modify
-	 */
-	public static void modifyFile(SequenceGenerator gen, IFile file)
-		throws IOException, CoreException {
-		ByteArrayOutputStream os = new ByteArrayOutputStream();
-		try {
-			InputStream is = file.getContents(true);
-			try {
-				byte[] buffer = new byte[8192];
-				int rsize;
-				boolean changed = false;
-				while ((rsize = is.read(buffer)) != -1) {
-					double gaussian;
-					do {
-						gaussian = gen.nextGaussian() * 0.5; // large changes are less likely than small ones
-					} while (gaussian > 1.0 || gaussian < -1.0);
-					int changeSize = (int) (gaussian * rsize);
-					changed = changed || changeSize != 0;
-					os.write(buffer, 0, changeSize < 0 ? - changeSize : rsize); // shrink file
-					writeRandomText(gen, os, changeSize); // enlarge file
-				}
-				if (! changed) os.write('!'); // make sure we actually did change the file
-				file.setContents(new ByteArrayInputStream(os.toByteArray()), false /*force*/, true /*keepHistory*/, null);
-			} finally {
-				is.close();
-			}
-		} finally {
-			os.close();
-		}
-	}
-	
-	/**
-	 * Creates a unique name.
-	 * Ensures that a deterministic sequence of names is generated for all files
-	 * and folders within a project, though not across sessions.
-	 * 
-	 * @param gen the generator, or null if this name is to be globally unique
-	 * @param prefix a string prepended to the generated name
-	 * @param extension the file extension not including the period, null if none
-	 * @return the new name
-	 */
-	public static String makeUniqueName(SequenceGenerator gen, String prefix, String extension)
-		throws CoreException {
-		StringBuffer name = new StringBuffer(prefix);
-		name.append('-');
-		if (gen == null) {
-			name.append(SequenceGenerator.nextGloballyUniqueLong());
-		} else {
-			name.append(gen.nextUniqueInt());
-		}
-		if (extension != null) {
-			name.append('.');
-			name.append(extension);
-		}
-		return name.toString();
-	}
-	
-	/**
-	 * Imports a .zip file into a container's root folder.
-	 * @param container the container
-	 * @param file the path of the .zip file
-	 */
-	public static void importZip(IContainer container, File file)
-		throws IOException, ZipException, InterruptedException, InvocationTargetException {
-		ZipFile zipFile = new ZipFile(file);
-		ZipFileStructureProvider provider = new ZipFileStructureProvider(zipFile);
-		ImportOperation importOperation = new ImportOperation(container.getFullPath(),
-			provider.getRoot(), provider, null);
-		importOperation.setOverwriteResources(true); // don't ask
-		importOperation.run(new NullProgressMonitor());
-		Assert.assertTrue(importOperation.getStatus().isOK());
-	}
-
-	/**
-	 * Writes random text to an output stream.
-	 * @param gen the sequence generator
-	 */
-	public static void writeRandomText(SequenceGenerator gen, OutputStream os, int count) throws IOException {
-		while (count-- > 0) {
-			int c = gen.nextInt(99);
-			os.write((c >= 95) ? '\n' : c + ' ');
-		}
-	}
-
-	/**
-	 * Writes random bytes to an output stream.
-	 * @param gen the sequence generator
-	 */
-	public static void writeRandomBytes(SequenceGenerator gen, OutputStream os, int count) throws IOException {
-		while (count-- > 0) {
-			os.write(gen.nextInt(256));
-		}
-	}
-
-	/**
-	 * Creates a random folder deeply below the root folder.
-	 * @param gen the sequence generator
-	 * @param root the root IFolder or IProject for the operation
-	 * @return the new folder
-	 */
-	public static IFolder createRandomDeepFolder(SequenceGenerator gen, IContainer root) throws CoreException {
-		IContainer container = pickRandomDeepContainer(gen, root);
-		for (;;) {
-			IFolder folder = createUniqueFolder(gen, container);
-			container = folder;
-			// 12.5% chance of creating a nested folder
-			if (gen.nextInt(8) != 0) return folder;
-		}
-	}
-	
-	/**
-	 * Creates several random files deeply below the root folder.
-	 * @param gen the sequence generator
-	 * @param root the root IFolder or IProject for the operation
-	 * @param count the number of files to create
-	 * @param meanSize the mean size of file to create (in bytes)
-	 * @param probBinary the probability of a new file being binary as a percentage
-	 */
-	public static void createRandomDeepFiles(SequenceGenerator gen, IContainer root, int count,
-		int meanSize, int variance, int probBinary) throws IOException, CoreException  {
-		while (count-- > 0) {
-			createUniqueFile(gen, pickRandomDeepContainer(gen, root), meanSize, variance, probBinary);
-		}
-	}
-
-	/**
-	 * Deletes several random files deeply below the root folder.
-	 * @param gen the sequence generator
-	 * @param root the root IFolder or IProject for the operation
-	 * @param count the number of files to delete
-	 */
-	public static void deleteRandomDeepFiles(SequenceGenerator gen, IContainer root, int count) throws CoreException  {
-		while (count-- > 0) {
-			IFile file = pickRandomDeepFile(gen, root);
-			if (file == null) break;
-			deleteFileAndPrune(file);
-		}
-	}
-
-	/**
-	 * Modifies several random files deeply below the root folder.
-	 * @param gen the sequence generator
-	 * @param root the root IFolder or IProject for the operation
-	 * @param count the number of files to modify
-	 */
-	public static void modifyRandomDeepFiles(SequenceGenerator gen, IContainer root, int count)
-		throws IOException, CoreException  {
-		// perhaps we can add a parameter for the "magnitude" of the change
-		while (count-- > 0) {
-			IFile file = pickRandomDeepFile(gen, root);
-			if (file == null) break;
-			modifyFile(gen, file);
-		}
-	}
-	
-	/**
-	 * Touches several random files deeply below the root folder.
-	 * @param gen the sequence generator
-	 * @param root the root IFolder or IProject for the operation
-	 * @param count the number of files to touch
-	 */
-	public static void touchRandomDeepFiles(SequenceGenerator gen, IContainer root, int count) throws CoreException  {
-		while (count-- > 0) {
-			IFile file = pickRandomDeepFile(gen, root);
-			if (file == null) break;
-			file.touch(null);
-		}
-	}
-	
-	/**
-	 * Renames several random files deeply below the root folder.
-	 * @param gen the sequence generator
-	 * @param root the root IFolder or IProject for the operation
-	 * @param count the number of files to touch
-	 */
-	public static void renameRandomDeepFiles(SequenceGenerator gen, IContainer root, int count) throws CoreException  {
-		while (count-- > 0) {
-			IFile file = pickRandomDeepFile(gen, root);
-			if (file == null) break;
-			renameResource(file, makeUniqueName(gen, "file", file.getFileExtension()));
-		}
-	}
-	
-	/**
-	 * Picks a random file from the parent folder or project.
-	 * @param gen the sequence generator
-	 * @param parent the parent IFolder or IProject for the operation
-	 * @return the file that was chosen, or null if no suitable files
-	 */
-	public static IFile pickRandomFile(SequenceGenerator gen, IContainer parent) throws CoreException  {
-		IResource[] members = filterResources(parent.members());
-		for (int size = members.length; size != 0; --size) {
-			int elem = gen.nextInt(size);
-			if (members[elem] instanceof IFile) return (IFile) members[elem];			
-			System.arraycopy(members, elem + 1, members, elem, size - elem - 1);
-		}
-		return null;
-	}
-
-	/**
-	 * Picks a random folder from the parent folder or project.
-	 * @param gen the sequence generator
-	 * @param parent the parent IFolder or IProject for the operation
-	 * @return the folder, or null if no suitable folders
-	 */
-	public static IFolder pickRandomFolder(SequenceGenerator gen, IContainer parent) throws CoreException {
-		IResource[] members = filterResources(parent.members());
-		for (int size = members.length; size != 0; --size) {
-			int elem = gen.nextInt(size);
-			if (members[elem] instanceof IFolder) return (IFolder) members[elem];
-			System.arraycopy(members, elem + 1, members, elem, size - elem - 1);
-		}
-		return null;
-	}
-
-	/**
-	 * Picks a random file deeply from the root folder or project.
-	 * @param gen the sequence generator
-	 * @param root the root IFolder or IProject for the operation
-	 * @return the file that was chosen, or null if no suitable files
-	 */
-	public static IFile pickRandomDeepFile(SequenceGenerator gen, IContainer root) throws CoreException  {
-		IResource[] members = filterResources(root.members());
-		for (int size = members.length; size != 0; --size) {
-			int elem = gen.nextInt(size);
-			IResource resource = members[elem];
-			if (resource instanceof IFile) return (IFile) resource;
-			if (resource instanceof IFolder) {
-				IFile file = pickRandomDeepFile(gen, (IFolder) resource);
-				if (file != null) return file;
-			}
-			System.arraycopy(members, elem + 1, members, elem, size - elem - 1);
-		}
-		return null;
-	}
-
-	/**
-	 * Picks a random folder deeply from the root folder or project.
-	 * May pick the project's root container.
-	 * @param gen the sequence generator
-	 * @param root the root IFolder or IProject for the operation
-	 * @return the container that was chosen, never null
-	 */
-	public static IContainer pickRandomDeepContainer(SequenceGenerator gen, IContainer root) throws CoreException {
-		if (gen.nextInt(6) == 0) {
-			IResource[] members = filterResources(root.members());
-			for (int size = members.length; size != 0; --size) {
-				int elem = gen.nextInt(size);
-				IResource resource = members[elem];
-				if (resource instanceof IFolder) {
-					return pickRandomDeepContainer(gen, (IFolder) resource);
-				}
-				System.arraycopy(members, elem + 1, members, elem, size - elem - 1);
-			}
-		}
-		Assert.assertTrue(isValidContainer(root));
-		return root;
-	}
-	
-	/**
-	 * Returns true if the folder does not contain any real files.
-	 */
-	public static boolean isFolderEmpty(IFolder folder) throws CoreException {
-		IResource[] members = folder.members();
-		for (int i = 0; i < members.length; ++i) {
-			if (isValidFile(members[i]) || isValidFolder(members[i])) return false;
-		}
-		return true;
-	}
-
-	/**
-	 * Returns true iff file is a valid IFile (that should not be ignored).
-	 */
-	public static boolean isValidFile(IResource file) throws CoreException {
-		String name = file.getName();
-		return file instanceof IFile
-			&& ! file.isPhantom()
-			&& ! name.equals(".classpath")
-			&& ! name.equals(".project")
-			&& ! name.equals(".vcm_meta");
-	}
-
-	/**
-	 * Returns true iff folder is a valid IFolder (that should not be ignored).
-	 */
-	public static boolean isValidFolder(IResource folder) throws CoreException {
-		String name = folder.getName();
-		return folder instanceof IFolder
-			&& ! folder.isPhantom()
-			&& ! name.equals("CVS")
-			&& ! name.equals("bin");
-	}
-
-	/**
-	 * Returns true iff container is a valid IFolder or IProject (that should not be ignored).
-	 */
-	public static boolean isValidContainer(IResource container) throws CoreException {
-		return container instanceof IProject || isValidFolder(container);
-	}
-	
-	/**
-	 * Returns true iff resource is a valid IFile, IFolder or IProject (that should not be ignored).
-	 */
-	public static boolean isValidResource(IResource resource) throws CoreException {
-		return isValidFile(resource) || isValidContainer(resource);
-	}
-
-	/**
-	 * Filters and sorts an array of resources to ensure deterministic behaviour across
-	 * sessions.  The general idea is to guarantee that given a known sequence of
-	 * pseudo-random numbers, we will always pick the same sequence of files and
-	 * folders each time we repeat the test.
-	 */
-	public static IResource[] filterResources(IResource[] resources) throws CoreException {
-		List list = new ArrayList(resources.length);
-		for (int i = 0; i < resources.length; ++i) {
-			if (isValidResource(resources[i])) list.add(resources[i]);
-		}
-		if (list.size() != resources.length) {
-			resources = (IResource[]) list.toArray(new IResource[list.size()]);
-		}
-		Arrays.sort(resources, new Comparator() {
-			public int compare(Object a, Object b) {
-				return ((IResource) a).getName().compareTo(((IResource) b).getName());
-			}
-		});
-		return resources;
-	}
-	
-	/*** DIFF SUPPORT ***/
-	
-	public static boolean isEmpty(IDiffContainer node) {
-		if (node == null) return true;
-		if (node.getKind() != 0) return false;
-		IDiffElement[] children = node.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			if (!isEmpty(children[i])) return false;
-		}
-		return true;
-	}
-	public static boolean isEmpty(IDiffElement element) {
-		if (element == null) return true;
-		if (element.getKind() != 0) return false;
-		if (element instanceof IDiffContainer) {
-			IDiffElement[] children = ((DiffNode)element).getChildren();
-			for (int i = 0; i < children.length; i++) {
-				if (!isEmpty(children[i])) return false;
-			}
-		}
-		return true;
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/Bug152581Test.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/Bug152581Test.java
deleted file mode 100644
index 887ac7b..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/Bug152581Test.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui.benchmark;
-
-import java.io.*;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.team.tests.ccvs.core.subscriber.SyncInfoSource;
-import org.eclipse.team.tests.ccvs.ui.ModelParticipantSyncInfoSource;
-import org.eclipse.team.tests.ccvs.ui.SubscriberParticipantSyncInfoSource;
-
-/**
- * The test performed by this class is used to compare the performance of the old-style synchronization
- * and the model-based synchronization. It also performs an update to use as a baseline. 
- * <p>
- * The data used for the test is from bug 152581. The data used is the client/server
- * communication trace. This data is used to create and share a similar file structure.
- */
-public class Bug152581Test extends BenchmarkTest {
-
-	private static final String OLD_SYNCHRONIZE_GROUP_SUFFIX = "OldSynchronize";
-	private static final String NEW_SYNCHRONIZE_GROUP_SUFFIX = "NewSynchronize";
-	private static final String UPDATE_GROUP_SUFFIX = "Update";
-	private static final String OLD_SYNCHRONIZE_GROUP_SUFFIX2 = "OldSynchronize2";
-	private static final String NEW_SYNCHRONIZE_GROUP_SUFFIX2 = "NewSynchronize2";
-	private static final String UPDATE_GROUP_SUFFIX2 = "Update2";
-    private static final String[] PERFORMANCE_GROUPS = new String[] {OLD_SYNCHRONIZE_GROUP_SUFFIX, NEW_SYNCHRONIZE_GROUP_SUFFIX, UPDATE_GROUP_SUFFIX, OLD_SYNCHRONIZE_GROUP_SUFFIX2, NEW_SYNCHRONIZE_GROUP_SUFFIX2, UPDATE_GROUP_SUFFIX2};
-    
-	public Bug152581Test() {
-		super();
-	}
-
-	public Bug152581Test(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		return suite(Bug152581Test.class);
-	}
-	
-	private void populateProject(BufferedReader reader, IProject project) throws IOException {
-		String line;
-		IContainer currentDir = null;
-		while((line = reader.readLine()) != null) {
-			if (line.startsWith("Directory")) {
-				String path = line.substring(9).trim();
-				currentDir = ensureFolderExists(project, path);
-			} else if (line.startsWith("Unchanged")) {
-				String filename = line.substring(9).trim();
-				ensureFileExists(currentDir, filename);
-			}
-		}
-	}
-	
-	private void ensureFileExists(IContainer currentDir, String filename) {
-		if (filename.equals(".project") && currentDir.getType() == IResource.PROJECT)
-			return;
-		ensureExistsInWorkspace(currentDir.getFile(new Path(null,filename)), true);
-	}
-
-	public void ensureExistsInWorkspace(final IResource resource, final boolean local) {
-		IWorkspaceRunnable body = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				create(resource, local);
-			}
-		};
-		try {
-			getWorkspace().run(body, null);
-		} catch (CoreException e) {
-			if (!resource.exists())
-				fail("#ensureExistsInWorkspace(IResource): " + resource.getFullPath(), e);
-		}
-	}
-	
-	private IContainer ensureFolderExists(IProject project, String path) {
-		if (path.equals("."))
-			return project;
-		IFolder folder = project.getFolder(path);
-		ensureExistsInWorkspace(folder,true);
-		return folder;
-	}
-
-	private IProject createProject(String filename) throws IOException, CoreException {
-		File file = BenchmarkTestSetup.getTestFile(filename + ".txt");
-		InputStream content = getContents(file, "Could not read seed file " + filename + ".txt");
-		try {
-			BufferedReader reader = new BufferedReader(new InputStreamReader(content));
-			IProject project = getUniqueTestProject(filename);
-			populateProject(reader, project);
-			shareProject(project);
-			// Perform an update to prune any empty directories
-			updateProject(project, null, false);
-			return project;
-		} finally {
-			content.close();
-		}
-	}
-	
-	public void testCase1() throws IOException, CoreException {
-		openEmptyPerspective();
-		IProject project = createProject("bug152581case1");
-		IProject project2 = createProject("bug152581case2");
-		setupGroups(PERFORMANCE_GROUPS, "Sync Tests", false);
-		System.out.println("Here we go");
-		for (int i = 0; i < 100; i++) {
-			SyncInfoSource source = new SubscriberParticipantSyncInfoSource();
-			startGroup(OLD_SYNCHRONIZE_GROUP_SUFFIX);
-			syncResources(source, source.createWorkspaceSubscriber(), new IResource[] { project });
-			endGroup();
-			startGroup(OLD_SYNCHRONIZE_GROUP_SUFFIX2);
-			syncResources(source, source.createWorkspaceSubscriber(), new IResource[] { project2 });
-			endGroup();
-			source = new ModelParticipantSyncInfoSource();
-			startGroup(NEW_SYNCHRONIZE_GROUP_SUFFIX);
-			syncResources(source, source.createWorkspaceSubscriber(), new IResource[] { project });
-			endGroup();
-			startGroup(NEW_SYNCHRONIZE_GROUP_SUFFIX2);
-			syncResources(source, source.createWorkspaceSubscriber(), new IResource[] { project2 });
-			endGroup();
-			startGroup(UPDATE_GROUP_SUFFIX);
-			updateResources(new IResource[] { project }, false);
-			endGroup();
-			startGroup(UPDATE_GROUP_SUFFIX2);
-			updateResources(new IResource[] { project2 }, false);
-			endGroup();
-			System.out.println(i + 1);
-		}
-		commitGroups(false);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/SequenceGenerator.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/SequenceGenerator.java
deleted file mode 100644
index 207fb45..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/SequenceGenerator.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui.benchmark;
-
-
-import java.util.Random;
-
-/**
- * Encapsulates algorithms and state for generating deterministic sequences.
- * The sequence of numbers generated will always follow the same pattern,
- * regardless of the time, place, or platform.
- */
-public class SequenceGenerator {
-	private static long globalSeqNum = System.currentTimeMillis() * 1000;
-	private final Random random;
-	private int uniqueInt;
-
-	/**
-	 * Constructs a new sequence generator with a known seed.
-	 */
-	public SequenceGenerator() {
-		random = new Random(3141592653589793238L); // a known constant
-		uniqueInt = 1000000;
-	}
-	
-	/**
-	 * Returns a globally unique long integer.
-	 */
-	public static long nextGloballyUniqueLong() {
-		return globalSeqNum++;
-	}
-	
-	/**
-	 * Returns a unique 7-digit integer.
-	 */
-	public int nextUniqueInt() {
-		return uniqueInt++;
-	}
-
-	/**
-	 * Returns a pseudo-random integer between 0 and n-1.
-	 * @see Random#nextInt(int)
-	 */
-	public int nextInt(int n) {
-		return random.nextInt(n);
-	}
-	
-	/**
-	 * Returns a pseudo-random real number following a gaussian distribution.
-	 * @see Random#nextGaussian()
-	 */
-	public double nextGaussian() {
-		return random.nextGaussian();
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/ShareAndCheckoutTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/ShareAndCheckoutTest.java
deleted file mode 100644
index c082aa1..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/ShareAndCheckoutTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui.benchmark;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.zip.ZipException;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.team.core.TeamException;
-
-/**
- * Benchmark test which shares and checks out a large project
- */
-public class ShareAndCheckoutTest extends BenchmarkTest {
-
-	public ShareAndCheckoutTest() {
-		super();
-	}
-
-	public ShareAndCheckoutTest(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		return suite(ShareAndCheckoutTest.class);
-	}
-		
-	public void testShareAndCheckout() throws TeamException, ZipException, CoreException, IOException, InterruptedException, InvocationTargetException {
-		IProject project = createUniqueProject(BenchmarkTestSetup.BIG_ZIP_FILE);
-		shareProject(project);
-		checkoutCopy(project, "-copy"); //$NON-NLS-1$
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/SyncTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/SyncTests.java
deleted file mode 100644
index d58a621..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/SyncTests.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui.benchmark;
-
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.team.tests.ccvs.core.subscriber.SyncInfoSource;
-
-public class SyncTests extends BenchmarkTest {
-	private static final int FILE_SIZE_MEAN = 16384;
-	private static final int FILE_SIZE_VARIANCE = 0;
-	private static final int PROB_BINARY = 0;
-	
-	private static final String ADDED_GROUP_SUFFIX = "AddedFiles";
-	private static final String REMOVED_GROUP_SUFFIX = "RemovedFiles";
-	private static final String MODIFIED_GROUP_SUFFIX = "ModifiedFiles";
-    private static final String[] PERFORMANCE_GROUPS = new String[] {ADDED_GROUP_SUFFIX, MODIFIED_GROUP_SUFFIX, REMOVED_GROUP_SUFFIX};
-	
-	public SyncTests() {
-		super();
-	}
-
-	public SyncTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		return suite(SyncTests.class);
-	}
-    
-    public void testSync100NoUI() throws Exception {
-        runTestSync(100, "CVS Synchronize No UI", false, new SyncInfoSource());
-    }
-
-	protected IProject setupOutProject() throws Exception {
-		IProject project = createUniqueProject(BenchmarkTestSetup.SMALL_ZIP_FILE);
-		shareProject(project);
-		return project;
-	}
-	
-	/**
-	 * Runs a sequence of operations for the synchronizer tests.
-	 * A parallel project is used to generate incoming changes.
-	 */
-	protected void runTestSync(int size, String globalName, boolean global, SyncInfoSource source) throws Exception {
-        openEmptyPerspective();
-	    setupGroups(PERFORMANCE_GROUPS, globalName, global);
-	    for (int i = 0; i < BenchmarkTestSetup.LOOP_COUNT; i++) {
-			final SequenceGenerator gen = new SequenceGenerator();
-	
-			// setup out project then move it out of the way
-			IProject outProject = setupOutProject();
-			String moduleName = outProject.getName();
-			BenchmarkUtils.renameResource(outProject, moduleName + "out");
-			outProject = BenchmarkUtils.getProject(moduleName + "out");
-	
-			// setup in project
-			IProject inProject = BenchmarkUtils.getProject(moduleName);
-			checkoutProject(inProject, moduleName, null);
-			
-			/*** outgoing and incoming changes ***/
-			startGroup(ADDED_GROUP_SUFFIX);
-			BenchmarkUtils.createRandomDeepFiles(gen, outProject, size, FILE_SIZE_MEAN, FILE_SIZE_VARIANCE, PROB_BINARY);
-			syncCommitResources(source, new IResource[] { outProject }, "");
-			syncUpdateResources(source, new IResource[] { inProject });
-			endGroup();
-			
-			startGroup(MODIFIED_GROUP_SUFFIX);
-			BenchmarkUtils.modifyRandomDeepFiles(gen, outProject, size);
-			syncCommitResources(source, new IResource[] { outProject }, "");
-			syncUpdateResources(source, new IResource[] { inProject });
-			endGroup();
-	
-			startGroup(REMOVED_GROUP_SUFFIX);
-			BenchmarkUtils.deleteRandomDeepFiles(gen, outProject, size);
-			syncCommitResources(source, new IResource[] { outProject }, "");
-			syncUpdateResources(source, new IResource[] { inProject });
-			endGroup();
-        }
-	    commitGroups(global);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/Util.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/Util.java
deleted file mode 100644
index a00302a..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/Util.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui.benchmark;
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.zip.ZipException;
-import java.util.zip.ZipFile;
-
-import junit.framework.Assert;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.ui.wizards.datatransfer.ImportOperation;
-import org.eclipse.ui.wizards.datatransfer.ZipFileStructureProvider;
-
-/**
- * CVS Test related utility methods
- */
-public class Util {
-	
-	/**
-	 * Imports a .zip file into a container's root folder.
-	 * @param container the container
-	 * @param file the path of the .zip file
-	 */
-	public static void importZip(IContainer container, File file)
-		throws IOException, ZipException, InterruptedException, InvocationTargetException {
-		ZipFile zipFile = new ZipFile(file);
-		ZipFileStructureProvider provider = new ZipFileStructureProvider(zipFile);
-		ImportOperation importOperation = new ImportOperation(container.getFullPath(),
-			provider.getRoot(), provider, null);
-		importOperation.setOverwriteResources(true); // don't ask
-		importOperation.run(new NullProgressMonitor());
-		Assert.assertTrue(importOperation.getStatus().isOK());
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/WorkflowTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/WorkflowTests.java
deleted file mode 100644
index 709de63..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/benchmark/WorkflowTests.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.team.tests.ccvs.ui.benchmark;
-
-import java.io.File;
-
-import junit.framework.Test;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.team.internal.ccvs.core.CVSTag;
-import org.eclipse.team.tests.ccvs.core.subscriber.SyncInfoSource;
-
-public class WorkflowTests extends BenchmarkTest {
-	private int FILE_SIZE_MEAN = 16384;
-	private int FILE_SIZE_VARIANCE = 12288;
-	private int PROB_BINARY = 5;
-    private static final String SHARE_PROJECT = "Share";
-    private static final String CHECKOUT_PROJECT = "Checkout";
-    private static final String COMMIT1 = "Commit1";
-    private static final String COMMIT2 = "Commit2";
-    private static final String COMMIT3 = "Commit3";
-    private static final String COMMIT4 = "Commit4";
-    private static final String UPDATE1 = "Update1";
-    private static final String UPDATE2 = "Update2";
-    private static final String UPDATE3 = "Update3";
-    private static final String UPDATE4 = "Update4";
-    private static final String REPLACE1 = "Replace1";
-    private static final String REPLACE2 = "Replace2";
-    private static final String REPLACE3 = "Replace3";
-    private static final String TAG1 = "Tag1";
-    private static final String[] PERFORMANCE_GROUPS = new String[] {
-        SHARE_PROJECT, CHECKOUT_PROJECT, COMMIT1, COMMIT2, COMMIT3, COMMIT4, 
-        UPDATE1, UPDATE2, UPDATE3, UPDATE4, REPLACE1, REPLACE2, REPLACE3, TAG1
-    };
-
-	public WorkflowTests() {
-		super();
-	}
-
-	public WorkflowTests(String name) {
-		super(name);
-	}
-
-	public static Test suite() {
-		return suite(WorkflowTests.class);
-	}
-    
-    public void testBigWorkflowNoUI() throws Exception {
-        runWorkflowTests("testBigWithNoUI", BenchmarkTestSetup.BIG_ZIP_FILE, "CVS Workflow No UI", BenchmarkTestSetup.LOOP_COUNT, false, new SyncInfoSource());
-    }
-	
-    protected void waitForBuild() {
-    	super.waitForBuild();
-    	// Ensure that we can obtrain the worksapce lock before continuing
-    	IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-    	try {
-    		Platform.getJobManager().beginRule(root, null);
-    	} finally {
-    		Platform.getJobManager().endRule(root);
-    	}
-    }
-    
-	/**
-	 * Runs a series of incoming and outgoing workflow-related tests.
-	 */
-	protected void runWorkflowTests(String name, File initialContents, String globalName, int loopCount, boolean global, SyncInfoSource source) throws Exception {
-        openEmptyPerspective();
-	    setupGroups(PERFORMANCE_GROUPS, globalName, global);
-	    for (int i = 0; i < loopCount; i++) {
-			final SequenceGenerator gen = new SequenceGenerator();
-			IProject outProject = createAndImportProject(name, initialContents);
-			
-			// test project sharing			
-			startGroup(SHARE_PROJECT);
-			shareProject(outProject);
-			endGroup();
-			
-			// move the project out of the way
-			String moduleName = outProject.getName();
-			BenchmarkUtils.renameResource(outProject, moduleName + "out");
-			outProject = BenchmarkUtils.getProject(moduleName + "out");
-			waitForBuild();
-			
-			// test initial project checkout
-			IProject inProject = BenchmarkUtils.getProject(moduleName);
-			startGroup(CHECKOUT_PROJECT);
-			checkoutProject(inProject, moduleName, null);
-			endGroup();
-			
-			// Test incoming and outgoing change scenarios
-			
-			// Test 1: adding a new component - localized additions and some changes
-			startGroup(COMMIT1);
-			BenchmarkUtils.modifyRandomDeepFiles(gen, outProject, 5);
-			BenchmarkUtils.touchRandomDeepFiles(gen, outProject, 2);
-			IFolder componentRoot = BenchmarkUtils.createRandomDeepFolder(gen, outProject);
-			BenchmarkUtils.createRandomDeepFiles(gen, componentRoot, 12, FILE_SIZE_MEAN, FILE_SIZE_VARIANCE, PROB_BINARY);
-			syncCommitResources(source, new IResource[] { outProject }, "");	
-			endGroup();
-			// Test 1: catching up to a new component - localized additions and some changes
-			startGroup(UPDATE1);
-			syncUpdateResources(source, new IResource[] { inProject });
-			endGroup();
-	
-			// Test 2: fixing a bug - localized changes
-			startGroup(COMMIT2);
-			BenchmarkUtils.modifyRandomDeepFiles(gen, componentRoot, 2);
-			BenchmarkUtils.touchRandomDeepFiles(gen, componentRoot, 2);
-			syncCommitResources(source, new IResource[] { outProject }, "");
-			endGroup();
-			// Test 2: catching up to a bug fix - localized changes
-			startGroup(UPDATE2);
-			syncUpdateResources(source, new IResource[] { inProject });
-			endGroup();
-			
-			// Test 3: moving a package - scattered changes, files moved
-			startGroup(COMMIT3);
-			BenchmarkUtils.modifyRandomDeepFiles(gen, outProject, 5);        // a few scattered changes
-			BenchmarkUtils.modifyRandomDeepFiles(gen, componentRoot, 12); // changes to "package" stmt
-			BenchmarkUtils.renameResource(componentRoot, BenchmarkUtils.makeUniqueName(gen, "folder", null));
-			syncCommitResources(source, new IResource[] { outProject }, "");
-			endGroup();
-			// Test 3: catching up to a moved package - scattered changes, files moved
-			startGroup(UPDATE3);
-			syncUpdateResources(source, new IResource[] { inProject });
-			endGroup();
-			
-			// Test 4: big refactoring - scattered changes, files renamed and balanced additions/deletions
-			startGroup(COMMIT4);		
-			BenchmarkUtils.deleteRandomDeepFiles(gen, outProject, 4);  // some stuff deleted
-			BenchmarkUtils.modifyRandomDeepFiles(gen, outProject, 20); // many scattered changes
-			BenchmarkUtils.renameRandomDeepFiles(gen, outProject, 5);  // renamed some stuff
-			BenchmarkUtils.createRandomDeepFiles(gen, outProject, 4, FILE_SIZE_MEAN, FILE_SIZE_VARIANCE, PROB_BINARY);  // some new stuff added
-			syncCommitResources(source, new IResource[] { outProject }, "");
-			endGroup();
-			// Test 4: catching up to a big refactoring - scattered changes, files renamed and balanced additions/deletions
-			startGroup(UPDATE4);		
-			syncUpdateResources(source, new IResource[] { inProject });
-			endGroup();
-	
-			// Test 5: test tagging a project
-			startGroup(TAG1);
-			tagProject(outProject, new CVSTag("v101", CVSTag.VERSION), false);
-			endGroup();
-	
-			// replace with remote contents
-			// Test 6: no local dirty files, no remote changes
-			startGroup(REPLACE1);
-			replace(new IResource[] { inProject }, null, true);
-			endGroup();
-	
-			// Test 7: abandoning some local work, no remote changes
-			startGroup(REPLACE2);
-			BenchmarkUtils.deleteRandomDeepFiles(gen, inProject, 4); // some stuff locally deleted
-			BenchmarkUtils.modifyRandomDeepFiles(gen, inProject, 6); // a few unimportant changes to forget
-			BenchmarkUtils.createRandomDeepFiles(gen, inProject, 4, FILE_SIZE_MEAN, FILE_SIZE_VARIANCE, PROB_BINARY); // some new work to abandon
-			replace(new IResource[] { inProject }, null, true);
-			endGroup();
-	
-			// Test 8: no local dirty files, many remote changes
-			// e.g. returning from a long vacation
-			BenchmarkUtils.deleteRandomDeepFiles(gen, outProject, 10); // some components obsoleted
-			BenchmarkUtils.modifyRandomDeepFiles(gen, outProject, 42); // many changes
-			BenchmarkUtils.renameRandomDeepFiles(gen, outProject, 8);  // evidence of some refactoring
-			BenchmarkUtils.createRandomDeepFiles(gen, outProject, 10, FILE_SIZE_MEAN, FILE_SIZE_VARIANCE, PROB_BINARY); // a few new components added
-			syncCommitResources(source, new IResource[] { outProject }, "");
-			startGroup(REPLACE3);
-			replace(new IResource[] { inProject }, null, true);
-			endGroup();
-	    }
-	    commitGroups(global);
-	}
-}
diff --git a/tests/org.eclipse.team.tests.cvs.core/test.xml b/tests/org.eclipse.team.tests.cvs.core/test.xml
deleted file mode 100644
index 8eaff55..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/test.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="CVS Automated Tests" default="run" basedir=".">
-
-  <!-- The property ${eclipse-home} should be passed into this script -->
-  
-  <!-- sets the properties eclipse-home, and library-file -->
-  <property name="eclipse-home" value="${basedir}/../../"/>
-  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>
-  <property name="plugin-name" value="org.eclipse.team.tests.cvs.core"/>
-
-  <!-- get the repository.properties which identify the cvs test repository -->
-  <property name="org.eclipse.team.tests.cvs.core" value="org.eclipse.team.tests.cvs.core"/>
-  <property name="team-home" value="${eclipse-home}/dropins/eclipse/plugins/${org.eclipse.team.tests.cvs.core}"/>
-  <property file="${team-home}/repository.properties"/>
-  
-  <!-- define the number of times each perfomance test shouldbe run to get an average performance -->
-  <property name="performance-loop-count" value="5"/>
-
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-   <delete>
-      <fileset dir="${eclipse-home}" includes="org*.xml"/>
-  </delete>
-  </target>
-
-  <!-- This target defines the tests that need to be run for regression testing. -->
-  <target name="suite">
-    <property name="location" value="${eclipse-home}/cvs_sniff_folder"/>
-    <delete dir="${location}" quiet="true"/>
-
-    <!-- Session Test ** CVS Provider ** -->
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="vmargs" value="-Declipse.cvs.properties=${team-home}/repository.properties -Declipse.cvs.recordProtocolTraffic=true"/>
-      <property name="data-dir" value="${location}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" value="org.eclipse.team.tests.ccvs.core.AllCoreTests"/>
-    </ant>
-    
-    <!-- Session Test ** CVS Provider ** -->
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="vmargs" value="-Declipse.cvs.properties=${team-home}/repository.properties -Declipse.cvs.recordProtocolTraffic=true"/>
-      <property name="data-dir" value="${location}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" value="org.eclipse.team.tests.ccvs.core.AllTests"/>
-    </ant>
-
-  </target>
-  
-  <!-- This target defines the performance tests that need to be run. -->
-  <target name="performance-suite">
-    <property name="cvs-performance-folder" 
-              value="${eclipse-home}/cvs_performance_folder"/>
-    <delete dir="${cvs-performance-folder}" quiet="true"/>
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="vmargs" value="-Declipse.cvs.properties=${team-home}/repository.properties -Declipse.cvs.loopCount=20  -Declipse.cvs.recordProtocolTraffic=false"/>
-      <property name="data-dir" value="${cvs-performance-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" 
-                value="org.eclipse.team.tests.ccvs.ui.benchmark.SyncTests"/>
-    </ant>
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="vmargs" value="-Declipse.cvs.properties=${team-home}/repository.properties -Declipse.cvs.loopCount=20  -Declipse.cvs.recordProtocolTraffic=false"/>
-      <property name="data-dir" value="${cvs-performance-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" 
-                value="org.eclipse.team.tests.ccvs.ui.benchmark.WorkflowTests"/>
-    </ant>
-  </target>
-  
-  <!-- This target holds code to cleanup the testing environment after the tests -->
-  <!-- have been run. You can use this to delete temporary files that are created. -->
-  <target name="cleanup">
-  </target>
-
-  <!-- This target runs the test suite. Any actions that need to happen after all -->
-  <!-- the tests have been run should go here. -->
-  <target name="run" depends="init,suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-  </target>
-
-  <!-- This target runs the performance test suite. Any actions that need to happen -->
-	
-  <!-- after all the tests have been run should go here. -->
-  <target name="performance" depends="init,performance-suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-  </target>
-
-</project>
diff --git a/tests/org.eclipse.team.tests.cvs.core/toc.html b/tests/org.eclipse.team.tests.cvs.core/toc.html
deleted file mode 100644
index 1702ceb..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/toc.html
+++ /dev/null
@@ -1,3080 +0,0 @@
-<html><head><title>Team/CVS Test Plan</title><style type='text/css'>h1 {color: white;background-color: #0080C0;padding-left: 1ex;padding-right: 1ex;}h1 {font-weight: bold;padding-top: 0.5ex;padding-bottom: 0.5ex;margin-top: 0;}</style></head><body>
-
-<!-- KEEP START -->
-<h1>Eclipse Team and CVS 3.4 Test Plan</h1>
-
-<p>This plan contains a detailed listing of the features available
-in the Eclipse CVS plug-in. There are some items that don't have many
-steps but are meant as a reminder that the features exist and should be
-tested. If you want to help, please feel free to hammer away on some
-bits of functionality.</p>
-
-<p>For a more verbose explanation of the CVS plug-in please refer to
-our documentation.</p>
-
-<h2>CVS Server Versions</h2>
-
-<p>We focus our testing on the latest stable *nix server version. We
-will however sniff test the latest developer *nix server and the cvsnt
-server. In addition, we will run our automated tests on all three
-flavors. The current server lineup is:</p>
-
-<p>Latest Stable: <span style="font-weight: bold;">1.11.22</span></p>
-
-<p>Latest Development: <span style="font-weight: bold;">1.12.13</span>
-</p>
-
-<p>CVS NT: <span style="font-weight: bold;">2.5.03.2382</span></p>
-
-<h2>Testing Tips</h2>
-
-<ul>
-	<li><font color="#000000">test corner cases</font></li>
-	<li>test setups which we typically don't use during development
-	(for example no Plug-in development)</li>
-	<li><font color="#000000">handling of error situations</font>
-	<ul>
-		<li><font color="#000000">watch log</font></li>
-		<li><font color="#000000">error messages</font></li>
-	</ul>
-	</li>
-</ul>
-
-<ul>
-	<li>Whenever you have to fill in data in dialogs try to foul the
-	dialog by providing incomplete or bogus input</li>
-	<li>Watch for view updating (package explorer, browsing
-	perspective, outliner) when source content gets changed</li>
-</ul>
-
-<ul>
-	<li>change font for text editor and dialogs to different font</li>
-	<li>check that dialogs are rendered correctly
-	<ul>
-		<li>specified dialog font is used</li>
-		<li>no buttons and labels clipped</li>
-	</ul>
-	</li>
-</ul>
-
-<ul>
-	<li>detached views</li>
-	<li>dialogs pop up on correct monitor</li>
-</ul>
-
-<h2>Platforms</h2>
-
-<table border="1" width="821">
-	<tbody>
-		<tr bgcolor="#cccccc">
-			<th colspan="4">
-			<div align="center"><b><font size="+1">Eclipse
-			Reference Platforms</font></b></div>
-			</th>
-		</tr>
-		<tr>
-			<td width="205"><b>Operating system</b></td>
-			<td width="76"><b>Processor architecture</b></td>
-			<td width="59"><b>Window system</b></td>
-			<td width="453"><b>Tester</b></td>
-		</tr>
-		<tr>
-			<td width="205">Microsoft Windows XP</td>
-			<td width="76">Intel x86</td>
-			<td width="59">Win32</td>
-			<td width="453"><br>
-			</td>
-		</tr>
-		<tr>
-			<td width="205">Red Hat Enterprise Linux WS 3</td>
-			<td width="76">Intel x86</td>
-			<td width="59">GTK</td>
-			<td width="453"><br>
-			</td>
-		</tr>
-	</tbody>
-</table>
-
-<h2>Areas assignments</h2>
-
-<ul>
-	<li><a href="mailto:Szymon.Brandys@pl.ibm.com">Szymon Brandys</a>
-	<ul>
-		<li><a href="#00004.html">Repositories View</a></li>
-		<li><a href="#00008.html">Comparing</a></li>
-		<li><a href="#commit00001.html">Commit</a></li>
-		<li><a href="#tags00001.html">Tags</a></li>
-		<li><a href="#00012.html">Branch/Merge</a></li>
-		<li><a href="#watch_edit00001.html">Watch/Edit</a></li>
-		<li><a href="#00014.html">History View</a></li>
-	</ul>
-	</li>
-
-	<li><a href="mailto:Krzysztof.Michalski@pl.ibm.com">Krzysztof
-	Michalski</a>
-	<ul>
-		<li><a href="#00026.html">Sharing</a></li>
-		<li><a href="#00044.html">Replacing</a></li>
-		<li><a href="#00010.html">Synchronizing</a></li>
-		<li><a href="#00023.html">Restarting Workbench</a></li>
-		<li><a href="#00028a.html">SSH2</a></li>
-		<li><a href="#misc00001.html">Misc</a></li>
-	</ul>
-	</li>
-
-	<li><a href="mailto:Michael_Valenta@ca.ibm.com">Michael
-	Valenta</a>
-	<ul>
-		<li><a href="#00029.html">Patching</a></li>
-		<li><a href="#00020.html">Concurrency</a></li>
-		<li><a href="#perf00001.html">Performance</a></li>
-	</ul>
-	</li>
-
-	<li><a href="mailto:Tomasz.Zarna@pl.ibm.com">Tomasz.Zarna</a>
-	<ul>
-		<li><a href="#00033.html">Annotate</a></li>
-		<li><a href="#00035.html">Label Decorations</a></li>
-		<li><a href="#failures00001.html">Failure Cases</a></li>
-		<li><a href="#validate_edit00001.html">Validate Edit</a></li>
-		<li><a href="#logical00001.html">Logical Resource Support</a></li>
-	</ul>
-	</li>
-</ul>
-
-<h2>Tests</h2>
-<!-- KEEP END -->
-<ul>
-<li><a href="#00004.html">Repositories View</a>
-<ul>
-<li><a href="#repoview_basics00001.html">Basics</a>
-<ul>
-</ul>
-<li><a href="#00007.html">Check Out - prompts</a>
-<ul>
-</ul>
-<li><a href="#checkoutwizard00001.html">Check Out Wizard</a>
-<ul>
-</ul>
-<li><a href="#datetags_repoview00001.html">Tags</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#00026.html">Sharing</a>
-<ul>
-<li><a href="#sharingbasics00001.html">Basics</a>
-<ul>
-</ul>
-<li><a href="#00027.html">Sharing as a subfolder</a>
-<ul>
-</ul>
-<li><a href="#00028.html">Reconnecting an existing project</a>
-<ul>
-</ul>
-<li><a href="#00050.html">Sharing a new project</a>
-<ul>
-</ul>
-<li><a href="#project_sets00001.html">Project Sets</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#00044.html">Replacing</a>
-<ul>
-<li><a href="#00045.html">With latest</a>
-<ul>
-</ul>
-<li><a href="#00046.html">With another branch of version</a>
-<ul>
-</ul>
-<li><a href="#00047.html">With file revision</a>
-<ul>
-</ul>
-<li><a href="#update_command00001.html">Updating</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#00008.html">Comparing</a>
-<ul>
-<li><a href="#00009.html">Remote resources</a>
-<ul>
-</ul>
-<li><a href="#00039.html">Compare with another branch or version</a>
-<ul>
-</ul>
-<li><a href="#00040.html">Reverting deleted resources</a>
-<ul>
-</ul>
-<li><a href="#00041.html">File Revisions</a>
-<ul>
-</ul>
-<li><a href="#quickdiff00001.html">Quick Diff</a>
-<ul>
-</ul>
-<li><a href="#00051.html">Compare with each other</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#00010.html">Synchronizing</a>
-<ul>
-<li><a href="#00048.html">Performing a Synchronize</a>
-<ul>
-</ul>
-<li><a href="#00011.html">Synchronize View</a>
-<ul>
-</ul>
-<li><a href="#00049.html">Decorations</a>
-<ul>
-</ul>
-<li><a href="#change_sets00001.html">Change Sets</a>
-<ul>
-</ul>
-<li><a href="#sync00001.html">Scenarios</a>
-<ul>
-</ul>
-<li><a href="#syncRestart00001.html">Restart Behavior</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#commit00001.html">Commit</a>
-<ul>
-<li><a href="#commit00002.html">Committing Changes</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#tags00001.html">Tags</a>
-<ul>
-<li><a href="#tags00002.html">Tag Selection in Dialogs</a>
-<ul>
-</ul>
-<li><a href="#tags00003.html">Tag Caching</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#00012.html">Branch/Merge</a>
-<ul>
-<li><a href="#00022.html">Performing a Merge</a>
-<ul>
-</ul>
-<li><a href="#00013.html">Synchronize View</a>
-<ul>
-</ul>
-<li><a href="#branch00001.html">Branching</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#00029.html">Patching</a>
-<ul>
-<li><a href="#00030.html">Importing a zip over a shared project</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#00014.html">History View</a>
-<ul>
-<li><a href="#00018.html">Editor Linking</a>
-<ul>
-</ul>
-<li><a href="#toolbarButtonsUMFile00001.html">Common Toolbar Buttons</a>
-<ul>
-</ul>
-<li><a href="#groupByDateUMFile00001.html">Group Revisions by Date</a>
-<ul>
-</ul>
-<li><a href="#localHistoryUnsharedFiles00001.html">Local History for Unshared Files</a>
-<ul>
-<li><a href="#DNDUMFile00001.html">Drag and Drop Unmapped File</a>
-<ul>
-</ul>
-<li><a href="#showHistoryUMFile00001.html">Show History Unmapped File</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#cvsHistory00001.html">CVS History</a>
-<ul>
-<li><a href="#DNDCFile00001.html">Drag and Drop CVS File</a>
-<ul>
-</ul>
-<li><a href="#00024.html">Annotate</a>
-<ul>
-</ul>
-<li><a href="#modeSwitching00001.html">Mode Switching</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#pinHistoryView00001.html">Pin History View</a>
-<ul>
-</ul>
-<li><a href="#refreshHistory00002.html">Refresh</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#00020.html">Concurrency</a>
-<ul>
-<li><a href="#00021.html">Close and disconnect</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#00023.html">Restarting Workbench</a>
-<ul>
-<li><a href="#00019.html">Crash Recovery</a>
-<ul>
-</ul>
-<li><a href="#00025.html">Synchronize View Settings</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#00028a.html">SSH2</a>
-<ul>
-<li><a href="#00029a.html">Server version compatibiliity</a>
-<ul>
-</ul>
-<li><a href="#00030a.html">Proxies</a>
-<ul>
-</ul>
-<li><a href="#00031.html">Generating keys</a>
-<ul>
-</ul>
-<li><a href="#00032.html">General use</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#00033.html">Annotate</a>
-<ul>
-<li><a href="#00034.html">Show Annotation Action</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#00035.html">Label Decorations</a>
-<ul>
-<li><a href="#00036.html">Enablement at startup</a>
-<ul>
-</ul>
-<li><a href="#00037.html">Customizations</a>
-<ul>
-</ul>
-<li><a href="#00038.html">Decorations in the Synchronize pages</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#watch_edit00001.html">Watch/Edit</a>
-<ul>
-<li><a href="#watch_edit_basic00001.html">Basic scenarios</a>
-<ul>
-</ul>
-<li><a href="#watch_edit_editorsview00001.html">Editors View</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#perf00001.html">Performance</a>
-<ul>
-<li><a href="#perf00002.html">Timings</a>
-<ul>
-</ul>
-<li><a href="#perf00004.html">Resource Data Structures</a>
-<ul>
-</ul>
-<li><a href="#perf00005.html">Looking For Leaks</a>
-<ul>
-</ul>
-<li><a href="#perf00006.html">Team Data Structures</a>
-<ul>
-</ul>
-<li><a href="#perf00007.html">Scalability</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#failures00001.html">Failure Cases</a>
-<ul>
-<li><a href="#connections00001.html">Connections</a>
-<ul>
-</ul>
-<li><a href="#auth_problems00001.html">Authentication Problems</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#misc00001.html">Misc</a>
-<ul>
-<li><a href="#00042.html">CVS Console</a>
-<ul>
-</ul>
-<li><a href="#keys00001.html">Key Bindings</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#validate_edit00001.html">Validate Edit</a>
-<ul>
-<li><a href="#validate_edit_editing_files00001.html">Editing Files</a>
-<ul>
-</ul>
-<li><a href="#validate_edit_refactoring00001.html">Refactoring</a>
-<ul>
-</ul>
-</ul>
-<li><a href="#logical00001.html">Logical Resource Support</a>
-<ul>
-<li><a href="#logical00002.html">Java Packages</a>
-<ul>
-</ul>
-<li><a href="#logical00003.html">Working Sets</a>
-<ul>
-</ul>
-</ul>
-</ul>
-<a name="00004.html"/>
-<h1>Repositories View</h1>
-<a name="repoview_basics00001.html"/>
-
-<h2>Basics</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<h3>Adding and Discarding Locations</h3>
-
-<p>You should be able to create a repository location from the
-toolbar of the view or via the context menu. Try expanding the location,
-the HEAD, Versions and Branches categories. Also, try the failures cases
-from <a href="connections00001.html">Connections</a>. Things to try:</p>
-
-<ul>
-	<li>Create repo locations for different connection types: ext,
-	pserver, extssh.</li>
-	<li>Create a repo location by pasting a location string into the
-	host field (e.g. :pserver:anonymous@dev.eclipse.org:/home/eclipse).</li>
-	<li>Expanding project nodes should process the children in the
-	background and the view should remain responsive while this is
-	happening. When children nodes are added to the tree the tree shouldn't
-	be too jumpy.</li>
-	<li>Discard a location and ensure it is removed. Also ensure that
-	discarding is not permitted when projects in the local workspace are
-	shared with the location.</li>
-</ul>
-
-<h3>Repository Location Properties</h3>
-
-View a location's properties page and ensure that information is correct
-and can be changed. Ensure that the sharing information for any projects
-mapped to the location are also changed.
-
-<h3>Modules</h3>
-
-<h3>Working with modules</h3>
-
-<ul>
-	<li>Expanding HEAD or the Versions category should display the
-	modules defined in the CVSROOT/modules file</li>
-	<li>Check Out and Checkout As should be available on modules and
-	should work as expected</li>
-	<li>Performing a "Configure Branches and Versions" on the module
-	allows the user to set the autorefresh file and add some tags. Ensure
-	that the module now appears properly in association with those tags.</li>
-</ul>
-
-
-<a name="00007.html"/>
-
-<h2>Check Out - prompts</h2>
-<p>Since: 3.0 M5<br>
-Last Modified: $Date: 2004/06/01 19:14:48 $</p>
-
-<h3>Scenario 1</h3>
-<ol>
-	<li>Select a project in HEAD</li>
-	<li>Perform a Checkout</li>
-	<li>Ensure project was checked out properly</li>
-	<li>Select the same project and choose Checkout As</li>
-	<li>Use the same name and specify a custom location</li>
-	<li>Ensure that the user is prompted to overwrite</li>
-	<li>Ensure OK and Cancel have proper behavior</li>
-</ol>
-
-<h3>Scenario 2</h3>
-<ol>
-	<li>Select a project in HEAD</li>
-	<li>Perform a Checkout</li>
-	<li>Ensure project was checked out properly</li>
-	<li>Delete the project but leave the contents on disk</li>
-	<li>Perform a Checkout of the same project again</li>
-	<li>Ensure that the user is prompted to overwrite</li>
-	<li>Ensure OK and Cancel have proper behavior</li>
-</ol>
-
-<h3>Scenario 3</h3>
-<ol>
-	<li>Select a project in HEAD</li>
-	<li>Perform a Checkout As</li>
-	<li>Use the same name and specify a custom location</li>
-	<li>Ensure project was checked out properly</li>
-	<li>Delete the project but leave the contents on disk</li>
-	<li>Perform a Checkout As of the same project to the same location
-	as in step 3</li>
-	<li>Ensure that the user is prompted to overwrite</li>
-	<li>Ensure OK and Cancel have proper behavior</li>
-</ol>
-
-<h3>Scenario 4</h3>
-<ol>
-	<li>Select a project in HEAD</li>
-	<li>Perform a Checkout As</li>
-	<li>Use the same name and specify a custom location</li>
-	<li>Ensure project was checked out properly</li>
-	<li>Delete the project but leave the contents on disk</li>
-	<li>Perform a Checkout on the project</li>
-	<li>Ensure project was checked out properly</li>
-	<li>Perform a Checkout As of the same project to the same location
-	as in step 3</li>
-	<li>Ensure that the user is prompted twice: once to overwrite
-	project and once to overwrite custom location</li>
-	<li>Ensure OK and Cancel have proper behavior</li>
-</ol>
-
-
-<a name="checkoutwizard00001.html"/>
-
-<h2>Checkout Wizard</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<p>The checkout wizard should be available from the following parts
-of the workbench: import, new project, empty workspace CVS synchronize
-action, toolbar in CVS perspective. The checkout wizard is also
-available from the context menu of the repositories view as the Checkout
-As menu item.</p>
-
-The following variants should be tested:
-<ul>
-	<li>Create a new repository location and checkout a project
-	entirely from the wizard.</li>
-	<li>Check out a tag</li>
-	<li>Check out a project that does not contain a .project file.
-	This should result in a second wizard that allows project configuration
-	(e.g. Java project).</li>
-</ul>
-
-<h3>Repositories View Checkout Variants</h3>
-These tests require an existing repository which contains projects, at
-least one of which does not contain a .project file.
-
-<ol>
-	<li>Perform "Check Out" on a single project. Ensure that repeating
-	results in overwrite prompt.</li>
-	<li>Perform "Check Out" on multiple projects.</li>
-	<li>Perform "Check Out As..." on a single project (that contains a
-	.project file) and enter custom name and/or custom location.</li>
-	<li>Perform "Check Out As..." on a single remote project that does
-	not have a .project file and ensure that the user is prompted for the
-	project type to create.</li>
-	<li>Perform "Check Out As..." on multiple projects and enter a
-	custom parent location.</li>
-	<li>Perform "Check Out As..." and specify a tag.</li>
-</ol>
-
-
-<a name="datetags_repoview00001.html"/>
-
-<h2>Tags</h2>
-<p>Since: 3.0<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-<body>
-
-<h3>Refresh Branches and Versions</h3>
-<ol>
-	<li>Select a repository location and perform "Refresh Branches and
-	Versions...".</li>
-	<li>Select one or more projects that contain a .project file and
-	have been tagged with branch and version tags and click finish.</li>
-	<li>Expand the repository entry to view ...
-	<ul>
-		<li>projects in HEAD,</li>
-		<li>branches and projects in BRANCHES,</li>
-		<li>projects and versions in VERSIONS.</li>
-	</ul>
-	</li>
-</ol>
-
-<h3>Configure Branches and Versions</h3>
-<ol>
-	<li>Select a project in the repositories view and perform
-	"Configure Branches and Versions...".</li>
-	<li>Select some branch and version tags to be remembered.</li>
-	<li>Expand the repository entry to view ...
-	<ul>
-		<li>projects in HEAD,</li>
-		<li>branches and projects in BRANCHES,</li>
-		<li>projects and versions in VERSIONS.</li>
-	</ul>
-	</li>
-</ol>
-
-<h3>Date Tags</h3>
-The ability to create Date tags should be available from the following
-locations:
-
-<ul>
-	<li>Repositories view</li>
-	<li>Configure Branches and Versions dialog</li>
-	<li>Tag selection dialogs (Compare with and Replace with Branch or
-	Version)</li>
-</ul>
-
-
-<a name="00026.html"/>
-<h1>Sharing</h1>
-<a name="sharingbasics00001.html"/>
-
-<h2>Basics</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/06/01 19:14:48 $</p>
-
-<p>Single select a project and select share.</p>
-<ul>
-	<li>Should only be available if the project is not shared.</li>
-	<li>Menu item should be available from the Project top level menu.</li>
-	<li>Wizard should allow you to cancel at any time and un-map the
-	project. Note that some resources may of been committed via the wizard
-	that will remain committed.</li>
-	<li>Should be able to share as a repository root {".") or a folder
-	at any level (i.e. a folder name with one or more paths).</li>
-</ul>
-
-
-<a name="00027.html"/>
-
-<h2>Sharing as a subfolder</h2>
-<p>Since: 3.0 M6<br>
-Last Modified: $Date: 2007/05/23 13:19:15 $</p>
-
-<p>Perform the following steps:</p>
-<ol>
-	<li>Create a new project</li>
-	<li>Select Team>Share</li>
-	<li>Select a repository and click Next</li>
-	<li>Enter a path with at least two segments as the remote module
-	name</li>
-	<li>Click Finish</li>
-</ol>
-<p>Ensure that the project was shared properly (i.e. remote folders
-were created).</p>
-
-<a name="00028.html"/>
-
-<h2>Reconnecting an existing project</h2>
-<p>Since: 3.0 M6<br>
-Last Modified: $Date: 2007/05/23 13:19:15 $</p>
-<p>The following scenario represents how a user would reconnect a
-project that does not contain CVS meta-data to it's remote counterpart.
-It is assumed that the local project was derived from a previous version
-of the remote project but both the local project and the remote may have
-been modified since then.</p>
-<h3>Scenario 1: Existing location using project name</h3>
-<p>Perform the following steps:</p>
-<ol>
-	<li>Load an existing project (using Checkout or you could import a
-	plug-in project from the target area).</li>
-	<li>Disconnect the project and indicate that CVS meta-data is to
-	be deleted.</li>
-	<li>Modify some local resources.</li>
-	<li>Optionally, modify the remote contents of some resources using
-	a separate checkout.</li>
-	<li>Perform a Team>Share Project and select CVS (if there is more
-	than one repository provider available).</li>
-	<li>Select the repository the project was loaded from and click
-	Next.</li>
-	<li>Use the project name as the module name. Click Next.</li>
-	<li>In the tag page, select HEAD as the branch to share with and
-	click Next.</li>
-	<li>In the sharing page, only the files that do not have the same
-	contents as the server should appear. Perform a Mark as Merged or
-	Commit on these files.</li>
-	<li>Click Finish.</li>
-</ol>
-
-<h3>Scenario 1: New location using custom module name</h3>
-<p>Perform the following steps:</p>
-<ol>
-	<li>Load an existing project using Checkout As and a different
-	name.</li>
-	<li>Disconnect the project and indicate that CVS meta-data is to
-	be deleted.</li>
-	<li>Discard the repository location.</li>
-	<li>Modify some local resources.</li>
-	<li>Optionally, modify the remote contents of some resources using
-	a separate checkout</li>
-	<li>Perform a Team>Share Project and select CVS (if there is more
-	than one repository provider available).</li>
-	<li>Select to create a new repository and click Next.</li>
-	<li>Enter the repository information for the repository and click
-	Next.</li>
-	<li>Enter the name of the module that the project was loaded from.
-	Click Next.</li>
-	<li>In the tag page, select HEAD as the branch to share with and
-	click Next.</li>
-	<li>In the sharing page, only the files that do not have the same
-	contents as the server should appear. Perform a Mark as Merged or
-	Commit on these files.</li>
-	<li>Click Finish.</li>
-</ol>
-
-
-<a name="00050.html"/>
-
-<h2>Sharing a new project</h2>
-<p>Since: 3.0 M8<br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-
-<h3>Scenario 1: Existing location using project name</h3>
-
-<p>Perform the following steps:</p>
-
-<ol>
-	<li>Create a new project that does not exist in the repository</li>
-	<li>Select Team>Share and select CVS (if there is more than one
-	repository provider available).</li>
-	<li>Select a repository and click Next</li>
-	<li>Use the project name as the module name. Click Next.</li>
-	<li>After a time, the last page should show the outgoing changes
-	in the project. Commit the changes from the synchronize pane.</li>
-	<li>Click Finish</li>
-</ol>
-
-<h3>Scenario 2: New location using different name</h3>
-
-<p>Perform the following steps:</p>
-
-<ol>
-	<li>Create a new project</li>
-	<li>Select Team>Share and select CVS (if there is more than one
-	repository provider available).</li>
-	<li>Select to create a new repository and click Next</li>
-	<li>Enter the repository information for a new repository and
-	click Next</li>
-	<li>Enter a single segment module name that does not exist in the
-	repository and click Next.</li>
-	<li>After a time, the last page should show the outgoing changes
-	in the project. Commit the changes from the synchronize pane.</li>
-	<li>Click Finish</li>
-</ol>
-
-
-<a name="project_sets00001.html"/>
-
-<h2>Project Sets</h2>
-<p>Since: 2.1 <br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<ul>
-	<li>Create a project set from a workspace with multiple projects
-	shared with CVS. The shared projects in the workspace should include
-	projects shared with the following: branch, version, date and HEAD.</li>
-	<li>Start with an empty workspace and import the projects using
-	the import projects sets wizard. Try running Project Set import in the
-	background too.</li>
-	<li>You should be prompted for a password and username for the
-	locations.</li>
-	<li>Ensure that the projects are checked out correctly and against
-	the correct tag.</li>
-</ul>
-
-
-<a name="00044.html"/>
-<h1>Replacing</h1>
-<a name="00045.html"/>
-
-<h2>With latest</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<p>Ensure that the replace operation overwrites any outgoing
-changes. And verify the following:</p>
-<ul>
-	<li>Label decorations (e.g. outgoing change flag, version) are
-	updated in the navigator/packages view and synchronize view.</li>
-</ul>
-
-
-<a name="00046.html"/>
-
-<h2>With another branch of version</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<p>Check the following for all cases of replace:</p>
-<ul>
-	<li>Decorators are updated in the navigator/packages view and
-	synchronize view.</li>
-	<li>If a version is loaded that you can't commit to it</li>
-	<li>If a branch is loaded, that you can commit to it.</li>
-</ul>
-
-<p>Also ensure that the tag filtering in the dialog works properly.</p>
-
-
-<a name="00047.html"/>
-
-<h2>With file revision</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-
-<ul>
-	<li>If the file isn't managed the action should no appear.</li>
-	<li>If the file doesn't have any revisions you should be prompted</li>
-	<li>If the file has revisions you should be prompted with the list
-	of revisions in a compare dialog</li>
-	<li>In the compare dialog you can select any revision and compare
-	changes but merging isn't supported</li>
-	<li>If a revision is selected the Replace button should be
-	enabled. Otherwise it should be disabled</li>
-	<li>If you selected the replace button the file should contain the
-	contents of the revision selected. The dialog will also close.</li>
-	<li>Ensure that the titles are ok (e.g. dialog title, structure
-	pane title...)</li>
-</ul>
-
-
-<a name="update_command00001.html"/>
-
-<h2>Updating</h2>
-<p>Since: 2.0 <br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-
-<p>You can run an update and open the console to see the files that
-are being updated.</p>
-<p>You can run the update and switch to another branch, this should
-keep your outgoing changes and update all other non-changed files.</p>
-
-
-<a name="00008.html"/>
-<h1>Comparing</h1>
-<a name="00009.html"/>
-
-<h2>Remote resources</h2>
-<p>Since: 3.0 M5<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-<h4>Compare With... in Repositories view</h4>
-<p>Perform the following steps:</p>
-<ol>
-	<li>Select a project in HEAD and choose Compare With... from
-	context menu</li>
-	<li>Select a branch tag</li>
-	<li>Ensure result of comparison is correct</li>
-	<li>Repeat and in step 2) use a version tag</li>
-</ol>
-<p>Repeat the above steps for a project in a branch and a project
-version.</p>
-<p>Repeat the above steps for a selected folder and a selected file.</p>
-<h4>Compare on two selections in Repositories view</h4>
-<p>Perform the following steps:</p>
-<ol>
-	<li>Select a project in HEAD</li>
-	<li>CTRL-select a project in a branch</li>
-	<li>Choose Compare from context menu</li>
-	<li>Ensure result of comparison is correct</li>
-</ol>
-<p>Repeat the above for various combinations (branch + version,
-version + branch, branch + branch, version + version).</p>
-<p>Repeat the above steps for a selected folder and a selected file.</p>
-<h4>Compare on two selections in Resource History view.</h4>
-<p>Perform the following steps:</p>
-<ul>
-	<li>Open Resource History view on a file with multiple revisions</li>
-	<li>Select 2 and choose Compare from the context menu</li>
-	<li>Ensure result of comparison is correct</li>
-</ul>
-
-
-<a name="00039.html"/>
-
-<h2>Compare with another branch or version</h2>
-<p>Since: M8<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<p>You should be able to select a project/folder/resource and
-compare against another branch or version. Multi-select should work
-across projects in different repositories. Once the comparison is shown
-it should be possible to merge changes into the local workspace. It
-should also be possible to remember the comparison, which will cause it
-to appear in the synchronize view.</p>
-<p>We should support multi-selection of files, but I'm not sure what
-should be shown to the user in those cases.</p>
-<h3>On file selected</h3>
-<ul>
-	<li>If the file has differences open a compare editor and show
-	otherwise a message is shown to indicate that the file is the same.</li>
-	<li>should be able to open the history view and link in to the
-	opened compare editor</li>
-	<li>the compare editor should update when changes are made to the
-	local file in some other context (e.g other editor, refactoring).</li>
-</ul>
-
-<h3>Multiple selection</h3>
-<p>Entire contents of the folder are compared deep. If changes are
-found the user is notified and they are shown in a dialog. If no changes
-are found the user is notified. The dialog should allow the user to
-browse the changes and merge anything into his workspace. If the user
-wants to keep the comparison non-model, he can add it to the synchronize
-view. There is a button to do so on the compare dialog.</p>
-
-<h3>Merging changes</h3>
-<p>When the compare dialog is showing several changes you should be
-able to selectively merge anything into the local workspace. Specific
-attention should be made to the following cases:</p>
-<ul>
-	<li>Edit the local then press ok. You should be prompted to save
-	the changes and the changes should be correctly updated in the
-	corresponding resource.</li>
-	<li>Edit the local and browse to another file. You should be
-	prompted to save the changes.</li>
-	<li>Press the cancel button with changes, you should be prompted.</li>
-</ul>
-
-<a name="00040.html"/>
-
-<h2>Reverting deleted resources</h2>
-<p>Since: M8<br>
-Last Modified: $Date: 2004/06/01 19:14:48 $</p>
-You should be able to restore a deleted revision from the CVS server
-Team>Restore from Repository
-
-<a name="00041.html"/>
-
-<h2>File Revisions</h2>
-<p>Since: M8<br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-
-<h3>Compare the local resource with other revisions</h3>
-<ul>
-	<li>If the file isn't managed the action should no appear.</li>
-	<li>If the file doesn't have any revisions you should be prompted</li>
-	<li>If the file has revisions you should be prompted with the list
-	of revisions in a compare dialog</li>
-	<li>In the compare dialog you can select any revision and merge
-	changes into the local copy</li>
-	<li>If you edit the local resource then chose OK, you will be
-	prompted to save changes. Ensure that the changes are saved correctly
-	to the underlying resource.</li>
-	<li>Ensure that the titles are ok (e.g. dialog title, structure
-	pane title...)</li>
-</ul>
-
-
-<a name="quickdiff00001.html"/>
-
-<h2>Quick Diff</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<p>Enable CVS quick diff for text and java files via the General >
-Editors > Quick Diff preference. Then try the following scenarios:</p>
-
-<ol>
-	<li>Open a file and make changes to it. You will see the quickdiff
-	annotations marking the changes. Next, run Replace With > Latest from
-	HEAD. The annotations are removed and the file is clean.</li>
-	<li>Same as 1 but this time instead commit the file. The quickdiff
-	annotations are removed and the file is clean.</li>
-	<li>Checkout two copies of the same project. Open file1 from both
-	projects. Make changes to file1 in project1 and commit the change.
-	Synchronize project2 and file1 from project1 will show the quickdiff
-	annotations for the new incoming changes.</li>
-	<li>Same as previous but this time actually update the file. The
-	files quickdiff annotations are removed and the file is clean.</li>
-</ol>
-
-
-<a name="00051.html"/>
-
-<h2>Compare With Each Other</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/09/05 19:30:00 $</p>
-
-<h3>Compare a resource with other resource</h3>
-<h5>The action</h5>
-<ul>
-	<li>The action should appear only when there are 2 or 3 resources
-	selected.</li>
-	<li>If there are 3 resources selected you should be prompted to
-	select the common ancestor.</li>
-</ul>
-<h5>Look</h5>
-<ul>
-	<li>Ensure that all titles and labels are ok (e.g. dialog title,
-	structure pane title, compare editor labels...).</li>
-	<li>Ensure that all buttons in the toolbar are properly enabled
-	(e.g. Copy All/Copy Current, Next/Prev Difference/Change).</li>
-	<li>Ensure that difference markers are properly display at start</li>
-</ul>
-<h5>Navigation</h5>
-<ul>
-	<li>If you reach the first/last difference you should be prompted
-	to go to the end/start of the current element.</li>
-	<li>Ensure that you can correctly navigate through differences
-	using the difference markers on the right side of the editor.</li>
-</ul>
-<h5>Merging</h5>
-<ul>
-	<li>Ensure that Copy All/Copy Current actions work as expected.</li>
-	<li>Ensure that when the Copy All action is used all difference
-	markers disappear.</li>
-	<li>Ensure that when the Copy Current action is used a proper
-	difference marker disappears.</li>
-	<li>Ensure you can Undo an action.</li>
-</ul>
-<h5>Saving</h5>
-<ul>
-	<li>If you edit a local resource the dirty state indicator should
-	appear over the resource.</li>
-	<li>If you edit a local resource and the resource is also opened
-	in a different editor the dirty state should appear on that editor too.</li>
-	<li>If you edit both of the resources being compare (both are
-	local), changes should be saved to both of them.</li>
-	<li>If you edit a resource and close the editor you should be
-	prompted to save or abandon changes.</li>
-	<li>If you edit both of the resources and close the editor you
-	should be prompted to select which resources to save using the Save
-	Resources dialog.</li>
-	<li>Ensure you can Undo a change.</li>
-	<li>Ensure that changes are saved correctly to the underlying
-	resource.</li>
-</ul>
-
-<h5>Concurrent edition</h5>
-<ul>
-	<li>Scenario 1
-	<ol>
-		<li>Compare two local resources using the Compare Editor.</li>
-		<li>Open one of them in the default editor (F3) and edit it.</li>
-		<li>Ensure that the resource gets the dirty state indicator over
-		both editors (i.e default and Compare).</li>
-		<li>If you save the resource in the default editor the dirty
-		state indicator should go off for both editors.</li>
-		<li>Ensure that changes are saved correctly to the underlying
-		resource.</li>
-	</ol>
-	</li>
-	<li>Scenario 2a
-	<ol>
-		<li>Compare two local resources using the Compare Editor.</li>
-		<li>Open one of them in the default editor (F3) and edit it.</li>
-		<li>Ensure that the resource gets the dirty state indicator over
-		both editors (i.e default and Compare).</li>
-		<li>If you close the default editor you should be prompted to
-		save changes, exiting without saving or cancel.</li>
-		<li>Select exit without saving (button named "No").</li>
-		<li>Ensure that the resource under the Compare Editor is still in
-		the dirty state.</li>
-		<li>Ensure that changes are the same as made using the default
-		editor.</li>
-		<li>Ensure that changes can be saved to the underlying resource
-		from the Compare Editor.</li>
-		<li>Ensure that changes are saved correctly to the underlying
-		resource.</li>
-	</ol>
-	</li>
-	<li>Scenario 2b
-	<ol>
-		<li>Compare two local resources using the Compare Editor.</li>
-		<li>Open one of them in the default editor (F3) and edit it.</li>
-		<li>Ensure that the resource gets the dirty state indicator over
-		both editors (i.e default and Compare).</li>
-		<li>If you close the default editor you should be prompted to
-		save changes, exiting without saving or cancel.</li>
-		<li>Select to save changes (button named "Yes").</li>
-		<li>Ensure that the dirty state indicator for the resource goes
-		off.</li>
-		<li>Ensure that changes are saved correctly to the underlying
-		resource.</li>
-		<li>Ensure you can Undo changes.</li>
-	</ol>
-	</li>
-	<li>Scenario 3
-	<ol>
-		<li>Compare two local resources using the Compare Editor.</li>
-		<li>Open both files in default editors (F3) and edit them.</li>
-		<li>Ensure that the resource gets the dirty state indicator over
-		all editors (i.e two default and Compare).</li>
-		<li>Ensure that changes made in one of editors are correctly
-		handled by others.</li>
-		<li>Ensure that changes are saved correctly to underlying
-		resources.</li>
-		<li>Ensure you can Undo changes.</li>
-	</ol>
-	</li>
-</ul>
-
-<h5>Common Ancestor</h5>
-<ul>
-	<li>Ensure that a resource acting as a common ancestor is the one
-	selected in the dialog.</li>
-	<li>Ensure you can switch between Two- and Three-way compare when
-	a common ancestor is available.</li>
-	<li>Ensure you can show/hide the Common Ancestor Pane.</li>
-</ul>
-
-
-<a name="00010.html"/>
-<h1>Synchronizing</h1>
-<a name="00048.html"/>
-
-<h2>Performing a Synchronize</h2>
-<p>Since: 3.0<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<p>Synchronizing means to compare your local workspace contents with
-the contents in another location with the goal that the two locations
-should contain the same contents at some point.</p>
-
-<h3>Performing a Synchronize operation</h3>
-
-<p>There are a few ways of launching a synchronize operation. They
-all open the same dialog but the initial selection is affected by where
-the operation is launched. Here is the list of ways to start a
-synchronize along with the expected initial selection.</p>
-
-<ul>
-	<li><b>Using the global synchronize action (via toolbar or
-	keybinding)</b>: The selection should be obtained from the active view. If
-	no view is active, all projects should be selected.</li>
-	<li><b>Using the Synchronize button in toolbar of the
-	Synchronize view</b>: All projects should be selected.</li>
-	<li><b>Selecting Synchronize from the context menu of
-	resources in the synchronize view</b>: The selection should match what was
-	selected when the menu was selected.</li>
-	<li><b>Selecting Team > Synchronize with Repository from the
-	context menu of any resource based view</b>: The selection should match
-	what was selected when the menu was selected.</li>
-</ul>
-
-<p>Once launched, a synchronize will run in the background.
-Currently, the user is prompted to switch perspectives when the
-synchronize is launched. When a synchronize completes, the user is
-prompted either with a dialog stating there is no changes or one that
-contains a details area that shows the incoming changes. The user is
-given the option to suppress the post-synchronize dialog.</p>
-
-<h3>Notice a file is out-of-sync in another view (e.g. packages
-explorer, types) and want to see the changes</h3>
-
-<p>In case you can select a file, it will be refreshed with the
-server, and if changes are found the compare editor is opened that will
-allow browsing the changes. If no changes are found, you will be
-prompted.</p>
-
-<h3>From another view would like to browse the outgoing/incoming
-changes for several resources</h3>
-
-<p>Select a folder or group of files and Team > Synchronize will
-open the sync view and automatically refresh with the remote repository.</p>
-
-<h3>In the sync view and would like to refresh to see if there are
-new changes from the server</h3>
-
-<p>Assumption, the sync view may or may not be open when the
-synchronize is performed. Maybe we need a different prompt each case.
-One for Team > Sync and another for refresh from the sync view.</p>
-
-
-<a name="00011.html"/>
-
-<h2>Synchronize View</h2>
-<p>Since: 3.0<br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<h3>Synchronize View Modes</h3>
-
-<p>Ensure that choosing direction modes result in proper filtering.</p>
-
-<ul>
-	<li>Incoming mode contains incoming changes and conflicts.</li>
-	<li>Outgoing mode contains outgoing changes and conflicts.</li>
-	<li>Both mode contains all change types.</li>
-	<li>Conflict mode contains only conflicts.</li>
-</ul>
-
-<p>Also ensure that there are no empty containers (e.g folders or
-projects) in any of the modes.</p>
-
-<h3>Synchronize View Models</h3>
-
-<p>Ensure that each model contains the appropriate output. Models to
-test include:</p>
-<ul>
-	<li>All Models: Projects should contain content from the highest
-	level model (e.g. Java projects contains Java content like packages
-	while non-Java projects contains folders).</li>
-	<li>Workspace: All projects are shown and contain folders. For
-	this model, also test the presentation types (Flat, Hierarchical and
-	Compressed Folders).</li>
-	<li>Java: Only Java projects are present and contain Java content
-	(e.g. packages). Also ensure that any resource content is present (e.g.
-	non-source folders).</li>
-	<li>Change Sets: All changes are grouped by change set.</li>
-</ul>
-
-<p>Also ensure that mode switching works properly for each model
-type.</p>
-
-<h3>Synchronize View Operations</h3>
-<p>Ensure Commit and Update buttons:</p>
-<ul>
-	<li>operate on all applicable changes</li>
-	<li>prompt in some form before executing</li>
-</ul>
-<p>Ensure Update menu action:</p>
-<ul>
-	<li>is enabled when selection contains incoming or conflicting
-	changes</li>
-	<li>operates only on selected changes</li>
-	<li>silently handles mergable conflicts</li>
-	<li>will prompt if conflicts are not mergable</li>
-</ul>
-<p>Ensure Commit menu action</p>
-<ul>
-	<li>is enable when selection contains outgoing changes</li>
-	<li>prompts for unadded resources</li>
-	<li>operates only on selected changes</li>
-</ul>
-<p>Ensure Override and Update</p>
-<ul>
-	<li>is enabled for outgoing and conflicting changes</li>
-	<li>prompts to confirm</li>
-	<li>operates only on selected changes</li>
-</ul>
-<p>Ensure Mark as Merged</p>
-<ul>
-	<li>is enabled for incoming and conflicting changes</li>
-	<li>operates only on selected changes</li>
-</ul>
-
-<p>Ensure Refresh button refreshes all projects regardless of mode,
-selection or working set.</p>
-<p>Ensure Refresh menu action refreshes only the selection</p>
-
-<p>All actions on large sets</p>
-
-The following table can be used to determine what operations are
-appropriate and what result to expect.
-
-<table height="124" border="1" width="99%">
-	<tbody>
-		<tr>
-			<td width="25%"><b>Change Type</b></td>
-			<td width="25%"><b>Action</b></td>
-			<td width="50%"><b>Result</b></td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Incoming File Change</b></td>
-			<td width="25%">Update</td>
-			<td width="50%">Remote contents become local. Try with both Text
-			and Binary files.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Incoming File Change</b></td>
-			<td width="25%">Mark as Merged</td>
-			<td width="50%">File becomes an outgoing change.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Incoming File Addition</b></td>
-			<td width="25%">Update</td>
-			<td width="50%">Remote contents become local. Try with both Text
-			and Binary files.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Incoming File Addition</b></td>
-			<td width="25%">Mark as Merged</td>
-			<td width="50%">File becomes an outgoing deletion.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Incoming File Deletion</b></td>
-			<td width="25%">Update</td>
-			<td width="50%">Local file is deleted.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Incoming File Deletion</b></td>
-			<td width="25%">Mark as Merged</td>
-			<td width="50%">File becomes an outgoing addition.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Outgoing File Change</b></td>
-			<td width="25%">Commit</td>
-			<td width="50%">Prompt for release comment. Cancel aborts, OK
-			commits local file to server.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Outgoing File Change</b></td>
-			<td width="25%">Override and Update</td>
-			<td width="50%">Remote contents become local. Try with both Text
-			and Binary files.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Outgoing File Addition</b></td>
-			<td width="25%">Add to Version Control</td>
-			<td width="50%">Adds the file to version control. The icon
-			should change in the sync view, and Commit should now be enabled.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Outgoing File Addition</b></td>
-			<td width="25%">Add to .cvsignore</td>
-			<td width="50%">Adds the file to .cvsignore. The file should
-			disappear from the sync view. The .cvsignore file should appear (if
-			it wasn't visible already). The file should not appear in subsequent
-			syncs.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Outgoing File Addition</b></td>
-			<td width="25%">Commit</td>
-			<td width="50%">Prompt for release comment should also include
-			prompt for file type if the type of the new file is not known. Cancel
-			aborts, OK commits local file to server.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Outgoing File Addition</b></td>
-			<td width="25%">Override and Update</td>
-			<td width="50%">Local file is deleted.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Outgoing File Deletion</b></td>
-			<td width="25%">Commit</td>
-			<td width="50%">Prompt for release comment. Cancel aborts, OK
-			commits deletion to server.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Outgoing File Deletion</b></td>
-			<td width="25%">Override and Update</td>
-			<td width="50%">File is re-created, remote contents become
-			local.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Conflicting File Change</b></td>
-			<td width="25%">Update</td>
-			<td width="50%">If the change is auto-mergable, the file becomes
-			an outgoing change and includes the remote changes and the local
-			changes. Otherwise, the user is prompted to indicate that a merge was
-			not possible.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Conflicting File Change</b></td>
-			<td width="25%">Mark As Merged</td>
-			<td width="50%">File becomes an outgoing change.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Conflicting File Change</b></td>
-			<td width="25%">Override and Update</td>
-			<td width="50%">Dialog prompts user to replace local changes. If
-			user cancels nothing happens. If user chooses OK, then local changes
-			are discarded and remote contents replace local. No .# files created,
-			no CVS markup, and the file is not dirty as a result.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Conflicting File Addition</b></td>
-			<td width="25%">Mark as Merged</td>
-			<td width="50%">File becomes an outgoing change.</td>
-		</tr>
-		<tr>
-			<td width="25%"><b>Conflicting File Addition</b></td>
-			<td width="25%">Override and Update</td>
-			<td width="50%">Remote contents become local.</td>
-		</tr>
-	</tbody>
-</table>
-
-
-<a name="00049.html"/>
-
-<h2>Decorations</h2>
-<p>Since: M8<br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-
-There are many standard decorations in the sync view. Most significant
-are the propagated flags.
-
-<h3>Conflicts</h3>
-
-<p>Conflicting changes should be propagated to parent resources such
-that you can easily see, when the tree is collapsed that there are
-conflicts. When the conflict is resolved, the parent conflict markers
-should be removed.</p>
-
-<h3>Error and Warning problem markers</h3>
-
-<p>Error and warning makers are shown on resources and propagated to
-parent resources such that you can easily see if you are releasing
-errors or warnings.</p>
-
-<h3>Branch changes</h3>
-
-<p>Changes to branches, revisions, should be updated automatically
-in the views decorators. For example, if you branch from the sync view
-the branch name should appear.</p>
-
-
-<a name="change_sets00001.html"/>
-
-<h2>Change Sets Layout</h2>
-<p>Since: 3.1 M2<br>
-Last Modified: $Date$</p>
-
-<h3>Change Sets for incoming changes</h3>
-
-To perform these scenarios you will need to get one or more projects in
-your workspace that have many incoming changes. Preferably all the
-changes will have commit comments and some files will share a comment.
-Once you have this setup, you can perform the following sub-scenarios.
-
-<h4>Enabling/disabling Change Sets</h4>
-<ol>
-	<li>Synchronize the projects with HEAD, enable change set mode and
-	ensure that the files appear in the proper change sets. Also ensure
-	that the proper sub-layout is used by expanding some of the nodes in
-	the tree.</li>
-	<li>With some nodes expanded and additionally one or more
-	selected, disable Change Sets. The same nodes should remain expanded
-	and selected.</li>
-	<li>With the same nodes selected and expanded, re-enable change
-	sets. The expansion should remain. There may be more expanded if the
-	same expanded project or folder appears in multiple change sets. The
-	selection will remain unless there are two entries for the same
-	resource (i.e. if a project was selected and it appears in multiple
-	sets, it will no longer be expanded).</li>
-</ol>
-
-You should also confirm that markers and conflicts are properly
-propagated to parent nodes.
-
-<h4>Change Set Modes</h4>
-<ol>
-	<li>Switch between the various modes and ensure that the displayed
-	nodes are correct. Also ensure that expansion and selection is
-	maintained.</li>
-	<li>Only Incoming and Outgoing mode show change sets.</li>
-</ol>
-
-<h4>Updating</h4>
-With several nodes expanded, perform an update on one or more files that
-are incoming changes. Ensure that the updated files are removed from the
-view and that other expanded nodes remain expanded.
-
-<h3>Outgoing Sets</h3>
-
-The following aspects of outgoing change sets should be tested:
-<ol>
-	<li>Modified files can be added to a new or existing change set.
-	Ensure that when they are added, the file remains visible in the Sync
-	view.</li>
-	<li>Files in a change set can be transfered to another change set</li>
-	<li>If there is a default change set, any modified file that is
-	not already part of a change set is placed in the default set. Files
-	that are already in a set should stay in that set if more changes are
-	made to the files.</li>
-	<li>The title and comment of a change set can be changed.</li>
-	<li>Layout and modes changes work properly for outgoing change
-	sets in the Synchronize view.</li>
-	<li>Committing one or more files in a change set will result in a
-	commit dialog that is primed with the comment from the set.</li>
-	<li>change sets (including which is the default), are preserved
-	across restarts.</li>
-</ol>
-
-
-<a name="sync00001.html"/>
-
-<h2>Scenarios</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/18 13:54:38 $</p>
-
-<h3>Making Manual Changes</h3>
-
-<p>Create a conflicting file change. Manually edit the left source
-pane in the sync view. Hit "Save" on the popup menu. The file should
-remain a Conflict. Choose Mark as Merged in the popup menu of the tree.
-The file should change to an outgoing change. Commit the outgoing
-change.</p>
-
-<h3>Merging Conflicts</h3>
-
-<p>Try Override and Update with different combinations of
-Auto-Mergeable and Non-Mergeable conflicts in the selection. If all
-conflicts are Non-Mergeable, then the only choice is to replace with
-remote or cancel. If one or more conflicts are Auto-Mergeable, the
-choices are (a) Auto-Merge any applicable files, and replace the rest
-with remote, (b) Replace all files with remote or (c) Cancel.</p>
-
-<h3>Removing from View</h3>
-
-<p>Choose Remove from View. Selected nodes should disappear. Refresh
-the view. The nodes should reappear.</p>
-
-<h3>Working with Branches</h3>
-
-<p>Try any and all of the above, but use a branch instead of HEAD.
-Behavior should be identical. The sync view decorator should show you
-the name of the branch.</p>
-
-<h3>Using Mixed Tags</h3>
-
-<p>Using Team-&gt;Branch, Replace With-&gt;Branch or Version, and
-Team-&gt;Tag as Version, you can create a project which has different
-tags mixed into it. For example, one folder may be shared as V2_0, a
-single file may be attached to the branch NEW_FEATURE_BRANCH, and the
-root of the project may be attached to HEAD. We need to test usage of
-these projects in the sync view. For example, if developer 1 has project
-P shared with HEAD, and folder P/F is shared with branch B, have
-developer 2 release a change to folder F in HEAD, and have developer 1
-perform a sync. In this case developer 1 should not see the incoming
-change.</p>
-
-
-<a name="syncRestart00001.html"/>
-
-<h2>Restart Behavior</h2>
-<p>Since: 3.3<br>
-Last Modified: $Date$</p>
-
-<h1>Synchronization Restart Behavior</h1>
-
-<p>CVS Synchronizations can be configured to populate or synchronize
-after a restart. To test this, do the following:</p>
-
-<ol>
-	<li>Create a CVS synchronization of each persisted type (Workspace
-	and Merge).</li>
-	<li>Restart and see the page that allows you to populate or
-	restart.</li>
-	<li>Choose to remember the operation</li>
-	<li>Pick an operation and ensure that the behavior is respected</li>
-</ol>
-
-You will want to repeat these steps for both operations (Synchronize and
-Populate) and you should also repeat them using the preference page
-available from the view menu in the Synchronize view.
-
-
-
-<a name="commit00001.html"/>
-<h1>Commit</h1>
-<a name="commit00002.html"/>
-
-<h2>Committing Changes</h2>
-<p>Since: 3.1 M4<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<h3>Committing changes to existing files</h3>
-<ol>
-	<li>Edit some existing files in a CVS project</li>
-	<li>Choose Team>Commit on the project from the Navigator</li>
-	<li>The commit dialog should show a preview of the files that are
-	to be committed and allow a commit comment to be entered.</li>
-</ol>
-
-<p>Some things to try:
-<ul>
-	<li>Committing a project (or selected resources) that contain no
-	changes will prompt to indicate this.</li>
-	<li>Files can be removed from the preview area and these will be
-	excluded from the commit.</li>
-	<li>Clicking OK without entering a comment should prompt.</li>
-	<li>Emptying the preview area will disable the Finish and show a
-	"no changes" message.</li>
-	<li>Try different page layouts (compressed, tree and flat)</li>
-</ul>
-
-<h3>Committing new files</h3>
-<ol>
-	<li>Add a few new files to a project including some with unknown
-	extensions and some with no extensions.</li>
-	<li>Choose Team>Commit on the project from the Navigator</li>
-	<li>The first page of the commit wizard will allow you to
-	configure the file types for any new files whose content type cannot be
-	determined.</li>
-	<ul>
-		<li>Configure some to be remembered and others to be only applied
-		to this commit (verify after that this was done properly)</li>
-	</ul>
-	<li>Click Next and verify that the content type was determined
-	properly.</li>
-	<li>Choose to ignore one of the files and verify that the file is
-	removed and the .cvsignore appears.</li>
-</ol>
-
-<h3>Committing files contained in a Change Set</h3>
-<ol>
-	<li>From the Synchronize view, select all the changes from the
-	same Change Set.</li>
-	<li>Choose Commit and verify that the comment in the commit dialog
-	is the one from the change Set.</li>
-</ol>
-
-
-<a name="tags00001.html"/>
-<h1>Tags</h1>
-<a name="tags00002.html"/>
-
-<h2>Tag Selection in Dialogs</h2>
-<p>Since: 3.1 M4<br>
-Last Modified: $Date: 2005/02/04 21:58:25 $</p>
-
-Tag lists appear in many dialogs:
-
-<ul>
-	<li>Replace with Branch or Version</li>
-	<li>Compare with Branch or Version</li>
-	<li>Share of existing project</li>
-	<li>Switch to Another Branch or Versions</li>
-	<li>Tag with Existing</li>
-	<li>Tag as Version</li>
-</ul>
-
-<p>In each of these places, typing in the tag text field will filter
-the list of shown tags. The option to Refresh and Configure tags should
-also be present. Refreshing behavior should be as follows:</p>
-
-<ol>
-	<li>If an auto-refresh file (.project by default) exists and has
-	tags, the tags are obtained from the file.</li>
-	<li>If there is no auto-refresh file, the log command is used to
-	determine if there are any tags in the files that are direct children
-	of the remote folder.</li>
-	<li>If no tags are found, the user is prompted to either perform a
-	deep log to find any tags or configure the tags manually.</li>
-</ol>
-
-
-<a name="tags00003.html"/>
-
-<h2>Tag Caching</h2>
-<p>Since: 3.1 M4<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-Discovered tags are cached locally to improve performance. Caching is
-done in the following ways:
-
-<ol>
-	<li>Tags discovered for local resources are cached with the remote
-	folder that the resource's project is mapped to.</li>
-	<li>Tags discovered for remote resources are cached with the
-	resource if it is a folder or the resource's parent if it is a file.</li>
-</ol>
-
-To test this, you can try one or more of the following:
-
-<ol>
-	<li>Perform Compare With on folders and subfolders in the
-	repositories view. The first time, you will need to perform a Refresh \
-	but subsequent times, the tags should be cached.</li>
-	<li>Load non-root folders as projects and ensure tags are cached
-	and obtained properly.</li>
-	<li>Perform Tag with Existing in the History view and ensure that
-	tags are obtained from the file</li>
-</ol>
-
-
-<a name="00012.html"/>
-<h1>Branch/Merge</h1>
-<a name="00022.html"/>
-
-<h2>Performing a Merge</h2>
-<p>Since: 3.1<br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<h3>Scenario 1: One Time Merge</h3>
-
-<p>Using Team>Merge, merge the changes from a branch into HEAD. Once
-completed, in the synchronize view, update the incoming changes, resolve
-any conflicts and ensure they worked, After updating, redo the same
-merge. A no-changes dialog should be presented since the local contents
-match the end-point.
-<p>Things to try:
-<ul>
-	<li>Use content assist to select an existing branch for the end
-	tag. A root versions should be automatically found if it exists.</li>
-	<li>Choose to perform the merge into the local workspace. Ensure
-	it works with and without a start tag.</li>
-</ul>
-
-<h3>Scenario 2: Ongoing Merge</h3>
-
-After performing a one-time merge, pin the entry in the synchronize
-view. Release changes to the end point (branch) and synchronize the
-merge. The new changes should appear in the synchronize view. Update to
-these changes as appropriate.
-
-<h3>Scenario 3: Direct Merge</h3>
-
-Perform a Team>Merge and choose to merge directly into the workspace.
-Try both the case with a base tag and without it.
-
-<h3>Removing a Merge</h3>
-
-<p>Delete the merge from the synchronize view using the remove
-toolbar button. The merge subscriber should be removed from the view.
-
-<a name="00013.html"/>
-
-<h2>Synchronize View</h2>
-<p>Since: 3.0 M5<br>
-Last Modified: $Date: 2004/06/01 19:14:48 $</p>
-<ul>
-	<li>Same scenarios as <a href="00011.html">CVS Synchronize
-	View</a> except you can't commit.</li>
-	<li>Test mark as merged (ensure that it can work on large data
-	sets)</li>
-</ul>
-
-<a name="branch00001.html"/>
-
-<h2>Branching</h2>
-<p>Since: 3.1 M4<br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<ol>
-	<li>Choose Team>Branch from the context menu of the Navigator.
-	<li>Enter a branch tag.</li>
-	<li>Verify that a version tag is proposed for the branch.</li>
-	<li>Click OK and verify that the tags are applied and the local
-	project is mapped to the branch.</li>
-</ol>
-<p>Some things to try:
-<ul>
-	<li>Uncheck the "Start working in the branch" option and verify
-	that the local project is not moved to the branch.</li>
-	<li>Branch a loaded version and verify that the tag from the
-	project is used as the root.</li>
-	<li>Ensure that the content assist on the branch text widget shows
-	branches from other projects in the workspace that do not exist on the
-	project being branched.</li>
-	<li>Branch with local changes and ensure that they remain and can
-	be committed to the branch.</li>
-</ul>
-
-
-<a name="00029.html"/>
-<h1>Patching</h1>
-<a name="00030.html"/>
-<h2>Importing a zip over a shared project</h2>
-<p>Since: 3.0 M6<br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<p>This scenario captures one means of patching. It assumes that a zip file contains 
-a previous version of a project that has been modified in some way and added to
-a zip archive (without CVS directories).</p>
-
-<p>Perform the following steps:</p>
-<ol>
-  <li>Load the project from CVS (using Checkout or some other means).</li>
-  <li>Import the zip over the loaded project.</li>
-  <li>Ensure that the sync states are Outgoing for all resources from the zip file.</li>
-  <li>Ensure that all folders from the zip file (except new ones)
-  are marked as in-sync and all files (except new ones) are outgoing changes.</li>
-  <li>Changing the comparison criteria to compare contents should not contact the server
-  and should leave only the resources that differ in the sync view. Perform a 
-  Mark As Merged and a Commit on these resources.</li>
-  <li>Changing the comparison criteria back to revision number will
-	reveal all the files whose content did not change, perform a Mark as
-	merged on these resources followed by a Team>Update on the project in
-	the Navigator (Note: This could be handled better).</li>
-  <li>After the update, ensure the project has no out-of-sync resources.</li>
-</ol>
-
-
-<a name="00014.html"/>
-<h1>History View</h1>
-<a name="00018.html"/>
-
-<h2>Editor Linking</h2>
-<p>Since: 3.0 M5<br>
-Last Modified: $Date: 2007/05/23 13:19:15 $</p>
-
-<ol>
-	<li>Open the Resource History view and enable editor linking.</li>
-	<li>Open a compare editor from the sync view (on a resource that
-	exists remotely) and ensure that the history view updates.</li>
-	<li>Open an editor from the Repositories view and ensure that the
-	history view updates.</li>
-	<li>Open an editor on a local file and ensure that the history
-	view updates.</li>
-</ol>
-<p>Repeat the above with the Resource History view hidden and ensure
-that no revision history is fetched (i.e. no jobs appear in progress
-view).</p>
-
-
-<a name="toolbarButtonsUMFile00001.html"/>
-
-<h2>Common Toolbar Buttons</h2>
-<p>Since: 3.2 RC2 <br>
-Last Modified: $Date: 2007/09/06 15:23:00 $</p>
-
-<p><b>Purpose:</b> Test the functionality of the various buttons
-common to both the Local File History page and the CVS History page</p>
-
-Note: Even though the functionality is the same for both pages, the
-tests should be conducted on both an unmanaged file and a CVS file as
-each history page has its own respective implementation for the
-following actions.
-
-<hr></hr>
-
-<h3>Compare Mode</h3>
-
-<ol>
-	<li>With a file history in the History View and the Compare Mode
-	button <b>off</b>, click on any revision and verify that it opens that
-	revision.</li>
-	<li>Click the Compare Mode button <b>on</b> and verify that
-	clicking on any local file revision will now bring up the compare
-	editor.</li>
-	<li>Verify that turning the Compare Mode button off again switches
-	back to Open mode.</li>
-</ol>
-
-<hr></hr>
-
-<h3>Collapse All</h3>
-
-<ol>
-	<li>With a file history in the History View, and the Group by Date
-	button <b>on</b>, click the Collapse All button.</li>
-	<li>Verify that all of the items in the tree are collapsed.</li>
-</ol>
-
-
-<a name="groupByDateUMFile00001.html"/>
-
-<h2>Group Revisions by Date</h2>
-<p>Since: 3.2 RC2 <br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<p><b>Purpose:</b> Test the group by date mechanism for both local
-history and CVS history.</p>
-
-<ol>
-	<li>Open the History view.</li>
-	<li>Roll back your system clock 1 day, make a change to your local
-	unmapped file and save it.</li>
-	<li>Roll back your system clock to the beginning of the month and
-	make some changes to the local unmapped file and save it.</li>
-	<li>Roll back your system clock to anywhere before the beginning
-	of the current month, make a change to the local unmapped file and save
-	it.</li>
-	<li>Reset your clock to the current date and show the file's
-	history (DND or [Team>Show Local History]/[Team>Show History] for local
-	and CVS files respectively).</li>
-	<li>Verify that the revisions appear in the appropriate
-	categories: Today, Yesterday, This Month and Previous.</li>
-	<li>Click the Group by Revisions Date button and make sure that
-	the categories toggle on and off.</li>
-</ol>
-
-<p>The above should be tested with history from both an unmanaged
-file and a CVS file.</p>
-
-
-<a name="localHistoryUnsharedFiles00001.html"/>
-<h1>Local History for Unshared Files</h1>
-<a name="DNDUMFile00001.html"/>
-
-<h2>Drag and Drop Unmapped File</h2>
-<p>Since: 3.2 RC2 <br>
-Last Modified: $Date: 2006/04/25 20:40:39 $</p>
-
-<p><b>Purpose:</b> Test the DND mechanism for unmapped files.</p>
-
-<ol>
-	<li>Open the History view.</li>
-	<li>Drag the local file over to it.</li>
-	<li>Ensure the the history view shows the appropriate history
-	(i.e. all revisions present and proper filename in the title bar).</li>
-</ol>
-
-<p>Drag another file over to the History View from a project that is
-<i>shared with a CVS repository.</i> Repeat the above and make sure that
-the View updates.</p>
-
-
-<a name="showHistoryUMFile00001.html"/>
-
-<h2>Show History Unmapped File</h2>
-<p>Since: 3.2 RC2 <br>
-Last Modified: $Date: 2006/04/25 20:40:39 $</p>
-
-<p><b>Purpose:</b> Test the page activation mechanism for unmapped
-files.</p>
-
-<ol>
-	<li>Open the History view.</li>
-	<li>Select the local file, right click and select Team>Show Local
-	History.</li>
-	<li>Ensure the the history view shows the appropriate history
-	(i.e. all revisions present and proper filename in the title bar).</li>
-</ol>
-
-<p>Populate the History View with another file from a project that
-is <i>shared with a CVS repository.</i> Repeat the above and make sure
-that the View updates.</p>
-
-
-<a name="cvsHistory00001.html"/>
-<h1>CVS History</h1>
-<a name="DNDCFile00001.html"/>
-
-<h2>Drag and Drop CVS File</h2>
-<p>Since: 3.2 RC2 <br>
-Last Modified: $Date: 2006/04/25 20:40:39 $</p>
-
-<p><b>Purpose:</b> Test the DND mechanism for CVS files.</p>
-
-<ol>
-	<li>Open the History view.</li>
-	<li>Drag the CVS file over to it.</li>
-	<li>Ensure the the history view shows the appropriate history
-	(i.e. all revisions present and proper filename in the title bar).</li>
-</ol>
-
-<p>Drag another file over to the History View from a project that is
-<b>not</b> shared with a CVS repository. Repeat the above and make sure
-that the View updates.</p>
-
-
-<a name="00024.html"/>
-
-<h2>Annotate</h2>
-<p>Since: 3.0 M6<br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-
-<h4>Annotate action should be available from</h4>
-<ul>
-	<li>history view, repo explorer, resource/packages view</li>
-</ul>
-
-<h4>Annotate java files</h4>
-<ul>
-	<li>should show the java editor</li>
-	<li>you should be able to step through changes in the annotate
-	view and the java editor should stay in sync (e.g. highlight) the
-	changes associated with the selected change in the annotate view.</li>
-	<li>you should also be able to select a line in the java file and
-	the annotate view should select the change that is associated with that
-	line.</li>
-	<li>the history view should show the history for the opened file
-	and highlight the revision of the currently selected change in the
-	annotate view.</li>
-</ul>
-
-<h4>Annotate non-text editor files</h4>
-<ul>
-	<li>annotate plugin.xml file</li>
-	<li>the default text editor should be shown</li>
-	<li>you should also be able to select a line in the text file and
-	the annotate view should select the change that is associated with that
-	line.</li>
-	<li>the history view should show the history for the opened file
-	and highlight the revision of the currently selected change in the
-	annotate view.</li>
-</ul>
-
-<h4>Annotate binary files</h4>
-<ul>
-	<li>annotate a file marked as binary</li>
-	<li>the server should report an error that annotations cannot be
-	shown for binary files.</li>
-</ul>
-
-
-<a name="modeSwitching00001.html"/>
-
-<h2>Mode Switching</h2>
-<p>Since: 3.2 RC2 <br>
-Last Modified: $Date: 2006/04/25 21:31:43 $</p>
-
-<p><b>Purpose:</b> Test the mode switching for the CVS History Page.</p>
-
-<h3>Basic Mode Testing</h3>
-
-<ol>
-	<li>Open the History view.</li>
-	<li>Open any file that is being managed by CVS.</li>
-	<li>Edit the file and save.</li>
-	<li>Show the history for the file.</li>
-	<li>Click on the Local and Remote Revisions button. Verify that
-	you can see both remote revisions and local revisions.</li>
-	<li>Click on the Local Revisions button. Verify that you can see
-	only local revisions. Note: <i>No background fetching should occur
-	when you switch modes!</i></li>
-	<li>Click on the Remote Revisions button. Verify that you can see
-	only remote revisions. Note: <i>No background fetching should occur
-	when you switch modes!</i></li>
-</ol>
-
-<h3>Mode Persistence Testing</h3>
-
-<ol>
-	<li>Open the History view.</li>
-	<li>Show the history for the file.</li>
-	<li>Click on one of the modes, remember it and close the history
-	view.</li>
-	<li>Show the history for a file again and verify that it is in
-	fact the same mode that you had set prior to closing the history view.</li>
-</ol>
-
-
-<a name="pinHistoryView00001.html"/>
-
-<h2>Pin History View</h2>
-<p>Since: 3.2 RC2<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<p><b>Purpose:</b> Test the pinning behavior of the history view.</p>
-
-<h3>Simple Pinning</h3>
-
-<ol>
-	<li>With a file history in the History View, hit the Pin button.</li>
-	<li>DND a file onto the pinned history view.</li>
-	<li>Verify that a new history view instance opens with the history
-	of the new file displayed.</li>
-	<li>Drag another file onto the pinned instance and verify that it
-	too goes to the new unpinned view.</li>
-</ol>
-<p>Repeat the above using both a CVS file and an unmanaged file.</p>
-
-<h3>More Pinning</h3>
-<p>If a one of the views already contains a file, that file should
-always update the pinned view.</p>
-
-<ol>
-	<li>With a file history in the History View, hit the Pin button.</li>
-	<li>DND a file onto the pinned history view.</li>
-	<li>Verify that a new history view instance opens with the history
-	of the new file displayed.</li>
-	<li>Now show the history for the original file in the pinned view.
-	The pin view should come to the fore front.</li>
-</ol>
-
-
-<a name="refreshHistory00002.html"/>
-
-<h2>Refresh</h2>
-<p>Since: 3.2 RC2<br>
-Last Modified: $Date: 2007/05/18 13:54:38 $</p>
-
-<p><b>Purpose:</b> Test the two types of refresh behavior available
-in the history view</p>
-
-<h3>Automatic Refresh</h3>
-
-<p>When a local file is modified and saved, a refresh event is sent
-out and the history view should show the newest revision. This will work
-for both local history and CVS history files. (CVS files need to have
-the history view in the appropriate viewing mode: either "Remote and
-Local Revisions" or "Local Revisions".)</p>
-
-<ol>
-	<li>With a file history in the History View, and the viewer in an
-	appropriate mode if a CVS file, open an editor on the workspace copy of
-	the file in the history view.</li>
-	<li>Edit the file and save.</li>
-	<li>Verify that a new local revision gets added to the history
-	view which reflects your change.</li>
-</ol>
-
-
-<h3>Manual Refresh</h3>
-
-<p>There is also a Refresh button on the toolbar. This is mainly
-useful for CVS file histories if you want to check if any revisions have
-been committed. Note that its not really of any use for local revisions
-as they are updated automatically.</p>
-
-<ol>
-	<li>With a CVS file history in the History View, make a change to
-	the file and save. (You should see the local version updated in the
-	history view.)</li>
-	<li>Commit the file.</li>
-	<li>Hit the Refresh toolbar button and verify that the new
-	revision gets displayed in the history view,</li>
-</ol>
-
-
-<a name="00020.html"/>
-<h1>Concurrency</h1>
-<a name="00021.html"/>
-
-<h2>Close and disconnect</h2>
-<p>Since: 3.0 M5<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<h4>Background refresh and disconnect</h4>
-<ol>
-	<li>Load several projects from the repository</li>
-	<li>Ensure that several have outgoing and incoming changes</li>
-	<li>Choose one project to disconnect. The project should have
-	incoming and outgoing changes and be one of the later ones in the
-	refresh order (alphabetical).</li>
-	<li>Perform a refresh on all the projects</li>
-	<li>While the refresh is occurring, disconnect the project chosen
-	in step 3) and leave CVS folders.</li>
-	<li>Ensure that the project is removed from the sync view and no
-	errors occur</li>
-</ol>
-<p>Repeat the steps and purge the CVS meta-data in step 5).</p>
-<p>Repeat the above steps but change the operation in step 5) to the
-following:</p>
-<ul>
-	<li>close project</li>
-	<li>project where server is unreachable</li>
-	<li>delete project</li>
-	<li>binary project import over source project with outgoing
-	changes</li>
-</ul>
-<h4>Decoration and disconnect</h4>
-<ul>
-	<li>Load several projects from the repository</li>
-	<li>Ensure that several have outgoing and incoming changes</li>
-	<li>Choose one project to disconnect. The project should have
-	incoming and outgoing changes and be one of the later ones in the
-	refresh order (alphabetical).</li>
-	<li>Turn on CVS decorators</li>
-	<li>As the decorations are being calculated, disconnect all
-	projects from CVS control.</li>
-	<li>Ensure that the project is removed from the sync view and no
-	errors occur</li>
-</ul>
-<p>Repeat the above steps but change the operation in step 5) to the
-following:</p>
-<ul>
-	<li>close project</li>
-	<li>project where server is unreachable</li>
-	<li>delete project</li>
-	<li>binary project import over source project with outgoing
-	changes</li>
-	<li>delete or move files and folders (to test move/delete hook)</li>
-</ul>
-
-
-<a name="00023.html"/>
-<h1>Restarting Workbench</h1>
-<a name="00019.html"/>
-
-<h2>Crash Recovery</h2>
-<p>Since: 3.0 M5<br>
-Last Modified: $Date: 2007/05/23 13:19:15 $</p>
-
-<h3>Scenario 1</h3>
-<ol>
-	<li>Turn on deep dirty decoration</li>
-	<li>Dirty a file and ensure that the file and it's parents are
-	dirty</li>
-	<li>Quit Eclipse so dirty state is persisted</li>
-	<li>Restart and perform an override and update or commit and
-	ensure file and parents are clean</li>
-	<li>Kill Eclipse</li>
-	<li>Restart and ensure parents and file are clean</li>
-</ol>
-
-<h3>Scenario 2</h3>
-<ol>
-	<li>Check out two copies of the same project</li>
-	<li>Dirty the same file in both projects, commit one and refresh
-	the other in the sync view so a conflict is visible</li>
-	<li>Quit Eclipse so that the sync state is persisted</li>
-	<li>Restart Eclipse and perform an Override and Commit on the
-	conflict</li>
-	<li>Kill Eclipse</li>
-	<li>Restart Eclipse and ensure that the sync view doesn't show the
-	file (i.e the file is in-sync).</li>
-</ol>
-
-
-<a name="00025.html"/>
-
-<h2>Synchronize View Settings</h2>
-<p>Since: 3.0 M6<br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-
-<h4>Saved between sessions</h4>
-<p>The following GUI preferences in the Synchronize View are
-persisted between workbench sessions. Also they are persisted for each
-participant. You should be able to create a merge and workspace
-participant, then change the settings on each. Restart Eclipse and the
-settings should be maintained for each participant. The persisted
-settings are:</p>
-<ul>
-	<li>mode</li>
-	<li>layout</li>
-	<li>working set</li>
-</ul>
-
-<a name="00028a.html"/>
-<h1>SSH2</h1>
-<a name="00029a.html"/>
-
-<h2>Server version compatibiliity</h2>
-<p>Since: M6<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-This test is to ensure that the ssh2 connection method properly
-delegates to ssh1 when the server only supports ssh1.
-
-<a name="00030a.html"/>
-
-<h2>Proxies</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-Using HTTP and SOCKS5 proxies.
-
-<a name="00031.html"/>
-
-<h2>Key Generation</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-
-You should be able to generate private/public keys in the SSH2
-preference page. Here are some scenarios for testing:
-<ul>
-	<li>Generate keys and save private key without password. You
-	should be prompted.</li>
-	<li>Generate keys and save private key with password. You
-	shouldn't be prompted.</li>
-	<li>Generate keys and install using the sftp button.</li>
-</ul>
-
-<a name="00032.html"/>
-
-<h2>General use</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-
-This tests the prompting and usage of the SSH2 connection method:
-<ul>
-	<li>Delete all files in your SSH_HOME directory. You can find this
-	directory by opening the SSH2 preference page</li>
-	<li>Create a CVS repository connection of type 'extssh'. You will
-	be prompting about the server id not being in your known_hosts file.</li>
-	<li>Select cancel, and error should be shown indicating that the
-	location was not validated do you want to keep it.</li>
-</ul>
-
-<a name="00033.html"/>
-<h1>Annotate</h1>
-<a name="00034.html"/>
-
-<h2>Show Annotation Action</h2>
-<p>Since: 3.0 M3<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-<p>Annotate a non-managed file, binary file, plugin.xml file... Be
-creative.</p>
-<p>Ensure that the annotate view, editor, and history view stay
-synchronized.</p>
-
-<a name="00035.html"/>
-<h1>Label Decorations</h1>
-<a name="00036.html"/>
-
-<h2>Enablement at startup</h2>
-<p>Since: 3.0 M7<br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<p>The CVS decorators should not be enabled at start-up. Verify the
-label decorator preference page.</p>
-Here are some scenarios for testing:
-<ul>
-	<li>When sharing or checking out a project, the decorators will be
-	enabled automatically.</li>
-	<li>Disabling after they have been enabled and restarting. The
-	decorators should be disabled. Checkout should not enable them again.</li>
-	<li>Enable the decorations again, then disconnecting a project
-	should clear the decorators on the project.</li>
-</ul>
-
-<a name="00037.html"/>
-
-<h2>Customizations</h2>
-<p>Since: 3.1 <br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<p>You can customize the label decorations via the preference page.
-The customizations will take effect when apply is pressed. Resetting the
-defaults should work.</p>
-<p>You can also configure the font and color used for various
-resources states. There should be a link from the CVS label decorations
-preference page to the general colors and fonts preference page.</p>
-
-<a name="00038.html"/>
-
-<h2>Decorations in the Synchronize pages</h2>
-<p>Since: 3.0 M8<br>
-Last Modified: $Date: 2007/05/23 13:19:15 $</p>
-
-<p>CVS text label decorations should be visible in the CVS
-synchronize participants. We don't bother to show the images because the
-sync view already shows the state images. The labels should also update
-if the 'show change in label' preference is changed.</p>
-<p>Also, in the CVS synchronize view the revisions shown are the
-&lt;local&gt; - &lt;remote&gt;. So ensure that the correct remote is
-shown.</p>
-<p>Ensure that when the local tag changes the decorators in the sync
-view and navigator get updated.</p>
-<p>Ensure that there is no flicker in packages view when CVS
-decorator updated on commit, update.</p>
-
-<a name="watch_edit00001.html"/>
-<h1>Watch/Edit</h1>
-<a name="watch_edit_basic00001.html"/>
-
-<h2>Basic scenarios</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<p>To setup, goto the CVS preference page and enable watch edit for
-all projects checked out from CVS. And then set the prompt option to
-always prompt.</p>
-<ol>
-	<li>Check out a project from CVS and verify that the files are
-	marked as read-only.</li>
-	<li>Open a file and edit it. You should be prompted to edit it.
-	Say yes. There should be a brief pause, then you can edit the file.</li>
-	<li>Open another file and start editing it. You should be prompted
-	to edit it. Say no. The file will remain read-only and you won't be
-	allowed to edit it.</li>
-	<li>Open a file and edit it. Say yes to the prompt. commit the
-	file and edit again. You should be prompted a second time.</li>
-	<li>Open a file and edit it. Say yes to the prompt. Replace the
-	file from the repository and edit again. You should be prompted to edit
-	again.</li>
-	<li>Open a file and edit it. Un-plug your network connection. Say
-	yes to the prompt to send a notification. There should be a pause, then
-	the file should be editable.</li>
-	<li>Checkout another copy of the project. Edit a file, then try to
-	edit the same file in the another project copy. You should be notified
-	that the file is currently being edited by someone else.</li>
-</ol>
-
-<p>Saving files - setup is the same as previous</p>
-<ol>
-	<li>Check out a project from CVS and verify that the files are
-	marked as read-only.</li>
-	<li>Open a file and edit it. You should be prompted to edit it.
-	Say yes. There should be a brief pause, then you can edit the file.</li>
-	<li>Edit the file but don't save it.</li>
-	<li>Edit the file in a system editor outside of Eclipse, then in
-	the resource navigator, commit the file. The resource's decorator will
-	change. Ignore all the prompts about saving the un-saved file.</li>
-	<li>Return to the unsaved editor and try typing. You should be
-	prompted to call validate edit again.</li>
-</ol>
-
-<p>validateEdit fails</p>
-<ol>
-	<li>Check out a project from CVS and verify that the files are
-	marked as read-only.</li>
-	<li>Disconnect from network so that the validateEdit would fail.</li>
-	<li>Open a file and edit it. You should be prompted to edit it.
-	Say yes. There should be a pause then the error should be reported in
-	the editor pane showing the exception that occurred.</li>
-</ol>
-
-<p>Refactoring</p>
-<ol>
-	<li>Check out a project from CVS and verify that the files are
-	marked as read-only.</li>
-</ol>
-
-
-<a name="watch_edit_editorsview00001.html"/>
-
-<h2>Editors View</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/06/01 20:28:37 $</p>
-<p>Test that you can properly show the editors on a file.</p>
-
-<a name="perf00001.html"/>
-<h1>Performance</h1>
-<a name="perf00002.html"/>
-
-<h2>Timings</h2>
-<p>Since: 3.0<br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-This section contains various timing results and comparisons.
-
-<h3>Overview</h3>
-
-The purpose of this section is to provide a small set of tests that can
-be used to benchmark the Eclipse CVS client. The areas tested are:
-
-<ol>
-	<li>Checkout</li>
-	<li>Synchronizing</li>
-	<li>Updating</li>
-</ol>
-
-<h3>Setup</h3>
-
-The following should be considered when obtaining timings:
-
-<ul>
-	<li>The Progress view in verbose mode can add 20% or more to
-	times. In regular mode, it can still add a bit to the time. For these
-	timings, the view was open but hidden.</li>
-	<li>The Console view can add as much as 20% to times. For these
-	tests, the console was turned off entirely.</li>
-	<li>Running an Eclipse operation several times will "warm-up" the
-	code path due to JIT. The timings for Eclipse were usually the second
-	or third timing obtained.</li>
-</ul>
-
-The following numbers were obtained on a 2.8GHz PC running GTK, Sun 14.2
-with autobuild off and operations run in the foreground. The project
-used was org.eclipse.jdt.tests.refactoring. It has a large number of
-folders and files which give interesting times. The date the timings
-were obtained were May 31st, 2004 so similar numbers can be obtained for
-comparison using the project snapshot at that time (which can be
-obtained using a Date tag).
-
-<h3>Checkout</h3>
-
-Checkout of org.eclipse.jdt.tests.refactoring as of 2004/05/31. The
-timings are in "mm:ss" and were obtained by observation (i.e.
-stopwatch).
-
-<ul>
-	<li>Eclipse 3.0 over pserver: 3:00 to 3:30 (several timings)
-	<ul>
-		<li>Timings increased slightly with progress view visible and
-		considerably with progress view in verbose mode.
-	</ul>
-	</li>
-	<li>CLI over pserver: 3:00 (1 timing)</li>
-</ul>
-
-<h3>Synchronize</h3>
-
-Synchronizing of org.eclipse.jdt.tests.refactoring as of 2004/05/31. The
-timings are in "mm:ss" and were obtained by observation (i.e.
-stopwatch).
-
-<h4>Synchronize with no changes</h4>
-
-<ul>
-	<li>Eclipse 3.0 over pserver: 0:45</li>
-	<li>CLI over pserver: 0:42 ("cvs -n update")</li>
-</ul>
-
-<h4>Synchronize with all outgoing, no incoming</h4>
-
-<ul>
-	<li>Eclipse 3.0 over pserver: 1:00</li>
-	<li>CLI over pserver: 2:20 ("cvs -n update")</li>
-</ul>
-
-<h4>Synchronize with incoming changes</h4>
-
-Incoming changes were simulated by loading version v20040106 and then
-removing the tag (using a special utility action). This resulted in 393
-incoming changes.
-
-<ul>
-	<li>Eclipse 3.0 over pserver: 0:55</li>
-	<li>CLI over pserver: 0:45 ("cvs -n update")</li>
-</ul>
-
-The timing for Eclipse also includes the status command to fetch the
-revisions for the 393 incoming changes.
-
-<h3>Update</h3>
-
-These timings were obtained using Team>Update for Eclipse and "cvs
-update ." for the CLI.
-
-<h4>Update with no changes</h4>
-
-<ul>
-	<li>Eclipse 3.0 over pserver: 1:15, 1:25 (2 timings)</li>
-	<li>CLI over pserver: 1:15 ("cvs update")</li>
-</ul>
-
-<h4>Update with all false outgoing changes (using touch)</h4>
-
-<ul>
-	<li>Eclipse 3.0 over pserver: 2:20</li>
-	<li>CLI over pserver: 2:20</li>
-</ul>
-
-<h4>Update with incoming changes</h4>
-
-Incoming changes were simulated by loading version v20040106 and then
-removing the tag (using a special utility action). This resulted in 393
-incoming changes.
-
-<ul>
-	<li>Eclipse 3.0 over pserver: 1:55</li>
-	<li>CLI over pserver: 1:55 ("cvs -n update")</li>
-</ul>
-
-
-<a name="perf00004.html"/>
-
-<h2>Resource Data Structures</h2>
-<p>Since: 3.0<br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-This section contains results on memory footprint of CVS in the Core
-resource plugin data structures. More specifically, CVS uses the session
-and persistent property caches along with the synchronizer.
-
-<h3>CVS Workspace Sync info caches</h3>
-
-Checking of the cache usage requires the use of the Core spy tools. To
-obtain the memory footprint, perform the following steps.
-
-<ol>
-	<li>Install the Core Spy Tools</li>
-	<li>Launch Eclipse</li>
-	<li>Checkout several projects</li>
-	<li>Open the Element Tree Spy to get the memory footprint. At the
-	time of writing, CVS is the main user of these structures. In future
-	test, ensure that others are not contributing to the tally.</li>
-	<li>Disconnect all the projects</li>
-	<li>The Element Tree Spy memory footprint should be reduced
-	accordingly</li>
-</ol>
-
-The following snapshot of the resource element tree was taken after
-checking out all of the projects (294 as of 2004/05/31) in
-dev.eclipse.org.
-
-<pre>
-Total resource count: 89,466
-	Team private: 10,186
-	Phantom: 4,055
-	Markers: 0
-	SyncInfo: 10,432
-Number of layers: 15
-Number of nodes: 89,514
-Number of non-identical strings: 48,456
-Total memory used by nodes: 23,141,343
-	Nodes and ResourceInfo: 8,586,108
-	Strings: 3,584,724
-	Markers: 0
-	Sync info: 1,447,861
-	Session properties: 9,522,650
-		class [B: 2,618,076
-		class [Ljava.lang.Object;: 2,564,448
-		class org.eclipse.core.internal.utils.ObjectMap: 1,700,240
-		class [C: 1,454,994
-		class java.lang.Long: 610,800
-		class java.lang.String: 286,580
-		class org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo: 285,292
-		class java.util.ArrayList: 768
-		class org.eclipse.team.internal.ccvs.core.util.StringMatcher: 660
-		class org.eclipse.team.internal.ccvs.core.util.FileNameMatcher: 320
-		class [Ljava.lang.String;: 300
-		class org.eclipse.core.runtime.QualifiedName: 160
-		class java.lang.Object: 12
-The top 20 equal but non-identical strings are:
-	A.java->2,002
-	in->1,219
-	plugin.xml->913
-	out->794
-	A_out.java->489
-	A_in.java->487
-	eclipse->431
-	org->421
-	Test.java->412
-	B.java->345
-	build.properties->297
-	I.java->269
-	internal->256
-	about.html->253
-	plugin.properties->243
-	.cvsignore->227
-	.classpath->209
-	ui->185
-	src->184
-	package.html->165
-</pre>
-
-<h3>CVS Merge memory usage</h3>
-Merging in CVS makes use of the Core synchronizer. Perform the following
-steps with the Core Spy Tool installed to ensure proper memory
-management.
-
-<ol>
-	<li>Checkout one or more projects</li>
-	<li>Open the Element Tree Spy to get the memory footprint.</li>
-	<li>Perform a merge</li>
-	<li>Open the Element Tree Spy to get the memory footprint. The
-	only increase should be in the synchronizer.</li>
-	<li>Remove the merge from the sync view</li>
-	<li>The Element Tree Spy memory footprint should be reduced
-	accordingly</li>
-</ol>
-
-
-<a name="perf00005.html"/>
-
-<h2>Looking For Leaks</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/06/01 15:23:56 $</p>
-
-<h3>Removing synchronize view entries</h3>
-
-<ol>
-	<li>Start with an empty synchronize view</li>
-	<li>Create an entry in the Synchronize view for each of the
-	following cases:
-	<ul>
-		<li>Team>Synchronize</li>
-		<li>Compare with>Branch or Version</li>
-		<li>Team>Merge</li>
-	</ul>
-	</li>
-	<li>Open the context menu</li>
-	<li>Select all mode and layout combinations</li>
-	<li>Remove the entry (making the sync view empty).</li>
-	<li>Select an item in another view</li>
-	<li>Using a memory profiler, look for instances of the following
-	classes:
-	<ul>
-		<li>ISynchronizeParticipant
-		<li>SynchronizeModelElement
-		<li>SyncInfo/SyncInfoSet
-	</ul>
-	</li>
-</ol>
-
-<h3>Closing the Synchronize view</h3>
-
-Close all instances of the Synchronize view and ensure that no instances
-of ISynchronizeView remain.
-
-
-<a name="perf00006.html"/>
-
-<h2>Team Data Structures</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-The Team component provides several data structures that can be used to
-cache resource synchronization state and resource variants for improved
-performance. The plan is to provide tools to interrogate these caches in
-the 3.1 timeframe. These caches include:
-
-<ul>
-	<li>Resource Variant cache</li>
-	<li>SubsciberParticipant/SyncInfoSet</li>
-</ul>
-
-<h3>CVS Specific data structures</h3>
-
-CVS uses several caches to improve performance. Tools should be provided
-to query the size of these caches as well.
-
-<ul>
-	<li>Console (caches contents while not visible)</li>
-	<li>Resource History View log entry cache</li>
-	<li>Commit Sets log entry cache</li>
-</ul>
-
-
-<a name="perf00007.html"/>
-
-<h2>Scalability</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<p>The following scenario can be used to test a large number of
-incoming additions:</p>
-
-<ol>
-	<li>Load org.eclipse.jdt.core.tests.model from dev.eclipse.org</li>
-	<li>Disconnect Formatter folder and delete it</li>
-	<li>Synchronize and the contents show up as incoming additions</li>
-	<li>Perform an Update in the project in the sync view.</li>
-</ol>
-
-
-<a name="failures00001.html"/>
-<h1>Failure Cases</h1>
-<a name="connections00001.html"/>
-
-<h2>Connections</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/23 13:19:14 $</p>
-
-<p>Test that authentication, connection errors result in appropriate
-error messages and that these don't pollute the log file or console. To
-setup for these tests ensure there are a couple of shared projects in
-your workspace.</p>
-
-<ul>
-	<li>Clear you log file before starting the tests and turn on the
-	CVS quick diff provider.</li>
-	<li>Perform an update, a synchronize, and open a file. The log
-	should be empty and the operations should succeed.</li>
-	<li>Disconnect from the network.</li>
-	<li>Open a file. The CVS quick diff will fail and an error should
-	be in the log.</li>
-	<li>Synchronize all the shared projects. One error explaining the
-	failures should be returned.</li>
-	<li>Change the connection properties of one of the projects to
-	point to an non-existing location. Then synchronize again, the error
-	message should indicate that some succeeded and others failed. But the
-	user should no that the operation did complete and skipped the failed
-	projects.</li>
-	<li>Expand the invalid location in the CVS repositories view. An
-	appropriate error should be shown.</li>
-</ul>
-
-
-<a name="auth_problems00001.html"/>
-
-<h2>Authentication Problems</h2>
-<p>Since: <br>
-Last Modified: $Date: 2004/06/01 20:28:37 $</p>
-
-<p>Test the error reporting when authentication fails due to either,
-invalid username, password, hostname. This should be tried with each CVS
-connection method: pserver, extssh, ext.</p>
-
-
-<a name="misc00001.html"/>
-<h1>Misc</h1>
-<a name="00042.html"/>
-
-<h2>CVS Console</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-There are a couple of preferences that controls the behavior and
-presentation of the console. To enable this testing, you must first
-enable font and label decorations. This can be done by going to
-<i>Window/Preferences/Team/CVS/Label Decorations</i>
-and checking off
-<b>"Enable font and color decorations"</b>
-.
-<p>These are:</p>
-<ul>
-	<li>font: changing the font should immediately update the sync
-	view as well as all other views decorated by CVS (ie. Package
-	Explorer).</li>
-	<li>font color: message color, error color, command line. Changing
-	these should immediately update the console view.</li>
-</ul>
-
-
-<a name="keys00001.html"/>
-
-<h2>Key Bindings</h2>
-<p>Since: 3.1<br>
-Last Modified: $Date$</p>
-
-<p>Activate the CVS menu and assign keybindings to the various CVS
-commands. Ensure that they work as expected.</p>
-
-
-<a name="validate_edit00001.html"/>
-<h1>Validate Edit</h1>
-<a name="validate_edit_editing_files00001.html"/>
-
-<h2>Editing Files</h2>
-<p>Since: <br>
-Last Modified: $Date: 2007/05/18 13:54:37 $</p>
-
-<p>These tests are to sanity check editors behavior relating to
-calling validateEdit. The tests will try to cover all cases where files
-are changed by the validateEdit handler and changes are made to the
-read-only bit.</p>
-
-<p>These test cases outline the expected behavior of single file
-editors in terms of calling validateEdit and handling of error
-conditions. All scenarios assume that a repository provider is mapped to
-a project and has created a sandbox with files that are marked
-read-only.</p>
-
-<p>The <a
-	href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.team.examples.filesystem/">
-org.eclipse.team.example.filesystem</a> plugin is a repository provider that
-simulates a pessimistic workflow. You can use it to run these tests and
-validate (no pun intended) your validateEdit editor support. To use the
-pessimistic provider, share a project with the repository provider
-called "File System Pessimistic Example" and then you can add to control
-the files and checkin/checkout will toggle the read-only bit and touch
-the file. You can change the behavior of the validateEdit call via the
-pessimistic preference page. For example, you can force the operation to
-fail and update contents of the file when checked out.</p>
-
-<p>These tests should be run against the following combinations of
-tools:</p>
-
-<ul>
-	<li>Different repository providers</li>
-	<li>Single file editors (java, text)</li>
-	<li>Multiple file editors (manifest editor, ...)</li>
-</ul>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S1: Repository provider enabled and files are readable</h3>
-<ol>
-	<li>Open a file that is not marked read-only in a project
-	configured with a repository provider.</li>
-	<li>Start editing the file, validate edit should not be called.</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S2: Validate edit called on first edit</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Start editing the file, validateEdit should be called.</li>
-	<li>validateEdit returns OK, the users edit is accepted and shows
-	up in the editor, and the file can be edited normally.</li>
-	<li>The user saves the file, and then can continue editing without
-	validateEdit being called.</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S2b: Validate edit canceled</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Start editing the file, validateEdit should be called.</li>
-	<li>validateEdit is canceled, the users edit is not accepted and
-	the file cannot be edited.</li>
-	<li>The user should still be able to browse the contents of the
-	file and trying to edit it again</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S2b: Validate edit fails with an error</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Start editing the file, validateEdit should be called.</li>
-	<li>validateEdit is canceled, the users edit is not accepted and
-	the file cannot be edited. User should be shown the error returned from
-	the validateEdit provider.</li>
-	<li>The user should still be able to browse the contents of the
-	file and trying to edit it again</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S3: Validate edit called on subsequent edits if file changes
-state</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Start editing the file, validateEdit should be called.</li>
-	<li>validateEdit returns OK, the user's edit is accepted and the
-	file can be edited normally.</li>
-	<li>The user saves the file, and then can continue editing without
-	validateEdit being called.</li>
-	<li>The user saves the file and then checks in the file while the
-	editor is still open.</li>
-	<li>After the checkin completes the user continues editing the
-	file.</li>
-	<li>Validate edit should be called again.</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S4: Validate edit not called after contents changed</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Start editing the file, validateEdit should be called.</li>
-	<li>validateEdit returns OK, the user's edit is accepted and the
-	file can be edited normally.</li>
-	<li>The user saves the file, and then can continue editing without
-	validateEdit being called.</li>
-	<li>The user saves the file and keeps the editor opened.</li>
-	<li>The user then un-checks out the file and new file contents are
-	retrieved from the server.</li>
-	<li>The new file contents are loaded into the editor and
-	validateEdit is not called.</li>
-	<li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S5: Validate edit changes file contents editor not-dirty</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Start editing the file, validateEdit should be called.</li>
-	<li>validateEdit returns OK and brings in new content from the
-	server.</li>
-	<li>The new content is loaded automatically because the editor
-	isn't dirty yet.</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S6: Validate edit changes file contents editor dirty</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Start editing the file, validateEdit should be called.</li>
-	<li>validateEdit returns OK and the file on disk doesn't change.</li>
-	<li>The user continues editing the file and then checks it in.</li>
-	<li>The editor remains open and dirty, the user continues editing.</li>
-
-	<li>validateEdit is called because the file is now read-only and
-	returns OK and brings in new content from the server.</li>
-	<li>The editor detects the timestamp change and prompts about the
-	conflict and provides <a href="#reload_options">options</a> to the
-	user.</li>
-	<li>After the user selects his option and the user continues
-	editing, the editor will call validateEdit.</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S7: Read-only editors refreshing on checkout</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Checkout the file that brings in new content from the server.</li>
-	<li>The editor should update with the new content from the server.</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S8: validate called on editor save</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Start editing the file, validateEdit should be called.</li>
-	<li>validateEdit returns OK and the file on disk doesn't change.</li>
-	<li>The editor remains open and dirty, the user continues editing.</li>
-	<li>The user checks-n the file and then closes the editor.</li>
-	<li>The user is prompted to save the file, then validate edit is
-	called, and the file is checked-out then saved.</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S9: validate called on editor save with new contents</h3>
-<ol>
-	<li>Open a file that has been checked out as read-only from a
-	repository provider.</li>
-	<li>Start editing the file, validateEdit should be called.</li>
-	<li>validateEdit returns OK and the file on disk doesn't change.</li>
-	<li>The editor remains open and dirty, the user continues editing.</li>
-	<li>The user checks-n the file and then closes the editor.</li>
-	<li>The user is prompted to save the file, then validate edit is
-	called, and the file is checked-out then saved.</li>
-</ol>
-
-<!--
-<hr>
-
-<a name="reload_options"><h3>Conflict Resolution Options for Editors</h3>
-<pre>
-Assumptions:  
-    1. Editors currently maintain a "dirty bit" indicating that the in-memory
-       buffer has been modified and not yet written to disk.  Editors call
-       validateEdit() the if the file is read-only and the dirty bit is going
-       from the clean state to the dirty state.
-    2. Editors can detect when the timestamp of the file has changed on disk
-       and prompt the user for the appropriate action.
-
-Suggestion:
-    Editors should maintain a separate bit, "must call validateEdit()".  Any
-    modification of the buffer calls validateEdit() first if this bit is set.
-    It is initially set when the file is opened if the file is read-only.  It
-    is cleared after a successful call to validateEdit().  It is set again
-    when the editor notices that a file has gone from read/write to read-only.
-
-    If the "must call validateEdit()" bit ever goes from the cleared state to
-    the set state (except for when the file is initially opened), a later
-    successful call to validateEdit(), should should result in the following
-    actions:
-
-    +-----------+------------------+----------------------------------------+
-    | Dirty Bit | Timestamp Change | Editor Action                          |
-    |   State   |     Detected     |                                        |
-    +-----------+------------------+----------------------------------------+
-    |     0     |        no        | No action required                     |
-    +-----------+------------------+----------------------------------------+
-    |     1     |        no        | No action required                     |
-    +-----------+------------------+----------------------------------------+
-    |     0     |        yes       | Prompt user for reload/no-reload/merge |
-    +-----------+------------------+----------------------------------------+
-    |     1     |        yes       | Prompt user for reload/no-reload/merge |
-    +-----------+------------------+----------------------------------------+
-</pre>
--->
-
-
-<a name="validate_edit_refactoring00001.html"/>
-
-
-<p>These tests are a sanity check that workbench, JDT and other
-tools refactorings behave properly with respect to validate Edit. For a
-repository providers that supports a pessimistic workflow, the following
-scenarios should result in the invocation of the validate edit callback
-and should include a UI context which allows prompting.
-<p>The following scenarios are stated in terms of the Navigator view
-and JDT. Other tools should translate them to a set of scenarios that
-make sense for the tool.</p>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S1: Search and Replace</h3>
-<ol>
-	<li>Select one or more projects or folders and choose Search/File.</li>
-	<li>Enter a string known to exist in multiple files and click
-	Replace</li>
-	<li>Enter a new string that differs from the one searched for.</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S2: Single file content modification</h3>
-<ol>
-	<li>Open a Java file that is read-only</li>
-	<li>Perform any of the Java Source operations (e.g. toggle
-	comment)</li>
-	<li>Ensure that validate edit is invoked</li>
-</ol>
-
-<!-- ------------------------------------------------------------------------------ -->
-
-<h3>S3: Multiple file content modification</h3>
-<ol>
-	<li>Ensure all files in your workspace are read-only</li>
-	<li>Perform a Java/Refactoring such as a method or class rename.</li>
-	<li>Ensure that validate edit is invoked at most once per project
-	involved.</li>
-</ol>
-
-
-<a name="logical00001.html"/>
-<h1>Logical Resource Support</h1>
-<a name="logical00002.html"/>
-
-<h2>Java Packages</h2>
-<p>Since: 3.1<br>
-Last Modified: $Date$</p>
-
-<p>Ensure that CVS operations such as Update and Commit are
-performed only on the files in a Java package and not on the subpackages
-when the operations are launched from the Java Packages Explorer.</p>
-
-
-<a name="logical00003.html"/>
-
-<h2>Working Sets</h2>
-<p>Since: 3.1<br>
-Last Modified: $Date$</p>
-
-<p>Configure the Java Packages Explorer to show Working Sets.
-Populate the working sets with various combinations of shared and
-unshared projects and ensure that CVS operations can be performed
-directly on the working sets if they contain at least one shared
-project.</p>
-
-
-</body></html>
diff --git a/tests/org.eclipse.team.tests.cvs.core/toc.xml b/tests/org.eclipse.team.tests.cvs.core/toc.xml
deleted file mode 100644
index bd9d9b7..0000000
--- a/tests/org.eclipse.team.tests.cvs.core/toc.xml
+++ /dev/null
@@ -1,186 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-<toc label="CVS Testing">
-        <topic label="Repositories View" href="html/00004.html">
-            <topic label="Basics" href="html/repoview_basics00001.html">
-            </topic>
-            <topic label="Check Out - prompts" href="html/00007.html">
-            </topic>
-            <topic label="Check Out Wizard" href="html/checkoutwizard00001.html">
-            </topic>
-            <topic label="Tags" href="html/datetags_repoview00001.html">
-            </topic>
-        </topic>
-        <topic label="Sharing" href="html/00026.html">
-            <topic label="Basics" href="html/sharingbasics00001.html">
-            </topic>
-            <topic label="Sharing as a subfolder" href="html/00027.html">
-            </topic>
-            <topic label="Reconnecting an existing project" href="html/00028.html">
-            </topic>
-            <topic label="Sharing a new project" href="html/00050.html">
-            </topic>
-            <topic label="Project Sets" href="html/project_sets00001.html">
-            </topic>
-        </topic>
-        <topic label="Replacing" href="html/00044.html">
-            <topic label="With latest" href="html/00045.html">
-            </topic>
-            <topic label="With another branch of version" href="html/00046.html">
-            </topic>
-            <topic label="With file revision" href="html/00047.html">
-            </topic>
-            <topic label="Updating" href="html/update_command00001.html">
-            </topic>
-        </topic>
-        <topic label="Comparing" href="html/00008.html">
-            <topic label="Remote resources" href="html/00009.html">
-            </topic>
-            <topic label="Compare with another branch or version" href="html/00039.html">
-            </topic>
-            <topic label="Reverting deleted resources" href="html/00040.html">
-            </topic>
-            <topic label="File Revisions" href="html/00041.html">
-            </topic>
-            <topic label="Quick Diff" href="html/quickdiff00001.html">
-            </topic>
-            <topic label="Compare with each other" href="html/00051.html">
-            </topic>
-        </topic>
-        <topic label="Synchronizing" href="html/00010.html">
-            <topic label="Performing a Synchronize" href="html/00048.html">
-            </topic>
-            <topic label="Synchronize View" href="html/00011.html">
-            </topic>
-            <topic label="Decorations" href="html/00049.html">
-            </topic>
-            <topic label="Change Sets" href="html/change_sets00001.html">
-            </topic>
-            <topic label="Scenarios" href="html/sync00001.html">
-            </topic>
-            <topic label="Restart Behavior" href="html/syncRestart00001.html">
-            </topic>
-        </topic>
-        <topic label="Commit" href="html/commit00001.html">
-            <topic label="Committing Changes" href="html/commit00002.html">
-            </topic>
-        </topic>
-        <topic label="Tags" href="html/tags00001.html">
-            <topic label="Tag Selection in Dialogs" href="html/tags00002.html">
-            </topic>
-            <topic label="Tag Caching" href="html/tags00003.html">
-            </topic>
-        </topic>
-        <topic label="Branch/Merge" href="html/00012.html">
-            <topic label="Performing a Merge" href="html/00022.html">
-            </topic>
-            <topic label="Synchronize View" href="html/00013.html">
-            </topic>
-            <topic label="Branching" href="html/branch00001.html">
-            </topic>
-        </topic>
-        <topic label="Patching" href="html/00029.html">
-            <topic label="Importing a zip over a shared project" href="html/00030.html">
-            </topic>
-        </topic>
-        <topic label="History View" href="html/00014.html">
-            <topic label="Editor Linking" href="html/00018.html">
-            </topic>
-            <topic label="Common Toolbar Buttons" href="html/toolbarButtonsUMFile00001.html">
-            </topic>
-            <topic label="Group Revisions by Date" href="html/groupByDateUMFile00001.html">
-            </topic>
-            <topic label="Local History for Unshared Files" href="html/localHistoryUnsharedFiles00001.html">
-                <topic label="Drag and Drop Unmapped File" href="html/DNDUMFile00001.html">
-                </topic>
-                <topic label="Show History Unmapped File" href="html/showHistoryUMFile00001.html">
-                </topic>
-            </topic>
-            <topic label="CVS History" href="html/cvsHistory00001.html">
-                <topic label="Drag and Drop CVS File" href="html/DNDCFile00001.html">
-                </topic>
-                <topic label="Annotate" href="html/00024.html">
-                </topic>
-                <topic label="Mode Switching" href="html/modeSwitching00001.html">
-                </topic>
-            </topic>
-            <topic label="Pin History View" href="html/pinHistoryView00001.html">
-            </topic>
-            <topic label="Refresh" href="html/refreshHistory00002.html">
-            </topic>
-        </topic>
-        <topic label="Concurrency" href="html/00020.html">
-            <topic label="Close and disconnect" href="html/00021.html">
-            </topic>
-        </topic>
-        <topic label="Restarting Workbench" href="html/00023.html">
-            <topic label="Crash Recovery" href="html/00019.html">
-            </topic>
-            <topic label="Synchronize View Settings" href="html/00025.html">
-            </topic>
-        </topic>
-        <topic label="SSH2" href="html/00028a.html">
-            <topic label="Server version compatibiliity" href="html/00029a.html">
-            </topic>
-            <topic label="Proxies" href="html/00030a.html">
-            </topic>
-            <topic label="Key generation" href="html/00031.html">
-            </topic>
-            <topic label="General use" href="html/00032.html">
-            </topic>
-        </topic>
-        <topic label="Annotate" href="html/00033.html">
-            <topic label="Show Annotation Action" href="html/00034.html">
-            </topic>
-        </topic>
-        <topic label="Label Decorations" href="html/00035.html">
-            <topic label="Enablement at startup" href="html/00036.html">
-            </topic>
-            <topic label="Customizations" href="html/00037.html">
-            </topic>
-            <topic label="Decorations in the Synchronize pages" href="html/00038.html">
-            </topic>
-        </topic>
-        <topic label="Watch/Edit" href="html/watch_edit00001.html">
-            <topic label="Basic scenarios" href="html/watch_edit_basic00001.html">
-            </topic>
-            <topic label="Editors View" href="html/watch_edit_editorsview00001.html">
-            </topic>
-        </topic>
-        <topic label="Performance" href="html/perf00001.html">
-            <topic label="Timings" href="html/perf00002.html">
-            </topic>
-            <topic label="Resource Data Structures" href="html/perf00004.html">
-            </topic>
-            <topic label="Looking For Leaks" href="html/perf00005.html">
-            </topic>
-            <topic label="Team Data Structures" href="html/perf00006.html">
-            </topic>
-            <topic label="Scalability" href="html/perf00007.html">
-            </topic>
-        </topic>
-        <topic label="Failure Cases" href="html/failures00001.html">
-            <topic label="Connections" href="html/connections00001.html">
-            </topic>
-            <topic label="Authentication Problems" href="html/auth_problems00001.html">
-            </topic>
-        </topic>
-        <topic label="Misc" href="html/misc00001.html">
-            <topic label="CVS Console" href="html/00042.html">
-            </topic>
-            <topic label="Key Bindings" href="html/keys00001.html">
-            </topic>
-        </topic>
-        <topic label="Validate Edit" href="html/validate_edit00001.html">
-            <topic label="Editing Files" href="html/validate_edit_editing_files00001.html">
-            </topic>
-            <topic label="Refactoring" href="html/validate_edit_refactoring00001.html">
-            </topic>
-        </topic>
-        <topic label="Logical Resource Support" href="html/logical00001.html">
-            <topic label="Java Packages" href="html/logical00002.html">
-            </topic>
-            <topic label="Working Sets" href="html/logical00003.html">
-            </topic>
-        </topic>
-</toc>