EWM - 7.0.2 - Best way to split an SCM stream with multiple components into multiple streams?
Hi,
We've been working on multiple components under a single development stream, however, we've started to get a point where we could do with separate streams for some of these components.
What's the best practice way to move some of these components into their own stream?
From....
STREAM A
- Component 1
- Component 2
- Component 3
To...
STREAM A
- Component 1
STREAM B
- Component 2
STREAM C
- Component 3
3 answers
Glynn,
I chose to reword my first answer. My understanding is:
You do not split a stream. The stream does not "contain" anything.
Components contain the history of the elements under SCM. Streams only select the configuration of all the current states of all SCM items in all components it tracks. Components can be referred to by multiple streams, the streams select which item states.
So, what do you want to achieve?
If you want to make sure to create a new stream that contains the same component baseline another stream selects, you have multiple options. You can create a snapshot or baselines and then create new streams and add the component baselines.
You can also duplicate a stream, if I am not mistaken in eclipse and then remove the components you don't want.
There is no best option with as little context you gave.
Also note, once you have multiple streams there can be multiple histories for the items in the components referred to by different streams.
Comments
As I understand it, products or systems have components and components have streams. I could be wrong, as IBM support documentation is uniformly poor. However, I found these Jazz articles quite helpful.
Patterns for stream usage: https://jazz.net/library/article/90581
Defining your component strategy: https://jazz.net/library/article/90573
Once you've read those, this will be the more useful for you.
Multiple Stream Development: https://jazz.net/library/article/40
Comments
Hi Glyn,
It is not possible to give any best practice without knowing the context. Are these mainframe sources? Java sources? A combination?
If there are references between sources in component 1 and component 2 it could be an advantage to have both in one stream.
In general, a recommendation could be to create a component per functional domain, and create the stream based on that. Optionally each stream could have a "public common" component, containing the interfaces to the sources of the other stream.
As I said, there is no best practice, it depends on your context...
Regards,
Bernd van Oostrum
ASIST