Determining change set dependencies
Given a work item and a stream, I'm trying to establish a list of other work items that the given work item's change set(s) depend on, using the same logic that occurs when you attempt to deliver...i.e., the low-level, hard file dependencies. Basically something to say to the user "work item 123 has hard file dependencies on work items 456 and 789".
My first thought was to programmatically create a temporary workspace, try to deliver the work item's changes alone, and use the GapException.getData() to figure things out, then delete the workspace. Unfortunately that doesn't seem to provide enough info to determine what I need. And this seems a bit cumbersome too...creating and deleting workspaces and attempting actual deliveries seems like overkill for just getting dependency info.
Is there a simple-ish way to find out what other change sets (in the same stream) a change set depends on?
My first thought was to programmatically create a temporary workspace, try to deliver the work item's changes alone, and use the GapException.getData() to figure things out, then delete the workspace. Unfortunately that doesn't seem to provide enough info to determine what I need. And this seems a bit cumbersome too...creating and deleting workspaces and attempting actual deliveries seems like overkill for just getting dependency info.
Is there a simple-ish way to find out what other change sets (in the same stream) a change set depends on?
One answer
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
The classes that are involved for filling the gap include:
client side: IWorkspaceConnection.findChangeSetsToAcceptToFillGap(...)
server side: IScmQueryService.findChangeSetsToAcceptToFillGap(...)
There is an article which talks about gaps here: https://jazz.net/library/article/1372
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
The classes that are involved for filling the gap include:
client side: IWorkspaceConnection.findChangeSetsToAcceptToFillGap(...)
server side: IScmQueryService.findChangeSetsToAcceptToFillGap(...)
There is an article which talks about gaps here: https://jazz.net/library/article/1372