Cannot duplicate streams between 2 different RTC repositories
![]()
Blazej Rutkowski (21●1●2)
| asked Aug 04 '14, 9:00 a.m.
edited Aug 04 '14, 9:33 a.m. by Krzysztof Kaźmierczyk (7.4k●3●69●102)
Hi,
I need to duplicate streams between 2 RTC repositories because I want to keep the history in my new RTC repository. I am getting following error: User 'Name_of_the_user' does not have permission to read component 'name_of_the_component' I have tried different options to make this duplication work. No success. My User is defined in both repositories. It should have all required permissions. I can use this user to browse the sources in the original RTC. I can also create new stream in target RTC (and create components inside it manually). I just cannot do it through the "Duplicate" option. 1) The original RTC info: 4.0.5 (Build Id: RJF-I20131025-1325) Client Access Licenses - Rational Team Concert (Developer-Floating) 2 The target RTC info: 4.0.5 (Build Id: RJF-I20131025-1325) Client Access Licenses - Rational Team Concert (Developer-Floating), Rational Quality Manager (Quality Professional-Floating)
showing 5 of 7
show 2 more comments
|
3 answers
![]()
Geoffrey Clemm (30.1k●3●30●35)
| answered Jan 05 '16, 10:55 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
The error message pretty much tells you what to do ... you cannot write to a given component unless you have read access to that component. Read access to a given component is defined by the Owner and Visibility fields of that component. My understanding is that by default, the Owner of a component created by a distributed delivery is set to be the user that executes the Deliver operation that creates that component, and the Visibility of that component is set to Private. So nobody else can see that component until you either modify the Owner field to be the appropriate team or project area, or set the Visibility to be Public or to some project area (or in 6.0.1, set the Visibility to the the appropriate Access Group).
Note that as Kevin correctly points out, there is only one instance of a given component in a given repository (it wouldn't make sense to do anything other than that ... you cannot have every cross repository deliver create new instances of every component being delivered). So the first time a change set of a given component is delivered to a given repository, that component is created in that repository, and the Owner and Visibility fields of that component are initialized. |
![]()
Ralph Schoon (62.7k●3●36●43)
| answered Aug 04 '14, 9:18 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER edited Jan 06 '16, 2:22 a.m.
I am not sure what you mean with duplicate. Whatever you do, you don't even seem to have read access to the data.
The way I am aware of to do this is distributed SCM. See https://jazz.net/library/article/535 and https://jazz.net/library/article/1399 for details. In order to do this, the user needs to be able to load a repository workspace in both repositories. To write in the project area on the server the data is copied to and also the special permission to "replicate change sets". In addition, both servers need to be enabled for distributed SCM. Comments Hi,
![]() FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
You deal with two servers. That means two users, one on each server. The ID's and names might be the same on both, however the contributor is a different object in both repositories. Lets say
If working in the Eclipse Client, User_a needs to be logged into Server A with read and replication access to project A that owns the stream A.
User_b needs to be logged into Server B and have read/write access to project B where Stream B is supposed to be copied to.
Read Access is controlled in the project area's Access Control section of the project area editor and also by membership to the project area.
To test, you can also load the workspace from one stream, then create a stream on the other server and point the flow target to the other stream. Then deliver there.
|
Comments
I am facing similar issue.
I also was trying to move streams over to new RTC server, and I was able to move some of the streams successfully. But I am getting the following error when I tried to move the streams contains a specific component. I able to load and work with that stream though. It fails only when I tried to push the component over to new server.
I get this message "Permission denied during "Source Control Operation".
User 'user name' does not have permission to read component 'component name' " .
Looking for your help on this.
You don't have read permissions, as the message very clearly points out.
If the user does not have permissions to read a component, then he can't copy it to a different server.
Or in this case, if the user does not have permission to read a component, then he can't deliver changes into it.
yeh, but there is a twist.. He doesn't have permission to read a component that he doesn't know exists (already, but not visible to him)
I agree with Sam that this would be confusing, since if you cannot see an object, you cannot inspect it to see why you cannot see it (:-). He needs to ask someone with JazzAdmins repository permission to change the visibility/ownership of that component (or find out who else has done a cross-repository delivery, and ask them to make that change).
I am an administrator for Project and team area and this component ownership pointing to the team area. I was able to copy other components owned by same team area from the same stream to new RTC server.
Note that being an administrator for the project and team area does not give you read access to a component whose visibility is Private. I assume by "copy other components", you meant "deliver changes to other components in the new RTC server". If so, that means you have read access to those other components.