Regarding Replacing the components from local workspace OR different Stream and it's impact on the resulted change sets
Let's say , I have two streams , Stream A and Stream B , both using same Component C and there are numbers of Developers working on these streams.
Now, Suppose Developer 1 created a baseline of his current Workspace (pointing to Stream A) and named it as "Baseline A1" and post that accepted all( assuming 10 in numbers) Incoming Change sets into his local Workspace ( from Stream A). Developer 1 has latest code into his local , and same will be recorded in the history of Component C ( right click on Component C --> show --> history), and this will be limited to Developer 1 only. (Let's mark history as 1 ,2, 3... 10) ( just trying to show different history, total 10 here, these are commits history only)
Assume, a Developer 2 working on Stream B, using same Component C created a Baseline/Snap of his local Workspace (pointing to Stream B) and named it as "Baseline B2". (Let's say it has history like 21,22...25, total 5 )
(Note, both Stream A and Stream B has different commits history).
Now, Below cases are based on the Developer 1 working on Stream A only.
Case 1 - After accepting all( 10) Incoming into local Workspace, Developer 1 wants to revert to the baseline which he created, So, he replaced the Component C baseline with "Baseline A1". (which also means all the new changes sets have been discarded ). So, history will be also reverted ,( means it will come to same which was there before accepting the new change sets ) ( means hisotry 1.2.3....10 will be lost now)
Case 2. , After accepting all Incoming change sets, Developer 1 added the "Baseline B2" into Stream A, which will show "Baseline B2" (of Component C) coming as an "Incoming" into his local Workpace (pointing to Stream A only ). Once he accepts this "Baseline B2", history of Component C for new changes sets will remain intact, ( Those history 1 ,2, 3... 10 will remain there ) and more history (21,22...25, total 5 ) will come . So here history is not getting lost . Total history will be (1 ,2, 3... 10 and 21,22...25, total 15 )
Sorry for such a huge used case, but I tried to make it less complex by using those simple examples
Now ,could anyone please endorse following with more detailed explanation ( if possible)
1. Replacing the components from Local Workspace Baseline discards the new change sets while Replacing the component from Stream itself( Either by Adding new snapshot/Baseline from other Workspace/stream OR using same stream Snap) do not discard any change sets, even it add the new Change sets coming from that Baseline .
** Please note , in all scenarios, we have assumed the accepting change sets have no code-conflicts and they are being accepted as it is
Accepted answer
Note that there are statements in the question that are ambiguous/unclear.
Comments
1 . Yes, I meant "create a baseline of component C in his repository workspace". Sorry for the confusion.
2. Yes. "his workspace".
3. Yes, "accepted"
Just wanted to show that Component C has different history (as Different Developer committed) , and created a baseline B2, which I used for Developer A. Just was trying to simplifying the used case,
Thanks for your reply. I got my answer :)