Welcome to the Jazz Community Forum
Concept of Branching in Rational Team Concert

Hi,
I am new to RTC and hope to gain some understanding in the concept of branching in RTC. From what I read so far, RTC's "Streams" are conceptually similar to branches. Then there is also the suspend/resume functionality, and the workspace repository which allows members of a project to perform parallel development as well.
So one question I have is how are streams/workspace repositories organised for a project?
1. When do we create a new stream? For major enhancements, releases or for different project phase (Dev stream, SIT stream, UAT stream) or anything else?
2. What are the considering factors to decide if we should create a new stream or just utilise the suspend/resume feature when parallel development work is required? (eg, major and minor releases, bug fixes)
3. Am I right to say repository workspace achieve similar objective as branching? Without this server side workspace, traditional SCM tool would have to create a new branch for development to be saved on the server without affecting the main branch.
4. Is it possible to configure multiple repository workspace per user per stream?
I really appreciate some help here to let me understand the concept better. Thanks very much.
I am new to RTC and hope to gain some understanding in the concept of branching in RTC. From what I read so far, RTC's "Streams" are conceptually similar to branches. Then there is also the suspend/resume functionality, and the workspace repository which allows members of a project to perform parallel development as well.
So one question I have is how are streams/workspace repositories organised for a project?
1. When do we create a new stream? For major enhancements, releases or for different project phase (Dev stream, SIT stream, UAT stream) or anything else?
2. What are the considering factors to decide if we should create a new stream or just utilise the suspend/resume feature when parallel development work is required? (eg, major and minor releases, bug fixes)
3. Am I right to say repository workspace achieve similar objective as branching? Without this server side workspace, traditional SCM tool would have to create a new branch for development to be saved on the server without affecting the main branch.
4. Is it possible to configure multiple repository workspace per user per stream?
I really appreciate some help here to let me understand the concept better. Thanks very much.
11 answers

Component strategy is largely orthogonal to stream strategy.
Some general principles:
- store things in the same component if they can/should be baselined
together, and to store things in different components if they need to be
baselined independently.
- store two folders in the same component if you are likely to need/want
to move a member of one folder to the other folder
- don't have too many components required for any given stream or
workspace (tens are fine ... hundreds are possible but try to avoid ...
thousands are bad).
Cheers,
Geoff
On 7/28/2011 2:23 PM, ishibmjazz wrote:
Some general principles:
- store things in the same component if they can/should be baselined
together, and to store things in different components if they need to be
baselined independently.
- store two folders in the same component if you are likely to need/want
to move a member of one folder to the other folder
- don't have too many components required for any given stream or
workspace (tens are fine ... hundreds are possible but try to avoid ...
thousands are bad).
Cheers,
Geoff
On 7/28/2011 2:23 PM, ishibmjazz wrote:
Ok, I understand. But, with this discussion about best practices in
using streams, how then are components used for these use scenarios?
page 2of 1 pagesof 2 pages