In Agile, we have always 10-12new enhancement (let's say E1, E2, E3, ...E12) in the pipeline. There are six squads working in my project, and each gets 1-2 these enhancement request to develop. All these enhancement requests have different production deployment dates
We are using RTC source code repo and also using RTC Build for requesting Build. I'm using Single RTC Stream ( S1) where my all squads commit code related with new enhancement .
Once a date is decided for production deployment, we merge the code of that particular enhancement . (let's say, E1 and E2 code ) into a Production stream and do a build .
Problem here is, while doing selective merging (of E1 and E2 code),we need to use "Gap editor". Even if we merge it successfully, next time if we need to merge other enhancement codes ( let's E3 and E4), those change sets ( of E1 and E2) also remain there (While merging ), as these would have merged using Gap editor , so a "link get created to an outgoing change set " that time. which keep coming until it get merged again without using "gap editor" . As these(E1 and E2) changes sets code are already merged initially, we need to remerge it again just to nullify those change sets.
I am noticing these "Remerge" in RTC very often between stream if a "Gap editor" (for selective merging ) has been used . Wondering , if GAP editor simply our work OR only make the things more complex ?
I guess, it's (GAP editor) is only useful , if a merge via stream is done only one time. As if same stream ( which has some changes sets "linked to outgoing change sets " link) used again for merge, it will be a round robin, same change sets will keep coming in other stream unless it get merged without any conflicts .
In all these case, what would be the best approach which can support Parallel development in RTC , given that it makes Developers life easy ? OR time to switch to some other source repos ( git etc..) for better solution ?
Thanks