How do I find out the first stream to which a changeset was delivered to?
Accepted answer
So this whole question does not necessarily make sense.
Some information could be carried with a work item that the change set is connected to.
Comments
It is reasonable to want to know which stream contributed a particular changeset to the integration stream.
I don't think it is reasonable, because it makes the stream to more than it is. This question made sense when there where branches, which streams are not. Streams can be created from snapshots or from individual component baselines. so the question does not make a lot of sense. The stream is a volatile object that can and should be deleted if it is not of any use.
You can ask if a change is in a repository workspace or stream or not. You can look at a component baseline history.
6.0.2 View the graphical history for components https://jazz.net/downloads/rational-team-concert/releases/6.0.2?p=newsDetails#rfv-locks2 is a new feature, but works on Baselines, which actually makes sense.
It still does not answer the question. Whether through stream or some other object. How do I find out where a changeset originated? Is work item the only way?
Ralph's first answer is correct. This question cannot really be answered. The short answer is that this information is not tracked anywhere. A change set object knows nothing about streams or workspaces, and a workspace or stream has a 'change set history' (which changes over time...). This question (from my understanding at least) is essentially, for every stream and workspace in the repository, at this particular moment in time, check if the change set exists in the current history... and then compare the 'added on' dates, and return me the earliest time. There is no way to do this in the UI, but that doesn't mean it would be impossible to write using the Jazz SDK (it might be a little expensive to do however). This however does not indicate any flow direction, it just gives a bunch of dates as to when a change set first made it's way into the history....
1 vote
In general projects or streams do not deliver change sets. Usually a change sets first get created in a repository workspace and then delivered to a stream (there are some ways to have change sets created directly on a stream though without first being delivered to by a repository workspace), and usually a repository workspace may accept from a stream and deliver it to another stream (i.e not all the time is there a direct stream to stream delivery).
1 vote
Image there was a deliver flow from WorkspaceA-->StreamB-->WorkspaceC-->StreamD
Or imagine none of those streams or workspaces are deleted, but WorkspaceA and StreamB had their components replaced to some baseline/state that existed before that change set existed... i.e the change set does not exist in the history... would it even make sense to say they are the origins (if they don't even have the change set in the history?)
1 vote
Thanks for the explanation David!