How do you load a workspace with files that contain ':' or folders ending with ' '?
We have a project area that has had files added to their component with colons, ':', in the file name. There was also a folder added that ended in a space, ' '. When a few users attempted to load their workspace on a Windows 7 machine via Eclipse with RTC 5.0.2 or 4.0.2, the load failed due to the ':' and the ' ' in the item names. We also attempted loading the component using the Windows Shell Integration, and it failed there as well.
The error we received was an Internal error during "Loading repository items". A dump from the Eclipse log after attempting to load a file that had :58 in the file name is below:
java.lang.IllegalArgumentException: Path must include project and resource name: /58
at org.eclipse.core.runtime.Assert.isLegal(Assert.java:63)
at org.eclipse.core.internal.resources.Workspace.newResource(Workspace.java:2169)
at org.eclipse.core.internal.resources.Container.getFile(Container.java:208)
at com.ibm.team.filesystem.rcp.core.internal.resources.ResourceStorageManager.resolveFileStorage(ResourceStorageManager.java:197)
at com.ibm.team.filesystem.client.internal.SharingManager.resolveFileStorage(SharingManager.java:1058)
at com.ibm.team.filesystem.client.internal.FileStorageWrapper.getUnderlyingStorage(FileStorageWrapper.java:105)
at com.ibm.team.filesystem.client.internal.FileStorageWrapper.getActualNameOnDisk(FileStorageWrapper.java:713)
at com.ibm.team.filesystem.client.internal.load.MergeLoadMutator.load(MergeLoadMutator.java:594)
at com.ibm.team.filesystem.client.internal.load.MergeLoadMutator.execute(MergeLoadMutator.java:319)
at com.ibm.team.filesystem.client.internal.operations.FileSystemOperation.run(FileSystemOperation.java:90)
at com.ibm.team.filesystem.client.internal.operations.LoadOperation.load(LoadOperation.java:1105)
at com.ibm.team.filesystem.client.internal.operations.LoadOperation$1.run(LoadOperation.java:715)
at com.ibm.team.filesystem.rcp.core.internal.resources.ResourceSharingManager$1.run(ResourceSharingManager.java:77)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
at com.ibm.team.filesystem.rcp.core.internal.resources.ResourceSharingManager.runWithinFileSystemLock(ResourceSharingManager.java:89)
at com.ibm.team.filesystem.client.internal.operations.FileSystemOperation.runWithinFileSystemLock(FileSystemOperation.java:165)
at com.ibm.team.filesystem.client.internal.operations.FileSystemOperation.runWithinFileSystemLock(FileSystemOperation.java:145)
at com.ibm.team.filesystem.client.internal.operations.LoadOperation.execute(LoadOperation.java:753)
at com.ibm.team.filesystem.client.internal.operations.FileSystemOperation.run(FileSystemOperation.java:90)
at com.ibm.team.filesystem.ide.ui.internal.wizards.load.LoadOperationInput$3.repositoryRun(LoadOperationInput.java:322)
at com.ibm.team.repository.rcp.ui.operations.RepositoryOperation.run(RepositoryOperation.java:43)
at com.ibm.team.repository.rcp.ui.operations.JobRunner.run(JobRunner.java:240)
at com.ibm.team.repository.rcp.ui.operations.JobRunner$1.run(JobRunner.java:63)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
We were able to get around this by using the Web client to rename the files and the folder, but I am still curious what the issue is. We supposedly have some people who are able to load the components. The files were added to the component using RTC on Windows (I believe it may have been RTC 4.0.2).
Thanks,
Jamie.