How do I find out the first stream to which a changeset was delivered to?
I have an integration stream and several project streams, content of project streams are periodically merged into the integration stream, One a project is complete the project stream is archived. The problem is that we need some away of knowing the project that delivered a change to the integration stream.
I can list out all the change sets against the integration stream using the command scm list changesets, but how do I know which project delivered a particular change set?
When I run the following scm command I get an error
scm locate -r "https://intranet:9443/ccm/" -C 7944 -b <<Project Area name>>
Problem running 'locate':
Specified alias or UUID "7944" is either not found or is invalid.
|
Accepted answer
Ralph Schoon (63.5k●3●36●46)
| answered Jul 22 '16, 7:53 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
I don't think the question can be answered. The information carried with the change set is who (user) created it. Streams basically select content in components. There is no information from which stream stuff came, usually it would even come from a repository workspace and not a stream.
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. Ralph Schoon selected this answer as the correct answer
Comments
Ajay Amrite
commented Aug 04 '16, 5:45 a.m.
It is reasonable to want to know which stream contributed a particular changeset to the integration stream.
In the absence of work items, how do we find out where the change originated.
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.
Ajay Amrite
commented Aug 04 '16, 11:18 a.m.
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? 1
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
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).
Also, when accepting change sets, it's possible to accept from a particular workspace or stream (such as in the Pending Changes view), or it's also possible to accept a change set "from the wild" (i.e with no source workspace or stream at all), (such as accepting a change set from a work item, or using the API). Already we can see the tractability starts to get lost..
1
Image there was a deliver flow from WorkspaceA-->StreamB-->WorkspaceC-->StreamD
If I ask where the change set came from, we could say workspaceA.
But what happens if we delete WorkspaceA and WorkspaceC, do we say:
-the origin of this change set is <unknown> because workspaceA is deleted OR
-the origin of this change set is StreamB because it is the earliest non-deleted context OR
-the origin is StreamD because workspaceC is deleted, and thus we can't walk back the delivery chain.
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?) Thanks for the explanation David!
showing 5 of 7
show 2 more comments
|
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.