How do you "split out" part of a completed change set into a separate change set?
If you haven't completed the change set, this is easy ... just create a new change set, and "move" some of the changes in the original change set into the new change set. But if you have completed the change set, you can no longer perform a move.
One answer
As a workaround, using the Eclipse RTC client Pending Changes view:
- load a workspace in which that change set can be suspended (i.e. a workspace that does not have other change sets that modify the versions produced by that change set):
- right click on the component containing the change set, and select "Show -> History"
- In the history view, right click on the change set, and select "suspend"
- switch back to the Pending Changes view
- right click on the suspended change set and select "New -> Patch..."
- In the menu bar, select "Project -> Apply_Patch..."
- right click on the patch, and select "Auto_Resolve..."
You will now have the set of changes of the change set in the Unresolved folder.
Checkin the appropriate changes to a new change set
Checkin the rest of the changes to a different change set
Comments
Geoff
Here is what I am tryinmg to achieve:
On Stream 1 I have WI X. It consists of CS 1 which consists of 2 files A and B
When delivering CS1 to stream 2 both A and B are being delivered.
Now It appears I wish to deliver only A for reason that B's changes are not needed on Stream 2.
I thought I could create WI Y with CS 2 which consists of file A, and then deliver this CS 2 or task Y to Stream 2. It complains about dependency issue and the delivery fails.
How can I if at all, deliver/Merge file A from Stream 1 with Stream 2 with out having to include file B in the delivery ? It defies the principle of change management but still I am interested to know whether it is possible.
I followed your instruction and fair enough they worked. I was able to deliver part of the CS as required.
But the snag is that I could only do it with the first CS in the list. If I want to deliver a CS that is not the latest one e.g the middle one in the list (See deliver cs1), I was asked to suspend all the CS. In the pending changes view, it only shows the first CS and in the unresolved folder I can see the files changed because of the first CS (the latest) and certainly not the files that belong to CS I wish to deliver. (See Deliver cs2 and Deliver cs3 picture in the file attached with screen shots). What does it mean ? That if the cs is not the latest I cannot deliver it ?
If the change set is in some other stream/workspace (e.g. in Stream1 in the above comment), then make that stream the current flow target of your workspace, and the change set will appear as an "incoming change" in the pending changes view. Right click on that change set, and select "New -> Patch". Accept that patch into your sandbox and "check-in" the parts of the patch you want and "undo" the changes that you don't want.
Hi Geoff
It's been a while since I've used a 3.0 version of RTC, but I believe this should work in 3.0 as well.