It's all about the answers!

Ask a question

Anyway to find change set interdependencies?


Kevin Kingsbury (611310) | asked Oct 13 '08, 9:00 p.m.
retagged Jun 24 '14, 10:12 a.m. by David Lafreniere (4.8k7)
Hi,

Our group has a need to be able to load a baseline of a stream and then individually apply change sets to it. The problem we have is that generally change sets have dependencies that they require in order for there to not be any gaps between the baseline we load and the change set.

Is there anyway to get all the change sets that a specific change set is dependent upon from a baseline?

I did see the following work item.

https://jazz.net/jazz/web/projects/Jazz%20Project#action=com.ibm.team.workitem.viewWorkItem&id=3103

It seems to be what I am looking for, but given its age, I did not know if there was something since or if there was some workaround to get this information.

Thanks,
Kevin.

3 answers



permanent link
John Camelon (1.7k14) | answered Oct 14 '08, 9:32 a.m.
JAZZ DEVELOPER
There is no API to help you with this problem in 1.0 or 1.0.1.

If you really need to solve this, you can create a directed cyclical
graph between change sets : for every after state or merge state in
change set A that is a before state in change set B, you increase the
weight of the path from A to B by 1. On the SCM server, we do an
approximation of determining the maximal non-cyclic subgraph of this
structure.

I have marked enhancement 3101 for 1.0.1 to see if I can supply this
information as API.

Thanks
JohnC
SCM Server

kkingsbu wrote:
Hi,

Our group has a need to be able to load a baseline of a stream and
then individually apply change sets to it. The problem we have is
that generally change sets have dependencies that they require in
order for there to not be any gaps between the baseline we load and
the change set.

Is there anyway to get all the change sets that a specific change set
is dependent upon from a baseline?

I did see the following work item.

https://jazz.net/jazz/web/projects/Jazz%20Project#action=com.ibm.team.workitem.viewWorkItem&id=3103

It seems to be what I am looking for, but given its age, I did not
know if there was something since or if there was some workaround to
get this information.

Thanks,
Kevin.

permanent link
John Camelon (1.7k14) | answered Oct 14 '08, 10:39 a.m.
JAZZ DEVELOPER
Correction: 1.1, not 1.0.1.

JohnC

John Camelon wrote:
There is no API to help you with this problem in 1.0 or 1.0.1.

If you really need to solve this, you can create a directed cyclical
graph between change sets : for every after state or merge state in
change set A that is a before state in change set B, you increase the
weight of the path from A to B by 1. On the SCM server, we do an
approximation of determining the maximal non-cyclic subgraph of this
structure.

I have marked enhancement 3101 for 1.0.1 to see if I can supply this
information as API.

Thanks
JohnC
SCM Server

kkingsbu wrote:
Hi,

Our group has a need to be able to load a baseline of a stream and
then individually apply change sets to it. The problem we have is
that generally change sets have dependencies that they require in
order for there to not be any gaps between the baseline we load and
the change set.
Is there anyway to get all the change sets that a specific change set
is dependent upon from a baseline?

I did see the following work item.

https://jazz.net/jazz/web/projects/Jazz%20Project#action=com.ibm.team.workitem.viewWorkItem&id=3103


It seems to be what I am looking for, but given its age, I did not
know if there was something since or if there was some workaround to
get this information.

Thanks,
Kevin.

permanent link
David Lafreniere (4.8k7) | answered Jun 24 '14, 10:11 a.m.
FORUM MODERATOR / JAZZ DEVELOPER
edited Jun 24 '14, 10:11 a.m.
In RTC 4.0.5 we delivered additional support when trying to accept change sets which have a gap (often encountered when trying to backport fixes). In a very brief summary of the feature, when you accept change sets with a gap, you can now follow a gap workflow that accepts one change set at a time and, for change sets that contain gaps, creates a new change set (with aided traceability), that contains the equivalent changes. This means users will not have to accept the change sets 'as a patch'. Applying change sets as a patch has limitations compared to the new workflow (as discussed in the article below).
This feature is summarized in the RTC 4.0.5 'New & Noteworthy' page:  https://jazz.net/downloads/rational-team-concert/releases/4.0.5?p=news#scm-improve-usability-405-m1
Below are some videos which show this feature:
-Accepting multiple change sets with gaps in the RTC 4.0.5 client for Eclipse IDE: https://www.youtube.com/watch?v=28raag5RdzU
-Accepting a change set with a gap in the RTC 4.0.5 client for Eclipse IDE: https://www.youtube.com/watch?v=TucVu_BgB7E

In RTC 5.0 we added a "fill the gap" feature where the change sets that fill the gap are shown to the user, allowing them to either accept all the change sets or to continue with the gap workflow that was available in RTC 4.0.5.
This feature is summarized in the RTC 5.0 'New & Noteworthy' page: https://jazz.net/downloads/rational-team-concert/releases/5.0?p=news#eclipse-fill-gaps

Both features are explained in detail in the "Improved Gap Handling for SCM" article: https://jazz.net/library/article/1372

The classes that are involved for filling the gap include (available in RTC 5.0):
client side: IWorkspaceConnection.findChangeSetsToAcceptToFillGap(...)
server side: IScmQueryService.findChangeSetsToAcceptToFillGap(...)

Your answer


Register or to post 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.