It's all about the answers!

Ask a question

Multiple streams in one RTC workspace


Mickey Roash (9021616) | asked Mar 01 '12, 2:54 p.m.
edited Jun 29 '16, 4:05 p.m. by David Lafreniere (4.8k7)
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



permanent link
Yaron Norani (47267064) | answered Sep 12 '12, 8:33 a.m.
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.


permanent link
Eric Deandrea (1) | answered Sep 12 '12, 7:51 a.m.
edited Sep 12 '12, 7:52 a.m.
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)
ProductReleased1.1 (most recent)
ProductCurrentBeta1.2
ProductCurrentAlpha1.3
ProductFarOut2.0

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.


permanent link
Yaron Norani (47267064) | answered Aug 26 '12, 6:02 a.m.
Hi,
@gmclemm - can you please relate to that?

Thanks

permanent link
Yaron Norani (47267064) | answered Aug 23 '12, 8:43 a.m.
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.

permanent link
Geoffrey Clemm (30.1k33035) | 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:

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 .



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

permanent link
David Olsen (5237) | answered Mar 02 '12, 4:30 p.m.
JAZZ DEVELOPER
On 3/2/2012 11:24 AM, mickey_roash wrote:
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 ?

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

permanent link
Mickey Roash (9021616) | answered Mar 02 '12, 2:13 p.m.

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 .



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

permanent link
David Olsen (5237) | answered Mar 02 '12, 12:30 p.m.
JAZZ DEVELOPER

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 .



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

permanent link
Mickey Roash (9021616) | answered Mar 02 '12, 11:30 a.m.
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 ,
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

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

permanent link
Geoffrey Clemm (30.1k33035) | 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 ,
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

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.