It's all about the answers!

Ask a question

RTC Code Merging into Different streams

Amit Kumar (19414) | asked Feb 26 '18, 4:47 p.m.

I am using RTC Merging process to merge codes into different streams . For this, I have single component (let's say C) added in all Four streams.
Let me try to get my query here through an example( of 2 streams, just for sake of understanding )

Suppose, I have 2 streams, S1 and S2. Both have same Component C(Initial baseline) added to them . Developer 1 (D1)works on Stream S1 and Developer 2 (D2) works on Stream S2.

Both stream need be in synch with each other. For this merging is done on daily basis.
Let's assume , there is 10 new change sets committed into S1 by D1.
D2 also committed 5 change sets into S2 .
while merging S1 from S2 ( S1 <---S2 ----> S1 . i.e changing Flow target) , there are some conflicts( in 5 change sets) . While merging these change sets into S1, a new change set named "Merges" Created and delivered into S1. (Please note , here the code under that "Merges" change set is present now both in S1 and S2).

now, while merging S2 from S1 (S2<----S1---> S2), along with 10 change sets , one more change set would be coming "Merges" (It's same which was delivered into S1 from S2 while merging).

Ideally, this change set ("Merges") is not valuable for the Original stream from where it went ( In this case, S2), as that piece of code is already present in S2.

This is problem if  merging get delayed by 1-2 weeks for any stream (let's assume, D1 is daily merging his code into S1 from S2 but due to some reason ,D2 delayed his merging into S2 from S1, which would lead to have more quantum of codes to be merged for D2, and due to those "Merges" (Coming back from S1, as D1 would have solved his conflicts while merging S1 from S2) , unnecessarily D2 have to accept those "Merges" Change sets , just to nullify (not because extra code is  coming). And if D2 skips these, then it will create "gap" which will need "Gap editor" to merge, and even if D2 merges these "Merges" Change sets , and if there is again conflict ( as S2 would have some different code by that time, i.e. in 2 weeks duration, again "Merges" need to be merged which will again create a new change sets as "Merges" , which will again come for merging if D1 tries to merge  S1 from S2.
this will go in never ending , like a round robin and may be fully nullified if "Merges" Change sets merges immediately.

I'm not sure, If I am following the best possible approach of merging in RTC . Can there be any better approach to do same ? (If Incoming change sets has to be accepted, even we are knowing that it's duplicate, can  there be any better option to nullify same so that at least using of Gap editor OR unnecessary merging can be avoided )?

The code going like round robin into stream is really frustrating . Is other Source code repo (like Git, etc, )provides better mechanism for code merging ?


Be the first one to answer this question!

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.