It's all about the answers!

Ask a question

How to selectively deliver change-sets?


Daniel Ruebush (9715987) | asked Dec 11 '14, 11:51 p.m.
 Hi All,

I was looking for some advice. I need to move delivered change sets to a different stream.

I have work that is complete in my current stream but I need to propagate my change-sets to a different (later) stream.

Currently I am running a 4.0.6 server.

 Basically, we need to deliver already-delivered change-sets to multiple release streams or future available release streams. We delivered all change sets to a 2015-03 release working stream but project management states the delivery date has been moved to 2015-07 release working stream and additional changes may be needed.

I reviewed this article but it my be out of date:

https://jazz.net/library/article/40 

We created a repository workspace from 2015-03 release working stream and changed the flow target to 2015-07 release working stream, accepted all incoming changes and attempted to auto resolve all conflicts. We can't discard or suspend any of the other change sets in the component as it would create gaps, but also can't only deliver the change sets we're interested in because we get the following error:


Deliver Failed

Delivery for component 'Associates' failed as it would create conflicts in the stream. As
you do not have any incoming change sets for this component you should consider
delivering all of the outgoing changes.
                                                                                      OK

Is there some other method we can use to selectively deliver the change sets?

2 answers



permanent link
Ralph Schoon (63.5k33646) | answered Dec 12 '14, 3:03 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
edited Dec 12 '14, 3:03 a.m.
I would suggest to try the following:

  1. For every stream you want the change set to go to, create a repository workspace based on the current state.
  2. Search for the change set or select it on a work item
  3. Right click and Accept the change into the repository workspace - note that the change set should be completed
  4. Since the workspace is up to date with the stream there are no incoming changes and the like
  5. Deliver to the stream

Problems that can occur are "Gaps" where the change set depends on other changes that are missing in the stream. RTC 5.x added more gap handling features.


permanent link
Atul Kumar (1872329) | answered Dec 12 '14, 8:14 a.m.
edited Dec 12 '14, 8:19 a.m.
You may also think of writing a pre-condition/follow-up action (depending on when you want your custom action to happen) on delivery of change-sets. But, this solution would work for future deliveries, NOT on the change-sets that have already been delivered.

Pasting a sample precondition to check change-sets BEFORE delivery:

public class TestPreconsition extends AbstractScmService implements IOperationAdvisor {
    @Override
    public void run(AdvisableOperation operation, IProcessConfigurationElement advisorConfiguration, IAdvisorInfoCollector collector, IProgressMonitor monitor) throws TeamRepositoryException {
        Object operationData = operation.getOperationData();
        DeliverOperationData data = (DeliverOperationData) operationData;
        List<IChangeSetHandle> changeSetHandles = data.getChangeSetHandles();
        //Here goes your custom actions on deliverable change-sets...
        }
    }      
}

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.