It's all about the answers!

Ask a question

How to use SCM CL to load changes into local workspace


Susan Wu (4712016) | asked Apr 20 '11, 9:44 a.m.
I am helping a client who is seeking solution to workaround the following problem in using the TeamFetch adapter.

Client has a RTC stream that contains four components. They are trying to incorporate continuous integration build using the build toolkit ant tasks. Their directory structure is as follows:

Component 1: project
app

Component 2: config

Component 3: core

Component 4: eppic


Component 1 has a project directory and a subdirectory app. The remaining components top directory are loaded under component 1s project directory. They initially load the repository workspace using an ant script to get the
components to line up as described above. They want to utilize the buildtoolkit so that they will only run continuous integration builds when a code change occurs. The Team Accept works fine, but they get the error below when trying to bring the changes into their local workspace using TeamFetch:

349 4/8/11 8:39 AM EXEC BUILD FAILED
350 4/8/11 8:39 AM EXEC com.ibm.team.build.internal.scm.SourceControlUtility$2: Status ERROR: com.ibm.team.filesystem.client code=2 Folders to load overlap other contents null children=

The above error seems be caused by the limitation in RTC 2.x that multiple components can't be loaded under the same /project top-level folder. Client is wondering if is there a way to automate (with or without TeamFetch) in getting only the updated changes since the last build iteration into his local workspace. He initially tried the scm accept after the TeamAccept, but that did not work since TeamAccept already accepted the changes to the server workspace (but not the local workspace). He also tried the scm repair to try and sync his local workspace, but that did not work. What they currently do is blow away the local workspace and return a load_workspace.bat script since the TeamFetch command throws the overlap error. This approach adds a lot of overhead since they have to reload the workspace for every CI iteration (they currently have close to 100 stream and counting with this same format).

By reading the following jazz.net article that talks about how to use SCM Command Line to interface in builds. It looks like there is a way to workaround this issue by using SCM CL. Maybe they can modify their current load_workspace.bat script to achieve what they need? Can any one help shed some light to the issue my client is facing and point him to the right path to work around the problem? Thanks!

http://jazz.net/library/article/195/


Susan Wu
Jazz/RTC Support

3 answers



permanent link
Michael Valenta (3.7k3) | answered Apr 25 '11, 1:26 p.m.
FORUM MODERATOR / JAZZ DEVELOPER
Susan,

Are you saying that Component 1 is being loaded as "Component1" and component 2 is being loaded as something like "Component1/Component2". If so, this is not supported by any version of RTC. We cannot nest the contents from one component in loaded content from another. If this is not what you are asking, can you please carify?

permanent link
Susan Wu (4712016) | answered May 02 '11, 6:57 a.m.
Susan,

Are you saying that Component 1 is being loaded as "Component1" and component 2 is being loaded as something like "Component1/Component2". If so, this is not supported by any version of RTC. We cannot nest the contents from one component in loaded content from another. If this is not what you are asking, can you please carify?


Hi Michael,

Thanks for your response.. I was waiting for client's response to your above question but have not heard back from him.. According to the client, I believe the remaining components top directory are loaded under component 1s project directory, like Component1/Project/component2, Component1/Project/Component3 etc. It appears that he managed to use their script to load this file structure into their local workspace initially but is unable to load only updated change since the last build iteration into his local workspace. I was wondering why he was able to load this type of file structure into his local workspace initially without getting the overlap error? Also, I was told that there is an option to create directory for components in 3.0, will that help resolve the overlap error he received?

Susan

permanent link
Dean Chin (611) | answered Jun 01 '11, 12:40 a.m.
Susan,

Are you saying that Component 1 is being loaded as "Component1" and component 2 is being loaded as something like "Component1/Component2". If so, this is not supported by any version of RTC. We cannot nest the contents from one component in loaded content from another. If this is not what you are asking, can you please carify?


Hi Michael,

Thanks for your response.. I was waiting for client's response to your above question but have not heard back from him.. According to the client, I believe the remaining components top directory are loaded under component 1s project directory, like Component1/Project/component2, Component1/Project/Component3 etc. It appears that he managed to use their script to load this file structure into their local workspace initially but is unable to load only updated change since the last build iteration into his local workspace. I was wondering why he was able to load this type of file structure into his local workspace initially without getting the overlap error? Also, I was told that there is an option to create directory for components in 3.0, will that help resolve the overlap error he received?

Susan

Sorry for the slow response. We have been very busy and I was unable to respond earlier.

Susan is correct. We use a script (load_workspace.bat) to do the initial load of the components as follows:
<component>: <dir> structure
Component 1: project
L app
.project
Component 2: L config
Component 3: L core
Component 4: L eppic

The load_workspace.bat file should be attached to PMR 48920.

We then do a import project into eclipse and then do a Team Share on the project.

From the eclipse client, we can accept updates from the Pending changes view for all components. We also can deliver our change sets for all components within the project.

TeamFetch on the other hand will not allow us to accept changes into the workspace.

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.