migrating ClearCase UCM multicomponent vobs with intervob l
I'm evaluating a possible move to RTC from ClearCase UCM. Migrating the existing codebase, while maintaining the existing components, is required. We use multicomponent vobs with intervob links, so the top-level file structure in a CC view is crucial.
Here is a typical example, components marked with *. (I understand symbolic links are not currently supported - but are a top priority).
I thought view_root would be the elipse project workspace in RTC. But I just can't figure out how to do this. I would be very grateful if somebody can show me a (painless) way to set up this structure. Regards, David |
22 answers
Geoffrey Clemm (30.1k●3●30●35)
| answered Jul 28 '09, 4:38 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
On a terminology note, when you say "the eclipse project workspace in
RTC", I assume you mean the "RTC repository workspace sandbox" (a set of files loaded from an RTC repository workspace onto the client machine). In order to get the files loaded in the structure you describe below, you would need to use the Eclipse UI to load the files the way you describe below. In particular: - load the repository workspace into your pending changes view (load just the workspace, none of the files). - select "show -> repository files" on the workspace - select each component (in Jazz), and use "load as" to specify the pathname under which it should be loaded into the sandbox. Unfortunately, you cannot (in RTC-2.0) tell the build system to load the files in this way (at least, not easily ... you probably could do it via scripting and the scm command line). SCM or Build Team: Is there a better way than scm command line scripting to handle this in RTC 2.0? Cheers, Geoff David.Sedlock.infineon.com wrote: I'm evaluating a possible move to RTC from ClearCase UCM. Migrating |
Geoffrey Clemm (30.1k●3●30●35)
| answered Jul 29 '09, 11:41 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Note: I've gotten confirmation that you should be able to use the Jazz
SCM command line to do this loading (in particular, "scm load -t"). There also is work item 85020 which asks that the build load rules be extended to allow you to specify where the components are loaded, so that you don't need to script it via the command line. Cheers, Geoff Geoffrey Clemm wrote: On a terminology note, when you say "the eclipse project workspace in |
I could set up one repository workspace with the correct structure. I delivered the changes to the stream. But now when I create a new repository workspace in the stream (as if I were a different developer or the same developer with a different task), the structure is wrong; components are at the workspace level. The vob level has been forgotten:
In fact, simply unloading the workspace in which I set up the structure and loading it again destroys the structure. Any ideas? We obviously can't have people creating local file structures and loading components into them by hand. The files have to come out of the stream, into the eclipse workspace, in the right structure. A few other questions: 1) Suppose I am working on different tasks flowing into the same RTC stream, which I want to keep separate. In UCM I would create two development streams and work in two views. Do I need to have different eclipse workspaces and keep more than one eclipse running for this? Seems awkward for a standard use case. Or is there a way to load different repository workspaces in one eclipse workspace? 2) How do I simply add a file to a component (CC "add to source control")? I created a file in the workspace, but it doesn't show up anywhere in the GUI. I can't find any doc about how to do something this simple, so I must be missing something obvious... |
Geoffrey Clemm (30.1k●3●30●35)
| answered Aug 03 '09, 9:25 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
David.Sedlock.infineon.com wrote:
I could set up one repository workspace with the correct structure. I Yes, I agree this is a problem. The work item to get this fixed is 85020. Please add your comments/support to that work item ... it is not currently scheduled for RTC-3.0. A few other questions: In RTC, you can easily keep two tasks separate in a single repository workspace (and a single Eclipse workspace) by "suspending" one of the tasks while you are working on the other one. You can also load different repository workspaces into a single Eclipse workspace, but you are constrained by standard Eclipse rules that you can only have a single project loaded with a given name, so if your two tasks affect the same Eclipse project, you could not have that project loaded from two different repository workspaces at the same time. So the first approach (suspending/resuming tasks) is likely to be the approach you'll want to use. 2) How do I simply add a file to a component (CC "add to source New files should show up in your Pending changes view. You would just use "checkin" to put them under source control. Cheers, Geoff |
Geoffrey Clemm (30.1k●3●30●35)
| answered Aug 03 '09, 10:51 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
A correction to my comment below.
Although work item 85020 is not currently scheduled for RTC-3.0, the general work item that should address this issue (work item 44004) is currently scheduled for RTC-3.0. Geoffrey Clemm wrote: David.Sedlock.infineon.com wrote: |
Geoffrey Clemm (30.1k●3●30●35)
| answered Aug 03 '09, 1:17 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
David has indicated that his new files are not showing up in his pending
changes view, even after trying all 3 options under Refresh. I've posted this to the forum, in case someone has seen this (and has a fix :-). David: Could you enumerate the sequence of steps you used to "load" that component into your Eclipse workspace? Cheers, Geoff Geoffrey Clemm wrote: David.Sedlock.infineon.com wrote: |
The "standard Eclipse rules" indicate to my mind that Eclipse doesn't take account of CM concepts. Developers often have to work on different configurations of the same set of components - say, the mainline and one configuration or more bug fix releases. The constraint that you can have at most one configuration loaded in a workspace is weird. I've seen this also with the CC Eclipse plugin, with the consequence that you end up with at least two Eclipses runninng, one for the development view, the other for the integration view - which are indistinguishable in the Windows task bar and hence require you to shuffle through them to find the right one! As for suspending/resuming tasks, this is clearly useful for handling different tasks in one line of development - say, the mainline - but is unlikely to work well for working on, say, the mainline and a bug fix release at the same time, where the latter naturally has its own stream. Question about suspending/resuming tasks: Does RTC take account of change set dependencies and suspend/resume for the full transitive closure of the dependencies, perhaps with the flexibility that the developer can overrule when he knows better? |
I load the work space as follows:
1) Select repository workspace "test2" in Team Artifacts/My Repository Workspaces. 2) Select Load and "Find and load Eclipse Projects". 3) Leave default options unchanged in "Load Eclipse Projects". 4) Create new file in comp1. 5) Select Refresh in "Pending Changes" - tried all 3 variants. New file never shows up. |
Geoffrey Clemm (30.1k●3●30●35)
| answered Aug 04 '09, 8:48 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Comments interspersed below:
David.Sedlock.infineon.com wrote: You can also load different repository workspaces into a single Note: This is an Eclipse issue rather than an RTC issue, so if one wanted any change in this behavior, we'd need to open a thread/request in www.eclipse.org, but since this topic does come up a fair amount in an SCM context, it does make sense to discuss here. When Eclipse is used as an IDE, one of the main purposes of an Eclipse workspace is to maintain a semantic context for testing/debugging. So logically you cannot have two copies of a particular semantic construct loaded into the same Eclipse workspace, because then the tester/debugger wouldn't know which version to test/debug. When Eclipse is just being used as an editor, then there are times when you'd like to be able to browse through multiple configurations in the same search request. So you could post such a request on www.eclipse.org. WRT distinguishing which different instances of Eclipse in the Windows task bar, I believe there are ways to add information to the popups on those task bar entries, but I'll defer to the Eclipse experts for how exactly to achieve that. As for suspending/resuming tasks, this is clearly useful for handling Yes, if the two different tasks are in two different streams, then you'd want to use two different Eclipse workspaces (which you'd need in any case to do any testing/debugging of your tasks before delivering them). Question about suspending/resuming tasks: Does RTC take account of RTC enforces the dependencies that it can compute from the version trees (i.e. you cannot suspend a change set if it contains the predecessor version of another change set that you want to keep). To allow you to override those rules, RTC gives you the ability to create a "patch" for any change set, which you can then apply to your workspace. Cheers, Geoff |
Geoffrey Clemm (30.1k●3●30●35)
| answered Aug 04 '09, 9:53 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
After step 2, what projects were found and loaded?
In step 4, how did you create the new file in comp1? In particular, was the new file in one of the projects loaded in step 2? Cheers, Geoff David.Sedlock.infineon.com wrote: I load the work space as follows: |
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.