why do unloaded components have pending updates in RTC
Here is the situation. Stream has several components. Workspace1 includes all of the components. Workspace2 only includes a subset. Both WS flow from / to the stream.
When I make changes to a component in WS1 that is missing in WS2 and deliver, I get updates notification in WS2 and acceptting those it adds the missing component. Which seems strange.
I have also tried removing a component from a WS and that also affects the other WS.
I am missing an action and if the above is correct, can anyone explain the thinking behind it. Is it because the stream has all of the components?
Regards,
John
Accepted answer
Comments
Thanks David, your last paragraph has identified the configuration change to solve an RTC3 build issue we have - with a dedicated Build Machine Workspace PER Component for a Development Stream, I was seeing RTC continually file-transfer & update (on Pending Changes) ALL components to ALL Workspace, despite me listing only the target Component in the Component List on each Workspace Definition - The implication from the Workflow Definition is only this single component should then be "flowed" but this doesn't work that way Until, as you point out, we also edit the Flow Target Stream to also only list the same matching single component...That's been a great help thankyou !
David, thank you for your answer. That's great. Regards, John
One other answer
this is because your stream has various components and it's the default Flow Target for your WS. For your WS (let's say WS1), the additional components is a difference in the configuration with its target stream: that's why you are seeing the incoming change to add the components.
If you remove your component in a WS once you deliver this change, the other WS ("WS2") will be affected because the component no more exists in the flow target that both share.
Hope this helps.
Regards,
Jorge.
Comments
Hi Jorge,
thank you for your answer. I would just like to make sure I have understood what you are saying.
When several WS share the same flow target stream which uses eg 4 components, then all of WS must use those 4 components? If a component is removed from one of the WS then this is reflected in the stream which is passed on to the remaining WS?
And so when a WS changes files in a component, those changes will be passed to the stream (expected) and then on to the other WS, even if that causes a deliberately missing component to be added back to the WS.
Is this correct?
I assumed that a stream used a number of components and workspaces attached to that stream had the choice of which to use (all or some).
Finally is this also true of stream to stream relationships where removing a component at the WS or stream end would affect the entire chain?
Regards,
John
Hi John,
let me try to clarify to your points:
- WS are not forced to load all the components from the stream they are flowing changes. Just wanted to explain to you why you, by default, see them in your pending changes. Actually you can hide this from your pending changes view and you won't be confused by this anymore. I think a good article for you to check is the following: https://jazz.net/library/article/649
- A stream allows you to share changes between developers. Removing a component from your workspace (removing, not unloading), is another type of change you can flow. If you just want no more that component in your WS but in the stream, you then will unload it's contents from the WS.
Another interesting article you may want to check is: https://jazz.net/library/article/599
Regards,
Jorge.