Multiple streams in one RTC workspace
Mickey Roash (90●2●16●16)
| asked Mar 01 '12, 2:54 p.m.
edited Jun 29 '16, 4:05 p.m. by David Lafreniere (4.8k●7)
Hi ,
is their RTC limitation to have single RTC workspace with multiple streams each one mapped to his repository workspace , streams can be from different configuration (product release version) ? Thanks, Mickey |
10 answers
Geoffrey Clemm (30.1k●3●30●35)
| answered Mar 02 '12, 12:01 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
If you are asking whether a single workspace can flow with multiple
streams, yes. In particular, each component in the workspace can have a different stream as its current flow target. In addition, you can declare multiple streams as flow targets for a single component. Cheers, Geoff On 3/1/2012 3:09 PM, mickey_roash wrote: Hi , |
If you are asking whether a single workspace can flow with multiple Hi , I mean RTC workspace is where RTC eclipse client prompt for workspace in the start-up. can I have in one RTC Eclipse client workspace load private repository for stream 1.x map to his flow steam 2.x map to his flow ? stream 1.x and 2.x are from the same product but different version I heard from developers that are working with RTC CM from a long time that the beast practice to work with each stream configuration against one RTC Eclipse client workspace ,but they did not know to give me the reason . Is that true ? Thanks , Mickey |
You can load multiple repository workspaces into a single Eclipse workspace. RTC handles that quite well. The restriction that you have to watch out for is that the you can't load the same Eclipse project from two different repository workspaces. If the repository workspaces that you want to load flow with streams that represent different products, you will likely be fine because the Eclipse projects in the two repository workspaces are less likely to overlap. If the repository workspaces that you want to load flow with streams that represent different versions of the same product (which is your situation), then the repository workspaces will likely contain different versions of the same Eclipse projects, and loading them into the same Eclipse workspace is probably not feasible. When I have had to work on two different versions of the same product, I have created a separate Eclipse workspace for each product version. -- David Olsen | IBM Rational | Beaverton, Oregon |
You can load multiple repository workspaces into a single Eclipse workspace. RTC handles that quite well. The restriction that you have to watch out for is that the you can't load the same Eclipse project from two different repository workspaces. If the repository workspaces that you want to load flow with streams that represent different products, you will likely be fine because the Eclipse projects in the two repository workspaces are less likely to overlap. If the repository workspaces that you want to load flow with streams that represent different versions of the same product (which is your situation), then the repository workspaces will likely contain different versions of the same Eclipse projects, and loading them into the same Eclipse workspace is probably not feasible. When I have had to work on two different versions of the same product, I have created a separate Eclipse workspace for each product version. -- David Olsen | IBM Rational | Beaverton, Oregon Thanks David ,that clarify this issue . assume I can workaround the eclipse projects issue by rename the "name" property in the .project file ,so I have no reason to be concern about any limitation, is that correct ? Thanks, Mickey |
On 3/2/2012 11:24 AM, mickey_roash wrote:
assume I can workaround the eclipse projects issue by rename the I have never tried that, so I can't say whether or not it would work. You should try it out on a small test project and see what happens. -- David Olsen IBM Rational Beaverton, Oregon |
Geoffrey Clemm (30.1k●3●30●35)
| answered Mar 02 '12, 5:28 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Yes, you can rename your projects to avoid Eclipse complaining about
name clashes, but if these are just two versions of the same project, then you don't want to rename them ... in that case, David's approach is best ... use different Eclipse workspaces. Also note that this limitation on having two different versions of the same project loaded at the same time is just a limitation of the Eclipse client (RTC is more than happy to load as many versions of the same project into the file system as you want). In particular, you can use the RTC command line to do so. Or another way to say it is, this would be a limitation in Eclipse no matter what version control system you are using. The reason of course is that Eclipse uses the "name" of the project to identify the project for a lot of its operations, and if you had two projects with the same name in the same Eclipse workspace, it wouldn't know which project to apply the operation to. I have argued in the past that Eclipse should use some UUID to identify the projects, and not the "name" ... but that's an Eclipse enhancement, and therefore a thread for a different forum (:-). Cheers, Geoff On 3/2/2012 2:24 PM, mickey_roash wrote: dolsenwrote: |
Hi,
I have several projects works with the described configuration. The problem is that from time to time one or some components are marked as "unloaded" even if it is loaded. To handle it you must load again, and might even loose data since override issue. How can we handle it and load several repository workspaces into one Eclipse workspace. Note that there is no conflict with project names. |
|
Just to add onto this thread - this problem doesn't just arise by having 2 components from different streams of the same project loaded into the same eclipse workspace - it is also encountered if you have 2 components from different rtc project areas that happen to have the same names.
At all of my previous companies we used different SCM tools (CVS, Subversion, Perforce, etc). I’ll use my previous company as an example. We were a vendor company shipping a web app and we used Perforce for our SCM needs. At any one time I could be developing on 4-5 different branches/versions of the same product (most recent released version – 1 major release, most recent released version, current alpha/beta version, next planned release, next planned release after that).
In my eclipse workspace I would have 5 different eclipse projects:
ProductReleased1.0 (most recent – 1)
In SCM, these would all be different branches – 1.0, 1.1, 1.2, 1.3, 2.0 (doesn’t really matter for this example which branches these branches were cut from).
In eclipse using the Perforce eclipse plugin I would have each of those eclipse project matched with a different branch in Perforce. I could work on the same file across all 5 branches if I needed to (and sometimes I did – as the look & feel of the product (a web app) might be completely different in each branch, so doing the same thing doesn’t necessarily translate to copying the code verbatim from 1 branch to another. Lots of changes had to be “re-made” rather than merged/copied from branch to branch due to changes in the application from branch to branch.
Furthermore I have also tried to get around this by first opening up the .project file of the current eclipse project and then changing its name – figuring if I do that then I can load one stream of a project and then have them side-by-side. Once doing that, however, eclipse gets totally hosed (something to do with the RTC plugin I assume). Eclipse does change the name of the project to what I changed it to in the .project file, but then it re-creates the original eclipse project based on the component name. Some of the content from RTC goes into each project area and then I get all kinds of eclipse errors. Once I get into this situation it usually takes me about a half hour to clean it up so that I can work again. I have to close down eclipse and manually move files around, delete folders, etc, before I can bring eclipse back up to the way I had it before I made the change to the .project file. The same situation happens if I go into the RTC web interface, download the .project file for a component, change its name to something other than the name of the component, and then check it back in via the web interface. Once I do that, if I go into eclipse and then load that component, eclipse gets messed up just like I explained. I have to go back to the web interface, check out .project, change the name back, & then re-check it in before eclipse can fix itself.
What all of this means is that it seems there is a very strict dependency on the eclipse project name and the RTC component name in the project area, which seems to be a problem to me. What would happen if 2 components from different RTC project areas had the same name and I needed to work on both of them at once? My guess is I would get this clash again and I would only be able to work on one of these at a time.
The solution of having to use multiple eclipse workspaces to manage this kind of scenario is not an option in my opinion for the following reasons:
1. From purely a productivity standpoint this is not a good option – you have to run multiple instances of eclipse at the same time and switch back & forth between them. If I wanted to do that I would use Notepad++ on each of the files (or vi for that matter).
2. Productivity (again) – One of the main points in having the 2 projects in the same workspace is so you can use the compare editor against the same file in 2 different projects. If I’ve made some changes on branch 1.0 & branch 1.1, I can compare my local changes to the same file in each branch against each other.
3. Performance – Most developer machines here aren’t good, and have a hard enough time running 1 instance of eclipse, along with all the other things we have (WebLogic, WebLogic portal, etc).
4. Customization – All of your eclipse settings (code formatting, editor syntax highlighting, import order, save actions, RAM/RTC configuration, etc) are stored within the eclipse workspace. If you start having to use multiple workspaces then you need to set up all of your settings for each workspace. There is a preference import/export in eclipse, but it doesn’t export half of what you want (especially if you’ve customized settings for lots of other eclipse plugins that you’ve downloaded). I've been there & done that - having to create multiple eclipse workspaces over & over is a pain. This is also especially a pain once you decide to upgrade your version of eclipse.
I guess I just don't understand why there is such a strong tie between the name in the .project file of a project area and the name of the component in rtc. Why should there be any tie?
Comments
vinayak Joshi
commented Nov 26 '12, 10:54 a.m.
Second that completely. Seems odd RTC does not allow user to choose an alternate name for the project under which it loads the source code to resolve a name a clash. I believe a large number of developers need to develop multiple versions of a product simultaneously. So this has a big impact.
If RTC has chosen to develop on Eclipse then RTC must provide for shortcomings of the platform of their choice. And that too such a glaring one that could make people consider simpler and more effective alternatives.
vinayak Joshi
commented Nov 27 '12, 11:50 a.m.
Ok, I found a way to have projects with different names created when there is name clash between components of different streams that you try to load into the same eclipse workspace.
I am using RTC client 3.0.1.3. Once you create the repository workspace for the different streams that contain the comoponents, you:
1. open the repository workspace editor by double clicking it.
2. select the component in the the components box
3. Right click -> Load As -> rename the default name to a unique name that you can use to identify (this is the name with which the eclipse project will be created)
That's it. Now I have repository workspaces of multiple versions of the same product (hence same actual component names) loaded in the same eclipse workspace, where I have suffixed the version to each component name.
Eric Deandrea
commented Nov 27 '12, 12:07 p.m.
That trick only works if you don't check in your .project files into source control - if you do then eclipse gets totally hosed after doing that. In our projects we have to check in the .project file, as we have added a bunch of natures/buildCommands that we want everyone in the team to be able to use. |
Hi,
But why can't you perform it if there is no ".project" conflicts? The case that I have described is the following: load several repository workspaces into one Eclipse workspace. Note that there is no conflict with project names. I looks that it is working, but from time to time you find out the when you open the RTC client some of the repository workspaces (at the pending changes view) seems as "unloaded", which is not the case. Comments
Eric Deandrea
commented Sep 12 '12, 8:37 a.m.
Your case & my case are different - there are .project conflicts. There are several repository workspaces where the .project files in them have the same name, which causes a clash in eclipse. If I change the name of the project in the .project file to something other than the name of the RTC component, then the eclipse RTC plugin gets hosed. |
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.